class_docstr: Encapsulation for a set of credentials.
  
  When storing to or loading from a Driver, the raw credentials data may or may not be encrypted
  (e.g. when writing to disk, we should always keep it encrypted). To allow Credentials to be
  passed from Driver to Driver without excessive calls to KMS.encrypt/decrypt, this "data" in
  the Credentials can be either encrypted or not. It is up to the code that constructs the
  Credentials object to know which.
  
  When retrieving the raw, unencrypted data from a Credentials object, use the following code:
  
      if credentials.is_encrypted():
          return credentials.get_data_kms_decrypted()
      else:
          return credentials.data()
class_docstr_tok: ["Encapsulation","for","a","set","of","credentials",".","When","storing","to","or","loading","from","a","Driver",",","the","raw","credentials","data","may","or","may","not","be","encrypted","(","e.g",".","when","writing","to","disk",",","we","should","always","keep","it","encrypted",")",".","To","allow","Credentials","to","be","passed","from","Driver","to","Driver","without","excessive","calls","to","KMS.encrypt\/decrypt",",","this","``","data","''","in","the","Credentials","can","be","either","encrypted","or","not",".","It","is","up","to","the","code","that","constructs","the","Credentials","object","to","know","which",".","When","retrieving","the","raw",",","unencrypted","data","from","a","Credentials","object",",","use","the","following","code",":","if","credentials.is_encrypted","(",")",":","return","credentials.get_data_kms_decrypted","(",")","else",":","return","credentials.data","(",")"]
docstr: True if this Credentials object is encrypted. False otherwise.
  
  Returns:
      bool
docstr_tok: ["True","if","this","Credentials","object","is","encrypted",".","False","otherwise",".","Returns",":","bool"]
code: def is_encrypted(self):
      """True if this Credentials object is encrypted. False otherwise.
  
      Returns:
          bool
      """
      return self._is_encrypted
  
imports: import json
  import os
  import shutil
  import tempfile
  from abc import abstractmethod
  from botocore.exceptions import ClientError
  from streamalert.shared.helpers.aws_api_client import AwsKms, AwsSsm
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 2 for calling the Credentials obj's underlying member method code with example usage: obj.is_encrypted() and returns: self