|
15 | 15 | import pytest |
16 | 16 |
|
17 | 17 | from linode_api4 import Instance, LinodeClient, ApiError |
18 | | -from linode_api4.objects import Config, ConfigInterfaceIPv4, Firewall, IPAddress, ReservedIPAddress |
| 18 | +from linode_api4.objects import Config, ConfigInterfaceIPv4, Firewall, InterfaceGeneration, IPAddress, ReservedIPAddress |
19 | 19 | from linode_api4.objects.networking import ( |
20 | 20 | FirewallCreateDevicesOptions, |
21 | 21 | NetworkTransferPrice, |
@@ -580,3 +580,36 @@ def test_convert_unassigned_reserved_ip_to_ephemeral(test_linode_client, create_ |
580 | 580 |
|
581 | 581 | reserved_ips_list = client.networking.reserved_ips(ReservedIPAddress.address==reserved_ip.address) |
582 | 582 | assert len(reserved_ips_list) == 0 |
| 583 | + |
| 584 | + |
| 585 | +# TODO: move to linode's tests file |
| 586 | +@pytest.mark.parametrize("interface", [ |
| 587 | + InterfaceGeneration.LEGACY_CONFIG, |
| 588 | + # InterfaceGeneration.LINODE |
| 589 | +]) |
| 590 | +def test_create_linode_with_reserved_ip_in_legacy_config(test_linode_client, e2e_test_firewall, create_reserved_ip, interface): |
| 591 | + client = test_linode_client |
| 592 | + reserved_ip = create_reserved_ip |
| 593 | + label = get_test_label(length=8) |
| 594 | + |
| 595 | + # if interface == InterfaceGeneration.LINODE: |
| 596 | + # interface = "POST /v4beta/linode/instances: [400] ipv4: Reserved IPs must be assigned directly in interface configurations when using Linode Interfaces" |
| 597 | + |
| 598 | + linode, _ = client.linode.instance_create( |
| 599 | + "g6-nanode-1", |
| 600 | + TEST_REGION, |
| 601 | + image="linode/debian12", |
| 602 | + label=label, |
| 603 | + firewall=e2e_test_firewall, |
| 604 | + interface_generation=interface, |
| 605 | + ipv4=[reserved_ip.address] |
| 606 | + ) |
| 607 | + |
| 608 | + linode_ips = linode.ips.ipv4.public |
| 609 | + assert len(linode_ips) == 1 |
| 610 | + verify_reserved_ip_assigned(linode_ips[0], linode) |
| 611 | + |
| 612 | + linode.delete() |
| 613 | + reserved_ips_list = client.networking.reserved_ips(ReservedIPAddress.address==reserved_ip.address) |
| 614 | + assert len(reserved_ips_list) == 1 |
| 615 | + verify_reserved_ip(reserved_ips_list[0]) |
0 commit comments