@@ -151,7 +151,7 @@ func resourceSecretVersionCreate(ctx context.Context, d *schema.ResourceData, me
151151 d .SetId (secretVersionCreateResourceID (secretID , versionID ))
152152
153153 _ , err = tfresource .RetryWhenNotFound (ctx , propagationTimeout , func (ctx context.Context ) (any , error ) {
154- return checkExists (ctx , conn , secretID , versionID , secretStringWO != "" )
154+ return findSecretVersionForExistence (ctx , conn , secretID , versionID , secretStringWO != "" )
155155 })
156156
157157 if err != nil {
@@ -165,7 +165,7 @@ type secretVersionExistsOutput struct {
165165 VersionStages []string
166166}
167167
168- func checkExists (ctx context.Context , conn * secretsmanager.Client , secretID , versionID string , hasWriteOnly bool ) (* secretVersionExistsOutput , error ) {
168+ func findSecretVersionForExistence (ctx context.Context , conn * secretsmanager.Client , secretID , versionID string , hasWriteOnly bool ) (* secretVersionExistsOutput , error ) {
169169 if hasWriteOnly {
170170 _ , output , err := findSecretVersionEntryByTwoPartKey (ctx , conn , secretID , versionID )
171171 if err != nil {
@@ -204,48 +204,40 @@ func resourceSecretVersionRead(ctx context.Context, d *schema.ResourceData, meta
204204
205205 if hasWriteOnly {
206206 arn , versionEntry , err := findSecretVersionEntryByTwoPartKey (ctx , conn , secretID , versionID )
207-
208207 if ! d .IsNewResource () && tfresource .NotFound (err ) {
209208 log .Printf ("[WARN] Secrets Manager Secret Version (%s) not found, removing from state" , d .Id ())
210209 d .SetId ("" )
211210 return diags
212211 }
213-
214212 if err != nil {
215213 return sdkdiag .AppendErrorf (diags , "reading Secrets Manager Secret Version (%s): %s" , d .Id (), err )
216214 }
217215
218216 d .Set (names .AttrARN , arn )
219217 d .Set ("secret_binary" , nil )
218+ d .Set ("secret_string" , nil )
219+ d .Set ("version_id" , versionEntry .VersionId )
220+ d .Set ("version_stages" , versionEntry .VersionStages )
221+ d .Set ("has_secret_string_wo" , true )
220222
221- if versionEntry != nil {
222- d .Set ("version_id" , versionEntry .VersionId )
223- d .Set ("version_stages" , versionEntry .VersionStages )
224- }
225- } else {
226- output , err := findSecretVersionByTwoPartKey (ctx , conn , secretID , versionID )
227-
228- if ! d .IsNewResource () && tfresource .NotFound (err ) {
229- log .Printf ("[WARN] Secrets Manager Secret Version (%s) not found, removing from state" , d .Id ())
230- d .SetId ("" )
231- return diags
232- }
233-
234- if err != nil {
235- return sdkdiag .AppendErrorf (diags , "reading Secrets Manager Secret Version (%s): %s" , d .Id (), err )
236- }
237-
238- d .Set (names .AttrARN , output .ARN )
239- d .Set ("secret_binary" , inttypes .Base64EncodeOnce (output .SecretBinary ))
240- d .Set ("secret_string" , output .SecretString )
241- d .Set ("version_id" , output .VersionId )
242- d .Set ("version_stages" , output .VersionStages )
223+ return diags
243224 }
244225
245- if hasWriteOnly {
246- d .Set ("has_secret_string_wo" , true )
247- d .Set ("secret_string" , nil )
226+ output , err := findSecretVersionByTwoPartKey (ctx , conn , secretID , versionID )
227+ if ! d .IsNewResource () && tfresource .NotFound (err ) {
228+ log .Printf ("[WARN] Secrets Manager Secret Version (%s) not found, removing from state" , d .Id ())
229+ d .SetId ("" )
230+ return diags
248231 }
232+ if err != nil {
233+ return sdkdiag .AppendErrorf (diags , "reading Secrets Manager Secret Version (%s): %s" , d .Id (), err )
234+ }
235+
236+ d .Set (names .AttrARN , output .ARN )
237+ d .Set ("secret_binary" , inttypes .Base64EncodeOnce (output .SecretBinary ))
238+ d .Set ("secret_string" , output .SecretString )
239+ d .Set ("version_id" , output .VersionId )
240+ d .Set ("version_stages" , output .VersionStages )
249241
250242 return diags
251243}
@@ -377,7 +369,7 @@ func resourceSecretVersionDelete(ctx context.Context, d *schema.ResourceData, me
377369
378370 _ , err = tfresource .RetryUntilNotFound (ctx , propagationTimeout , func (ctx context.Context ) (any , error ) {
379371 hasWriteOnly := flex .HasWriteOnlyValue (d , "secret_string_wo" )
380- output , err := checkExists (ctx , conn , secretID , versionID , hasWriteOnly )
372+ output , err := findSecretVersionForExistence (ctx , conn , secretID , versionID , hasWriteOnly )
381373
382374 if err != nil {
383375 return nil , err
0 commit comments