@@ -88,7 +88,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
8888 freeform_tags = { "Department" = "Accounting"}
8989 metadata {
9090 ssh_authorized_keys = "${var.ssh_public_key}"
91- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
91+ user_data = "ZWNobyBoZWxsbw =="
9292 }
9393 extended_metadata {
9494 keyA = "valA"
@@ -118,7 +118,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
118118 resource .TestCheckResourceAttr (s .ResourceName , "hostname_label" , "hostname1" ),
119119 resource .TestCheckResourceAttr (s .ResourceName , "shape" , "VM.Standard2.1" ),
120120 resource .TestCheckResourceAttr (s .ResourceName , "metadata.%" , "2" ),
121- resource .TestCheckResourceAttr (s .ResourceName , "metadata.user_data" , "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg ==" ),
121+ resource .TestCheckResourceAttr (s .ResourceName , "metadata.user_data" , "ZWNobyBoZWxsbw ==" ),
122122 resource .TestCheckResourceAttrSet (s .ResourceName , "metadata.ssh_authorized_keys" ),
123123 resource .TestCheckResourceAttr (s .ResourceName , "extended_metadata.%" , "2" ),
124124 resource .TestCheckResourceAttr (s .ResourceName , "extended_metadata.keyA" , "valA" ),
@@ -160,7 +160,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
160160 shape = "VM.Standard2.1"
161161 metadata {
162162 ssh_authorized_keys = "${var.ssh_public_key}"
163- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
163+ user_data = "ZWNobyBoZWxsbw =="
164164 }
165165 extended_metadata {
166166 keyA = "valA"
@@ -189,7 +189,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
189189 shape = "VM.Standard2.1"
190190 metadata {
191191 ssh_authorized_keys = "${var.ssh_public_key}"
192- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
192+ user_data = "ZWNobyBoZWxsbw =="
193193 }
194194 extended_metadata {
195195 keyA = "valA"
@@ -216,10 +216,10 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
216216 defined_tags = "${map(
217217 "${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value2"
218218 )}"
219- freeform_tags = { "CostCenter" = "42"}
219+ freeform_tags = { "CostCenter" = "42"}
220220 metadata {
221221 ssh_authorized_keys = "${var.ssh_public_key}"
222- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
222+ user_data = "ZWNobyBoZWxsbw =="
223223 }
224224 extended_metadata {
225225 keyA = "valA"
@@ -249,7 +249,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
249249 subnet_id = "${oci_core_subnet.t.id}"
250250 metadata {
251251 ssh_authorized_keys = "${var.ssh_public_key}"
252- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
252+ user_data = "ZWNobyBoZWxsbw =="
253253 }
254254 extended_metadata {
255255 keyA = "valA"
@@ -296,7 +296,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
296296 subnet_id = "${oci_core_subnet.t.id}"
297297 metadata {
298298 ssh_authorized_keys = "${var.ssh_public_key}"
299- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
299+ user_data = "ZWNobyBoZWxsbw =="
300300 }
301301 extended_metadata {
302302 keyA = "valA"
@@ -330,7 +330,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
330330 subnet_id = "${oci_core_subnet.t.id}"
331331 metadata {
332332 ssh_authorized_keys = "${var.ssh_public_key}"
333- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
333+ user_data = "ZWNobyBoZWxsbw =="
334334 }
335335 extended_metadata {
336336 keyA = "valA"
@@ -378,7 +378,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
378378 display_name = "-tf-instance"
379379 metadata {
380380 ssh_authorized_keys = "${var.ssh_public_key}"
381- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
381+ user_data = "ZWNobyBoZWxsbw =="
382382 }
383383 extended_metadata {
384384 keyA = "valA"
@@ -393,7 +393,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
393393 defined_tags = "${map(
394394 "${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value"
395395 )}"
396- freeform_tags = { "Department" = "Accounting" }
396+ freeform_tags = { "Department" = "Accounting" }
397397 }
398398 }
399399 data "oci_core_vnic_attachments" "t" {
@@ -433,7 +433,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
433433 display_name = "-tf-instance"
434434 metadata {
435435 ssh_authorized_keys = "${var.ssh_public_key}"
436- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
436+ user_data = "ZWNobyBoZWxsbw =="
437437 }
438438 extended_metadata {
439439 keyA = "valA"
@@ -448,7 +448,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
448448 defined_tags = "${map(
449449 "${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue"
450450 )}"
451- freeform_tags = { "Department" = "Finance" }
451+ freeform_tags = { "Department" = "Finance" }
452452 }
453453 }
454454 data "oci_core_vnic_attachments" "t" {
@@ -471,6 +471,58 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_basic() {
471471 },
472472 ),
473473 },
474+ // verify force new by changing ssh_authorized_keys and user_data in metadata
475+ {
476+ Config : s .Config + `
477+ resource "oci_core_instance" "t" {
478+ availability_domain = "${data.oci_identity_availability_domains.ADs.availability_domains.0.name}"
479+ compartment_id = "${var.compartment_id}"
480+ image = "${var.InstanceImageOCID[var.region]}"
481+ shape = "VM.Standard1.8"
482+ display_name = "-tf-instance"
483+ metadata {
484+ ssh_authorized_keys = "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOuBJgh6lTmQvQJ4BA3RCJdSmxRtmiXAQEEIP68/G4gF3XuZdKEYTFeputacmRq9yO5ZnNXgO9akdUgePpf8+CfFtveQxmN5xo3HVCDKxu/70lbMgeu7+wJzrMOlzj+a4zNq2j0Ww2VWMsisJ6eV3bJTnO/9VLGCOC8M9noaOlcKcLgIYy4aDM724MxFX2lgn7o6rVADHRxkvLEXPVqYT4syvYw+8OVSnNgE4MJLxaw8/2K0qp19YlQyiriIXfQpci3ThxwLjymYRPj+kjU1xIxv6qbFQzHR7ds0pSWp1U06cIoKPfCazU9hGWW8yIe/vzfTbWrt2DK6pLwBn/G0x3 sample"
485+ user_data = "ZWNobyB3b3JsZA=="
486+ }
487+ extended_metadata {
488+ keyA = "valA"
489+ keyB = "{\"keyB1\": \"valB1\", \"keyB2\": {\"keyB2\": \"valB2\"}}"
490+ }
491+ create_vnic_details {
492+ subnet_id = "${oci_core_subnet.t.id}"
493+ display_name = "-tf-vnic-2"
494+ assign_public_ip = false
495+ private_ip = "10.0.1.20"
496+ skip_source_dest_check = true
497+ defined_tags = "${map(
498+ "${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue"
499+ )}"
500+ freeform_tags = { "Department" = "Finance" }
501+ }
502+ }
503+ data "oci_core_vnic_attachments" "t" {
504+ compartment_id = "${var.compartment_id}"
505+ instance_id = "${oci_core_instance.t.id}"
506+ }
507+ data "oci_core_vnic" "t" {
508+ vnic_id = "${lookup(data.oci_core_vnic_attachments.t.vnic_attachments[0],"vnic_id")}"
509+ }` ,
510+ Check : resource .ComposeAggregateTestCheckFunc (
511+ resource .TestCheckResourceAttr (s .ResourceName , "display_name" , "-tf-instance" ),
512+ resource .TestCheckResourceAttr (s .ResourceName , "private_ip" , "10.0.1.20" ),
513+ resource .TestCheckResourceAttr (s .ResourceName , "metadata.%" , "2" ),
514+ resource .TestCheckResourceAttr (s .ResourceName , "metadata.ssh_authorized_keys" , "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOuBJgh6lTmQvQJ4BA3RCJdSmxRtmiXAQEEIP68/G4gF3XuZdKEYTFeputacmRq9yO5ZnNXgO9akdUgePpf8+CfFtveQxmN5xo3HVCDKxu/70lbMgeu7+wJzrMOlzj+a4zNq2j0Ww2VWMsisJ6eV3bJTnO/9VLGCOC8M9noaOlcKcLgIYy4aDM724MxFX2lgn7o6rVADHRxkvLEXPVqYT4syvYw+8OVSnNgE4MJLxaw8/2K0qp19YlQyiriIXfQpci3ThxwLjymYRPj+kjU1xIxv6qbFQzHR7ds0pSWp1U06cIoKPfCazU9hGWW8yIe/vzfTbWrt2DK6pLwBn/G0x3 sample" ),
515+ resource .TestCheckResourceAttr (s .ResourceName , "metadata.user_data" , "ZWNobyB3b3JsZA==" ),
516+ func (ts * terraform.State ) (err error ) {
517+ newId , err := fromInstanceState (ts , s .ResourceName , "id" )
518+ if newId == instanceId {
519+ return fmt .Errorf ("expected new instance ocid, got the same" )
520+ }
521+ instanceId = newId
522+ return err
523+ },
524+ ),
525+ },
474526 },
475527 })
476528}
@@ -503,7 +555,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_preserveBoot
503555 shape = "VM.Standard2.1"
504556 metadata {
505557 ssh_authorized_keys = "${var.ssh_public_key}"
506- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
558+ user_data = "ZWNobyBoZWxsbw =="
507559 }
508560 timeouts {
509561 create = "15m"
@@ -529,7 +581,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_preserveBoot
529581 resource .TestCheckResourceAttr (s .ResourceName , "hostname_label" , "hostname1" ),
530582 resource .TestCheckResourceAttr (s .ResourceName , "shape" , "VM.Standard2.1" ),
531583 resource .TestCheckResourceAttr (s .ResourceName , "metadata.%" , "2" ),
532- resource .TestCheckResourceAttr (s .ResourceName , "metadata.user_data" , "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg ==" ),
584+ resource .TestCheckResourceAttr (s .ResourceName , "metadata.user_data" , "ZWNobyBoZWxsbw ==" ),
533585 resource .TestCheckResourceAttrSet (s .ResourceName , "metadata.ssh_authorized_keys" ),
534586 resource .TestCheckResourceAttrSet (s .ResourceName , "region" ),
535587 resource .TestCheckResourceAttr (s .ResourceName , "create_vnic_details.#" , "1" ),
@@ -564,7 +616,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_preserveBoot
564616 shape = "VM.Standard2.1"
565617 metadata {
566618 ssh_authorized_keys = "${var.ssh_public_key}"
567- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
619+ user_data = "ZWNobyBoZWxsbw =="
568620 }
569621 timeouts {
570622 create = "15m"
@@ -589,7 +641,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_preserveBoot
589641 shape = "VM.Standard2.1"
590642 metadata {
591643 ssh_authorized_keys = "${var.ssh_public_key}"
592- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
644+ user_data = "ZWNobyBoZWxsbw =="
593645 }
594646 timeouts {
595647 create = "15m"
@@ -639,7 +691,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_preserveBoot
639691 shape = "VM.Standard2.1"
640692 metadata {
641693 ssh_authorized_keys = "${var.ssh_public_key}"
642- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
694+ user_data = "ZWNobyBoZWxsbw =="
643695 }
644696 timeouts {
645697 create = "15m"
@@ -696,7 +748,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_preserveBoot
696748 shape = "VM.Standard2.1"
697749 metadata {
698750 ssh_authorized_keys = "${var.ssh_public_key}"
699- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
751+ user_data = "ZWNobyBoZWxsbw =="
700752 }
701753 timeouts {
702754 create = "15m"
@@ -747,7 +799,7 @@ func (s *ResourceCoreInstanceTestSuite) TestAccResourceCoreInstance_preserveBoot
747799 shape = "VM.Standard2.1"
748800 metadata {
749801 ssh_authorized_keys = "${var.ssh_public_key}"
750- user_data = "SWYgeW91IGNhbiBzZWUgdGhpcywgdGhlbiBpdCB3b3JrZWQgbWF5YmUuCg =="
802+ user_data = "ZWNobyBoZWxsbw =="
751803 }
752804 timeouts {
753805 create = "15m"
0 commit comments