Packages

class AwsKms extends Kms with AutoCloseable with NamedLogging

Stands for Amazon Web Services - Key Management Service and wraps the necessary encrypt and decrypt functions from the AWS SDK.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AwsKms
  2. NamedLogging
  3. AutoCloseable
  4. Kms
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new AwsKms(config: Aws, kmsClient: KmsAsyncClient, loggerFactory: NamedLoggerFactory)

Type Members

  1. type CreateKeySpec = AwsKmsCreateKeySpec
    Definition Classes
    AwsKmsKms

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. def close(): Unit
    Definition Classes
    AwsKms → AutoCloseable
  7. val config: Aws
  8. def createKey(createKeySpec: Option[AwsKmsCreateKeySpec])(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

    Definition Classes
    AwsKmsKms
  9. 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

    Definition Classes
    AwsKmsKms
  10. 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

    Definition Classes
    AwsKmsKms
  11. 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

    Definition Classes
    AwsKmsKms
  12. def ensureActiveKeyExists(keyId: KmsKeyId)(implicit ec: ExecutionContext): EitherT[Future, KmsError, Unit]

    Checks that a key identified by keyId exists in the KMS and is not deleted or disabled, and therefore can be used.

    Checks that a key identified by keyId exists in the KMS and is not deleted or disabled, and therefore can be used.

    keyId

    key identifier (e.g. AWS key ARN)

    returns

    error if it fails to find key

    Definition Classes
    AwsKmsKms
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  15. implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  16. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  17. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. 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

    Definition Classes
    AwsKmsKms
  20. def logger: TracedLogger
    Attributes
    protected
    Definition Classes
    NamedLogging
  21. val loggerFactory: NamedLoggerFactory
    Attributes
    protected
    Definition Classes
    AwsKmsNamedLogging
  22. implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  23. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  24. def noTracingLogger: Logger
    Attributes
    protected
    Definition Classes
    NamedLogging
  25. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  26. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  27. def retrieveKeyMetadata(keyId: KmsKeyId)(implicit ec: ExecutionContext): EitherT[Future, KmsError, KeyMetadata]
  28. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  29. def toString(): String
    Definition Classes
    AnyRef → Any
  30. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  31. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  32. 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 NamedLogging

Inherited from AutoCloseable

Inherited from Kms

Inherited from AnyRef

Inherited from Any

Ungrouped