vanhecke/celmex/3.0.0

Unavailable. Nobody can download this version any more, with elm or with the Lamdera compiler: github.com/vanhecke/celmex is gone (deleted or private); Software Heritage not asked yet (this run's --swh-calls were used up); no fork with the same repo name found; no cached copy. Use another version.

Details

Cortex.Api.TenantInfo

Cortex tenant license, SKU, and add-on metadata.

The response from /public_api/v1/system/get_tenant_info is a wide record of license expiration timestamps, installed/purchased counts, and nested "purchased" sub-records describing each add-on. Every field is optional — which fields are populated depends on the tenant's product mix.

Two notable wire-format quirks this module handles:

  • Polymorphic expirations. *_expiration fields are sometimes returned as the integer 0 (the add-on is not purchased), sometimes as a positive integer (a unix-epoch timestamp), and sometimes as a pre-formatted date string (e.g. "Mar 19th 2027 23:59:59"). Decoded into the Expiration union.

  • Polymorphic purchased_* shapes. Most purchased_* fields can be either the integer 0 (not purchased) or a small nested record listing the purchased capacity ({ "users": 100, "gb": 100, ... }). Decoded as Maybe SomePurchasedShape where Nothing covers both "field absent" and "integer 0".

type alias TenantInfo =
{ advancedAnalyticsExpiration : Maybe Expiration
, agentixSoarExpiration : Maybe Expiration
, agentixTimExpiration : Maybe Expiration
, attackSurfaceManagementExpiration : Maybe Expiration
, cloudPostureExpiration : Maybe Expiration
, computeUnitExpiration : Maybe Expiration
, dataLakeGbExpiration : Maybe Expiration
, forensicsExpiration : Maybe Expiration
, hostInsightsExpiration : Maybe Expiration
, identityThreatExpiration : Maybe Expiration
, preventExpiration : Maybe Expiration
, proCloudExpiration : Maybe Expiration
, proGbExpiration : Maybe Expiration
, proPerEndpointExpiration : Maybe Expiration
, threatIntelligenceManagementExpiration : Maybe Expiration
, xsiamEpColdExpiration : Maybe Expiration
, xsiamEpHotExpiration : Maybe Expiration
, xsiamGbColdExpiration : Maybe Expiration
, xsiamGbHotExpiration : Maybe Expiration
, xsiamPremiumExpiration : Maybe Expiration
, xthExpiration : Maybe Expiration
, dataEnabledProCloud : Maybe Int
, dataEnabledProPerEndpoint : Maybe Int
, enabledForensics : Maybe Int
, enabledHostInsights : Maybe Int
, installedAgentixSoar : Maybe Int
, installedAgentixTim : Maybe Int
, installedCloudPosture : Maybe Int
, installedDataLakeGb : Maybe Int
, installedPrevent : Maybe Int
, installedProCloud : Maybe Int
, installedProGb : Maybe Int
, purchasedAttackSurfaceManagement : Maybe Int
, purchasedComputeUnit : Maybe Int
, purchasedHostInsights : Maybe Int
, purchasedPrevent : Maybe Int
, purchasedThreatIntelligenceManagement : Maybe Int
, purchasedXsiamEpCold : Maybe Int
, purchasedXsiamEpHot : Maybe Int
, purchasedXsiamGbCold : Maybe Int
, purchasedXsiamGbHot : Maybe Int
, purchasedXth : Maybe Int
, purchasedAgentixSoar : Maybe PurchasedUsers
, purchasedAgentixTim : Maybe PurchasedUsers
, purchasedCloudPosture : Maybe PurchasedWorkloads
, purchasedDataLakeGb : Maybe PurchasedGb
, purchasedProCloud : Maybe PurchasedAgents
, purchasedProGb : Maybe PurchasedGb
, purchasedProPerEndpoint : Maybe PurchasedAgents
, purchasedXsiamPremium : Maybe PurchasedXsiamPremium
}

Full tenant licensing/configuration record. Every field is Maybe — the API only emits fields relevant to the tenant's purchased products, and field coverage varies between tenants and SKUs.

= Disabled
| Timestamp Int
| DateString String

A license expiration as the API actually emits it.

  • Disabled — wire integer 0 (the add-on is not purchased).
  • Timestamp — wire positive integer (unix-epoch millis or seconds).
  • DateString — wire pre-formatted string (e.g. "Mar 19th 2027 23:59:59").
{ users : Maybe Int
, gb : Maybe Int
, agents : Maybe Int
}

purchased_xsiam_premium capacity breakdown.

type alias PurchasedAgents =
{ agents : Maybe Int }

purchased_pro_cloud / purchased_pro_per_endpoint capacity.

type alias PurchasedGb =
{ gb : Maybe Int }

purchased_pro_gb / purchased_data_lake_gb capacity.

type alias PurchasedUsers =
{ users : Maybe Int }

purchased_agentix_soar / purchased_agentix_tim capacity.

type alias PurchasedWorkloads =
{ workloads : Maybe Int }

purchased_cloud_posture capacity.

get : Request TenantInfo

POST /public_api/v1/system/get_tenant_info

Retrieve license, SKU, and add-on metadata for the tenant. Response is wrapped in the reply envelope; this function unwraps it and decodes into TenantInfo.