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

zio.aws.qbusiness.model.ActionReviewPayloadField.scala Maven / Gradle / Ivy

package zio.aws.qbusiness.model
import zio.ZIO
import zio.aws.core.{AwsError, BuilderHelper}
import zio.prelude.data.Optional
import zio.aws.qbusiness.model.primitives.Integer
import scala.jdk.CollectionConverters._
final case class ActionReviewPayloadField(
    displayName: Optional[String] = Optional.Absent,
    displayOrder: Optional[Integer] = Optional.Absent,
    displayDescription: Optional[String] = Optional.Absent,
    `type`: Optional[zio.aws.qbusiness.model.ActionPayloadFieldType] =
      Optional.Absent,
    value: Optional[zio.aws.qbusiness.model.ActionPayloadFieldValue] =
      Optional.Absent,
    allowedValues: Optional[
      Iterable[zio.aws.qbusiness.model.ActionReviewPayloadFieldAllowedValue]
    ] = Optional.Absent,
    allowedFormat: Optional[String] = Optional.Absent,
    arrayItemJsonSchema: Optional[
      zio.aws.qbusiness.model.ActionReviewPayloadFieldArrayItemJsonSchema
    ] = Optional.Absent,
    required: Optional[Boolean] = Optional.Absent
) {
  def buildAwsValue()
      : software.amazon.awssdk.services.qbusiness.model.ActionReviewPayloadField = {
    import ActionReviewPayloadField.zioAwsBuilderHelper.BuilderOps
    software.amazon.awssdk.services.qbusiness.model.ActionReviewPayloadField
      .builder()
      .optionallyWith(displayName.map(value => value: java.lang.String))(
        _.displayName
      )
      .optionallyWith(displayOrder.map(value => value: java.lang.Integer))(
        _.displayOrder
      )
      .optionallyWith(displayDescription.map(value => value: java.lang.String))(
        _.displayDescription
      )
      .optionallyWith(`type`.map(value => value.unwrap))(_.`type`)
      .optionallyWith(value.map(value => value))(_.value)
      .optionallyWith(
        allowedValues.map(value =>
          value.map { item =>
            item.buildAwsValue()
          }.asJavaCollection
        )
      )(_.allowedValues)
      .optionallyWith(allowedFormat.map(value => value: java.lang.String))(
        _.allowedFormat
      )
      .optionallyWith(arrayItemJsonSchema.map(value => value))(
        _.arrayItemJsonSchema
      )
      .optionallyWith(required.map(value => value: java.lang.Boolean))(
        _.required
      )
      .build()
  }
  def asReadOnly: zio.aws.qbusiness.model.ActionReviewPayloadField.ReadOnly =
    zio.aws.qbusiness.model.ActionReviewPayloadField.wrap(buildAwsValue())
}
object ActionReviewPayloadField {
  private lazy val zioAwsBuilderHelper: BuilderHelper[
    software.amazon.awssdk.services.qbusiness.model.ActionReviewPayloadField
  ] = BuilderHelper.apply
  trait ReadOnly {
    def asEditable: zio.aws.qbusiness.model.ActionReviewPayloadField =
      zio.aws.qbusiness.model.ActionReviewPayloadField(
        displayName.map(value => value),
        displayOrder.map(value => value),
        displayDescription.map(value => value),
        `type`.map(value => value),
        value.map(value => value),
        allowedValues.map(value =>
          value.map { item =>
            item.asEditable
          }
        ),
        allowedFormat.map(value => value),
        arrayItemJsonSchema.map(value => value),
        required.map(value => value)
      )
    def displayName: Optional[String]
    def displayOrder: Optional[Integer]
    def displayDescription: Optional[String]
    def `type`: Optional[zio.aws.qbusiness.model.ActionPayloadFieldType]
    def value: Optional[software.amazon.awssdk.core.document.Document]
    def allowedValues: Optional[List[
      zio.aws.qbusiness.model.ActionReviewPayloadFieldAllowedValue.ReadOnly
    ]]
    def allowedFormat: Optional[String]
    def arrayItemJsonSchema
        : Optional[software.amazon.awssdk.core.document.Document]
    def required: Optional[Boolean]
    def getDisplayName: ZIO[Any, AwsError, String] =
      AwsError.unwrapOptionField("displayName", displayName)
    def getDisplayOrder: ZIO[Any, AwsError, Integer] =
      AwsError.unwrapOptionField("displayOrder", displayOrder)
    def getDisplayDescription: ZIO[Any, AwsError, String] =
      AwsError.unwrapOptionField("displayDescription", displayDescription)
    def getType
        : ZIO[Any, AwsError, zio.aws.qbusiness.model.ActionPayloadFieldType] =
      AwsError.unwrapOptionField("type", `type`)
    def getValue
        : ZIO[Any, AwsError, software.amazon.awssdk.core.document.Document] =
      AwsError.unwrapOptionField("value", value)
    def getAllowedValues: ZIO[Any, AwsError, List[
      zio.aws.qbusiness.model.ActionReviewPayloadFieldAllowedValue.ReadOnly
    ]] = AwsError.unwrapOptionField("allowedValues", allowedValues)
    def getAllowedFormat: ZIO[Any, AwsError, String] =
      AwsError.unwrapOptionField("allowedFormat", allowedFormat)
    def getArrayItemJsonSchema
        : ZIO[Any, AwsError, software.amazon.awssdk.core.document.Document] =
      AwsError.unwrapOptionField("arrayItemJsonSchema", arrayItemJsonSchema)
    def getRequired: ZIO[Any, AwsError, Boolean] =
      AwsError.unwrapOptionField("required", required)
  }
  private final class Wrapper(
      impl: software.amazon.awssdk.services.qbusiness.model.ActionReviewPayloadField
  ) extends zio.aws.qbusiness.model.ActionReviewPayloadField.ReadOnly {
    override val displayName: Optional[String] = zio.aws.core.internal
      .optionalFromNullable(impl.displayName())
      .map(value => value: String)
    override val displayOrder: Optional[Integer] = zio.aws.core.internal
      .optionalFromNullable(impl.displayOrder())
      .map(value => value: Integer)
    override val displayDescription: Optional[String] = zio.aws.core.internal
      .optionalFromNullable(impl.displayDescription())
      .map(value => value: String)
    override val `type`
        : Optional[zio.aws.qbusiness.model.ActionPayloadFieldType] =
      zio.aws.core.internal
        .optionalFromNullable(impl.`type`())
        .map(value =>
          zio.aws.qbusiness.model.ActionPayloadFieldType.wrap(value)
        )
    override val value
        : Optional[software.amazon.awssdk.core.document.Document] =
      zio.aws.core.internal.optionalFromNullable(impl.value())
    override val allowedValues: Optional[List[
      zio.aws.qbusiness.model.ActionReviewPayloadFieldAllowedValue.ReadOnly
    ]] = zio.aws.core.internal
      .optionalFromNullable(impl.allowedValues())
      .map(value =>
        value.asScala.map { item =>
          zio.aws.qbusiness.model.ActionReviewPayloadFieldAllowedValue
            .wrap(item)
        }.toList
      )
    override val allowedFormat: Optional[String] = zio.aws.core.internal
      .optionalFromNullable(impl.allowedFormat())
      .map(value => value: String)
    override val arrayItemJsonSchema
        : Optional[software.amazon.awssdk.core.document.Document] =
      zio.aws.core.internal.optionalFromNullable(impl.arrayItemJsonSchema())
    override val required: Optional[Boolean] = zio.aws.core.internal
      .optionalFromNullable(impl.required())
      .map(value => value: Boolean)
  }
  def wrap(
      impl: software.amazon.awssdk.services.qbusiness.model.ActionReviewPayloadField
  ): zio.aws.qbusiness.model.ActionReviewPayloadField.ReadOnly = new Wrapper(
    impl
  )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy