<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def create_iam_role(self, account):
 """Create a new IAM role. Returns the ARN of the newly created role Args: account (:obj:`Account`):
 Account where to create the IAM role Returns: `str` """

        try:
            iam = self.session.client('iam')
            trust = get_template('vpc_flow_logs_iam_role_trust.json').render()
            policy = get_template('vpc_flow_logs_role_policy.json').render()

            newrole = iam.create_role(
                Path='/',
                RoleName=self.role_name,
                AssumeRolePolicyDocument=trust
            )['Role']['Arn']

            # Attach an inline policy to the role to avoid conflicts or hitting the Managed Policy Limit
            iam.put_role_policy(
                RoleName=self.role_name,
                PolicyName='VpcFlowPolicy',
                PolicyDocument=policy
            )

            self.log.debug('Created VPC Flow Logs role & policy for {}'.format(account.account_name))
            auditlog(
                event='vpc_flow_logs.create_iam_role',
                actor=self.ns,
                data={
                    'account': account.account_name,
                    'roleName': self.role_name,
                    'trustRelationship': trust,
                    'inlinePolicy': policy
                }
            )
            return newrole

        except Exception:
            self.log.exception('Failed creating the VPC Flow Logs role for {}.'.format(account))