@@ -799,6 +799,13 @@ func TestAccServer_WithIPAMPrivateNetwork(t *testing.T) {
799799 }
800800 }
801801
802+ resource "scaleway_ipam_ip" "ip02" {
803+ address = "172.16.64.9"
804+ source {
805+ private_network_id = scaleway_vpc_private_network.pn01.id
806+ }
807+ }
808+
802809 data "scaleway_baremetal_os" "my_os" {
803810 zone = "fr-par-1"
804811 name = "Ubuntu"
@@ -836,7 +843,86 @@ func TestAccServer_WithIPAMPrivateNetwork(t *testing.T) {
836843 }
837844 }
838845
839- data "scaleway_ipam_ip" "by_name" {
846+ data "scaleway_ipam_ip" "base" {
847+ resource {
848+ name = scaleway_baremetal_server.base.name
849+ type = "baremetal_private_nic"
850+ }
851+ type = "ipv4"
852+ }
853+ ` , SSHKeyName , SSHKeyBaremetal , name ),
854+ Check : resource .ComposeTestCheckFunc (
855+ testAccCheckBaremetalServerExists (tt , "scaleway_baremetal_server.base" ),
856+ testAccCheckBaremetalServerHasPrivateNetwork (tt , "scaleway_baremetal_server.base" ),
857+ resource .TestCheckResourceAttrPair ("scaleway_ipam_ip.ip01" , "address" , "data.scaleway_ipam_ip.base" , "address_cidr" ),
858+ ),
859+ },
860+ {
861+ Config : fmt .Sprintf (`
862+ resource "scaleway_vpc" "vpc01" {
863+ name = "TestAccScalewayBaremetalIPAM"
864+ }
865+
866+ resource "scaleway_vpc_private_network" "pn01" {
867+ name = "TestAccScalewayBaremetalIPAM"
868+ ipv4_subnet {
869+ subnet = "172.16.64.0/22"
870+ }
871+ vpc_id = scaleway_vpc.vpc01.id
872+ }
873+
874+ resource "scaleway_ipam_ip" "ip01" {
875+ address = "172.16.64.7"
876+ source {
877+ private_network_id = scaleway_vpc_private_network.pn01.id
878+ }
879+ }
880+
881+ resource "scaleway_ipam_ip" "ip02" {
882+ address = "172.16.64.9"
883+ source {
884+ private_network_id = scaleway_vpc_private_network.pn01.id
885+ }
886+ }
887+
888+ data "scaleway_baremetal_os" "my_os" {
889+ zone = "fr-par-1"
890+ name = "Ubuntu"
891+ version = "22.04 LTS (Jammy Jellyfish)"
892+ }
893+
894+ data "scaleway_baremetal_offer" "my_offer" {
895+ zone = "fr-par-1"
896+ name = "EM-A115X-SSD"
897+ }
898+
899+ data "scaleway_baremetal_option" "private_network" {
900+ zone = "fr-par-1"
901+ name = "Private Network"
902+ }
903+
904+ resource "scaleway_iam_ssh_key" "base" {
905+ name = "%s"
906+ public_key = "%s"
907+ }
908+
909+ resource "scaleway_baremetal_server" "base" {
910+ name = "%s"
911+ zone = "fr-par-1"
912+ offer = data.scaleway_baremetal_offer.my_offer.offer_id
913+ os = data.scaleway_baremetal_os.my_os.os_id
914+
915+ ssh_key_ids = [ scaleway_iam_ssh_key.base.id ]
916+ options {
917+ id = data.scaleway_baremetal_option.private_network.option_id
918+ }
919+ private_network {
920+ id = scaleway_vpc_private_network.pn01.id
921+ ipam_ip_ids = [scaleway_ipam_ip.ip01.id, scaleway_ipam_ip.ip02.id]
922+ }
923+ }
924+
925+ data "scaleway_ipam_ips" "base" {
840926 resource {
841927 name = scaleway_baremetal_server.base.name
842928 type = "baremetal_private_nic"
@@ -847,7 +933,8 @@ func TestAccServer_WithIPAMPrivateNetwork(t *testing.T) {
847933 Check : resource .ComposeTestCheckFunc (
848934 testAccCheckBaremetalServerExists (tt , "scaleway_baremetal_server.base" ),
849935 testAccCheckBaremetalServerHasPrivateNetwork (tt , "scaleway_baremetal_server.base" ),
850- resource .TestCheckResourceAttrPair ("scaleway_ipam_ip.ip01" , "address" , "data.scaleway_ipam_ip.by_name" , "address_cidr" ),
936+ resource .TestCheckResourceAttrPair ("scaleway_ipam_ip.ip01" , "address" , "data.scaleway_ipam_ips.base" , "ips.0.address" ),
937+ resource .TestCheckResourceAttrPair ("scaleway_ipam_ip.ip02" , "address" , "data.scaleway_ipam_ips.base" , "ips.1.address" ),
851938 ),
852939 },
853940 },
0 commit comments