Table of Contents

Class SandboxPolicy

Namespace
DotBoxD.Kernels
Assembly
DotBoxD.Kernels.dll
public sealed record SandboxPolicy : IEquatable<SandboxPolicy>
Inheritance
SandboxPolicy
Implements
Inherited Members

Constructors

SandboxPolicy(string, SandboxEffect, IReadOnlyList<CapabilityGrant>, ResourceLimits, bool, DateTimeOffset?, ulong?, IReadOnlySet<string>?)

public SandboxPolicy(string PolicyId, SandboxEffect AllowedEffects, IReadOnlyList<CapabilityGrant> Grants, ResourceLimits ResourceLimits, bool Deterministic = false, DateTimeOffset? LogicalNow = null, ulong? RandomSeed = null, IReadOnlySet<string>? DeclaredOpaqueIdTypes = null)

Parameters

PolicyId string
AllowedEffects SandboxEffect
Grants IReadOnlyList<CapabilityGrant>
ResourceLimits ResourceLimits
Deterministic bool
LogicalNow DateTimeOffset?
RandomSeed ulong?
DeclaredOpaqueIdTypes IReadOnlySet<string>

Properties

AllowedEffects

public SandboxEffect AllowedEffects { get; init; }

Property Value

SandboxEffect

DeclaredOpaqueIdTypes

Host-declared opaque-id brand type names this policy permits a module to use, in type or literal position. Empty by default (fail-closed): a module that references an opaque-id brand the host did not declare fails validation with E-POLICY-OPAQUE-ID.

public IReadOnlySet<string> DeclaredOpaqueIdTypes { get; init; }

Property Value

IReadOnlySet<string>

Deterministic

public bool Deterministic { get; init; }

Property Value

bool

GrantClock

public DateTimeOffset GrantClock { get; }

Property Value

DateTimeOffset

Grants

public IReadOnlyList<CapabilityGrant> Grants { get; init; }

Property Value

IReadOnlyList<CapabilityGrant>

Hash

public string Hash { get; }

Property Value

string

LogicalNow

public DateTimeOffset? LogicalNow { get; init; }

Property Value

DateTimeOffset?

PolicyId

public string PolicyId { get; init; }

Property Value

string

RandomSeed

public ulong? RandomSeed { get; init; }

Property Value

ulong?

ResourceLimits

public ResourceLimits ResourceLimits { get; init; }

Property Value

ResourceLimits

Methods

GetGrant(string)

public CapabilityGrant GetGrant(string capabilityId)

Parameters

capabilityId string

Returns

CapabilityGrant

GrantsCapability(string)

public bool GrantsCapability(string capabilityId)

Parameters

capabilityId string

Returns

bool

GrantsCapability(string, DateTimeOffset)

public bool GrantsCapability(string capabilityId, DateTimeOffset now)

Parameters

capabilityId string
now DateTimeOffset

Returns

bool

TryGetGrant(string, out CapabilityGrant)

public bool TryGetGrant(string capabilityId, out CapabilityGrant grant)

Parameters

capabilityId string
grant CapabilityGrant

Returns

bool