zio.aws.organizations.model.Handshake.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of zio-aws-organizations_2.12 Show documentation
Show all versions of zio-aws-organizations_2.12 Show documentation
Low-level AWS wrapper for ZIO
package zio.aws.organizations.model
import java.time.Instant
import zio.prelude.data.Optional
import zio.aws.core.{AwsError, BuilderHelper}
import zio.ZIO
import zio.aws.organizations.model.primitives.{
Timestamp,
HandshakeArn,
HandshakeId
}
import scala.jdk.CollectionConverters._
final case class Handshake(
id: Optional[HandshakeId] = Optional.Absent,
arn: Optional[HandshakeArn] = Optional.Absent,
parties: Optional[Iterable[zio.aws.organizations.model.HandshakeParty]] =
Optional.Absent,
state: Optional[zio.aws.organizations.model.HandshakeState] =
Optional.Absent,
requestedTimestamp: Optional[Timestamp] = Optional.Absent,
expirationTimestamp: Optional[Timestamp] = Optional.Absent,
action: Optional[zio.aws.organizations.model.ActionType] = Optional.Absent,
resources: Optional[
Iterable[zio.aws.organizations.model.HandshakeResource]
] = Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.organizations.model.Handshake = {
import Handshake.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.organizations.model.Handshake
.builder()
.optionallyWith(
id.map(value => HandshakeId.unwrap(value): java.lang.String)
)(_.id)
.optionallyWith(
arn.map(value => HandshakeArn.unwrap(value): java.lang.String)
)(_.arn)
.optionallyWith(
parties.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.parties)
.optionallyWith(state.map(value => value.unwrap))(_.state)
.optionallyWith(
requestedTimestamp.map(value => Timestamp.unwrap(value): Instant)
)(_.requestedTimestamp)
.optionallyWith(
expirationTimestamp.map(value => Timestamp.unwrap(value): Instant)
)(_.expirationTimestamp)
.optionallyWith(action.map(value => value.unwrap))(_.action)
.optionallyWith(
resources.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.resources)
.build()
}
def asReadOnly: zio.aws.organizations.model.Handshake.ReadOnly =
zio.aws.organizations.model.Handshake.wrap(buildAwsValue())
}
object Handshake {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.organizations.model.Handshake
] = BuilderHelper.apply
trait ReadOnly {
def asEditable: zio.aws.organizations.model.Handshake =
zio.aws.organizations.model.Handshake(
id.map(value => value),
arn.map(value => value),
parties.map(value =>
value.map { item =>
item.asEditable
}
),
state.map(value => value),
requestedTimestamp.map(value => value),
expirationTimestamp.map(value => value),
action.map(value => value),
resources.map(value =>
value.map { item =>
item.asEditable
}
)
)
def id: Optional[HandshakeId]
def arn: Optional[HandshakeArn]
def parties
: Optional[List[zio.aws.organizations.model.HandshakeParty.ReadOnly]]
def state: Optional[zio.aws.organizations.model.HandshakeState]
def requestedTimestamp: Optional[Timestamp]
def expirationTimestamp: Optional[Timestamp]
def action: Optional[zio.aws.organizations.model.ActionType]
def resources
: Optional[List[zio.aws.organizations.model.HandshakeResource.ReadOnly]]
def getId: ZIO[Any, AwsError, HandshakeId] =
AwsError.unwrapOptionField("id", id)
def getArn: ZIO[Any, AwsError, HandshakeArn] =
AwsError.unwrapOptionField("arn", arn)
def getParties: ZIO[Any, AwsError, List[
zio.aws.organizations.model.HandshakeParty.ReadOnly
]] = AwsError.unwrapOptionField("parties", parties)
def getState
: ZIO[Any, AwsError, zio.aws.organizations.model.HandshakeState] =
AwsError.unwrapOptionField("state", state)
def getRequestedTimestamp: ZIO[Any, AwsError, Timestamp] =
AwsError.unwrapOptionField("requestedTimestamp", requestedTimestamp)
def getExpirationTimestamp: ZIO[Any, AwsError, Timestamp] =
AwsError.unwrapOptionField("expirationTimestamp", expirationTimestamp)
def getAction: ZIO[Any, AwsError, zio.aws.organizations.model.ActionType] =
AwsError.unwrapOptionField("action", action)
def getResources: ZIO[Any, AwsError, List[
zio.aws.organizations.model.HandshakeResource.ReadOnly
]] = AwsError.unwrapOptionField("resources", resources)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.organizations.model.Handshake
) extends zio.aws.organizations.model.Handshake.ReadOnly {
override val id: Optional[HandshakeId] = zio.aws.core.internal
.optionalFromNullable(impl.id())
.map(value => zio.aws.organizations.model.primitives.HandshakeId(value))
override val arn: Optional[HandshakeArn] = zio.aws.core.internal
.optionalFromNullable(impl.arn())
.map(value => zio.aws.organizations.model.primitives.HandshakeArn(value))
override val parties
: Optional[List[zio.aws.organizations.model.HandshakeParty.ReadOnly]] =
zio.aws.core.internal
.optionalFromNullable(impl.parties())
.map(value =>
value.asScala.map { item =>
zio.aws.organizations.model.HandshakeParty.wrap(item)
}.toList
)
override val state: Optional[zio.aws.organizations.model.HandshakeState] =
zio.aws.core.internal
.optionalFromNullable(impl.state())
.map(value => zio.aws.organizations.model.HandshakeState.wrap(value))
override val requestedTimestamp: Optional[Timestamp] = zio.aws.core.internal
.optionalFromNullable(impl.requestedTimestamp())
.map(value => zio.aws.organizations.model.primitives.Timestamp(value))
override val expirationTimestamp: Optional[Timestamp] =
zio.aws.core.internal
.optionalFromNullable(impl.expirationTimestamp())
.map(value => zio.aws.organizations.model.primitives.Timestamp(value))
override val action: Optional[zio.aws.organizations.model.ActionType] =
zio.aws.core.internal
.optionalFromNullable(impl.action())
.map(value => zio.aws.organizations.model.ActionType.wrap(value))
override val resources: Optional[
List[zio.aws.organizations.model.HandshakeResource.ReadOnly]
] = zio.aws.core.internal
.optionalFromNullable(impl.resources())
.map(value =>
value.asScala.map { item =>
zio.aws.organizations.model.HandshakeResource.wrap(item)
}.toList
)
}
def wrap(
impl: software.amazon.awssdk.services.organizations.model.Handshake
): zio.aws.organizations.model.Handshake.ReadOnly = new Wrapper(impl)
}