@@ -661,3 +661,113 @@ resource "google_dns_managed_zone" "foobar" {
661
661
}
662
662
`, suffix, suffix, description, project)
663
663
}
664
+
665
+ {{ if not (or (eq $.TargetVersionName ``) (eq $.TargetVersionName `ga`)) }}
666
+ func TestAccDNSManagedZone_dnsManagedZoneUpdateWithServiceDirectory(t *testing.T) {
667
+ t.Parallel()
668
+
669
+ context := map[string]interface{}{
670
+ "random_suffix": acctest.RandString(t, 10),
671
+ }
672
+
673
+ acctest.VcrTest(t, resource.TestCase{
674
+ PreCheck: func() { acctest.AccTestPreCheck(t) },
675
+ ProtoV5ProviderFactories: acctest.ProtoV5ProviderBetaFactories(t),
676
+ CheckDestroy: testAccCheckDNSManagedZoneDestroyProducer(t),
677
+ Steps: []resource.TestStep{
678
+ {
679
+ Config: testAccDNSManagedZone_dnsManagedZoneWithServiceDirectory(context),
680
+ },
681
+ {
682
+ ResourceName: "google_dns_managed_zone.sd-zone",
683
+ ImportState: true,
684
+ ImportStateVerify: true,
685
+ ImportStateVerifyIgnore: []string{"labels", "terraform_labels"},
686
+ },
687
+ {
688
+ Config: testAccDNSManagedZone_dnsManagedZoneWithServiceDirectoryUpdate(context),
689
+ },
690
+ {
691
+ ResourceName: "google_dns_managed_zone.sd-zone",
692
+ ImportState: true,
693
+ ImportStateVerify: true,
694
+ ImportStateVerifyIgnore: []string{"labels", "terraform_labels"},
695
+ },
696
+ },
697
+ })
698
+ }
699
+
700
+ func testAccDNSManagedZone_dnsManagedZoneWithServiceDirectory(context map[string]interface{}) string {
701
+ return acctest.Nprintf(`
702
+ resource "google_dns_managed_zone" "sd-zone" {
703
+ provider = google-beta
704
+
705
+ name = "tf-test-peering-zone%{random_suffix}"
706
+ dns_name = "services.example.com."
707
+ description = "Example private DNS Service Directory zone"
708
+
709
+ visibility = "private"
710
+
711
+ service_directory_config {
712
+ namespace {
713
+ namespace_url = google_service_directory_namespace.example.id
714
+ }
715
+ }
716
+ }
717
+
718
+ resource "google_service_directory_namespace" "example" {
719
+ provider = google-beta
720
+
721
+ namespace_id = "tf-test-example%{random_suffix}"
722
+ location = "us-central1"
723
+ }
724
+
725
+ resource "google_compute_network" "network" {
726
+ provider = google-beta
727
+
728
+ name = "tf-test-network%{random_suffix}"
729
+ auto_create_subnetworks = false
730
+ }
731
+ `, context)
732
+ }
733
+
734
+ func testAccDNSManagedZone_dnsManagedZoneWithServiceDirectoryUpdate(context map[string]interface{}) string {
735
+ return acctest.Nprintf(`
736
+ resource "google_dns_managed_zone" "sd-zone" {
737
+ provider = google-beta
738
+
739
+ name = "tf-test-peering-zone%{random_suffix}"
740
+ dns_name = "services.example.com."
741
+ description = "Example private DNS Service Directory zone"
742
+
743
+ visibility = "private"
744
+
745
+ private_visibility_config {
746
+ networks {
747
+ network_url = google_compute_network.network.id
748
+ }
749
+ }
750
+
751
+ service_directory_config {
752
+ namespace {
753
+ namespace_url = google_service_directory_namespace.example.id
754
+ }
755
+ }
756
+ }
757
+
758
+ resource "google_service_directory_namespace" "example" {
759
+ provider = google-beta
760
+
761
+ namespace_id = "tf-test-example%{random_suffix}"
762
+ location = "us-central1"
763
+ }
764
+
765
+ resource "google_compute_network" "network" {
766
+ provider = google-beta
767
+
768
+ name = "tf-test-network%{random_suffix}"
769
+ auto_create_subnetworks = false
770
+ }
771
+ `, context)
772
+ }
773
+ {{- end }}
0 commit comments