zio.aws.cloudwatchevents.model.CreateArchiveResponse.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of zio-aws-cloudwatchevents_3 Show documentation
Show all versions of zio-aws-cloudwatchevents_3 Show documentation
Low-level AWS wrapper for ZIO
The newest version!
package zio.aws.cloudwatchevents.model
import zio.aws.cloudwatchevents.model.primitives.{
Timestamp,
ArchiveStateReason,
ArchiveArn
}
import java.time.Instant
import zio.prelude.data.Optional
import zio.aws.core.{AwsError, BuilderHelper}
import zio.ZIO
import scala.jdk.CollectionConverters.*
final case class CreateArchiveResponse(
archiveArn: Optional[ArchiveArn] = Optional.Absent,
state: Optional[zio.aws.cloudwatchevents.model.ArchiveState] =
Optional.Absent,
stateReason: Optional[ArchiveStateReason] = Optional.Absent,
creationTime: Optional[Timestamp] = Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.cloudwatchevents.model.CreateArchiveResponse = {
import CreateArchiveResponse.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.cloudwatchevents.model.CreateArchiveResponse
.builder()
.optionallyWith(
archiveArn.map(value => ArchiveArn.unwrap(value): java.lang.String)
)(_.archiveArn)
.optionallyWith(state.map(value => value.unwrap))(_.state)
.optionallyWith(
stateReason.map(value =>
ArchiveStateReason.unwrap(value): java.lang.String
)
)(_.stateReason)
.optionallyWith(
creationTime.map(value => Timestamp.unwrap(value): Instant)
)(_.creationTime)
.build()
}
def asReadOnly
: zio.aws.cloudwatchevents.model.CreateArchiveResponse.ReadOnly =
zio.aws.cloudwatchevents.model.CreateArchiveResponse.wrap(buildAwsValue())
}
object CreateArchiveResponse {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.cloudwatchevents.model.CreateArchiveResponse
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.cloudwatchevents.model.CreateArchiveResponse =
zio.aws.cloudwatchevents.model.CreateArchiveResponse(
archiveArn.map(value => value),
state.map(value => value),
stateReason.map(value => value),
creationTime.map(value => value)
)
def archiveArn: Optional[ArchiveArn]
def state: Optional[zio.aws.cloudwatchevents.model.ArchiveState]
def stateReason: Optional[ArchiveStateReason]
def creationTime: Optional[Timestamp]
def getArchiveArn: ZIO[Any, AwsError, ArchiveArn] =
AwsError.unwrapOptionField("archiveArn", archiveArn)
def getState
: ZIO[Any, AwsError, zio.aws.cloudwatchevents.model.ArchiveState] =
AwsError.unwrapOptionField("state", state)
def getStateReason: ZIO[Any, AwsError, ArchiveStateReason] =
AwsError.unwrapOptionField("stateReason", stateReason)
def getCreationTime: ZIO[Any, AwsError, Timestamp] =
AwsError.unwrapOptionField("creationTime", creationTime)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.cloudwatchevents.model.CreateArchiveResponse
) extends zio.aws.cloudwatchevents.model.CreateArchiveResponse.ReadOnly {
override val archiveArn: Optional[ArchiveArn] = zio.aws.core.internal
.optionalFromNullable(impl.archiveArn())
.map(value => zio.aws.cloudwatchevents.model.primitives.ArchiveArn(value))
override val state: Optional[zio.aws.cloudwatchevents.model.ArchiveState] =
zio.aws.core.internal
.optionalFromNullable(impl.state())
.map(value => zio.aws.cloudwatchevents.model.ArchiveState.wrap(value))
override val stateReason: Optional[ArchiveStateReason] =
zio.aws.core.internal
.optionalFromNullable(impl.stateReason())
.map(value =>
zio.aws.cloudwatchevents.model.primitives.ArchiveStateReason(value)
)
override val creationTime: Optional[Timestamp] = zio.aws.core.internal
.optionalFromNullable(impl.creationTime())
.map(value => zio.aws.cloudwatchevents.model.primitives.Timestamp(value))
}
def wrap(
impl: software.amazon.awssdk.services.cloudwatchevents.model.CreateArchiveResponse
): zio.aws.cloudwatchevents.model.CreateArchiveResponse.ReadOnly =
new Wrapper(impl)
}