Zum Hauptinhalt springen

RequiresMap

Namespace: Meshmakers.Octo.ConstructionKit.Contracts.BlueprintCatalogs.DataTransferObjects

Strongly-typed dictionary used for the requires: block in BlueprintMetaRootDto. Each key is a blueprint-variable name (e.g. octo.environment) and the value is the list of acceptable values. The blueprint is applied to a tenant only when every key resolves to a value present in the corresponding list.

public sealed class RequiresMap : Dictionary<String, List<String>>, IDictionary<String, List<String>>, ICollection<KeyValuePair<String, List<String>>>, IEnumerable<KeyValuePair<String, List<String>>>, IEnumerable, IDictionary, ICollection, IReadOnlyDictionary<String, List<String>>, IReadOnlyCollection<KeyValuePair<String, List<String>>>, ISerializable, IDeserializationCallback

Inheritance Object → Dictionary<String, List<String>> → RequiresMap
Implements IDictionary<String, List<String>>, ICollection<KeyValuePair<String, List<String>>>, IEnumerable<KeyValuePair<String, List<String>>>, IEnumerable, IDictionary, ICollection, IReadOnlyDictionary<String, List<String>>, IReadOnlyCollection<KeyValuePair<String, List<String>>>, ISerializable, IDeserializationCallback

Remarks:

A dedicated subclass exists purely so the YAML round-trip converter (RequiresMapConverter) can be registered against this exact type without hijacking unrelated Dictionary<string, List<string>> usages. The converter accepts both scalar (octo.isSystemTenant: "true") and sequence (octo.environment: [staging, production]) value shapes when deserialising; serialisation always emits sequences for stability.

Properties​

Comparer​

public IEqualityComparer<string> Comparer { get; }

Property Value​

IEqualityComparer<String>

Count​

public int Count { get; }

Property Value​

Int32

Capacity​

public int Capacity { get; }

Property Value​

Int32

Keys​

public KeyCollection<string, List<string>> Keys { get; }

Property Value​

KeyCollection<String, List<String>>

Values​

public ValueCollection<string, List<string>> Values { get; }

Property Value​

ValueCollection<String, List<String>>

Item​

public List<string> Item { get; set; }

Property Value​

List<String>

Constructors​

RequiresMap()​

public RequiresMap()