Packages

object Main

The metering report validation app can be used to verify that a provided metering report is consistent with a check section within the report. When the report is created the check section is populated with a digest and a scheme that was used in the creation of that digest. Different schemes may be used by different release variants (e.g. community verses enterprise) and for different points in time.

The app takes as parameters a directory that contains one file for each supported scheme and the report file to be verified. The scheme files need to contain JSON with fields for the scheme name digest algorithm and encoded key. For example:

{ "scheme": "community-2021", "algorithm": "HmacSHA256", "encoded": "ifKEd83-fAvOBTXnGjIVfesNzmWFKpo_35zpUnXEsg=" }

Verification works by inspecting the scheme referenced in the report file and then checking that the recalculated digest matches that provided in the file.

Usage: metering-verification-app <directory> <report>

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

Type Members

  1. abstract class Code extends ExitCode
  2. final case class CodeDetail(code: String, detail: String) extends ExitCode with Product with Serializable
  3. final case class ErrUsage(app: String) extends Code with Product with Serializable
  4. trait ExitCode extends AnyRef
  5. type ExitCodeOr[T] = Either[ExitCode, T]
  6. final case class FailedToReadReport(report: String, t: Throwable) extends Code with Product with Serializable
  7. final case class FailedVerification(status: VerificationStatus) extends Code with Product with Serializable
  8. final case class NoKeys(dir: String) extends Code with Product with Serializable
  9. final case class NotDirectory(dir: String) extends Code with Product with Serializable
  10. final case class NotFile(report: String) extends Code with Product with Serializable
  11. final case class NotKeyFile(path: Path, t: Throwable) extends Code with Product with Serializable

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. val OK: ExitCode
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  9. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  11. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  12. def main(args: Array[String]): Unit
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  17. def toString(): String
    Definition Classes
    AnyRef → Any
  18. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  19. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  20. 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
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped