Packages

trait Kms extends AnyRef

Represents a KMS interface and allows symmetric encryption/decryption with keys stored in the KMS.

Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Kms
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. abstract type CreateKeySpec <: KmsCreateKeySpec

Abstract Value Members

  1. abstract def createKey(createKeySpec: Option[CreateKeySpec] = None)(implicit ec: ExecutionContext): EitherT[Future, KmsError, KmsKeyId]

    Creates a new key for the KMS.

    Creates a new key for the KMS.

    createKeySpec

    defines an optional create key specification (e.g. for aws we can a select a new key to be multi-region). If we use None we use the default specification (e.g. for aws multiRegion = false).

    returns

    a key id or an error if it fails to create a key

  2. abstract def decryptData(keyId: KmsKeyId, data: ByteString)(implicit ec: ExecutionContext): EitherT[Future, KmsError, ByteString]

    Decrypt the data passed as a byte array.

    Decrypt the data passed as a byte array.

    keyId

    key identifier (e.g. AWS key ARN)

    data

    byte array to decrypt

    returns

    a decrypted byte array or an error if it fails to decrypt

  3. abstract def deleteKey(keyId: KmsKeyId)(implicit ec: ExecutionContext): EitherT[Future, KmsError, Unit]

    Schedule a deletion of a kms key (takes between 7-30 days)

    Schedule a deletion of a kms key (takes between 7-30 days)

    keyId

    key identifier (e.g. AWS key ARN)

    returns

    an error if it fails to schedule a deletion of a key

  4. abstract def encryptData(keyId: KmsKeyId, data: ByteString)(implicit ec: ExecutionContext): EitherT[Future, KmsError, ByteString]

    Encrypt the data passed as a byte array using a KMS key.

    Encrypt the data passed as a byte array using a KMS key.

    keyId

    key identifier (e.g. AWS key ARN)

    data

    byte array to encrypt

    returns

    an encrypted byte array or an error if it fails to encrypt

  5. abstract def ensureKeyExists(keyId: KmsKeyId)(implicit ec: ExecutionContext): EitherT[Future, KmsError, Unit]

    Checks that a key identified by keyId exists in the KMS and therefore can be used.

    Checks that a key identified by keyId exists in the KMS and therefore can be used.

    keyId

    key identifier (e.g. AWS key ARN)

    returns

    error if it fails to find key

  6. abstract def listAllKeys()(implicit ec: ExecutionContext): EitherT[Future, KmsError, Seq[KmsKeyId]]

    List all keys (represented by keyIds, keyARNs and keyAliases) in the kms/region that was configured

    List all keys (represented by keyIds, keyARNs and keyAliases) in the kms/region that was configured

    returns

    a sequence of different key identifiers or an error if it fails to list the kms keys

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  11. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  12. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  13. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  14. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  15. def toString(): String
    Definition Classes
    AnyRef → Any
  16. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  17. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  18. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped