@@ -401,6 +401,20 @@ func (s *ObjectStorageObjectResourceCrud) createCopyObject() error {
401401
402402func readObjectStorageObject (d * schema.ResourceData , m interface {}) error {
403403 sync := & ObjectStorageObjectResourceCrud {}
404+ // For backward compatibility with CompositeId change
405+ log .Printf ("[DEBUG] readObjectStorageObject() Resource Id in state: %s" , d .Id ())
406+ _ , _ , _ , err := parseObjectCompositeId (d .Id ())
407+
408+ if err != nil {
409+ bucket , bOk := d .GetOkExists ("bucket" )
410+ namespace , nOk := d .GetOkExists ("namespace" )
411+ object , oOk := d .GetOkExists ("object" )
412+
413+ if bOk && nOk && oOk {
414+ compositeId := getObjectCompositeId (bucket .(string ), namespace .(string ), object .(string ))
415+ d .SetId (compositeId )
416+ }
417+ }
404418 sync .D = d
405419 sync .Client = m .(* OracleClients ).objectStorageClient
406420
@@ -716,48 +730,53 @@ func (s *ObjectStorageObjectResourceCrud) Update() error {
716730 }
717731 request := oci_object_storage.RenameObjectRequest {}
718732
719- bucketName , namespaceName , objectName , err := parseObjectCompositeId (s .D .Id ())
720- if err == nil {
721- request .NamespaceName = & namespaceName
722- request .BucketName = & bucketName
723- request .SourceName = & objectName
724- } else {
725- log .Printf ("[WARN] Update() unable to parse current ID: %s" , s .D .Id ())
726- return err
733+ if bucket , ok := s .D .GetOkExists ("bucket" ); ok {
734+ tmp := bucket .(string )
735+ request .BucketName = & tmp
727736 }
728-
729- if object , ok := s .D .GetOkExists ("object" ); ok {
730- tmp := object .(string )
731- request .NewName = & tmp
737+ if namespace , ok := s .D .GetOkExists ("namespace" ); ok {
738+ tmp := namespace .(string )
739+ request .NamespaceName = & tmp
732740 }
741+ oldRaw , newRaw := s .D .GetChange ("object" )
742+ sourceName := oldRaw .(string )
743+ request .SourceName = & sourceName
744+
745+ newName := newRaw .(string )
746+ request .NewName = & newName
733747
734748 request .RequestMetadata .RetryPolicy = getRetryPolicy (s .DisableNotFoundRetries , "object_storage" )
735- _ , err = s .Client .RenameObject (context .Background (), request )
749+ _ , err : = s .Client .RenameObject (context .Background (), request )
736750 if err != nil {
737751 return err
738752 }
739753
740- updatedId := getObjectCompositeId (bucketName , namespaceName , * request .NewName )
754+ updatedId := getObjectCompositeId (* request . BucketName , * request . NamespaceName , * request .NewName )
741755 s .D .SetId (updatedId )
742756 return s .Get ()
743757}
744758
745759func (s * ObjectStorageObjectResourceCrud ) Delete () error {
746760 request := oci_object_storage.DeleteObjectRequest {}
747761
748- bucketName , namespaceName , objectName , err := parseObjectCompositeId (s .D .Id ())
749- if err == nil {
750- request .NamespaceName = & namespaceName
751- request .BucketName = & bucketName
752- request .ObjectName = & objectName
753- } else {
754- log .Printf ("[WARN] Delete() unable to parse current ID: %s" , s .D .Id ())
755- return err
762+ if bucket , ok := s .D .GetOkExists ("bucket" ); ok {
763+ tmp := bucket .(string )
764+ request .BucketName = & tmp
765+ }
766+
767+ if namespace , ok := s .D .GetOkExists ("namespace" ); ok {
768+ tmp := namespace .(string )
769+ request .NamespaceName = & tmp
770+ }
771+
772+ if object , ok := s .D .GetOkExists ("object" ); ok {
773+ tmp := object .(string )
774+ request .ObjectName = & tmp
756775 }
757776
758777 request .RequestMetadata .RetryPolicy = getRetryPolicy (s .DisableNotFoundRetries , "object_storage" )
759778
760- _ , err = s .Client .DeleteObject (context .Background (), request )
779+ _ , err : = s .Client .DeleteObject (context .Background (), request )
761780 return err
762781}
763782
0 commit comments