code: def put_secret(self, secure_data_path, secret, merge=True):
          
          # json encode the input.  Cerberus is sensitive to double vs single quotes.
          # an added bonus is that json encoding transforms python2 unicode strings
          # into a compatible format.
          data = json.encoder.JSONEncoder().encode(secret)
          if merge:
              data = self.secret_merge(secure_data_path, secret)
          secret_resp = post_with_retry(self.cerberus_url + '/v1/secret/' + secure_data_path,
                                      data=str(data), headers=self.HEADERS)
          throw_if_bad_response(secret_resp)
          return secret_resp
docs: Write secret(s) to a secure data path provided a dictionary of key/values
  
          Keyword arguments:
          secure_data_path -- full path in the safety deposit box that contains the key
          secret -- A dictionary containing key/values to be written at the secure data path
          merge -- Boolean that determines if the provided secret keys should be merged with
              the values already present at the secure data path.  If False the keys will
              completely overwrite what was stored at the secure data path. (default True)