class ContainerResource[F[_], Tag] extends Basic[F, DockerContainer[Tag]]
- Alphabetic
- By Inheritance
- ContainerResource
- Basic
- Lifecycle
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new ContainerResource(config: ContainerConfig[Tag], client: DockerClientWrapper[F], logger: IzLogger, deps: Set[DockerContainer[Any]])(implicit F: QuasiIO[F], P: QuasiAsync[F], T: QuasiTemporal[F])
Type Members
- final type InnerResource = DockerContainer[Tag]
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- implicit val F: QuasiIO[F]
- implicit val P: QuasiAsync[F]
- implicit val T: QuasiTemporal[F]
- def acquire: F[DockerContainer[Tag]]
The action in
F
used to acquire the resource.The action in
F
used to acquire the resource.- Definition Classes
- ContainerResource → Basic → Lifecycle
- Note
the
acquire
action is performed *uninterruptibly*, whenF
is an effect type that supports interruption/cancellation.
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def await(container0: DockerContainer[Tag]): F[DockerContainer[Tag]]
- Attributes
- protected
- final def beforeAcquire[G[x] >: F[x]](f: => G[Unit])(implicit arg0: QuasiApplicative[G]): Lifecycle[G, DockerContainer[Tag]]
- Definition Classes
- Lifecycle
- final def beforeRelease[G[x] >: F[x]](f: (InnerResource) => G[Unit])(implicit arg0: QuasiApplicative[G]): Lifecycle[G, DockerContainer[Tag]]
Prepend release action to existing
Prepend release action to existing
- Definition Classes
- Lifecycle
- final def catchAll[G[x] >: F[x], B >: DockerContainer[Tag]](recover: (Throwable) => Lifecycle[G, B])(implicit arg0: QuasiIO[G]): Lifecycle[G, B]
- Definition Classes
- Lifecycle
- final def catchSome[G[x] >: F[x], B >: DockerContainer[Tag]](recover: PartialFunction[Throwable, Lifecycle[G, B]])(implicit arg0: QuasiIO[G]): Lifecycle[G, B]
- Definition Classes
- Lifecycle
- val client: DockerClientWrapper[F]
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- val config: ContainerConfig[Tag]
- def copy(config: ContainerConfig[Tag] = config, client: DockerClientWrapper[F] = client, logger: IzLogger = logger, deps: Set[DockerContainer[Any]] = deps, F: QuasiIO[F] = F, P: QuasiAsync[F] = P, T: QuasiTemporal[F] = T): ContainerResource[F, Tag]
- val deps: Set[DockerContainer[Any]]
- def doPull(imageName: String, registry: Option[String], registryAuth: Option[AuthConfig]): F[Unit]
- Attributes
- protected
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def evalMap[G[x] >: F[x], B](f: (DockerContainer[Tag]) => G[B])(implicit arg0: QuasiPrimitives[G]): Lifecycle[G, B]
- Definition Classes
- Lifecycle
- final def evalTap[G[x] >: F[x]](f: (DockerContainer[Tag]) => G[Unit])(implicit arg0: QuasiPrimitives[G]): Lifecycle[G, DockerContainer[Tag]]
- Definition Classes
- Lifecycle
- final def extract[B >: DockerContainer[Tag]](resource: DockerContainer[Tag]): Right[Nothing, DockerContainer[Tag]]
Either an action in
F
or a pure function used to extract theA
from theInnerResource
Either an action in
F
or a pure function used to extract theA
from theInnerResource
The effect in the
Left
branch will be performed *interruptibly*, it is not afforded the same kind of safety asacquire
andrelease
actions whenF
is an effect type that supports interruption/cancellation.When
F
isIdentity
, it doesn't matter whether the output is aLeft
orRight
branch.When consuming the output of
extract
you can use_.fold(identity, F.pure)
to convert theEither
toF[B]
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def flatMap[G[x] >: F[x], B](f: (DockerContainer[Tag]) => Lifecycle[G, B])(implicit arg0: QuasiPrimitives[G]): Lifecycle[G, B]
- Definition Classes
- Lifecycle
- final def flatten[G[x] >: F[x], B](implicit arg0: QuasiPrimitives[G], ev: <:<[DockerContainer[Tag], Lifecycle[G, B]]): Lifecycle[G, B]
- Definition Classes
- Lifecycle
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def inspectContainerAndGetState(containerId: String): Either[Throwable, ContainerState]
- Attributes
- protected
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val logger: IzLogger
- final def map[G[x] >: F[x], B](f: (DockerContainer[Tag]) => B)(implicit arg0: QuasiFunctor[G]): Lifecycle[G, B]
- Definition Classes
- Lifecycle
- def mapContainerPorts(inspection: InspectContainerResponse): Either[UnmappedPorts, ReportedContainerConnectivity]
- Attributes
- protected
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def redeem[G[x] >: F[x], B](onFailure: (Throwable) => Lifecycle[G, B], onSuccess: (DockerContainer[Tag]) => Lifecycle[G, B])(implicit arg0: QuasiIO[G]): Lifecycle[G, B]
- Definition Classes
- Lifecycle
- def release(container: DockerContainer[Tag]): F[Unit]
The action in
F
used to release, close or deallocate the resource after it has been acquired and used through izumi.distage.model.definition.Lifecycle.SyntaxUse#use.The action in
F
used to release, close or deallocate the resource after it has been acquired and used through izumi.distage.model.definition.Lifecycle.SyntaxUse#use.- Definition Classes
- ContainerResource → Basic → Lifecycle
- Note
the
release
action is performed *uninterruptibly*, whenF
is an effect type that supports interruption/cancellation.
- def runNew(imageName: String, imageRegistry: Option[String], registryAuth: Option[AuthConfig], ports: Seq[PortDecl]): F[DockerContainer[Tag]]
- Attributes
- protected
- def runReused(imageName: String, imageRegistry: Option[String], registryAuth: Option[AuthConfig], ports: Seq[PortDecl]): F[DockerContainer[Tag]]
- Attributes
- protected
- val stableLabels: Map[String, String]
- Attributes
- protected
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toExposedPort(port: DockerPort, number: Int): ExposedPort
- Attributes
- protected
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def void[G[x] >: F[x]](implicit arg0: QuasiFunctor[G]): Lifecycle[G, Unit]
- Definition Classes
- Lifecycle
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def widen[B >: DockerContainer[Tag]]: Lifecycle[F, B]
- Definition Classes
- Lifecycle
- Annotations
- @inline()
- final def widenF[G[x] >: F[x]]: Lifecycle[G, DockerContainer[Tag]]
- Definition Classes
- Lifecycle
- Annotations
- @inline()
- final def wrapAcquire[G[x] >: F[x]](f: (=> G[InnerResource]) => G[InnerResource]): Lifecycle[G, DockerContainer[Tag]]
Wrap acquire action of this resource in another effect, e.g.
Wrap acquire action of this resource in another effect, e.g. for logging purposes
- Definition Classes
- Lifecycle
- final def wrapRelease[G[x] >: F[x]](f: ((InnerResource) => G[Unit], InnerResource) => G[Unit]): Lifecycle[G, DockerContainer[Tag]]
Wrap release action of this resource in another effect, e.g.
Wrap release action of this resource in another effect, e.g. for logging purposes
- Definition Classes
- Lifecycle