Class

nelson.storage

H2Storage

Related Doc: package storage

Permalink

final case class H2Storage(xa: Transactor[Task]) extends ~>[StoreOp, Task] with Product with Serializable

Linear Supertypes
Serializable, Serializable, Product, Equals, NaturalTransformation[StoreOp, Task], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. H2Storage
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. NaturalTransformation
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new H2Storage(xa: Transactor[Task])

    Permalink

Type Members

  1. type AuditRow = (ID, Instant, Option[Long], String, String, String, Option[String])

    Permalink
  2. type DeploymentRow = (ID, ID, ID, String, Instant, WorkflowRef, PlanRef, GUID, ExpirationPolicyRef)

    Permalink
  3. type DeploymentWithStatusRow = (ID, ID, ID, String, Instant, WorkflowRef, PlanRef, GUID, ExpirationPolicyRef, DeploymentStatusString)

    Permalink
  4. type LoadbalancerRow = (ID, ID, String, ID, String, MajorVersion, Instant, GUID, String)

    Permalink
  5. case class ReleaseRow(slug: Slug, version: Version, timestamp: Instant, releaseId: Long, releaseHtmlUrl: URI, unitName: String, namespace: String, hash: String, deployid: Long, deployTimestamp: Instant, deployStatus: DeploymentStatus, deployGuid: GUID) extends Product with Serializable

    Permalink
  6. type ReleaseTuple = (String, String, Instant, Option[Long], Option[String], Option[String], String, String, Long, Instant, Option[String], GUID)

    Permalink
  7. type RouteRow = (Int, String, String, String, String)

    Permalink
  8. type TrafficShiftRow = (String, Instant, FiniteDuration, Option[Instant], ID, ID, ID, String, Instant, WorkflowRef, PlanRef, GUID, ExpirationPolicyRef, ID, ID, ID, String, Instant, WorkflowRef, PlanRef, GUID, ExpirationPolicyRef)

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def addUnit(vunit: @@[UnitDef, Versioned], repo_id: ID): ConnectionIO[Unit]

    Permalink
  5. def apply[A](s: StoreOp[A]): Task[A]

    Permalink
    Definition Classes
    H2Storage → NaturalTransformation
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def audit[A](event: AuditEvent[A]): ConnectionIO[ID]

    Permalink
  8. def auditLogFromRow(row: AuditRow): AuditLog

    Permalink
  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def compose[E[_]](f: ~>[E, StoreOp]): ~>[E, Task]

    Permalink
    Definition Classes
    NaturalTransformation
  11. def countDeploymentsByStatus(since: Long): ConnectionIO[List[(String, Int)]]

    Permalink
  12. def createDatacenter(dc: Datacenter): ConnectionIO[Unit]

    Permalink
  13. def createDeployment(unitId: ID, hash: String, namespace: Namespace, wf: WorkflowRef, plan: PlanRef, expPolicy: String): ConnectionIO[ID]

    Permalink

  14. def createDeploymentExpiration(id: ID, exp: Instant): ConnectionIO[ID]

    Permalink
  15. def createDeploymentResource(deploymentId: ID, name: String, uri: URI): ConnectionIO[ID]

    Permalink
  16. def createDeploymentStatus(id: ID, status: DeploymentStatus, msg: Option[String]): ConnectionIO[Unit]

    Permalink

  17. def createManualDeployment(datacenter: Datacenter, namespace: NamespaceName, serviceType: String, version: String, hash: String, description: String, port: Int, exp: Instant): ConnectionIO[GUID]

    Permalink
  18. def createNamespace(dc: String, name: NamespaceName): ConnectionIO[ID]

    Permalink

    datacenter is the primary key and here acts as a forigen key for namespaces.

    datacenter is the primary key and here acts as a forigen key for namespaces. We never want two datacenters with the same name.

  19. def createRelease(repositoryId: Long, r: Release): ConnectionIO[Unit]

    Permalink

  20. def createTrafficShift(nsid: ID, to: Deployment, policy: TrafficShiftPolicy, dur: FiniteDuration): ConnectionIO[ID]

    Permalink
  21. def deleteAndThenCreateExpiration(id: ID, exp: Instant): ConnectionIO[ID]

    Permalink
  22. def deleteExpirations(id: ID): ConnectionIO[Int]

    Permalink
  23. def deleteLoadbalancerDeployment(lbid: ID): ConnectionIO[Int]

    Permalink
  24. def deleteRepositories(repos: NonEmptyList[Repo]): ConnectionIO[Unit]

    Permalink
  25. def deploymentFromRow(row: DeploymentRow): ConnectionIO[Deployment]

    Permalink
  26. def deploymentWithStatusFromRow(row: DeploymentWithStatusRow): ConnectionIO[(Deployment, DeploymentStatus)]

    Permalink
  27. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  28. def fetchDeployments(sql: ConnectionIO[List[DeploymentRow]]): ConnectionIO[Set[Deployment]]

    Permalink
  29. def fetchDeploymentsWithStatuses(sql: ConnectionIO[List[DeploymentWithStatusRow]]): ConnectionIO[Set[(Deployment, DeploymentStatus)]]

    Permalink
  30. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  31. def findDeployment(stackName: StackName): ConnectionIO[Option[Deployment]]

    Permalink
  32. def findDeploymentExpiration(id: ID): ConnectionIO[Option[Instant]]

    Permalink
  33. def findLastReleaseDeploymentStatus(r: Slug, u: UnitName): ConnectionIO[Option[DeploymentStatus]]

    Permalink

  34. def findLoadbalancerDeployment(name: String, v: MajorVersion, nsid: ID): ConnectionIO[Option[LoadbalancerDeployment]]

    Permalink
  35. def findRelease(id: Long): ConnectionIO[==>>[Released, List[ReleasedDeployment]]]

    Permalink

  36. def findReleaseByDeploymentGuid(guid: GUID): ConnectionIO[Option[(Released, ReleasedDeployment)]]

    Permalink

    Given a deployment ID, find all the associated gubbins.

  37. def findReleasedByUnitNameAndVersion(un: UnitName, v: Version): ConnectionIO[Option[Released]]

    Permalink
  38. def findRepository(u: User, slug: Slug): ConnectionIO[Option[Repo]]

    Permalink

    Fetch a single repository based on the supplied slug.

  39. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  40. def getCurrentTargetForServiceName(ns: ID, sn: ServiceName): ConnectionIO[Option[Target]]

    Permalink

    This will first try to find a traffic shift, if none is found, it will try to find the latest matching deployment

  41. def getDeployment(id: ID): ConnectionIO[Deployment]

    Permalink
  42. def getDeploymentByGuid(guid: GUID): ConnectionIO[Option[Deployment]]

    Permalink
  43. def getDeploymentResources(id: ID): ConnectionIO[Set[(String, URI)]]

    Permalink
  44. def getDeploymentStatus(id: ID): ConnectionIO[Option[DeploymentStatus]]

    Permalink
  45. def getDeploymentsForServiceNameByStatus(sn: ServiceName, ns: ID, status: NonEmptyList[DeploymentStatus]): ConnectionIO[List[Deployment]]

    Permalink
  46. def getLatestReleaseForLoadbalancer(name: String, mv: MajorVersion): ConnectionIO[Option[Released]]

    Permalink
  47. def getLoadbalancer(name: String, v: MajorVersion): ConnectionIO[Option[DCLoadbalancer]]

    Permalink
  48. def getLoadbalancerDeployment(id: ID): ConnectionIO[Option[LoadbalancerDeployment]]

    Permalink
  49. def getLoadbalancerDeploymentByGUID(guid: GUID): ConnectionIO[Option[LoadbalancerDeployment]]

    Permalink
  50. def getLoadbalancerRoutes(id: ID): ConnectionIO[Vector[Route]]

    Permalink
  51. def getMostAndLeastDeployed(since: Long, number: Int, sortOrder: String): ConnectionIO[List[(String, Int)]]

    Permalink
  52. def getNamespace(dc: String, nsName: NamespaceName): ConnectionIO[Option[Namespace]]

    Permalink
  53. def getNamespaceByID(id: ID): ConnectionIO[Namespace]

    Permalink
  54. def getTrafficShiftForServiceName(ns: ID, sn: ServiceName): ConnectionIO[Option[TrafficShift]]

    Permalink
  55. def getUnit(name: String, version: Version): ConnectionIO[Option[DCUnit]]

    Permalink
  56. def getUnitById(id: ID): ConnectionIO[DCUnit]

    Permalink
  57. def getUnitDependencies(id: ID): ConnectionIO[Set[ServiceName]]

    Permalink
  58. def getUnitResources(id: ID): ConnectionIO[Set[String]]

    Permalink
  59. def insertLoadbalancer(lb: Loadbalancer, version: MajorVersion, repoId: ID): ConnectionIO[ID]

    Permalink
  60. def insertLoadbalancerDeployment(lbid: ID, nsid: ID, hash: String, address: String): ConnectionIO[ID]

    Permalink
  61. def insertLoadbalancerIfAbsent(lbv: @@[Loadbalancer, Versioned], repoId: ID): ConnectionIO[ID]

    Permalink
  62. def insertOrUpdateRepositories(list: List[Repo]): ConnectionIO[Unit]

    Permalink

    Does what it says on the function.

  63. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  64. def killRelease(slug: Slug, version: String): ConnectionIO[\/[Throwable, Unit]]

    Permalink
  65. def linkRepositoriesToUser(list: List[Repo], u: User): ConnectionIO[Unit]

    Permalink

    Given a set of repositories, associate them with a specific user.

    Given a set of repositories, associate them with a specific user. This is used when we are syncing repositories at the behence of a user.

  66. def listAuditLog(limit: Long, offset: Long, action: Option[String], category: Option[String]): ConnectionIO[List[AuditLog]]

    Permalink
  67. def listAuditLogByReleaseId(limit: Long, offset: Long, releaseId: Long): ConnectionIO[List[AuditLog]]

    Permalink
  68. def listDatacenters: ConnectionIO[Set[String]]

    Permalink
  69. def listDeploymentStatuses(id: ID): ConnectionIO[List[(DeploymentStatus, Option[StatusMessage], Instant)]]

    Permalink

  70. def listDeploymentsForDatacenter(dc: String): ConnectionIO[Set[Deployment]]

    Permalink

  71. def listDeploymentsForNamespaceByStatus(ns: ID, stats: NonEmptyList[DeploymentStatus], unit: Option[UnitName] = None): ConnectionIO[Set[(Deployment, DeploymentStatus)]]

    Permalink
  72. def listDeploymentsForUnitByStatus(nsid: ID, name: UnitName, stats: NonEmptyList[DeploymentStatus]): ConnectionIO[Set[Deployment]]

    Permalink

  73. def listLoadbalancerDeploymentsForNamespace(nsid: ID): ConnectionIO[Vector[LoadbalancerDeployment]]

    Permalink
  74. def listNamespacesForDatacenter(dc: String): ConnectionIO[Set[Namespace]]

    Permalink
  75. def listRecentReleasesForRepository(slug: Slug): ConnectionIO[==>>[Released, List[ReleasedDeployment]]]

    Permalink

  76. def listReleases(limit: Int): ConnectionIO[==>>[Released, List[ReleasedDeployment]]]

    Permalink

  77. def listRepositories(u: User): ConnectionIO[List[Repo]]

    Permalink

    Fetch all repositories for a given user.

  78. def listRepositoriesWithActiveHooks(u: User): ConnectionIO[List[Repo]]

    Permalink

    List all the repositories the user has access too that have webhooks enabled.

  79. def listRepositoriesWithOwner(u: User, owner: String): ConnectionIO[List[Repo]]

    Permalink

    Fetch all repositories for a given owner, that the specified user has access too.

  80. def listShiftableDeployments(unit: UnitDef, ns: ID): ConnectionIO[List[Deployment]]

    Permalink
  81. def listUnitsByStatus(nsid: ID, statuses: NonEmptyList[DeploymentStatus]): ConnectionIO[Vector[(GUID, ServiceName)]]

    Permalink
  82. val log: Logger

    Permalink
  83. implicit val metaFeatureVersion: Meta[FeatureVersion]

    Permalink
  84. implicit val metaFiniteDuration: Meta[FiniteDuration]

    Permalink
  85. implicit val metaInstant: Meta[Instant]

    Permalink
  86. implicit val metaMajorVersion: Meta[MajorVersion]

    Permalink
  87. implicit val metaVersion: Meta[Version]

    Permalink
  88. implicit val namespaceName: Meta[NamespaceName]

    Permalink
  89. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  90. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  91. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  92. def reverseTrafficShift(toID: ID, rev: Instant): ConnectionIO[Option[ID]]

    Permalink
  93. def rowToReleased(row: (String, String, Instant, Long, String)): Option[Released]

    Permalink
  94. def startTrafficShift(from: ID, to: ID, st: Instant): ConnectionIO[Option[ID]]

    Permalink
  95. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  96. def unitDependencies(id: ID): ConnectionIO[Set[ServiceName]]

    Permalink
  97. def unitPorts(id: ID): ConnectionIO[Set[Port]]

    Permalink
  98. def verifyDeployable(dcName: String, ns: NamespaceName, unit: UnitDef): ConnectionIO[ValidationNel[NelsonError, Unit]]

    Permalink
  99. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  100. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  101. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  102. val xa: Transactor[Task]

    Permalink

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from NaturalTransformation[StoreOp, Task]

Inherited from AnyRef

Inherited from Any

Ungrouped