class ZuoraConnect::AppInstanceBase

def kms_encrypt(value)

def kms_encrypt(value)
  kms_tries ||= 0
  kms_client = Aws::KMS::Client.new({region: Rails.application.secrets.aws['AWS_REGION'], credentials: self.aws_auth_client}.delete_if {|k,v| v.blank? })
  resp = kms_client.encrypt({key_id: kms_key, plaintext: value})
  return resp.ciphertext_blob.unpack('H*').first
rescue *AWS_AUTH_ERRORS => ex
  if (kms_tries += 1) < 3
    Rails.logger.warn(AWS_AUTH_ERRORS_MSG, ex)
    retry
  else
    Rails.logger.error(AWS_AUTH_ERRORS_MSG, ex)
    raise
  end
end