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
Count
public int Count { get; }
Property Value
Capacity
public int Capacity { get; }
Property Value
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
Constructors
RequiresMap()
public RequiresMap()