@@ -17,6 +17,7 @@ class AwsElasticsearchServiceOutput < ElasticsearchOutput
1717 config_param :access_key_id , :string , :default => ""
1818 config_param :secret_access_key , :string , :default => ""
1919 config_param :assume_role_arn , :string , :default => nil
20+ config_param :ecs_container_credentials_relative_uri , :string , :default => nil #Set with AWS_CONTAINER_CREDENTIALS_RELATIVE_URI environment variable value
2021 config_param :assume_role_session_name , :string , :default => "fluentd"
2122 end
2223
@@ -63,11 +64,14 @@ def credentials(opts)
6364 credentials = Aws ::Credentials . new opts [ :access_key_id ] , opts [ :secret_access_key ]
6465 else
6566 if opts [ :assume_role_arn ] . nil?
66- credentials = Aws ::SharedCredentials . new ( {
67- retries : 2
68- } ) . credentials
69- credentials ||= Aws ::ECSCredentials . new . credentials
70- credentials ||= Aws ::InstanceProfileCredentials . new . credentials
67+ if opts [ :ecs_container_credentials_relative_uri ] . nil?
68+ credentials = Aws ::SharedCredentials . new ( { retries : 2 } ) . credentials
69+ credentials ||= Aws ::InstanceProfileCredentials . new . credentials
70+ else
71+ credentials = Aws ::ECSCredentials . new ( {
72+ credential_path : opts [ :ecs_container_credentials_relative_uri ]
73+ } )
74+ end
7175 else
7276 credentials = sts_credential_provider ( {
7377 role_arn : opts [ :assume_role_arn ] ,
0 commit comments