@@ -638,21 +638,26 @@ func resourceEndpointCreate(ctx context.Context, d *schema.ResourceData, meta an
638
638
expandTopLevelConnectionInfo (d , & input )
639
639
}
640
640
case engineNameAuroraPostgresql , engineNamePostgres :
641
- settings := & awstypes.PostgreSQLSettings {}
642
- if _ , ok := d .GetOk ("postgres_settings" ); ok {
643
- settings = expandPostgreSQLSettings (d .Get ("postgres_settings" ).([]any )[0 ].(map [string ]any ))
641
+ var settings * awstypes.PostgreSQLSettings
642
+
643
+ if v , ok := d .GetOk ("postgres_settings" ); ok && len (v .([]any )) > 0 && v .([]any )[0 ] != nil {
644
+ settings = expandPostgreSQLSettings (v .([]any )[0 ].(map [string ]any ))
645
+ } else {
646
+ settings = & awstypes.PostgreSQLSettings {}
644
647
}
648
+ settings .DatabaseName = aws .String (d .Get (names .AttrDatabaseName ).(string ))
645
649
646
650
if _ , ok := d .GetOk ("secrets_manager_arn" ); ok {
647
651
settings .SecretsManagerAccessRoleArn = aws .String (d .Get ("secrets_manager_access_role_arn" ).(string ))
648
652
settings .SecretsManagerSecretId = aws .String (d .Get ("secrets_manager_arn" ).(string ))
649
- settings .DatabaseName = aws .String (d .Get (names .AttrDatabaseName ).(string ))
650
653
} else {
654
+ if v , ok := d .GetOk (names .AttrPassword ); ok {
655
+ settings .Password = aws .String (v .(string ))
656
+ }
657
+
651
658
settings .Username = aws .String (d .Get (names .AttrUsername ).(string ))
652
- settings .Password = aws .String (d .Get (names .AttrPassword ).(string ))
653
659
settings .ServerName = aws .String (d .Get ("server_name" ).(string ))
654
660
settings .Port = aws .Int32 (int32 (d .Get (names .AttrPort ).(int )))
655
- settings .DatabaseName = aws .String (d .Get (names .AttrDatabaseName ).(string ))
656
661
657
662
// Set connection info in top-level namespace as well
658
663
expandTopLevelConnectionInfo (d , & input )
@@ -705,6 +710,7 @@ func resourceEndpointCreate(ctx context.Context, d *schema.ResourceData, meta an
705
710
var settings = & awstypes.OracleSettings {
706
711
DatabaseName : aws .String (d .Get (names .AttrDatabaseName ).(string )),
707
712
}
713
+
708
714
if v , ok := d .GetOk ("oracle_settings" ); ok && len (v .([]any )) > 0 && v .([]any )[0 ] != nil {
709
715
settings .AuthenticationMethod = expandOracleSettings (v .([]any )).AuthenticationMethod
710
716
}
@@ -719,11 +725,11 @@ func resourceEndpointCreate(ctx context.Context, d *schema.ResourceData, meta an
719
725
settings .Username = aws .String (d .Get (names .AttrUsername ).(string ))
720
726
settings .ServerName = aws .String (d .Get ("server_name" ).(string ))
721
727
settings .Port = aws .Int32 (int32 (d .Get (names .AttrPort ).(int )))
722
- settings .DatabaseName = aws .String (d .Get (names .AttrDatabaseName ).(string ))
723
728
724
729
// Set connection info in top-level namespace as well
725
730
expandTopLevelConnectionInfo (d , & input )
726
731
}
732
+
727
733
input .OracleSettings = settings
728
734
case engineNameRedis :
729
735
input .RedisSettings = expandRedisSettings (d .Get ("redis_settings" ).([]any )[0 ].(map [string ]any ))
@@ -736,8 +742,11 @@ func resourceEndpointCreate(ctx context.Context, d *schema.ResourceData, meta an
736
742
settings .SecretsManagerAccessRoleArn = aws .String (d .Get ("secrets_manager_access_role_arn" ).(string ))
737
743
settings .SecretsManagerSecretId = aws .String (d .Get ("secrets_manager_arn" ).(string ))
738
744
} else {
745
+ if v , ok := d .GetOk (names .AttrPassword ); ok {
746
+ settings .Password = aws .String (v .(string ))
747
+ }
748
+
739
749
settings .Username = aws .String (d .Get (names .AttrUsername ).(string ))
740
- settings .Password = aws .String (d .Get (names .AttrPassword ).(string ))
741
750
settings .ServerName = aws .String (d .Get ("server_name" ).(string ))
742
751
settings .Port = aws .Int32 (int32 (d .Get (names .AttrPort ).(int )))
743
752
0 commit comments