8 instantiations of SymbolicValue
Aspire.Hosting.Native.Core (8)
Model\SymbolicValue.cs (8)
79
return
new
(generationId, SymbolicValueKind.Literal, text, "", null, "", default, [], true);
87
return
new
(generationId, SymbolicValueKind.SecretParameter, value, name, null, "", default, [], true);
95
return
new
(generationId, SymbolicValueKind.Parameter, value, name, null, "", default, [], true);
102
return
new
(generationId, secret ? SymbolicValueKind.SecretParameter : SymbolicValueKind.Parameter,
124
return
new
(resource.GenerationId, SymbolicValueKind.Endpoint, "", "", resource, name, property, [], true);
133
return
new
(GenerationId, SymbolicValueKind.Composite, "", "", null, "", default, prefixParts.AddRange(suffixParts), true);
137
public SymbolicValue UriEncode() =>
new
(GenerationId, SymbolicValueKind.UriEncoded, "", "", null, "", default, [this], true);
150
new
(generationId, Kind, _text, ParameterName, Resource is { } resource ? map(resource) : null,
69 references to SymbolicValue
Aspire.Hosting.Native.Core (36)
Model\ApplicationModel.cs (14)
15
private readonly Dictionary<string,
SymbolicValue
> _secretParameters = new(StringComparer.Ordinal);
126
public
SymbolicValue
AddSecretParameter(string name, string value)
128
var
parameter =
SymbolicValue
.SecretParameter(GenerationId, name, value);
142
public
SymbolicValue
AddParameter(string name, string value, bool hasDefault)
144
var
parameter =
SymbolicValue
.Parameter(GenerationId, name, value);
159
public
SymbolicValue
AddUnboundParameter(string name, bool secret)
161
var
parameter =
SymbolicValue
.UnboundParameter(GenerationId, name, secret);
198
public void ValidateValue(
SymbolicValue
value)
212
if (value.SecretParameters.Any(parameter => !_secretParameters.TryGetValue(parameter.ParameterName, out
var
declared) ||
226
public void SetSymbolicConfiguration(ResourceHandle handle, string name,
SymbolicValue
value)
454
public Dictionary<string,
SymbolicValue
> SymbolicConfiguration { get; } = new(StringComparer.Ordinal);
Model\ApplicationSnapshot.cs (2)
11
public ImmutableArray<
SymbolicValue
> SecretParameters { get; init; } = [];
15
internal sealed record ParameterSnapshot(
SymbolicValue
Value, bool HasDefault);
Model\SymbolicValue.cs (18)
37
private readonly ImmutableArray<
SymbolicValue
> _parts;
50
ResourceHandle? resource, string endpointName, EndpointValueProperty property, ImmutableArray<
SymbolicValue
> parts, bool hasValue)
75
public static
SymbolicValue
Literal(Guid generationId, string text)
82
public static
SymbolicValue
SecretParameter(Guid generationId, string name, string value)
90
public static
SymbolicValue
Parameter(Guid generationId, string name, string value)
98
public static
SymbolicValue
UnboundParameter(Guid generationId, string name, bool secret)
116
public static
SymbolicValue
Endpoint(ResourceHandle resource, string name, EndpointValueProperty property)
127
public
SymbolicValue
Concat(
SymbolicValue
suffix)
137
public
SymbolicValue
UriEncode() => new(GenerationId, SymbolicValueKind.UriEncoded, "", "", null, "", default, [this], true);
141
internal IEnumerable<
SymbolicValue
> SecretParameters => Enumerate().Where(value => value.Kind == SymbolicValueKind.SecretParameter);
142
internal IEnumerable<
SymbolicValue
> Parameters => Enumerate().Where(value => value.Kind is SymbolicValueKind.SecretParameter or SymbolicValueKind.Parameter);
149
public
SymbolicValue
Rebind(Guid generationId, Func<ResourceHandle, ResourceHandle> map) =>
153
public bool EquivalentTo(
SymbolicValue
other) => Kind == other.Kind && _text == other._text &&
199
private IEnumerable<
SymbolicValue
> Enumerate()
202
foreach (
var
part in _parts)
204
foreach (
var
value in part.Enumerate())
213
internal sealed record SymbolicConfigurationEntry(string Name,
SymbolicValue
Value);
Runtime\RuntimeGeneration.cs (2)
303
var
value = resource.Declaration.SymbolicConfiguration.SingleOrDefault(entry => entry.Name == key)?.Value
323
var
symbolic = values[key];
Aspire.Hosting.Native.Core.Tests (26)
DeclarativeApplicationTests.cs (6)
40
var
value =
SymbolicValue
.Literal(model.GenerationId, "value");
87
var
value =
SymbolicValue
.Endpoint(dependency, "tcp", EndpointValueProperty.Host);
99
var
foreignValue =
SymbolicValue
.Endpoint(foreignResource, "tcp", EndpointValueProperty.Host);
NativePublishingTests.cs (2)
118
var
secret =
SymbolicValue
.SecretParameter(Guid.NewGuid(), "password", "not-a-literal");
SymbolicValueTests.cs (18)
17
var
password = model.AddSecretParameter("cache-password", "secret, /@");
18
var
uri =
SymbolicValue
.Literal(model.GenerationId, "redis://:")
19
.Concat(password.UriEncode()).Concat(
SymbolicValue
.Literal(model.GenerationId, "@"))
20
.Concat(
SymbolicValue
.Endpoint(redis, "tcp", EndpointValueProperty.HostAndPort));
37
model.SetSymbolicConfiguration(first, "target",
SymbolicValue
.Endpoint(second, "tcp", EndpointValueProperty.Port));
39
model.SetSymbolicConfiguration(second, "target",
SymbolicValue
.Endpoint(first, "tcp", EndpointValueProperty.Port));
42
model.SetSymbolicConfiguration(first, "target",
SymbolicValue
.Literal(model.GenerationId, "replacement"));
44
model.SetSymbolicConfiguration(first, "target",
SymbolicValue
.Endpoint(second, "tcp", EndpointValueProperty.Port));
56
SymbolicValue
.Literal(other.GenerationId, "wrong")));
57
var
declared = model.AddSecretParameter("password", "expected");
58
Assert.Throws<ArgumentException>(() => model.ValidateValue(
SymbolicValue
.SecretParameter(model.GenerationId, "password", "forged")));
70
var
secret = model.AddSecretParameter("password", "launch-secret");
71
var
connection =
SymbolicValue
.Endpoint(source, "tcp", EndpointValueProperty.HostAndPort)
72
.Concat(
SymbolicValue
.Literal(model.GenerationId, ",password=")).Concat(secret);
153
model.SetSymbolicConfiguration(target, "endpoint",
SymbolicValue
.Endpoint(source, "tcp", EndpointValueProperty.Host));
171
model.SetSymbolicConfiguration(target, "endpoint",
SymbolicValue
.Endpoint(target, "tcp", EndpointValueProperty.Host));
Aspire.Hosting.Native.Server (7)
Api\CompositionApi.cs (4)
188
public DeclaredValue CreateLiteralValue(string value) => new(this,
SymbolicValue
.Literal(Model.GenerationId, value));
224
return new(this,
SymbolicValue
.Endpoint(resource.Handle, endpointName, parsed));
333
internal
SymbolicValue
Value { get; }
336
internal DeclaredValue(Composition composition,
SymbolicValue
value)
Api\PublishingApi.cs (3)
19
JsonObject Expression(
SymbolicValue
value) => value.Project<JsonObject>(
47
environment[variable.Name] = Expression(
SymbolicValue
.Literal(snapshot.GenerationId, variable.Value));
57
?
SymbolicValue
.Literal(snapshot.GenerationId, plan.Arguments[index])