All Downloads are FREE. Search and download functionalities are using the official Maven repository.

zio.aws.codegurureviewer.model.MetricsSummary.scala Maven / Gradle / Ivy

The newest version!
package zio.aws.codegurureviewer.model
import zio.ZIO
import zio.aws.core.{AwsError, BuilderHelper}
import zio.prelude.data.Optional
import zio.aws.codegurureviewer.model.primitives.{
  FindingsCount,
  LinesOfCodeCount
}
import scala.jdk.CollectionConverters._
final case class MetricsSummary(
    meteredLinesOfCodeCount: Optional[LinesOfCodeCount] = Optional.Absent,
    suppressedLinesOfCodeCount: Optional[LinesOfCodeCount] = Optional.Absent,
    findingsCount: Optional[FindingsCount] = Optional.Absent
) {
  def buildAwsValue()
      : software.amazon.awssdk.services.codegurureviewer.model.MetricsSummary = {
    import MetricsSummary.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.codegurureviewer.model.MetricsSummary
      .builder()
      .optionallyWith(
        meteredLinesOfCodeCount.map(value =>
          LinesOfCodeCount.unwrap(value): java.lang.Long
        )
      )(_.meteredLinesOfCodeCount)
      .optionallyWith(
        suppressedLinesOfCodeCount.map(value =>
          LinesOfCodeCount.unwrap(value): java.lang.Long
        )
      )(_.suppressedLinesOfCodeCount)
      .optionallyWith(
        findingsCount.map(value => FindingsCount.unwrap(value): java.lang.Long)
      )(_.findingsCount)
      .build()
  }
  def asReadOnly: zio.aws.codegurureviewer.model.MetricsSummary.ReadOnly =
    zio.aws.codegurureviewer.model.MetricsSummary.wrap(buildAwsValue())
}
object MetricsSummary {
  private lazy val zioAwsBuilderHelper: BuilderHelper[
    software.amazon.awssdk.services.codegurureviewer.model.MetricsSummary
  ] = BuilderHelper.apply
  trait ReadOnly {
    def asEditable: zio.aws.codegurureviewer.model.MetricsSummary =
      zio.aws.codegurureviewer.model.MetricsSummary(
        meteredLinesOfCodeCount.map(value => value),
        suppressedLinesOfCodeCount.map(value => value),
        findingsCount.map(value => value)
      )
    def meteredLinesOfCodeCount: Optional[LinesOfCodeCount]
    def suppressedLinesOfCodeCount: Optional[LinesOfCodeCount]
    def findingsCount: Optional[FindingsCount]
    def getMeteredLinesOfCodeCount: ZIO[Any, AwsError, LinesOfCodeCount] =
      AwsError.unwrapOptionField(
        "meteredLinesOfCodeCount",
        meteredLinesOfCodeCount
      )
    def getSuppressedLinesOfCodeCount: ZIO[Any, AwsError, LinesOfCodeCount] =
      AwsError.unwrapOptionField(
        "suppressedLinesOfCodeCount",
        suppressedLinesOfCodeCount
      )
    def getFindingsCount: ZIO[Any, AwsError, FindingsCount] =
      AwsError.unwrapOptionField("findingsCount", findingsCount)
  }
  private final class Wrapper(
      impl: software.amazon.awssdk.services.codegurureviewer.model.MetricsSummary
  ) extends zio.aws.codegurureviewer.model.MetricsSummary.ReadOnly {
    override val meteredLinesOfCodeCount: Optional[LinesOfCodeCount] =
      zio.aws.core.internal
        .optionalFromNullable(impl.meteredLinesOfCodeCount())
        .map(value =>
          zio.aws.codegurureviewer.model.primitives.LinesOfCodeCount(value)
        )
    override val suppressedLinesOfCodeCount: Optional[LinesOfCodeCount] =
      zio.aws.core.internal
        .optionalFromNullable(impl.suppressedLinesOfCodeCount())
        .map(value =>
          zio.aws.codegurureviewer.model.primitives.LinesOfCodeCount(value)
        )
    override val findingsCount: Optional[FindingsCount] = zio.aws.core.internal
      .optionalFromNullable(impl.findingsCount())
      .map(value =>
        zio.aws.codegurureviewer.model.primitives.FindingsCount(value)
      )
  }
  def wrap(
      impl: software.amazon.awssdk.services.codegurureviewer.model.MetricsSummary
  ): zio.aws.codegurureviewer.model.MetricsSummary.ReadOnly = new Wrapper(impl)
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy