Skip to content

Commit c22f7ab

Browse files
committed
r/aws_dms_endpoint: Consistency in Create.
1 parent 7e57b91 commit c22f7ab

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

internal/service/dms/endpoint.go

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -638,21 +638,26 @@ func resourceEndpointCreate(ctx context.Context, d *schema.ResourceData, meta an
638638
expandTopLevelConnectionInfo(d, &input)
639639
}
640640
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{}
644647
}
648+
settings.DatabaseName = aws.String(d.Get(names.AttrDatabaseName).(string))
645649

646650
if _, ok := d.GetOk("secrets_manager_arn"); ok {
647651
settings.SecretsManagerAccessRoleArn = aws.String(d.Get("secrets_manager_access_role_arn").(string))
648652
settings.SecretsManagerSecretId = aws.String(d.Get("secrets_manager_arn").(string))
649-
settings.DatabaseName = aws.String(d.Get(names.AttrDatabaseName).(string))
650653
} else {
654+
if v, ok := d.GetOk(names.AttrPassword); ok {
655+
settings.Password = aws.String(v.(string))
656+
}
657+
651658
settings.Username = aws.String(d.Get(names.AttrUsername).(string))
652-
settings.Password = aws.String(d.Get(names.AttrPassword).(string))
653659
settings.ServerName = aws.String(d.Get("server_name").(string))
654660
settings.Port = aws.Int32(int32(d.Get(names.AttrPort).(int)))
655-
settings.DatabaseName = aws.String(d.Get(names.AttrDatabaseName).(string))
656661

657662
// Set connection info in top-level namespace as well
658663
expandTopLevelConnectionInfo(d, &input)
@@ -705,6 +710,7 @@ func resourceEndpointCreate(ctx context.Context, d *schema.ResourceData, meta an
705710
var settings = &awstypes.OracleSettings{
706711
DatabaseName: aws.String(d.Get(names.AttrDatabaseName).(string)),
707712
}
713+
708714
if v, ok := d.GetOk("oracle_settings"); ok && len(v.([]any)) > 0 && v.([]any)[0] != nil {
709715
settings.AuthenticationMethod = expandOracleSettings(v.([]any)).AuthenticationMethod
710716
}
@@ -719,11 +725,11 @@ func resourceEndpointCreate(ctx context.Context, d *schema.ResourceData, meta an
719725
settings.Username = aws.String(d.Get(names.AttrUsername).(string))
720726
settings.ServerName = aws.String(d.Get("server_name").(string))
721727
settings.Port = aws.Int32(int32(d.Get(names.AttrPort).(int)))
722-
settings.DatabaseName = aws.String(d.Get(names.AttrDatabaseName).(string))
723728

724729
// Set connection info in top-level namespace as well
725730
expandTopLevelConnectionInfo(d, &input)
726731
}
732+
727733
input.OracleSettings = settings
728734
case engineNameRedis:
729735
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
736742
settings.SecretsManagerAccessRoleArn = aws.String(d.Get("secrets_manager_access_role_arn").(string))
737743
settings.SecretsManagerSecretId = aws.String(d.Get("secrets_manager_arn").(string))
738744
} else {
745+
if v, ok := d.GetOk(names.AttrPassword); ok {
746+
settings.Password = aws.String(v.(string))
747+
}
748+
739749
settings.Username = aws.String(d.Get(names.AttrUsername).(string))
740-
settings.Password = aws.String(d.Get(names.AttrPassword).(string))
741750
settings.ServerName = aws.String(d.Get("server_name").(string))
742751
settings.Port = aws.Int32(int32(d.Get(names.AttrPort).(int)))
743752

0 commit comments

Comments
 (0)