code: def __init__(
      self,
      defaults: CredInputs = None,
      artifacts: CredInputs = None,
      datasets: CredInputs = None,
      cache: CredInputs = None,
  ):
      defaults = load_creds(defaults)
      cred_inputs = {
          DEFAULTS: defaults,
          ARTIFACTS: load_creds(artifacts),
          DATASETS: load_creds(datasets),
          CACHE: load_creds(cache),
      }
  
      self.storages = {
          k: Storage(v if v is not None else defaults)
          for k, v in cred_inputs.items()
      }
  
file_path: ludwig/ludwig/backend/utils/storage.py
imports: import contextlib
  from typing import Any, Dict, Optional, Union
  from ludwig.utils import data_utils
label_desc: Use image node_id 1 to create a new StorageManager object  with example: obj = StorageManager(defaults, artifacts, datasets, cache)