@@ -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