@@ -87,7 +87,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
8787 freeform_tags = { "Department" = "Accounting"}
8888 metadata {
8989 ssh_authorized_keys = "${var.ssh_public_key}"
90- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
90+ user_data = "ZWNobyBoZWxsbw =="
9191 }
9292 extended_metadata {
9393 keyA = "valA"
@@ -117,7 +117,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
117117 resource .TestCheckResourceAttr (s .ResourceName , "hostname_label" , "hostname1" ),
118118 resource .TestCheckResourceAttr (s .ResourceName , "shape" , "VM.Standard1.8" ),
119119 resource .TestCheckResourceAttr (s .ResourceName , "metadata.%" , "2" ),
120- resource .TestCheckResourceAttr (s .ResourceName , "metadata.user_data" , "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg ==" ),
120+ resource .TestCheckResourceAttr (s .ResourceName , "metadata.user_data" , "ZWNobyBoZWxsbw ==" ),
121121 resource .TestCheckResourceAttrSet (s .ResourceName , "metadata.ssh_authorized_keys" ),
122122 resource .TestCheckResourceAttr (s .ResourceName , "extended_metadata.%" , "2" ),
123123 resource .TestCheckResourceAttr (s .ResourceName , "extended_metadata.keyA" , "valA" ),
@@ -159,7 +159,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
159159 shape = "VM.Standard1.8"
160160 metadata {
161161 ssh_authorized_keys = "${var.ssh_public_key}"
162- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
162+ user_data = "ZWNobyBoZWxsbw =="
163163 }
164164 extended_metadata {
165165 keyA = "valA"
@@ -188,7 +188,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
188188 shape = "VM.Standard1.8"
189189 metadata {
190190 ssh_authorized_keys = "${var.ssh_public_key}"
191- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
191+ user_data = "ZWNobyBoZWxsbw =="
192192 }
193193 extended_metadata {
194194 keyA = "valA"
@@ -215,10 +215,10 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
215215 defined_tags = "${map(
216216 "${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value2"
217217 )}"
218- freeform_tags = { "CostCenter" = "42"}
218+ freeform_tags = { "CostCenter" = "42"}
219219 metadata {
220220 ssh_authorized_keys = "${var.ssh_public_key}"
221- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
221+ user_data = "ZWNobyBoZWxsbw =="
222222 }
223223 extended_metadata {
224224 keyA = "valA"
@@ -248,7 +248,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
248248 subnet_id = "${oci_core_subnet.t.id}"
249249 metadata {
250250 ssh_authorized_keys = "${var.ssh_public_key}"
251- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
251+ user_data = "ZWNobyBoZWxsbw =="
252252 }
253253 extended_metadata {
254254 keyA = "valA"
@@ -295,7 +295,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
295295 subnet_id = "${oci_core_subnet.t.id}"
296296 metadata {
297297 ssh_authorized_keys = "${var.ssh_public_key}"
298- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
298+ user_data = "ZWNobyBoZWxsbw =="
299299 }
300300 extended_metadata {
301301 keyA = "valA"
@@ -329,7 +329,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
329329 subnet_id = "${oci_core_subnet.t.id}"
330330 metadata {
331331 ssh_authorized_keys = "${var.ssh_public_key}"
332- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
332+ user_data = "ZWNobyBoZWxsbw =="
333333 }
334334 extended_metadata {
335335 keyA = "valA"
@@ -377,7 +377,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
377377 display_name = "-tf-instance"
378378 metadata {
379379 ssh_authorized_keys = "${var.ssh_public_key}"
380- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
380+ user_data = "ZWNobyBoZWxsbw =="
381381 }
382382 extended_metadata {
383383 keyA = "valA"
@@ -392,7 +392,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
392392 defined_tags = "${map(
393393 "${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value"
394394 )}"
395- freeform_tags = { "Department" = "Accounting" }
395+ freeform_tags = { "Department" = "Accounting" }
396396 }
397397 }
398398 data "oci_core_vnic_attachments" "t" {
@@ -432,7 +432,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
432432 display_name = "-tf-instance"
433433 metadata {
434434 ssh_authorized_keys = "${var.ssh_public_key}"
435- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
435+ user_data = "ZWNobyBoZWxsbw =="
436436 }
437437 extended_metadata {
438438 keyA = "valA"
@@ -447,7 +447,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
447447 defined_tags = "${map(
448448 "${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue"
449449 )}"
450- freeform_tags = { "Department" = "Finance" }
450+ freeform_tags = { "Department" = "Finance" }
451451 }
452452 }
453453 data "oci_core_vnic_attachments" "t" {
@@ -470,6 +470,58 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
470470 },
471471 ),
472472 },
473+ // verify force new by changing ssh_authorized_keys and user_data in metadata
474+ {
475+ Config : s .Config + `
476+ resource "oci_core_instance" "t" {
477+ availability_domain = "${data.oci_identity_availability_domains.ADs.availability_domains.0.name}"
478+ compartment_id = "${var.compartment_id}"
479+ image = "${var.InstanceImageOCID[var.region]}"
480+ shape = "VM.Standard1.8"
481+ display_name = "-tf-instance"
482+ metadata {
483+ ssh_authorized_keys = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOuBJgh6lTmQvQJ4BA3RCJdSmxRtmiXAQEEIP68/G4gF3XuZdKEYTFeputacmRq9yO5ZnNXgO9akdUgePpf8+CfFtveQxmN5xo3HVCDKxu/70lbMgeu7+wJzrMOlzj+a4zNq2j0Ww2VWMsisJ6eV3bJTnO/9VLGCOC8M9noaOlcKcLgIYy4aDM724MxFX2lgn7o6rVADHRxkvLEXPVqYT4syvYw+8OVSnNgE4MJLxaw8/2K0qp19YlQyiriIXfQpci3ThxwLjymYRPj+kjU1xIxv6qbFQzHR7ds0pSWp1U06cIoKPfCazU9hGWW8yIe/vzfTbWrt2DK6pLwBn/G0x3 sample"
484+ user_data = "ZWNobyB3b3JsZA=="
485+ }
486+ extended_metadata {
487+ keyA = "valA"
488+ keyB = "{\"keyB1\": \"valB1\", \"keyB2\": {\"keyB2\": \"valB2\"}}"
489+ }
490+ create_vnic_details {
491+ subnet_id = "${oci_core_subnet.t.id}"
492+ display_name = "-tf-vnic-2"
493+ assign_public_ip = false
494+ private_ip = "10.0.1.20"
495+ skip_source_dest_check = true
496+ defined_tags = "${map(
497+ "${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue"
498+ )}"
499+ freeform_tags = { "Department" = "Finance" }
500+ }
501+ }
502+ data "oci_core_vnic_attachments" "t" {
503+ compartment_id = "${var.compartment_id}"
504+ instance_id = "${oci_core_instance.t.id}"
505+ }
506+ data "oci_core_vnic" "t" {
507+ vnic_id = "${lookup(data.oci_core_vnic_attachments.t.vnic_attachments[0],"vnic_id")}"
508+ }` ,
509+ Check : resource .ComposeAggregateTestCheckFunc (
510+ resource .TestCheckResourceAttr (s .ResourceName , "display_name" , "-tf-instance" ),
511+ resource .TestCheckResourceAttr (s .ResourceName , "private_ip" , "10.0.1.20" ),
512+ resource .TestCheckResourceAttr (s .ResourceName , "metadata.%" , "2" ),
513+ resource .TestCheckResourceAttr (s .ResourceName , "metadata.ssh_authorized_keys" , "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOuBJgh6lTmQvQJ4BA3RCJdSmxRtmiXAQEEIP68/G4gF3XuZdKEYTFeputacmRq9yO5ZnNXgO9akdUgePpf8+CfFtveQxmN5xo3HVCDKxu/70lbMgeu7+wJzrMOlzj+a4zNq2j0Ww2VWMsisJ6eV3bJTnO/9VLGCOC8M9noaOlcKcLgIYy4aDM724MxFX2lgn7o6rVADHRxkvLEXPVqYT4syvYw+8OVSnNgE4MJLxaw8/2K0qp19YlQyiriIXfQpci3ThxwLjymYRPj+kjU1xIxv6qbFQzHR7ds0pSWp1U06cIoKPfCazU9hGWW8yIe/vzfTbWrt2DK6pLwBn/G0x3 sample" ),
514+ resource .TestCheckResourceAttr (s .ResourceName , "metadata.user_data" , "ZWNobyB3b3JsZA==" ),
515+ func (ts * terraform.State ) (err error ) {
516+ newId , err := fromInstanceState (ts , s .ResourceName , "id" )
517+ if newId == instanceId {
518+ return fmt .Errorf ("expected new instance ocid, got the same" )
519+ }
520+ instanceId = newId
521+ return err
522+ },
523+ ),
524+ },
473525 },
474526 })
475527}
@@ -502,7 +554,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_preserveBoot
502554 shape = "VM.Standard1.8"
503555 metadata {
504556 ssh_authorized_keys = "${var.ssh_public_key}"
505- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
557+ user_data = "ZWNobyBoZWxsbw =="
506558 }
507559 timeouts {
508560 create = "15m"
@@ -528,7 +580,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_preserveBoot
528580 resource .TestCheckResourceAttr (s .ResourceName , "hostname_label" , "hostname1" ),
529581 resource .TestCheckResourceAttr (s .ResourceName , "shape" , "VM.Standard1.8" ),
530582 resource .TestCheckResourceAttr (s .ResourceName , "metadata.%" , "2" ),
531- resource .TestCheckResourceAttr (s .ResourceName , "metadata.user_data" , "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg ==" ),
583+ resource .TestCheckResourceAttr (s .ResourceName , "metadata.user_data" , "ZWNobyBoZWxsbw ==" ),
532584 resource .TestCheckResourceAttrSet (s .ResourceName , "metadata.ssh_authorized_keys" ),
533585 resource .TestCheckResourceAttrSet (s .ResourceName , "region" ),
534586 resource .TestCheckResourceAttr (s .ResourceName , "create_vnic_details.#" , "1" ),
@@ -563,7 +615,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_preserveBoot
563615 shape = "VM.Standard1.8"
564616 metadata {
565617 ssh_authorized_keys = "${var.ssh_public_key}"
566- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
618+ user_data = "ZWNobyBoZWxsbw =="
567619 }
568620 timeouts {
569621 create = "15m"
@@ -588,7 +640,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_preserveBoot
588640 shape = "VM.Standard1.8"
589641 metadata {
590642 ssh_authorized_keys = "${var.ssh_public_key}"
591- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
643+ user_data = "ZWNobyBoZWxsbw =="
592644 }
593645 timeouts {
594646 create = "15m"
@@ -638,7 +690,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_preserveBoot
638690 shape = "VM.Standard1.8"
639691 metadata {
640692 ssh_authorized_keys = "${var.ssh_public_key}"
641- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
693+ user_data = "ZWNobyBoZWxsbw =="
642694 }
643695 timeouts {
644696 create = "15m"
@@ -695,7 +747,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_preserveBoot
695747 shape = "VM.Standard1.8"
696748 metadata {
697749 ssh_authorized_keys = "${var.ssh_public_key}"
698- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
750+ user_data = "ZWNobyBoZWxsbw =="
699751 }
700752 timeouts {
701753 create = "15m"
@@ -742,7 +794,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_preserveBoot
742794 shape = "VM.Standard1.8"
743795 metadata {
744796 ssh_authorized_keys = "${var.ssh_public_key}"
745- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
797+ user_data = "ZWNobyBoZWxsbw =="
746798 }
747799 timeouts {
748800 create = "15m"
0 commit comments