Skip to main content

ITenantBlueprintInstallations

Namespace: Meshmakers.Octo.Runtime.Contracts.Blueprints

Tracks the set of blueprints that are currently installed on a tenant. This is distinct from ITenantBlueprintHistory, which is an append-only audit log of every operation that ever touched the tenant — installations are a live, mutable view of what is in effect right now.

public interface ITenantBlueprintInstallations

Remarks:

A tenant can carry multiple blueprints concurrently (Phase 3 multi-blueprint). One entry per (tenantId, blueprintName) — re-installing or updating a blueprint upserts its single row.

Methods

GetInstalledAsync(String, CancellationToken)

Returns every blueprint currently installed on the tenant.

Task<IReadOnlyList<BlueprintInstallation>> GetInstalledAsync(string tenantId, CancellationToken cancellationToken)

Parameters

tenantId String

cancellationToken CancellationToken

Returns

Task<IReadOnlyList<BlueprintInstallation>>

GetByBlueprintNameAsync(String, String, CancellationToken)

Returns the installation row for a specific blueprint name on the tenant, or null when the blueprint is not installed.

Task<BlueprintInstallation> GetByBlueprintNameAsync(string tenantId, string blueprintName, CancellationToken cancellationToken)

Parameters

tenantId String

blueprintName String

cancellationToken CancellationToken

Returns

Task<BlueprintInstallation>

UpsertAsync(String, BlueprintInstallation, CancellationToken)

Inserts a new installation row or replaces the existing one for the same blueprint name. Use this after a successful Apply, Update or ReApply.

Task UpsertAsync(string tenantId, BlueprintInstallation installation, CancellationToken cancellationToken)

Parameters

tenantId String

installation BlueprintInstallation

cancellationToken CancellationToken

Returns

Task

RemoveAsync(String, String, CancellationToken)

Removes the installation row for a blueprint name on the tenant. Returns true when a row was removed, false when no such row existed.

Task<bool> RemoveAsync(string tenantId, string blueprintName, CancellationToken cancellationToken)

Parameters

tenantId String

blueprintName String

cancellationToken CancellationToken

Returns

Task<Boolean>