docs: def create_iam_resources(env='dev', app='', **_):
      """Create the IAM Resources for the application.
  
      Args:
          env (str): Deployment environment/account, i.e. dev, stage, prod.
          app (str): Spinnaker Application name.
  
      Returns:
          True upon successful completion.
      """
      session = boto3.session.Session(profile_name=env)
      client = session.client('iam')
  
      app_properties = get_properties(env='pipeline')
  
      generated = get_details(env=env, app=app)
      generated_iam = generated.iam()
      app_details = collections.namedtuple('AppDetails', generated_iam.keys())
      details = app_details(**generated_iam)
  
      LOG.debug('Application details: %s', details)
  
      deployment_type = app_properties['type']
      role_trust_template = get_template(
          'infrastructure/iam/trust/{0}_role.json.j2'.format(deployment_type), formats=generated)
  
      resource_action(
          client,
          action='create_role',
          log_format='Created Role: %(RoleName)s',
          RoleName=details.role,
          AssumeRolePolicyDocument=role_trust_template)
      resource_action(
          client,
          action='create_instance_profile',
          log_format='Created Instance Profile: %(InstanceProfileName)s',
          InstanceProfileName=details.profile)
      attach_profile_to_role(client, role_name=details.role, profile_name=details.profile)
  
      iam_policy = construct_policy(app=app, group=details.group, env=env, pipeline_settings=app_properties)
      if iam_policy:
          resource_action(
              client,
              action='put_role_policy',
              log_format='Added IAM Policy: %(PolicyName)s',
              RoleName=details.role,
              PolicyName=details.policy,
              PolicyDocument=iam_policy)
  
      resource_action(client, action='create_user', log_format='Created User: %(UserName)s', UserName=details.user)
      resource_action(client, action='create_group', log_format='Created Group: %(GroupName)s', GroupName=details.group)
      resource_action(
          client,
          action='add_user_to_group',
          log_format='Added User to Group: %(UserName)s -> %(GroupName)s',
          GroupName=details.group,
          UserName=details.user)
  
      return True