class_docstr: A more secure dictionary for accessing plugin secrets in
  operators that will attempt to resolve missing plugin secrets upon access.
class_docstr_tok: ["A","more","secure","dictionary","for","accessing","plugin","secrets","in","operators","that","will","attempt","to","resolve","missing","plugin","secrets","upon","access","."]
code: def __init__(
      self,
      secrets_dict: typing.Dict[str, str],
      operator_uri: str = None,
      resolver_fn: typing.Callable = None,
      required_keys: typing.List[str] = None,
  ):
      self.__frozen = False
      if required_keys:
          self.__required_keys = frozenset(required_keys)
          self.__secrets = secrets_dict
          self._operator_uri = operator_uri
          if resolver_fn:
              self._resolver = resolver_fn
          else:
              self._resolver = None
  
          self.__frozen = True
      else:
          self.__required_keys = []
          self.__secrets = {}
          self._operator_uri = None
          self._resolver = None
  
imports: import logging
  import traceback
  import typing
  from typing import Optional
  from ..internal import secrets
label_desc: Use image node_id 1 to create a new SecretsDictionary object  with example: obj = SecretsDictionary(secrets_dict, operator_uri, resolver_fn, required_keys)