@@ -80,6 +80,40 @@ func EmailEmailDomainResource() *schema.Resource {
8080 Type : schema .TypeBool ,
8181 Computed : true ,
8282 },
83+ "locks" : {
84+ Type : schema .TypeList ,
85+ Computed : true ,
86+ Elem : & schema.Resource {
87+ Schema : map [string ]* schema.Schema {
88+ // Required
89+
90+ // Optional
91+ "compartment_id" : {
92+ Type : schema .TypeString ,
93+ Optional : true ,
94+ Computed : true ,
95+ },
96+
97+ // Computed
98+ "message" : {
99+ Type : schema .TypeString ,
100+ Computed : true ,
101+ },
102+ "related_resource_id" : {
103+ Type : schema .TypeString ,
104+ Computed : true ,
105+ },
106+ "time_created" : {
107+ Type : schema .TypeString ,
108+ Computed : true ,
109+ },
110+ "type" : {
111+ Type : schema .TypeString ,
112+ Computed : true ,
113+ },
114+ },
115+ },
116+ },
83117 "state" : {
84118 Type : schema .TypeString ,
85119 Computed : true ,
@@ -387,6 +421,11 @@ func (s *EmailEmailDomainResourceCrud) Update() error {
387421 request .FreeformTags = tfresource .ObjectMapToStringMap (freeformTags .(map [string ]interface {}))
388422 }
389423
424+ if isLockOverride , ok := s .D .GetOkExists ("is_lock_override" ); ok {
425+ tmp := isLockOverride .(bool )
426+ request .IsLockOverride = & tmp
427+ }
428+
390429 request .RequestMetadata .RetryPolicy = tfresource .GetRetryPolicy (s .DisableNotFoundRetries , "email" )
391430
392431 response , err := s .Client .UpdateEmailDomain (context .Background (), request )
@@ -404,6 +443,11 @@ func (s *EmailEmailDomainResourceCrud) Delete() error {
404443 tmp := s .D .Id ()
405444 request .EmailDomainId = & tmp
406445
446+ if isLockOverride , ok := s .D .GetOkExists ("is_lock_override" ); ok {
447+ tmp := isLockOverride .(bool )
448+ request .IsLockOverride = & tmp
449+ }
450+
407451 request .RequestMetadata .RetryPolicy = tfresource .GetRetryPolicy (s .DisableNotFoundRetries , "email" )
408452
409453 response , err := s .Client .DeleteEmailDomain (context .Background (), request )
@@ -447,6 +491,12 @@ func (s *EmailEmailDomainResourceCrud) SetData() error {
447491 s .D .Set ("is_spf" , * s .Res .IsSpf )
448492 }
449493
494+ locks := []interface {}{}
495+ for _ , item := range s .Res .Locks {
496+ locks = append (locks , ResourceLockToMap (item ))
497+ }
498+ s .D .Set ("locks" , locks )
499+
450500 if s .Res .Name != nil {
451501 s .D .Set ("name" , * s .Res .Name )
452502 }
@@ -489,6 +539,12 @@ func EmailDomainSummaryToMap(obj oci_email.EmailDomainSummary) map[string]interf
489539 result ["id" ] = string (* obj .Id )
490540 }
491541
542+ locks := []interface {}{}
543+ for _ , item := range obj .Locks {
544+ locks = append (locks , ResourceLockToMap (item ))
545+ }
546+ result ["locks" ] = locks
547+
492548 if obj .Name != nil {
493549 result ["name" ] = string (* obj .Name )
494550 }
@@ -506,6 +562,30 @@ func EmailDomainSummaryToMap(obj oci_email.EmailDomainSummary) map[string]interf
506562 return result
507563}
508564
565+ func ResourceLockToMap (obj oci_email.ResourceLock ) map [string ]interface {} {
566+ result := map [string ]interface {}{}
567+
568+ if obj .CompartmentId != nil {
569+ result ["compartment_id" ] = string (* obj .CompartmentId )
570+ }
571+
572+ if obj .Message != nil {
573+ result ["message" ] = string (* obj .Message )
574+ }
575+
576+ if obj .RelatedResourceId != nil {
577+ result ["related_resource_id" ] = string (* obj .RelatedResourceId )
578+ }
579+
580+ if obj .TimeCreated != nil {
581+ result ["time_created" ] = obj .TimeCreated .String ()
582+ }
583+
584+ result ["type" ] = string (obj .Type )
585+
586+ return result
587+ }
588+
509589func (s * EmailEmailDomainResourceCrud ) updateCompartment (compartment interface {}) error {
510590 changeCompartmentRequest := oci_email.ChangeEmailDomainCompartmentRequest {}
511591
@@ -515,6 +595,11 @@ func (s *EmailEmailDomainResourceCrud) updateCompartment(compartment interface{}
515595 idTmp := s .D .Id ()
516596 changeCompartmentRequest .EmailDomainId = & idTmp
517597
598+ if isLockOverride , ok := s .D .GetOkExists ("is_lock_override" ); ok {
599+ tmp := isLockOverride .(bool )
600+ changeCompartmentRequest .IsLockOverride = & tmp
601+ }
602+
518603 changeCompartmentRequest .RequestMetadata .RetryPolicy = tfresource .GetRetryPolicy (s .DisableNotFoundRetries , "email" )
519604
520605 response , err := s .Client .ChangeEmailDomainCompartment (context .Background (), changeCompartmentRequest )
0 commit comments