parameters: (self, waiter_config)
docstring: Note that the WaiterModel takes ownership of the waiter_config.
          It may or may not mutate the waiter_config.  If this is a concern,
          it is best to make a copy of the waiter config before passing it to
          the WaiterModel.
  
          :type waiter_config: dict
          :param waiter_config: The loaded waiter config
              from the <service>*.waiters.json file.  This can be
              obtained from a botocore Loader object as well.
function: def __init__(self, waiter_config):
          """
  
          Note that the WaiterModel takes ownership of the waiter_config.
          It may or may not mutate the waiter_config.  If this is a concern,
          it is best to make a copy of the waiter config before passing it to
          the WaiterModel.
  
          :type waiter_config: dict
          :param waiter_config: The loaded waiter config
              from the <service>*.waiters.json file.  This can be
              obtained from a botocore Loader object as well.
  
          """
          self._waiter_config = waiter_config['waiters']
  
          # These are part of the public API.  Changing these
          # will result in having to update the consuming code,
          # so don't change unless you really need to.
          version = waiter_config.get('version', 'unknown')
          self._verify_supported_version(version)
          self.version = version
          self.waiter_names = list(sorted(waiter_config['waiters'].keys()))
function_tokens: def __init__ ( self , waiter_config ) : self . _waiter_config = waiter_config [ 'waiters' ] # These are part of the public API.  Changing these # will result in having to update the consuming code, # so don't change unless you really need to. version = waiter_config . get ( 'version' , 'unknown' ) self . _verify_supported_version ( version ) self . version = version self . waiter_names = list ( sorted ( waiter_config [ 'waiters' ] . keys ( ) ) )