code: def update_hash_tag_success(
      ec2_client_stub, node_id, config_type, cloudwatch_helper
  ):
      hash_key_value = "-".join(
          [CLOUDWATCH_CONFIG_HASH_TAG_BASE, config_type]
      )
      cur_hash_value = get_sha1_hash_of_cloudwatch_config_file(
          config_type, cloudwatch_helper
      )
      ec2_client_stub.add_response(
          "create_tags",
          expected_params={
              "Resources": [node_id],
              "Tags": [
                  {"Key": hash_key_value, "Value": cur_hash_value}
              ],
          },
          service_response={
              "ResponseMetadata": {"HTTPStatusCode": 200}
          },
      )
  
imports: from typing import Dict, List
  import ray
  import copy
  import json
  from uuid import uuid4
  from ray.tests.aws.utils import helpers
  from ray.tests.aws.utils.constants import DEFAULT_INSTANCE_PROFILE, DEFAULT_KEY_PAIR, DEFAULT_SUBNET, A_THOUSAND_SUBNETS_IN_DIFFERENT_VPCS, DEFAULT_LT, TWENTY_SUBNETS_IN_DIFFERENT_AZS
  from ray.autoscaler._private.aws.config import key_pair
  from ray.tests.aws.utils.helpers import get_cloudwatch_dashboard_config_file_path, get_cloudwatch_alarm_config_file_path
  from ray.autoscaler._private.aws.cloudwatch.cloudwatch_helper import CLOUDWATCH_AGENT_INSTALLED_TAG, CLOUDWATCH_CONFIG_HASH_TAG_BASE
  from ray.autoscaler.tags import NODE_KIND_HEAD, TAG_RAY_NODE_KIND
  from unittest import mock
  from botocore.stub import ANY
label_desc: Use image node_id 23 for calling a global function with example usage: update_hash_tag_success(ec2_client_stub, node_id, config_type, cloudwatch_helper) without return types