Skip to content

Conversation

lgarber-akamai
Copy link
Contributor

📝 Description

This pull request adds support for Enhanced Interfaces fields relating to the current account.

✔️ How to Test

The following test steps assume you have pulled down this PR locally and run make install. Additionally, these tests require that your account has access to enhanced/Linode-level interfaces.

Unit Testing

make test-int

Integration Testing

make test-int TEST_COMMAND=models/account

Manual Testing (non-destructive)

  1. In a linode_api4-python sandbox environment (e.g. dx-devenv), run the following:
import os

from linode_api4 import LinodeClient

client = LinodeClient(os.getenv("LINODE_TOKEN"), base_url="https://api.linode.com/v4beta")

account = client.account()
account_settings = client.account.settings()

print("account.capabilities:", account.capabilities)
print("account_settings.interfaces_for_new_linodes:", account_settings.interfaces_for_new_linodes)
  1. Ensure the output looks similar to the following:
account.capabilities: [..., 'Linode Interfaces']
account_settings.interfaces_for_new_linodes: legacy_config_default_but_linode_allowed

@lgarber-akamai lgarber-akamai added the new-feature for new features in the changelog. label Apr 8, 2025
@lgarber-akamai lgarber-akamai marked this pull request as ready for review April 8, 2025 19:39
@lgarber-akamai lgarber-akamai requested a review from a team as a code owner April 8, 2025 19:39
@lgarber-akamai lgarber-akamai requested review from yec-akamai and zliang-akamai and removed request for a team April 8, 2025 19:39
@lgarber-akamai lgarber-akamai changed the base branch from dev to proj/enhanced-interfaces April 8, 2025 20:10
Copy link
Contributor

@yec-akamai yec-akamai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tests passed on my end, nice work! Just a few small things:

@lgarber-akamai lgarber-akamai merged commit f42c79f into linode:proj/enhanced-interfaces Apr 22, 2025
12 checks passed
zliang-akamai added a commit that referenced this pull request Sep 22, 2025
* Enhanced Interfaces: Add support for Firewall templates (#529)

* Add support for Firewall Templates

* oops

* Add LA notices

* Enhanced Interfaces: Add account-related fields (#525)

* Enhanced Interfaces: Add account-related fields

* Add setting enum

* Add LA notice

* Drop residual print

* Enhanced Interfaces: Implement endpoints & fields related to VPCs and non-interface networking (#526)

* Implement endpoints & fields related to VPCs and non-interface networking

* Add LA notices

* Enhanced Interfaces: Add support for Linode-related endpoints and fields (#533)

* Add support for Linode-related endpoints and fields

* oops

* tiny fixes

* fix docsa

* Add docs examples

* Docs fixes

* oops

* Remove irrelevant test

* Add LA notices

* Fill in API documentation URLs

* Add return types

* Enable `include_none_values` in FirewallSettingsDefaultFirewallIDs (#558)

* Linode Interfaces: Allow specifying ExplicitNullValue for LinodeInterfaceOptions firewall ID (#565)

* Add ExplicitNullValue support

* Fix failing integration tests

* Add unit tests

* Add docs disclaimer

* Fix

* Update test/fixtures/linode_instances.json

Co-authored-by: Copilot <[email protected]>

* Update test/unit/objects/linode_test.py

Co-authored-by: Copilot <[email protected]>

* Update test/integration/conftest.py

Co-authored-by: Copilot <[email protected]>

* Update linode_api4/objects/linode.py

Co-authored-by: Copilot <[email protected]>

* More fixes

* lint

* Apply suggestion from @Copilot

Co-authored-by: Copilot <[email protected]>

* Apply suggestion from @Copilot

Co-authored-by: Copilot <[email protected]>

* Remove unnecessary local imports

* Fix IPv6 addresses

* Apply suggestion from @Copilot

Co-authored-by: Copilot <[email protected]>

* Update test/unit/objects/networking_test.py

Co-authored-by: Copilot <[email protected]>

* Update test/unit/objects/linode_test.py

Co-authored-by: Copilot <[email protected]>

---------

Co-authored-by: Lena Garber <[email protected]>
Co-authored-by: Lena Garber <[email protected]>
Co-authored-by: Copilot <[email protected]>
lgarber-akamai added a commit that referenced this pull request Oct 7, 2025
* Enhanced Interfaces: Add support for Firewall templates (#529)

* Add support for Firewall Templates

* oops

* Add LA notices

* Enhanced Interfaces: Add account-related fields (#525)

* Enhanced Interfaces: Add account-related fields

* Add setting enum

* Add LA notice

* Drop residual print

* Enhanced Interfaces: Implement endpoints & fields related to VPCs and non-interface networking (#526)

* Implement endpoints & fields related to VPCs and non-interface networking

* Add LA notices

* Implement support for VPC Dual Stack (#524)

* Enhanced Interfaces: Add support for Linode-related endpoints and fields (#533)

* Add support for Linode-related endpoints and fields

* oops

* tiny fixes

* fix docsa

* Add docs examples

* Docs fixes

* oops

* Remove irrelevant test

* Add LA notices

* Fill in API documentation URLs

* Add return types

* Enable `include_none_values` in FirewallSettingsDefaultFirewallIDs (#558)

* VPC Dual Stack: Support changes related to Linode Interfaces (#559)

* Implementation; needs tests

* Add integration tests

* vpctest

* removeprint

* test

* Fix conflicts

* Fix missed conflict

---------

Co-authored-by: Zhiwei Liang <[email protected]>
Co-authored-by: Zhiwei Liang <[email protected]>
Co-authored-by: vshanthe <[email protected]>
Co-authored-by: Vinay <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new-feature for new features in the changelog.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants