Skip to content

Commit 1396295

Browse files
committed
CreateRoleResponseTypeDef and CreatePolicyResponseTypeDef error fix
1 parent 9bbbbaa commit 1396295

File tree

1 file changed

+10
-10
lines changed
  • aws_sra_examples/solutions/genai/bedrock_org/lambda/src

1 file changed

+10
-10
lines changed

aws_sra_examples/solutions/genai/bedrock_org/lambda/src/sra_iam.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
import os
1515
import urllib.parse
1616
from time import sleep
17-
from typing import TYPE_CHECKING, cast
17+
from typing import TYPE_CHECKING
1818

1919
import boto3
2020
from botocore.config import Config
@@ -23,7 +23,7 @@
2323
if TYPE_CHECKING:
2424
from mypy_boto3_cloudformation import CloudFormationClient
2525
from mypy_boto3_iam.client import IAMClient
26-
from mypy_boto3_iam.type_defs import CreatePolicyResponseTypeDef, CreateRoleResponseTypeDef, EmptyResponseMetadataTypeDef
26+
from mypy_boto3_iam.type_defs import EmptyResponseMetadataTypeDef
2727
from mypy_boto3_organizations import OrganizationsClient
2828

2929

@@ -92,7 +92,7 @@ class SRAIAM:
9292
},
9393
}
9494

95-
def create_role(self, role_name: str, trust_policy: dict, solution_name: str) -> CreateRoleResponseTypeDef:
95+
def create_role(self, role_name: str, trust_policy: dict, solution_name: str) -> dict:
9696
"""Create IAM role.
9797
9898
Args:
@@ -105,15 +105,15 @@ def create_role(self, role_name: str, trust_policy: dict, solution_name: str) ->
105105
"""
106106
self.LOGGER.info("Creating role %s.", role_name)
107107
try:
108-
return self.IAM_CLIENT.create_role(
108+
return dict(self.IAM_CLIENT.create_role(
109109
RoleName=role_name, AssumeRolePolicyDocument=json.dumps(trust_policy), Tags=[{"Key": "sra-solution", "Value": solution_name}]
110-
)
110+
))
111111
except ClientError as error:
112112
if error.response["Error"]["Code"] == "EntityAlreadyExists":
113113
self.LOGGER.info(f"{role_name} role already exists!")
114-
return cast(CreateRoleResponseTypeDef, {"Role": {"Arn": "error"}})
114+
return {"Role": {"Arn": "error"}}
115115

116-
def create_policy(self, policy_name: str, policy_document: dict, solution_name: str) -> CreatePolicyResponseTypeDef:
116+
def create_policy(self, policy_name: str, policy_document: dict, solution_name: str) -> dict:
117117
"""Create IAM policy.
118118
119119
Args:
@@ -126,13 +126,13 @@ def create_policy(self, policy_name: str, policy_document: dict, solution_name:
126126
"""
127127
self.LOGGER.info(f"Creating {policy_name} IAM policy")
128128
try:
129-
return self.IAM_CLIENT.create_policy(
129+
return dict(self.IAM_CLIENT.create_policy(
130130
PolicyName=policy_name, PolicyDocument=json.dumps(policy_document), Tags=[{"Key": "sra-solution", "Value": solution_name}]
131-
)
131+
))
132132
except ClientError as error:
133133
if error.response["Error"]["Code"] == "EntityAlreadyExists":
134134
self.LOGGER.info(f"{policy_name} policy already exists!")
135-
return cast(CreatePolicyResponseTypeDef, {"Policy": {"Arn": "error"}})
135+
return {"Policy": {"Arn": "error"}}
136136

137137
def attach_policy(self, role_name: str, policy_arn: str) -> EmptyResponseMetadataTypeDef:
138138
"""Attach policy to IAM role.

0 commit comments

Comments
 (0)