code: def test_iam_already_configured(iam_client_stub, ec2_client_stub):
      """
      Checks that things work as expected when IAM role is supplied by user.
      """
      stubs.configure_key_pair_default(ec2_client_stub)
      stubs.describe_a_security_group(ec2_client_stub, DEFAULT_SG)
      stubs.configure_subnet_default(ec2_client_stub)
  
      config = helpers.load_aws_example_config_file("example-full.yaml")
      head_node_config = config["available_node_types"][
          "ray.head.default"
      ]["node_config"]
      worker_node_config = config["available_node_types"][
          "ray.worker.default"
      ]["node_config"]
  
      head_node_config["IamInstanceProfile"] = "mock_profile"
  
      # Pass in SG for stub to work
      head_node_config["SecurityGroupIds"] = ["sg-1234abcd"]
      worker_node_config["SecurityGroupIds"] = ["sg-1234abcd"]
  
      defaults_filled = bootstrap_aws(config)
      filled_head = defaults_filled["available_node_types"][
          "ray.head.default"
      ]["node_config"]
      assert filled_head["IamInstanceProfile"] == "mock_profile"
      assert "IamInstanceProfile" not in defaults_filled["head_node"]
  
      iam_client_stub.assert_no_pending_responses()
      ec2_client_stub.assert_no_pending_responses()
  
imports: import copy
  from unittest.mock import Mock, patch
  import pytest
  from click.exceptions import ClickException
  import ray.tests.aws.utils.helpers
  import ray.tests.aws.utils.stubs
  from ray.autoscaler._private.aws.config import DEFAULT_AMI, _configure_subnet, _get_subnets_or_die, bootstrap_aws, log_to_cli
  from ray.autoscaler._private.aws.node_provider import AWSNodeProvider
  from ray.autoscaler._private.providers import _get_node_provider
  from ray.tests.aws.utils.constants import AUX_SG, AUX_SUBNET, CUSTOM_IN_BOUND_RULES, DEFAULT_CLUSTER_NAME, DEFAULT_INSTANCE_PROFILE, DEFAULT_KEY_PAIR, DEFAULT_LT, DEFAULT_SG, DEFAULT_SG_AUX_SUBNET, DEFAULT_SG_DUAL_GROUP_RULES, DEFAULT_SG_WITH_NAME, DEFAULT_SG_WITH_NAME_AND_RULES, DEFAULT_SG_WITH_RULES, DEFAULT_SG_WITH_RULES_AUX_SUBNET, DEFAULT_SUBNET
label_desc: Use image node_id 6 for calling a global function with example usage: test_iam_already_configured(iam_client_stub, ec2_client_stub) without return types