Skip to content

Commit 5076d96

Browse files
committed
fix: modify logic to set a session with role_arn
1 parent 1d98cfe commit 5076d96

File tree

1 file changed

+12
-5
lines changed
  • src/spaceone/monitoring/connector/aws_boto_connector

1 file changed

+12
-5
lines changed

src/spaceone/monitoring/connector/aws_boto_connector/__init__.py

+12-5
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,16 @@ def create_session(self, schema, options: dict, secret_data: dict):
2525
role_arn = secret_data.get('role_arn')
2626
external_id = secret_data.get('external_id')
2727

28-
if schema:
29-
getattr(self, f'_create_session_{schema}')\
30-
(aws_access_key_id, aws_secret_access_key, region_name, role_arn, external_id)
28+
if role_arn:
29+
self._create_session_aws_assume_role(aws_access_key_id,
30+
aws_secret_access_key,
31+
region_name,
32+
role_arn,
33+
external_id)
34+
else:
35+
self._create_session_aws_access_key(aws_access_key_id,
36+
aws_secret_access_key,
37+
region_name)
3138

3239
@staticmethod
3340
def _check_secret_data(secret_data):
@@ -37,7 +44,7 @@ def _check_secret_data(secret_data):
3744
if 'aws_secret_access_key' not in secret_data:
3845
raise ERROR_REQUIRED_PARAMETER(key='secret.aws_secret_access_key')
3946

40-
def _create_session_aws_access_key(self, aws_access_key_id, aws_secret_access_key, region_name, role_arn, external_id):
47+
def _create_session_aws_access_key(self, aws_access_key_id, aws_secret_access_key, region_name):
4148
self.session = boto3.Session(aws_access_key_id=aws_access_key_id,
4249
aws_secret_access_key=aws_secret_access_key,
4350
region_name=region_name)
@@ -46,7 +53,7 @@ def _create_session_aws_access_key(self, aws_access_key_id, aws_secret_access_ke
4653
sts.get_caller_identity()
4754

4855
def _create_session_aws_assume_role(self, aws_access_key_id, aws_secret_access_key, region_name, role_arn, external_id):
49-
self._create_session_aws_access_key(aws_access_key_id, aws_secret_access_key, region_name, role_arn, external_id)
56+
self._create_session_aws_access_key(aws_access_key_id, aws_secret_access_key, region_name)
5057

5158
sts = self.session.client('sts')
5259

0 commit comments

Comments
 (0)