Skip to content

Commit 179d611

Browse files
authored
Service name config (#168)
Add a config for service_name for IAM authentication, deafult: 'es'. Signed-off-by: Deep Datta <deedatta@amazon.com>
1 parent f9113d5 commit 179d611

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

lib/logstash/outputs/opensearch/http_client/manticore_adapter.rb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ def aws_iam_auth_initialization(options)
7676
instance_cred_timeout = options[:auth_type]["instance_profile_credentials_timeout"] || AWS_DEFAULT_PROFILE_CREDENTIAL_TIMEOUT
7777
region = options[:auth_type]["region"] || AWS_DEFAULT_REGION
7878
set_aws_region(region)
79+
set_service_name(options[:auth_type]["service_name"] || AWS_SERVICE)
7980

8081
credential_config = AWSIAMCredential.new(aws_access_key_id, aws_secret_access_key, session_token, profile, instance_cred_retries, instance_cred_timeout, region)
8182
@credentials = Aws::CredentialProviderChain.new(credential_config).resolve
@@ -93,6 +94,14 @@ def get_aws_region()
9394
@region
9495
end
9596

97+
def set_service_name(service_name)
98+
@service_name = service_name
99+
end
100+
101+
def get_service_name()
102+
@service_name
103+
end
104+
96105
def set_user_password(options)
97106
@user = options[:auth_type]["user"]
98107
@password = options[:auth_type]["password"]

spec/unit/outputs/opensearch/http_client/manticore_adapter_spec.rb

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,25 @@
6161
"aws_access_key_id"=>"AAAAAAAAAAAAAAAAAAAA",
6262
"aws_secret_access_key"=>"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"}
6363
} }
64+
let(:options_svc) { {
65+
:auth_type => {
66+
"type"=>"aws_iam",
67+
"aws_access_key_id"=>"AAAAAAAAAAAAAAAAAAAA",
68+
"aws_secret_access_key"=>"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
69+
"service_name"=>"svc_test"}
70+
} }
6471
subject { described_class.new(logger, options) }
6572
let(:uri) { ::LogStash::Util::SafeURI.new("http://localhost:9200") }
6673
let(:sign_aws_request) { }
6774

6875
it "should validate AWS IAM credentials initialization" do
6976
expect(subject.aws_iam_auth_initialization(options)).not_to be_nil
77+
expect(subject.get_service_name).to eq("es")
78+
end
79+
80+
it "should validate AWS IAM service_name config" do
81+
expect(subject.aws_iam_auth_initialization(options_svc)).not_to be_nil
82+
expect(subject.get_service_name).to eq("svc_test")
7083
end
7184

7285
it "should validate signing aws request" do

0 commit comments

Comments
 (0)