@@ -657,6 +657,28 @@ func testAccCheckComputeNetworkIsCustomSubnet(t *testing.T, n string, network *c
657657 }
658658}
659659
660+ func testAccCheckComputeNetworkIsUlaInternalIpv6Enabled (t * testing.T , n string , network * compute.Network , expectEnabled bool ) resource.TestCheckFunc {
661+ return func (s * terraform.State ) error {
662+ config := acctest .GoogleProviderConfig (t )
663+
664+ found , err := config .NewComputeClient (config .UserAgent ).Networks .Get (
665+ config .Project , network .Name ).Do ()
666+ if err != nil {
667+ return err
668+ }
669+
670+ if found .EnableUlaInternalIpv6 != expectEnabled {
671+ return fmt .Errorf ("does not match expected EnableUlaInternalIpv6 value" )
672+ }
673+
674+ if expectEnabled && found .InternalIpv6Range == "" {
675+ return fmt .Errorf ("should have InternalIPv6Range" )
676+ }
677+
678+ return nil
679+ }
680+ }
681+
660682func testAccCheckComputeNetworkHasMtu (t * testing.T , n string , network * compute.Network , mtu int32 ) resource.TestCheckFunc {
661683 return func (s * terraform.State ) error {
662684 config := acctest .GoogleProviderConfig (t )
@@ -855,6 +877,38 @@ func TestAccComputeNetwork_networkBgpStandardModeDeleteMed(t *testing.T) {
855877 })
856878}
857879
880+ func TestAccComputeNetwork_updateEnableUlaInternalIpv6 (t * testing.T ) {
881+ t .Parallel ()
882+
883+ var network compute.Network
884+ var updatedNetwork compute.Network
885+ suffixName := acctest .RandString (t , 10 )
886+ networkName := fmt .Sprintf ("tf-test-network-enable-ula-%s" , suffixName )
887+
888+ acctest .VcrTest (t , resource.TestCase {
889+ PreCheck : func () { acctest .AccTestPreCheck (t ) },
890+ ProtoV5ProviderFactories : acctest .ProtoV5ProviderFactories (t ),
891+ CheckDestroy : testAccCheckComputeNetworkDestroyProducer (t ),
892+ Steps : []resource.TestStep {
893+ {
894+ Config : testAccComputeNetwork_custom_subnet (networkName ),
895+ Check : resource .ComposeTestCheckFunc (
896+ testAccCheckComputeNetworkExists (
897+ t , "google_compute_network.baz" , & network ),
898+ ),
899+ },
900+ {
901+ Config : testAccComputeNetwork_ula (networkName ),
902+ Check : resource .ComposeTestCheckFunc (
903+ testAccCheckComputeNetworkExists (
904+ t , "google_compute_network.baz" , & updatedNetwork ),
905+ testAccCheckComputeNetworkWasUpdated (& updatedNetwork , & network ),
906+ ),
907+ },
908+ },
909+ })
910+ }
911+
858912func testAccComputeNetwork_basic (networkName string ) string {
859913 return fmt .Sprintf (`
860914resource "google_compute_network" "bar" {
@@ -873,6 +927,16 @@ resource "google_compute_network" "baz" {
873927` , networkName )
874928}
875929
930+ func testAccComputeNetwork_ula (networkName string ) string {
931+ return fmt .Sprintf (`
932+ resource "google_compute_network" "baz" {
933+ name = "%s"
934+ auto_create_subnetworks = false
935+ enable_ula_internal_ipv6 = true
936+ }
937+ ` , networkName )
938+ }
939+
876940func testAccComputeNetwork_bgp (name , bgpBestPathSelectionMode , bgpAlwaysCompareMed , deleteBgpAlwaysCompareMed string ) string {
877941 var medLine , deleteMedLine string
878942 if bgpAlwaysCompareMed != "" {
0 commit comments