| File: Model\ApplicationSnapshot.cs | Web Access |
| Project: src\src\Aspire.Hosting.Native.Core\Aspire.Hosting.Native.Core.csproj (Aspire.Hosting.Native.Core) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Collections.Immutable; namespace Aspire.Hosting.Native.Model; /// <summary>Provides an immutable declaration graph without runtime execution state.</summary> internal sealed record ApplicationSnapshot(Guid GenerationId, ImmutableArray<ResourceSnapshot> Resources) { public ImmutableArray<SymbolicValue> SecretParameters { get; init; } = []; public ImmutableArray<ParameterSnapshot> Parameters { get; init; } = []; } internal sealed record ParameterSnapshot(SymbolicValue Value, bool HasDefault); /// <summary>Describes a resource and its readiness dependencies within a declaration graph.</summary> internal sealed record ResourceSnapshot(ResourceHandle Handle, string Name, string TypeId, ImmutableArray<ResourceHandle> Dependencies, ImmutableArray<ResourceConfigurationEntry> Configuration) { public ImmutableArray<SymbolicConfigurationEntry> SymbolicConfiguration { get; init; } = []; public DeclaredWorkload? Workload { get; init; } public ResourceHandle? ComputeEnvironment { get; init; } public bool IsComputeEnvironment { get; init; } public ImmutableArray<Runtime.ProviderLifecycleBinding> ProviderLifecycle { get; init; } = []; } internal sealed record ResourceConfigurationEntry(string Name, string Value);