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