docstr: AwsBaseHook::get_waiter will first check if there is a custom waiter with the
  provided name and pass that through is it exists, otherwise it will check the
  custom waiters for the given service.  This test checks to make sure that the
  waiter is the same whichever way you get it and no modifications are made.
code: def test_existing_waiter_inherited(self):
      """
      AwsBaseHook::get_waiter will first check if there is a custom waiter with the
      provided name and pass that through is it exists, otherwise it will check the
      custom waiters for the given service.  This test checks to make sure that the
      waiter is the same whichever way you get it and no modifications are made.
      """
      hook_waiter = EksHook().get_waiter("cluster_active")
      client_waiter = EksHook().conn.get_waiter("cluster_active")
      boto_waiter = boto3.client("eks").get_waiter("cluster_active")
  
      assert_all_match(
          hook_waiter.name, client_waiter.name, boto_waiter.name
      )
      assert_all_match(
          len(hook_waiter.__dict__),
          len(client_waiter.__dict__),
          len(boto_waiter.__dict__),
      )
      for attr in hook_waiter.__dict__:
          # Not all attributes in a Waiter are directly comparable
          # so the best we can do it make sure the same attrs exist.
          assert hasattr(boto_waiter, attr)
          assert hasattr(client_waiter, attr)
  
imports: from __future__ import annotations
  import json
  from typing import Sequence
  from unittest import mock
  import boto3
  import pytest
  from botocore.exceptions import WaiterError
  from botocore.waiter import WaiterModel
  from moto import mock_eks
  from airflow.providers.amazon.aws.hooks.base_aws import AwsBaseHook
  from airflow.providers.amazon.aws.hooks.batch_client import BatchClientHook
  from airflow.providers.amazon.aws.hooks.dynamodb import DynamoDBHook
  from airflow.providers.amazon.aws.hooks.ecs import EcsClusterStates, EcsHook, EcsTaskDefinitionStates
  from airflow.providers.amazon.aws.hooks.eks import EksHook
  from airflow.providers.amazon.aws.hooks.emr import EmrHook
  from airflow.providers.amazon.aws.waiters.base_waiter import BaseBotoWaiter
label_desc: Use image node_id 2 for calling the TestCustomEKSServiceWaiters obj's underlying member method code with example usage: obj.test_existing_waiter_inherited() without return types