zio.aws.organizations.model.InviteAccountToOrganizationRequest.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 zio.aws.organizations.model.primitives.HandshakeNotes
import zio.ZIO
import zio.aws.core.{AwsError, BuilderHelper}
import zio.prelude.data.Optional
import scala.jdk.CollectionConverters._
final case class InviteAccountToOrganizationRequest(
target: zio.aws.organizations.model.HandshakeParty,
notes: Optional[HandshakeNotes] = Optional.Absent,
tags: Optional[Iterable[zio.aws.organizations.model.Tag]] = Optional.Absent
) {
def buildAwsValue()
: software.amazon.awssdk.services.organizations.model.InviteAccountToOrganizationRequest = {
import InviteAccountToOrganizationRequest.zioAwsBuilderHelper.BuilderOps
software.amazon.awssdk.services.organizations.model.InviteAccountToOrganizationRequest
.builder()
.target(target.buildAwsValue())
.optionallyWith(
notes.map(value => HandshakeNotes.unwrap(value): java.lang.String)
)(_.notes)
.optionallyWith(
tags.map(value =>
value.map { item =>
item.buildAwsValue()
}.asJavaCollection
)
)(_.tags)
.build()
}
def asReadOnly
: zio.aws.organizations.model.InviteAccountToOrganizationRequest.ReadOnly =
zio.aws.organizations.model.InviteAccountToOrganizationRequest
.wrap(buildAwsValue())
}
object InviteAccountToOrganizationRequest {
private lazy val zioAwsBuilderHelper: BuilderHelper[
software.amazon.awssdk.services.organizations.model.InviteAccountToOrganizationRequest
] = BuilderHelper.apply
trait ReadOnly {
def asEditable
: zio.aws.organizations.model.InviteAccountToOrganizationRequest =
zio.aws.organizations.model.InviteAccountToOrganizationRequest(
target.asEditable,
notes.map(value => value),
tags.map(value =>
value.map { item =>
item.asEditable
}
)
)
def target: zio.aws.organizations.model.HandshakeParty.ReadOnly
def notes: Optional[HandshakeNotes]
def tags: Optional[List[zio.aws.organizations.model.Tag.ReadOnly]]
def getTarget: ZIO[
Any,
Nothing,
zio.aws.organizations.model.HandshakeParty.ReadOnly
] = ZIO.succeed(target)
def getNotes: ZIO[Any, AwsError, HandshakeNotes] =
AwsError.unwrapOptionField("notes", notes)
def getTags
: ZIO[Any, AwsError, List[zio.aws.organizations.model.Tag.ReadOnly]] =
AwsError.unwrapOptionField("tags", tags)
}
private final class Wrapper(
impl: software.amazon.awssdk.services.organizations.model.InviteAccountToOrganizationRequest
) extends zio.aws.organizations.model.InviteAccountToOrganizationRequest.ReadOnly {
override val target: zio.aws.organizations.model.HandshakeParty.ReadOnly =
zio.aws.organizations.model.HandshakeParty.wrap(impl.target())
override val notes: Optional[HandshakeNotes] = zio.aws.core.internal
.optionalFromNullable(impl.notes())
.map(value =>
zio.aws.organizations.model.primitives.HandshakeNotes(value)
)
override val tags
: Optional[List[zio.aws.organizations.model.Tag.ReadOnly]] =
zio.aws.core.internal
.optionalFromNullable(impl.tags())
.map(value =>
value.asScala.map { item =>
zio.aws.organizations.model.Tag.wrap(item)
}.toList
)
}
def wrap(
impl: software.amazon.awssdk.services.organizations.model.InviteAccountToOrganizationRequest
): zio.aws.organizations.model.InviteAccountToOrganizationRequest.ReadOnly =
new Wrapper(impl)
}