@@ -25,9 +25,16 @@ def create_session(self, schema, options: dict, secret_data: dict):
25
25
role_arn = secret_data .get ('role_arn' )
26
26
external_id = secret_data .get ('external_id' )
27
27
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 )
31
38
32
39
@staticmethod
33
40
def _check_secret_data (secret_data ):
@@ -37,7 +44,7 @@ def _check_secret_data(secret_data):
37
44
if 'aws_secret_access_key' not in secret_data :
38
45
raise ERROR_REQUIRED_PARAMETER (key = 'secret.aws_secret_access_key' )
39
46
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 ):
41
48
self .session = boto3 .Session (aws_access_key_id = aws_access_key_id ,
42
49
aws_secret_access_key = aws_secret_access_key ,
43
50
region_name = region_name )
@@ -46,7 +53,7 @@ def _create_session_aws_access_key(self, aws_access_key_id, aws_secret_access_ke
46
53
sts .get_caller_identity ()
47
54
48
55
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 )
50
57
51
58
sts = self .session .client ('sts' )
52
59
0 commit comments