Skip to content

Commit d387e34

Browse files
committed
BAU: allow forms data_api to specify db user
1 parent 9fbfcab commit d387e34

2 files changed

Lines changed: 8 additions & 4 deletions

File tree

support/forms-cli/lib/commands/data_api.rb

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def run
1313
parse_options
1414
return unless aws_authenticated? && valid_options?
1515

16-
@connection = DataApiConnection.new(fetch_environment, @options[:database], @options[:cluster])
16+
@connection = DataApiConnection.new(fetch_environment, @options[:database], @options[:cluster], @options[:user])
1717

1818
begin
1919
print execute_statement
@@ -74,6 +74,10 @@ def parse_options
7474
opts.on("-sSTATEMENT", "--statement=STATEMENT", "[Mandatory] The statement to execute") do |statement|
7575
@options[:statement] = statement
7676
end
77+
78+
opts.on("-uUSER", "--user=USER", "The database user to connect as") do |user|
79+
@options[:user] = user
80+
end
7781
}.parse!
7882
end
7983

support/forms-cli/lib/utilities/data_api_connection.rb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,11 @@
99

1010
# Executes statements on AWS RDS using the Data API.
1111
class DataApiConnection
12-
def initialize(env, database_name, cluster_name)
12+
def initialize(env, database_name, cluster_name, database_user = nil)
1313
@env = env
1414
@database_name = database_name
1515
@cluster_name = cluster_name || default_cluster_name
16+
@database_user = database_user || database_name
1617

1718
@data_service = Aws::RDSDataService::Client.new
1819
@rds = Aws::RDS::Client.new
@@ -43,8 +44,7 @@ def default_cluster_name
4344
end
4445

4546
def query_credential_arn
46-
secret_name = "rds-db-credentials/#{query_database_resource_id}/#{@database_name}"
47-
# secret_name = "data-api/#{@env}/#{@database_name}/rds-credentials"
47+
secret_name = "rds-db-credentials/#{query_database_resource_id}/#{@database_user}"
4848

4949
begin
5050
secret = @secrets_manager.describe_secret({ secret_id: secret_name })

0 commit comments

Comments
 (0)