13 interfaces inheriting from IResource
Aspire.Hosting (10)
ApplicationModel\IComputeEnvironmentResource.cs (1)
12public interface IComputeEnvironmentResource : IResource
ApplicationModel\IComputeResource.cs (1)
16public interface IComputeResource : IResource
ApplicationModel\IResourceWithArgs.cs (1)
9public interface IResourceWithArgs : IResource
ApplicationModel\IResourceWithConnectionString.cs (1)
9public interface IResourceWithConnectionString : IResource, IManifestExpressionProvider, IValueProvider, IValueWithReferences
ApplicationModel\IResourceWithEndpoints.cs (1)
9public interface IResourceWithEndpoints : IResource
ApplicationModel\IResourceWithEnvironment.cs (1)
9public interface IResourceWithEnvironment : IResource
ApplicationModel\IResourceWithoutLifetime.cs (1)
9public interface IResourceWithoutLifetime : IResource
ApplicationModel\IResourceWithParameters.cs (1)
12public interface IResourceWithParameters : IResource
ApplicationModel\IResourceWithParentOfT.cs (1)
23public interface IResourceWithParent : IResource
ApplicationModel\IResourceWithWaitSupport.cs (1)
9public interface IResourceWithWaitSupport : IResource
Aspire.Hosting.Azure (3)
IAzureKeyVaultResource.cs (1)
11public interface IAzureKeyVaultResource : IResource, IAzureResource
IAzureResource.cs (1)
10public interface IAzureResource : IResource
IResourceWithAzureFunctionsConfig.cs (1)
11public interface IResourceWithAzureFunctionsConfig : IResource
10 implementations of IResource
Aspire.Hosting (1)
ApplicationModel\Resource.cs (1)
12public abstract class Resource : IResource
Aspire.Hosting.Azure.AppConfiguration (1)
AzureAppConfigurationEmulatorResource.cs (1)
12public class AzureAppConfigurationEmulatorResource(AzureAppConfigurationResource innerResource) : ContainerResource(innerResource.Name), IResource
Aspire.Hosting.Azure.CosmosDB (1)
AzureCosmosDBEmulatorResource.cs (1)
13: ContainerResource(innerResource.Name), IResource
Aspire.Hosting.Azure.EventHubs (1)
AzureEventHubsEmulatorResource.cs (1)
13: ContainerResource(innerResource.Name), IResource
Aspire.Hosting.Azure.ServiceBus (1)
AzureServiceBusEmulatorResource.cs (1)
12public class AzureServiceBusEmulatorResource(AzureServiceBusResource innerResource) : ContainerResource(innerResource.Name), IResource
Aspire.Hosting.Azure.SignalR (1)
AzureSignalREmulatorResource.cs (1)
12public class AzureSignalREmulatorResource(AzureSignalRResource innerResource) : ContainerResource(innerResource.Name), IResource
Aspire.Hosting.Azure.Storage (1)
AzureStorageEmulatorResource.cs (1)
12public class AzureStorageEmulatorResource(AzureStorageResource innerResource) : ContainerResource(innerResource.Name), IResource
Aspire.Hosting.Tests (3)
DistributedApplicationBuilderTests.cs (1)
173private sealed class TestResource : IResource
DistributedApplicationModelExtensionsTests.cs (1)
37private sealed class CustomResource : IResource
Utils\VolumeNameGeneratorTests.cs (1)
44private sealed class TestResource(string name) : IResource
591 references to IResource
Aspire.Hosting (315)
ApplicationModel\BeforeResourceStartedEvent.cs (2)
16public class BeforeResourceStartedEvent(IResource resource, IServiceProvider services) : IDistributedApplicationResourceEvent 19public IResource Resource { get; } = resource;
ApplicationModel\CommandLineArgsCallbackAnnotation.cs (3)
53private readonly IResource? _resource; 61public CommandLineArgsCallbackContext(IList<object> args, IResource resource, CancellationToken cancellationToken = default) 91public IResource Resource => _resource ?? throw new InvalidOperationException($"{nameof(Resource)} is not set. This callback context is not associated with a resource.");
ApplicationModel\CommandsConfigurationExtensions.cs (1)
13internal static void AddLifeCycleCommands(this IResource resource)
ApplicationModel\ConnectionStringAvailableEvent.cs (3)
11/// <param name="resource">The <see cref="IResource"/> for the event.</param> 13public class ConnectionStringAvailableEvent(IResource resource, IServiceProvider services) : IDistributedApplicationResourceEvent 16public IResource Resource => resource;
ApplicationModel\ContainerFileSystemCallbackAnnotation.cs (1)
256public required IResource Model { get; init; }
ApplicationModel\ContainerImageReference.cs (2)
14public class ContainerImageReference(IResource resource) : IManifestExpressionProvider, IValueWithReferences, IValueProvider 19public IResource Resource { get; } = resource;
ApplicationModel\ContainerPortReference.cs (2)
12public class ContainerPortReference(IResource resource) : IManifestExpressionProvider, IValueWithReferences, IValueProvider 17public IResource Resource { get; } = resource;
ApplicationModel\CustomResourceSnapshot.cs (1)
422public static ImmutableArray<RelationshipSnapshot> BuildRelationships(IResource resource)
ApplicationModel\DeploymentTargetAnnotation.cs (2)
11public sealed class DeploymentTargetAnnotation(IResource target) : IResourceAnnotation 16public IResource DeploymentTarget { get; } = target;
ApplicationModel\DistributedApplicationModel.cs (1)
21public DistributedApplicationModel(IEnumerable<IResource> resources) : this(new ResourceCollection(resources)) { }
ApplicationModel\DistributedApplicationModelExtensions.cs (3)
16/// <returns>An enumerable of compute <see cref="IResource"/> in the model.</returns> 17public static IEnumerable<IResource> GetComputeResources(this DistributedApplicationModel model) 19foreach (var r in model.Resources)
ApplicationModel\EnvironmentCallbackContext.cs (3)
17private readonly IResource? _resource; 26public EnvironmentCallbackContext(DistributedApplicationExecutionContext executionContext, IResource resource, Dictionary<string, object>? environmentVariables = null, CancellationToken cancellationToken = default) 54public IResource Resource => _resource ?? throw new InvalidOperationException($"{nameof(Resource)} is not set. This callback context is not associated with a resource.");
ApplicationModel\ExpressionResolver.cs (1)
15var target = endpointReference.Resource.GetRootResource();
ApplicationModel\InitializeResourceEvent.cs (2)
22IResource resource, 29public IResource Resource { get; } = resource;
ApplicationModel\IResourceBuilder.cs (1)
10public interface IResourceBuilder<out T> where T : IResource
ApplicationModel\IResourceCollection.cs (1)
9public interface IResourceCollection : IList<IResource>
ApplicationModel\IResourceWithParentOfT.cs (3)
10public interface IResourceWithParent<out T> : IResourceWithParent where T : IResource 17IResource IResourceWithParent.Parent => Parent; 28IResource Parent { get; }
ApplicationModel\ReferenceExpression.cs (2)
146where T : IResource, IValueProvider, IManifestExpressionProvider 306where T : IResource, IValueProvider, IManifestExpressionProvider
ApplicationModel\Resource.cs (1)
9/// Represents an abstract resource that can be used by an application, that implements <see cref="IResource"/>.
ApplicationModel\ResourceAnnotationMutationBehavior.cs (1)
8/// method when adding an annotation to the <see cref="IResource.Annotations"/> collection of a resource.
ApplicationModel\ResourceCollection.cs (11)
13private readonly List<IResource> _resources = []; 17public ResourceCollection(IEnumerable<IResource> resources) => _resources.AddRange(resources); 19public IResource this[int index] { get => _resources[index]; set => _resources[index] = value; } 22public void Add(IResource item) => _resources.Add(item); 24public bool Contains(IResource item) => _resources.Contains(item); 25public void CopyTo(IResource[] array, int arrayIndex) => _resources.CopyTo(array, arrayIndex); 26public IEnumerator<IResource> GetEnumerator() => _resources.GetEnumerator(); 27public int IndexOf(IResource item) => _resources.IndexOf(item); 28public void Insert(int index, IResource item) => _resources.Insert(index, item); 29public bool Remove(IResource item) => _resources.Remove(item); 36public IResource[] Items => collection.ToArray();
ApplicationModel\ResourceCommandService.cs (2)
62public async Task<ExecuteCommandResult> ExecuteCommandAsync(IResource resource, string commandName, CancellationToken cancellationToken = default) 107internal async Task<ExecuteCommandResult> ExecuteCommandCoreAsync(string resourceId, IResource resource, string commandName, CancellationToken cancellationToken)
ApplicationModel\ResourceEndpointsAllocatedEvent.cs (2)
14public class ResourceEndpointsAllocatedEvent(IResource resource, IServiceProvider services) : IDistributedApplicationResourceEvent 17public IResource Resource { get; } = resource;
ApplicationModel\ResourceExtensions.cs (31)
11/// Provides extension methods for the <see cref="IResource"/> interface. 22public static bool TryGetLastAnnotation<T>(this IResource resource, [NotNullWhen(true)] out T? annotation) where T : IResourceAnnotation 43public static bool TryGetAnnotationsOfType<T>(this IResource resource, [NotNullWhen(true)] out IEnumerable<T>? result) where T : IResourceAnnotation 65public static bool HasAnnotationOfType<T>(this IResource resource) where T : IResourceAnnotation 77public static bool TryGetAnnotationsIncludingAncestorsOfType<T>(this IResource resource, [NotNullWhen(true)] out IEnumerable<T>? result) where T : IResourceAnnotation 114public static bool HasAnnotationIncludingAncestorsOfType<T>(this IResource resource) where T : IResourceAnnotation 147public static bool TryGetEnvironmentVariables(this IResource resource, [NotNullWhen(true)] out IEnumerable<EnvironmentCallbackAnnotation>? environmentVariables) 274this IResource resource, 304(DistributedApplicationOperation.Run, IResourceBuilder<IResource> rb) when rb.Resource is IValueProvider provider => await GetValue(key: null, provider, logger, resource.IsContainer(), containerHostName, cancellationToken).ConfigureAwait(false), 306(DistributedApplicationOperation.Publish, IResourceBuilder<IResource> rb) when rb.Resource is IManifestExpressionProvider provider => new(provider.ValueExpression, false), 335this IResource resource, 363(DistributedApplicationOperation.Run, IResourceBuilder<IResource> rb) when rb.Resource is IValueProvider provider => await GetValue(key, provider, logger, resource.IsContainer(), containerHostName, cancellationToken).ConfigureAwait(false), 365(DistributedApplicationOperation.Publish, IResourceBuilder<IResource> rb) when rb.Resource is IManifestExpressionProvider provider => new(provider.ValueExpression, false), 387public static bool IsExcludedFromPublish(this IResource resource) => 391this IResource resource, 442if (valueProvider is IResource resource) 479public static bool TryGetContainerMounts(this IResource resource, [NotNullWhen(true)] out IEnumerable<ContainerMountAnnotation>? volumeMounts) 490public static bool TryGetEndpoints(this IResource resource, [NotNullWhen(true)] out IEnumerable<EndpointAnnotation>? endpoints) 501public static bool TryGetUrls(this IResource resource, [NotNullWhen(true)] out IEnumerable<ResourceUrlAnnotation>? urls) 510/// <returns>An enumeration of <see cref="EndpointReference"/> based on the <see cref="EndpointAnnotation"/> annotations from the resources' <see cref="IResource.Annotations"/> collection.</returns> 539public static bool TryGetContainerImageName(this IResource resource, [NotNullWhen(true)] out string? imageName) 569public static int GetReplicaCount(this IResource resource) 590public static bool RequiresImageBuildAndPush(this IResource resource) 600public static DeploymentTargetAnnotation? GetDeploymentTargetAnnotation(this IResource resource, IComputeEnvironmentResource? targetComputeEnvironment = null) 646internal static ContainerLifetime GetContainerLifetimeType(this IResource resource) 662internal static bool TryGetContainerImagePullPolicy(this IResource resource, [NotNullWhen(true)] out ImagePullPolicy? pullPolicy) 680internal static bool SupportsProxy(this IResource resource) 690internal static IResource GetRootResource(this IResource resource) => 701internal static string GetResolvedResourceName(this IResource resource) 721internal static string[] GetResolvedResourceNames(this IResource resource)
ApplicationModel\ResourceLoggerService.cs (5)
47public ILogger GetLogger(IResource resource) 155public IAsyncEnumerable<IReadOnlyList<LogLine>> GetAllAsync(IResource resource) 175public IAsyncEnumerable<IReadOnlyList<LogLine>> WatchAsync(IResource resource) 253/// <param name="resource">The <see cref="IResource"/>.</param> 254public void Complete(IResource resource)
ApplicationModel\ResourceNotificationService.cs (19)
143private async Task WaitUntilHealthyAsync(IResource resource, IResource dependency, WaitBehavior waitBehavior, CancellationToken cancellationToken) 247private async Task WaitUntilCompletionAsync(IResource resource, IResource dependency, int exitCode, CancellationToken cancellationToken) 302private async Task WaitUntilStateAsync(IResource resource, IResource dependency, WaitBehavior waitBehavior, 369private async Task WaitUntilStartedAsync(IResource resource, IResource dependency, WaitBehavior waitBehavior, CancellationToken cancellationToken) 387public async Task WaitForDependenciesAsync(IResource resource, CancellationToken cancellationToken) 580public Task PublishUpdateAsync(IResource resource, string resourceId, Func<CustomResourceSnapshot, CustomResourceSnapshot> stateFactory) 672private CustomResourceSnapshot UpdateCommands(IResource resource, CustomResourceSnapshot previousState) 746private static CustomResourceSnapshot UpdateIcons(IResource resource, CustomResourceSnapshot previousState) 778public async Task PublishUpdateAsync(IResource resource, Func<CustomResourceSnapshot, CustomResourceSnapshot> stateFactory) 787private static CustomResourceSnapshot GetCurrentSnapshot(IResource resource, ResourceNotificationState notificationState) 815private ResourceNotificationState GetResourceNotificationState(string resourceId, IResource resource) => 827private sealed class ResourceNotificationState(IResource resource) 832public IResource Resource { get; } = resource; 859public class ResourceEvent(IResource resource, string resourceId, CustomResourceSnapshot snapshot) 864public IResource Resource { get; } = resource;
ApplicationModel\ResourceReadyEvent.cs (2)
16public class ResourceReadyEvent(IResource resource, IServiceProvider services) : IDistributedApplicationResourceEvent 21public IResource Resource => resource;
ApplicationModel\ResourceRelationshipAnnotation.cs (2)
12public sealed class ResourceRelationshipAnnotation(IResource resource, string type) : IResourceAnnotation 17public IResource Resource { get; } = resource;
ApplicationModel\ResourceUrlsCallbackContext.cs (2)
16public class ResourceUrlsCallbackContext(DistributedApplicationExecutionContext executionContext, IResource resource, List<ResourceUrlAnnotation>? urls = null, CancellationToken cancellationToken = default) 21public IResource Resource { get; } = resource;
ApplicationModel\WaitAnnotation.cs (2)
18public sealed class WaitAnnotation(IResource resource, WaitType waitType, int exitCode = 0) : IResourceAnnotation 23public IResource Resource { get; } = resource;
BuiltInDistributedApplicationEventSubscriptionHandlers.cs (2)
18foreach (var container in beforeStartEvent.Model.GetContainerResources()) 54foreach (var resource in beforeStartEvent.Model.Resources)
ConnectionStringBuilderExtensions.cs (3)
59if (value is IResource resource) 69foreach (var innerRef in valueWithReferences.References.OfType<IResource>())
ContainerResourceExtensions.cs (3)
18public static IEnumerable<IResource> GetContainerResources(this DistributedApplicationModel model) 22foreach (var resource in model.Resources) 36public static bool IsContainer(this IResource resource)
CustomResourceExtensions.cs (1)
21where TResource : IResource
Dashboard\DashboardLifecycleHook.cs (1)
138private void ConfigureAspireDashboardResource(IResource dashboardResource)
Dashboard\DashboardServiceData.cs (1)
40static GenericResourceSnapshot CreateResourceSnapshot(IResource resource, string resourceId, DateTime creationTimestamp, CustomResourceSnapshot snapshot)
Dashboard\ResourcePublisher.cs (3)
19private sealed record SourceAndResourceSnapshot(IResource Source, ResourceSnapshot Snapshot); 28internal bool TryGetResource(string resourceName, [NotNullWhen(returnValue: true)] out ResourceSnapshot? snapshot, [NotNullWhen(returnValue: true)] out IResource? resource) 84internal async ValueTask IntegrateAsync(IResource source, ResourceSnapshot snapshot, ResourceSnapshotChangeType changeType)
Dcp\AppResource.cs (4)
13public IResource ModelResource { get; } 19public AppResource(IResource modelResource, CustomResource dcpResource) 40public ServiceAppResource(IResource modelResource, Service service, EndpointAnnotation sba) : base(modelResource, service) 48IResource ModelResource { get; }
Dcp\DcpExecutor.cs (16)
376_resourceState.ApplicationModel.TryGetValue(resourceName, out var appModelResource)) 481private static string GetResourceType<T>(T resource, IResource appModelResource) where T : CustomResource 668_resourceState.ApplicationModel.TryGetValue(appModelResourceName, out var appModelResource)) 1064private void EnsureRequiredAnnotations(IResource resource) 1072private static void SetInitialResourceState(IResource resource, IAnnotationHolder annotationHolder) 1087async Task CreateResourceExecutablesAsyncCore(IResource resource, IEnumerable<AppResource> executables, CancellationToken cancellationToken) 1293foreach (var container in modelContainerResources) 1349private static DcpInstance GetDcpInstance(IResource resource, int instanceIndex) 1454var modelContainerResource = cr.ModelResource; 1495private static async Task ApplyBuildArgumentsAsync(Container dcpContainerResource, IResource modelContainerResource, CancellationToken cancellationToken) 1573private void AddServicesProducedInfo(IResource modelResource, IAnnotationHolder dcpResource, AppResource appResource) 1880private async Task<(List<(string Value, bool IsSensitive)>, bool)> BuildArgsAsync(ILogger resourceLogger, IResource modelResource, CancellationToken cancellationToken) 1908private async Task<List<ContainerCreateFileSystem>> BuildCreateFilesAsync(IResource modelResource, CancellationToken cancellationToken) 1938private async Task<(List<EnvVar>, bool)> BuildEnvVarsAsync(ILogger resourceLogger, IResource modelResource, CancellationToken cancellationToken) 1965private async Task<(List<string>, bool)> BuildRunArgsAsync(ILogger resourceLogger, IResource modelResource, CancellationToken cancellationToken) 2030private static List<VolumeMount> BuildContainerMounts(IResource container)
Dcp\DcpExecutorEvents.cs (3)
11internal record OnResourceStartingContext(CancellationToken CancellationToken, string ResourceType, IResource Resource, string? DcpResourceName); 13internal record OnResourceChangedContext(CancellationToken CancellationToken, string ResourceType, IResource Resource, string DcpResourceName, ResourceStatus Status, Func<CustomResourceSnapshot, CustomResourceSnapshot> UpdateSnapshot); 14internal record OnResourceFailedToStartContext(CancellationToken CancellationToken, string ResourceType, IResource Resource, string? DcpResourceName);
Dcp\DcpNameGenerator.cs (6)
28public void EnsureDcpInstancesPopulated(IResource resource) 58private static void AddInstancesAnnotation(IResource resource, ImmutableArray<DcpInstance> instances) 63public (string Name, string Suffix) GetContainerName(IResource container) 74public (string Name, string Suffix) GetExecutableName(IResource project) 80public string GetServiceName(IResource resource, EndpointAnnotation endpoint, bool hasMultipleEndpoints, HashSet<string> allServiceNames) 122public static string GetObjectNameForResource(IResource resource, DcpOptions options, string suffix = "")
Dcp\DcpResourceState.cs (2)
10internal sealed class DcpResourceState(Dictionary<string, IResource> applicationModel, List<AppResource> appResources) 19public Dictionary<string, IResource> ApplicationModel { get; } = applicationModel;
Dcp\ResourceSnapshotBuilder.cs (4)
39_resourceState.ApplicationModel.TryGetValue(container.AppModelResourceName, out var appModelResource)) 96IResource? appModelResource = null; 132IResource? appModelResource = null; 237_resourceState.ApplicationModel.TryGetValue(resourceName, out var appModelResource) &&
Devcontainers\DevcontainerPortForwardingLifecycleHook.cs (1)
37foreach (var resource in appModel.Resources)
DistributedApplicationBuilder.cs (2)
558public IResourceBuilder<T> AddResource<T>(T resource) where T : IResource 572public IResourceBuilder<T> CreateResourceBuilder<T>(T resource) where T : IResource
DistributedApplicationBuilderExtensions.cs (2)
60public static IResourceBuilder<T> CreateResourceBuilder<T>(this IDistributedApplicationBuilder builder, string name) where T : IResource 64var resource = builder.Resources.FirstOrDefault(r => string.Equals(r.Name, name, StringComparison.OrdinalIgnoreCase));
DistributedApplicationEventingExtensions.cs (4)
22where T : IResource 44where T : IResource 66where T : IResource 70where TResource : IResource
DistributedApplicationResourceBuilder.cs (1)
8internal sealed class DistributedApplicationResourceBuilder<T>(IDistributedApplicationBuilder applicationBuilder, T resource) : IResourceBuilder<T> where T : IResource
EmulatorResourceExtensions.cs (1)
18public static bool IsEmulator(this IResource resource)
Eventing\DistributedApplicationEventing.cs (1)
106public DistributedApplicationEventSubscription Subscribe<T>(IResource resource, Func<T, CancellationToken, Task> callback) where T : IDistributedApplicationResourceEvent
Eventing\DistributedApplicationEventSubscription.cs (2)
23public class DistributedApplicationResourceEventSubscription(IResource? resource, Func<IDistributedApplicationResourceEvent, CancellationToken, Task> callback) 29public IResource? Resource { get; } = resource;
Eventing\IDistributedApplicationEvent.cs (1)
23IResource Resource { get; }
Eventing\IDistributedApplicationEventing.cs (1)
28DistributedApplicationEventSubscription Subscribe<T>(IResource resource, Func<T, CancellationToken, Task> callback) where T : IDistributedApplicationResourceEvent;
Exec\ExecEventingHandlers.cs (1)
14var resource = execResourceManager.CreateExecResource();
Exec\ExecResourceManager.cs (9)
23private readonly TaskCompletionSource<IResource> _execResourceInitialized = new(); 57IResource? execResource = null; 156public IResource? CreateExecResource() 165var targetResource = _model.Resources.FirstOrDefault(x => x.Name.Equals(_execOptions.ResourceName, StringComparisons.ResourceName)); 172var execResource = BuildResource(targetResource); 186IResource BuildResource(IResource targetExecResource) 196private IResource BuildAgainstResource(ProjectResource project) 243private IResource BuildAgainstResource(ContainerResource container)
Health\ResourceHealthCheckService.cs (2)
106var resource = state.LatestEvent.Resource; 240private void FireResourceReadyEvent(IResource resource, CancellationToken cancellationToken)
IDistributedApplicationBuilder.cs (4)
142/// constructs a resource derived from <see cref="IResource"/> and adds it to the application model using the <see cref="AddResource{T}(T)"/> 155IResourceBuilder<T> AddResource<T>(T resource) where T : IResource; 175/// Calling extension methods on the <see cref="IResourceBuilder{T}"/> typically results in modifications to the <see cref="IResource.Annotations"/> 211IResourceBuilder<T> CreateResourceBuilder<T>(T resource) where T : IResource;
Orchestrator\ApplicationOrchestrator.cs (12)
19private readonly ILookup<IResource, IResource> _parentChildLookup; 124private async Task PublishResourceEndpointUrls(IResource resource, CancellationToken cancellationToken) 134private static IEnumerable<UrlSnapshot> GetResourceUrls(IResource resource) 187static Task PublishUpdateAsync(ResourceNotificationService notificationService, IResource resource, string? resourceId, Func<CustomResourceSnapshot, CustomResourceSnapshot> stateFactory) 200private async Task ProcessResourceUrlCallbacks(IResource resource, CancellationToken cancellationToken) 389private async Task SetChildResourceAsync(IResource resource, string? state, DateTime? startTimeStamp, DateTime? stopTimeStamp) 391foreach (var child in _parentChildLookup[resource]) 412foreach (var resource in _model.Resources) 416var parent = resource is IResourceWithParent hasParent 438private static ImmutableArray<HealthReportSnapshot> GetInitialHealthReports(IResource resource) 449private async Task PublishConnectionStringAvailableEvent(IResource resource, CancellationToken cancellationToken)
Orchestrator\RelationshipEvaluator.cs (19)
13public static ILookup<IResource, IResource> GetParentChildLookup(DistributedApplicationModel model) 18.Select(x => (Child: (IResource)x, Parent: x.Parent)) 24private static IEnumerable<(IResource Child, IResource Parent)> GetParentChildRelationshipsFromAnnotations(DistributedApplicationModel model) 26static bool TryGetParent(IResource resource, [NotNullWhen(true)] out IResource? parent) 39static IResource? SelectParentResource(IResource? resource) => resource switch 41IResource r when TryGetParent(r, out var parent) => parent, 54private static void ValidateRelationships((IResource Child, IResource Parent)[] relationships) 64var visited = new Stack<IResource>(); 70static void ValidateNoCircularDependencies(Dictionary<IResource, IResource> childToParentLookup, IResource child, Stack<IResource> visited) 73if (childToParentLookup.TryGetValue(child, out var parent))
OtlpConfigurationExtensions.cs (3)
26public static void AddOtlpEnvironment(IResource resource, IConfiguration configuration, IHostEnvironment environment) 45public static void AddOtlpEnvironment(IResource resource, IConfiguration configuration, IHostEnvironment environment, OtlpProtocol protocol) 57private static void RegisterOtlpEnvironment(IResource resource, IConfiguration configuration, IHostEnvironment environment)
Publishing\DeployingContext.cs (1)
74foreach (var resource in model.Resources)
Publishing\ManifestPublishingContext.cs (19)
44private readonly Dictionary<string, IResource> _referencedResources = []; 77foreach (var resource in model.Resources) 90internal async Task WriteResourceAsync(IResource resource) 126async Task WriteResourceObjectAsync<T>(T resource, Func<Task> action) where T : IResource 378/// <param name="resource">The <see cref="IResource"/>.</param> 379public void WriteConnectionString(IResource resource) 390/// <see cref="EndpointAnnotation"/> entries in the <see cref="IResource.Annotations"/> 393/// <param name="resource">The <see cref="IResource"/> that contains <see cref="EndpointAnnotation"/> annotations.</param> 394public void WriteBindings(IResource resource) 483/// Writes environment variables to the manifest base on the <see cref="IResource"/> resource's <see cref="EnvironmentCallbackAnnotation"/> annotations."/> 485/// <param name="resource">The <see cref="IResource"/> which contains <see cref="EnvironmentCallbackAnnotation"/> annotations.</param> 486public async Task WriteEnvironmentVariablesAsync(IResource resource) 525/// Writes command line arguments to the manifest based on the <see cref="IResource"/> resource's <see cref="CommandLineArgsCallbackAnnotation"/> annotations. 527/// <param name="resource">The <see cref="IResource"/> that contains <see cref="CommandLineArgsCallbackAnnotation"/> annotations.</param> 529public async Task WriteCommandLineArgumentsAsync(IResource resource) 626/// Ensures that any <see cref="IResource"/> instances referenced by <paramref name="value"/> are 632if (value is IResource resource) 656foreach (var existingResource in model.Resources) 662foreach (var resource in _referencedResources.Values)
Publishing\Publisher.cs (3)
43var publishingResources = new List<IResource>(); 44var deployingResources = new List<IResource>(); 46foreach (var resource in model.Resources)
Publishing\PublishingContext.cs (1)
73foreach (var resource in model.Resources)
Publishing\ResourceContainerImageBuilder.cs (9)
104Task BuildImageAsync(IResource resource, ContainerBuildOptions? options = null, CancellationToken cancellationToken = default); 113Task BuildImagesAsync(IEnumerable<IResource> resources, ContainerBuildOptions? options = null, CancellationToken cancellationToken = default); 129public async Task BuildImagesAsync(IEnumerable<IResource> resources, ContainerBuildOptions? options = null, CancellationToken cancellationToken = default) 166foreach (var resource in resources) 176public Task BuildImageAsync(IResource resource, ContainerBuildOptions? options = null, CancellationToken cancellationToken = default) 181private async Task BuildImageAsync(IPublishingStep? step, IResource resource, ContainerBuildOptions? options, CancellationToken cancellationToken) 218private async Task BuildProjectContainerImageAsync(IResource resource, IPublishingStep? step, ContainerBuildOptions? options, CancellationToken cancellationToken) 249private async Task<bool> ExecuteDotnetPublishAsync(IResource resource, ContainerBuildOptions? options, CancellationToken cancellationToken) 391internal static bool ResourcesRequireContainerRuntime(IEnumerable<IResource> resources, ContainerBuildOptions? options)
ResourceBuilderExtensions.cs (49)
349public static IResourceBuilder<T> WithManifestPublishingCallback<T>(this IResourceBuilder<T> builder, Action<ManifestPublishingContext> callback) where T : IResource 366public static IResourceBuilder<T> WithPublishingCallback<T>(this IResourceBuilder<T> builder, Func<PublishingContext, Task> callback) where T : IResource 382public static IResourceBuilder<T> WithManifestPublishingCallback<T>(this IResourceBuilder<T> builder, Func<ManifestPublishingContext, Task> callback) where T : IResource 885where T : IResource 908where T : IResource 929where T : IResource 950where T : IResource 972where T : IResource 1027where T : IResource 1098public static IResourceBuilder<T> ExcludeFromManifest<T>(this IResourceBuilder<T> builder) where T : IResource 1116/// resources, calling <see cref="WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/> also results 1132public static IResourceBuilder<T> WaitFor<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency) where T : IResourceWithWaitSupport 1152/// resources, calling <see cref="WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource}, WaitBehavior)"/> also results 1160/// behavior with the <see cref="WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/> overload.</para> 1174public static IResourceBuilder<T> WaitFor<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency, WaitBehavior waitBehavior) where T : IResourceWithWaitSupport 1182private static IResourceBuilder<T> WaitForCore<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency, WaitBehavior? waitBehavior, bool addRelationship) where T : IResourceWithWaitSupport 1184if (builder.Resource as IResource == dependency.Resource) 1224/// <para>Unlike <see cref="WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/>, this method 1238public static IResourceBuilder<T> WaitForStart<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency) where T : IResourceWithWaitSupport 1258/// <para>Unlike <see cref="WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource}, WaitBehavior)"/>, this method 1264/// behavior with the <see cref="WaitForStart{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/> overload.</para> 1278public static IResourceBuilder<T> WaitForStart<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency, WaitBehavior waitBehavior) where T : IResourceWithWaitSupport 1286private static IResourceBuilder<T> WaitForStartCore<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency, WaitBehavior? waitBehavior, bool addRelationship) where T : IResourceWithWaitSupport 1288if (builder.Resource as IResource == dependency.Resource) 1313foreach (var referencedResource in cs.ConnectionStringExpression.ValueProviders.OfType<IResource>()) 1348public static IResourceBuilder<T> WithExplicitStart<T>(this IResourceBuilder<T> builder) where T : IResource 1379public static IResourceBuilder<T> WaitForCompletion<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency, int exitCode = 0) where T : IResourceWithWaitSupport 1384if (builder.Resource as IResource == dependency.Resource) 1409/// the <see cref="WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/> to associate a resource 1435public static IResourceBuilder<T> WithHealthCheck<T>(this IResourceBuilder<T> builder, string key) where T : IResource 1634CommandOptions? commandOptions = null) where T : IResource 1701bool isHighlighted = false) where T : IResource 2044IResource resource, 2045string type) where T : IResource 2063IResource resource) where T : IResource 2080ReferenceExpression expression) where T : IResource 2091where T : IResource 2095void AddReference(IResource resource) 2107if (value is IResource resource) 2111else if (value is IResourceBuilder<IResource> resourceBuilder) 2139IResourceBuilder<IResource> resourceBuilder) where T : IResource 2172IResourceBuilder<IResource> parent) where T : IResource 2202IResource parent) where T : IResource 2235public static IResourceBuilder<T> WithIconName<T>(this IResourceBuilder<T> builder, string iconName, IconVariant iconVariant = IconVariant.Filled) where T : IResource
ResourceLoggerForwarderService.cs (1)
61private async Task WatchResourceLogs(IResource resource, string resourceId, CancellationToken cancellationToken)
Utils\ImageNameGenerator.cs (2)
12public static string GenerateImageName<T>(this IResourceBuilder<T> builder) where T : IResource 19public static string GenerateImageTag<T>(this IResourceBuilder<T> builder) where T : IResource
VolumeNameGenerator.cs (1)
21public static string Generate<T>(IResourceBuilder<T> builder, string suffix) where T : IResource
Aspire.Hosting.Azure (32)
AzureDeployingContext.cs (10)
127var resourcesByRegistry = new Dictionary<IContainerRegistry, List<IResource>>(); 129foreach (var computeResource in computeResources) 166foreach (var computeResource in computeResources) 183private async Task DeployComputeResource(IPublishingStep parentStep, IResource computeResource, ProvisioningContext provisioningContext, CancellationToken cancellationToken) 223private static bool TryGetContainerRegistry(IResource computeResource, [NotNullWhen(true)] out IContainerRegistry? containerRegistry) 236private async Task ProcessResourcesForRegistry(IContainerRegistry registry, List<IResource> resources, CancellationToken cancellationToken) 300private static async Task PushImageToAcr(IPublishingStep parentStep, IEnumerable<IResource> resources, CancellationToken cancellationToken) 302foreach (var resource in resources) 353private static string TryGetComputeResourceEndpoint(IResource computeResource, IAzureComputeEnvironmentResource azureComputeEnv) 374foreach (var resource in model.Resources)
AzurePublishingContext.cs (1)
309foreach (var resource in model.Resources)
AzureResourcePreparer.cs (11)
51internal static List<(IResource Resource, IAzureResource AzureResource)> GetAzureResourcesFromAppModel(DistributedApplicationModel appModel) 58var azureResources = new List<(IResource, IAzureResource)>(); 59foreach (var resource in appModel.Resources) 90foreach (var resource in appModel.Resources) 104private async Task BuildRoleAssignmentAnnotations(DistributedApplicationModel appModel, List<(IResource Resource, IAzureResource AzureResource)> azureResources, AzureProvisioningOptions options, CancellationToken cancellationToken) 130foreach (var resource in resourceSnapshot) 238static bool IsResourceValidForRoleAssignments(IResource resource) 244private static Dictionary<AzureProvisioningResource, IEnumerable<RoleDefinition>> GetAllRoleAssignments(IResource resource) 259IResource resource, 291IResource resource, 362private async Task<HashSet<IAzureResource>> GetAzureReferences(IResource resource, CancellationToken cancellationToken)
BicepResourceAnnotation.cs (1)
16/// that can be added to any <see cref="IResource"/> will be detected by the <see cref="AzureProvisioner"/> and used to
ExistingAzureResourceExtensions.cs (1)
20public static bool IsExisting(this IResource resource)
IAzureResource.cs (1)
7/// Represents an Azure resource, as a marker interface for <see cref="IResource"/>'s
Provisioning\Provisioners\AzureProvisioner.cs (7)
29private ILookup<IResource, IResourceWithParent>? _parentChildLookup; 49async Task UpdateStateAsync((IResource Resource, IAzureResource AzureResource) resource, Func<CustomResourceSnapshot, CustomResourceSnapshot> stateFactory) 84async Task AfterProvisionAsync((IResource Resource, IAzureResource AzureResource) resource) 118async Task<bool> WaitForRoleAssignments((IResource Resource, IAzureResource AzureResource) resource) 168IList<(IResource Resource, IAzureResource AzureResource)> azureResources, 199private async Task ProcessResourceAsync(IConfiguration configuration, Lazy<Task<ProvisioningContext>> provisioningContextLazy, (IResource Resource, IAzureResource AzureResource) resource, CancellationToken cancellationToken) 270async Task PublishConnectionStringAvailableEventRecursiveAsync(IResource targetResource)
Aspire.Hosting.Azure.AIFoundry (3)
AzureAIFoundryExtensions.cs (1)
191where T : IResource
src\Shared\AzureRoleAssignmentUtils.cs (2)
11where T : IResource 19where T : IResource
Aspire.Hosting.Azure.AppConfiguration (3)
AzureAppConfigurationExtensions.cs (1)
169where T : IResource
src\Shared\AzureRoleAssignmentUtils.cs (2)
11where T : IResource 19where T : IResource
Aspire.Hosting.Azure.AppContainers (14)
AzureContainerAppEnvironmentResource.cs (2)
58internal Dictionary<string, (IResource resource, ContainerMountAnnotation volume, int index, BicepOutputReference outputReference)> VolumeNames { get; } = []; 67internal BicepOutputReference GetVolumeStorage(IResource resource, ContainerMountAnnotation volume, int volumeIndex)
AzureContainerAppsInfrastructure.cs (2)
45foreach (var r in appModel.GetComputeResources()) 63foreach (var r in appModel.GetComputeResources())
ContainerAppContext.cs (3)
16internal sealed class ContainerAppContext(IResource resource, ContainerAppEnvironmentContext containerAppEnvironmentContext) 20public IResource Resource => resource; 200private static bool TryGetContainerImageName(IResource resource, out string? containerImageName)
ContainerAppEnvironmentContext.cs (3)
21private readonly Dictionary<IResource, ContainerAppContext> _containerApps = new(new ResourceNameComparer()); 23public ContainerAppContext GetContainerAppContext(IResource resource) 33public async Task<AzureBicepResource> CreateContainerAppAsync(IResource resource, AzureProvisioningOptions provisioningOptions, CancellationToken cancellationToken)
src\Shared\ResourceNameComparer.cs (4)
8internal sealed class ResourceNameComparer : IEqualityComparer<IResource> 10public bool Equals(IResource? x, IResource? y) 20public int GetHashCode(IResource obj) =>
Aspire.Hosting.Azure.AppService (11)
AzureAppServiceEnvironmentContext.cs (3)
21private readonly Dictionary<IResource, AzureAppServiceWebsiteContext> _appServices = new(new ResourceNameComparer()); 23public AzureAppServiceWebsiteContext GetAppServiceContext(IResource resource) 33public async Task<AzureBicepResource> CreateAppServiceAsync(IResource resource, AzureProvisioningOptions provisioningOptions, CancellationToken cancellationToken)
AzureAppServiceInfrastructure.cs (2)
39foreach (var resource in appModel.GetComputeResources()) 62foreach (var r in appModel.GetComputeResources())
AzureAppServiceWebsiteContext.cs (2)
16IResource resource, 19public IResource Resource => resource;
src\Shared\ResourceNameComparer.cs (4)
8internal sealed class ResourceNameComparer : IEqualityComparer<IResource> 10public bool Equals(IResource? x, IResource? y) 20public int GetHashCode(IResource obj) =>
Aspire.Hosting.Azure.CognitiveServices (3)
AzureOpenAIExtensions.cs (1)
220where T : IResource
src\Shared\AzureRoleAssignmentUtils.cs (2)
11where T : IResource 19where T : IResource
Aspire.Hosting.Azure.ContainerRegistry (4)
AzureContainerRegistryExtensions.cs (2)
75where T : IResource, IComputeEnvironmentResource 98where T : IResource
src\Shared\AzureRoleAssignmentUtils.cs (2)
11where T : IResource 19where T : IResource
Aspire.Hosting.Azure.EventHubs (3)
AzureEventHubsExtensions.cs (1)
475where T : IResource
src\Shared\AzureRoleAssignmentUtils.cs (2)
11where T : IResource 19where T : IResource
Aspire.Hosting.Azure.Functions (2)
src\Shared\AzureRoleAssignmentUtils.cs (2)
11where T : IResource 19where T : IResource
Aspire.Hosting.Azure.KeyVault (3)
AzureKeyVaultResourceExtensions.cs (1)
155where T : IResource
src\Shared\AzureRoleAssignmentUtils.cs (2)
11where T : IResource 19where T : IResource
Aspire.Hosting.Azure.Search (3)
AzureSearchExtensions.cs (1)
102where T : IResource
src\Shared\AzureRoleAssignmentUtils.cs (2)
11where T : IResource 19where T : IResource
Aspire.Hosting.Azure.ServiceBus (3)
AzureServiceBusExtensions.cs (1)
620where T : IResource
src\Shared\AzureRoleAssignmentUtils.cs (2)
11where T : IResource 19where T : IResource
Aspire.Hosting.Azure.SignalR (3)
AzureSignalRExtensions.cs (1)
171where T : IResource
src\Shared\AzureRoleAssignmentUtils.cs (2)
11where T : IResource 19where T : IResource
Aspire.Hosting.Azure.Storage (3)
AzureStorageExtensions.cs (1)
591where T : IResource
src\Shared\AzureRoleAssignmentUtils.cs (2)
11where T : IResource 19where T : IResource
Aspire.Hosting.Azure.Tests (42)
AzureAppServiceTests.cs (3)
167var container = Assert.Single(model.GetContainerResources()); 203var container = Assert.Single(model.GetContainerResources()); 364private static Task<(JsonNode ManifestNode, string BicepText)> GetManifestWithBicep(IResource resource) =>
AzureBicepResourceTests.cs (6)
30public static TheoryData<Func<IDistributedApplicationBuilder, IResourceBuilder<IResource>>> AzureExtensions => 33private static TheoryData<Func<IDistributedApplicationBuilder, IResourceBuilder<IResource>>> CreateAllAzureExtensions(string resourceName) 72public void AzureExtensionsAutomaticallyAddAzureProvisioning(Func<IDistributedApplicationBuilder, IResourceBuilder<IResource>> addAzureResource) 84public void BicepResourcesAreIdempotent(Func<IDistributedApplicationBuilder, IResourceBuilder<IResource>> addAzureResource) 100public static TheoryData<Func<IDistributedApplicationBuilder, IResourceBuilder<IResource>>> AzureExtensionsWithHyphen => 105public void AzureResourcesProduceValidBicep(Func<IDistributedApplicationBuilder, IResourceBuilder<IResource>> addAzureResource)
AzureContainerAppsTests.cs (20)
38var container = Assert.Single(model.GetContainerResources()); 72var container = Assert.Single(model.GetContainerResources()); 176var container = Assert.Single(model.GetContainerResources()); 219var container = Assert.Single(model.GetContainerResources()); 249var container = Assert.Single(model.GetContainerResources()); 439var container = Assert.Single(model.GetContainerResources()); 471var container = Assert.Single(model.GetContainerResources()); 505var container = Assert.Single(model.GetContainerResources()); 541var container = Assert.Single(model.GetContainerResources()); 579var container = Assert.Single(model.GetContainerResources()); 619var container = Assert.Single(model.GetContainerResources()); 651var container = Assert.Single(model.GetContainerResources()); 691var container = Assert.Single(model.GetContainerResources()); 773var container = Assert.Single(model.GetContainerResources()); 816var container = Assert.Single(model.GetContainerResources()); 847var container = Assert.Single(model.GetContainerResources()); 879var container = Assert.Single(model.GetContainerResources()); 1443var container = Assert.Single(model.GetContainerResources()); 1466private static Task<(JsonNode ManifestNode, string BicepText)> GetManifestWithBicep(IResource resource) => 1490var container = Assert.Single(model.GetContainerResources());
AzureEventHubsExtensionsTests.cs (1)
517var azurite = builder.Resources.FirstOrDefault(x => x.Name == "eh-storage");
AzureFunctionsTests.cs (1)
418private static Task<(JsonNode ManifestNode, string BicepText)> GetManifestWithBicep(IResource resource) =>
AzureManifestUtils.cs (3)
14public static Task<(JsonNode ManifestNode, string BicepText)> GetManifestWithBicep(IResource resource, bool skipPreparer = false) => 17public static Task<(JsonNode ManifestNode, string BicepText)> GetManifestWithBicep(DistributedApplicationModel appModel, IResource resource) => 20private static async Task<(JsonNode ManifestNode, string BicepText)> GetManifestWithBicep(DistributedApplicationModel appModel, IResource resource, bool skipPreparer)
AzurePostgresExtensionsTests.cs (2)
289var postgresResourceInModel = builder.Resources.Single(r => r.Name == "postgres-data"); 290var dbResourceInModel = builder.Resources.Single(r => r.Name == "db1");
AzureRedisExtensionsTests.cs (1)
176var cacheInModel = builder.Resources.Single(r => r.Name == "cache");
AzureServiceBusExtensionsTests.cs (1)
613var sql = builder.Resources.FirstOrDefault(x => x.Name == "sb-sqledge");
AzureSqlExtensionsTests.cs (2)
217var sqlResourceInModel = builder.Resources.Single(r => r.Name == "sql"); 218var dbResourceInModel = builder.Resources.Single(r => r.Name == "db1");
ContainerRegistryTests.cs (1)
156foreach (var resource in model.Resources)
RoleAssignmentTests.cs (1)
226private static Task<(JsonNode ManifestNode, string BicepText)> GetManifestWithBicep(IResource resource) =>
Aspire.Hosting.Azure.WebPubSub (3)
AzureWebPubSubExtensions.cs (1)
269where T : IResource
src\Shared\AzureRoleAssignmentUtils.cs (2)
11where T : IResource 19where T : IResource
Aspire.Hosting.Containers.Tests (11)
ContainerResourceBuilderTests.cs (1)
218where T: IResource
ContainerResourceTests.cs (10)
24var containerResource = Assert.Single(containerResources); 43var containerResource = Assert.Single(containerResources); 62var containerResource = Assert.Single(containerResources); 82var containerResource = Assert.Single(containerResources); 170var containerResource = Assert.Single(app.Services.GetRequiredService<DistributedApplicationModel>().GetContainerResources()); 204var containerResource = Assert.Single(app.Services.GetRequiredService<DistributedApplicationModel>().GetContainerResources()); 232var containerResource = Assert.Single(app.Services.GetRequiredService<DistributedApplicationModel>().GetContainerResources()); 251var containerResource = Assert.Single(app.Services.GetRequiredService<DistributedApplicationModel>().GetContainerResources()); 300var containerResource = Assert.Single(app.Services.GetRequiredService<DistributedApplicationModel>().GetContainerResources()); 347var containerResource = Assert.Single(app.Services.GetRequiredService<DistributedApplicationModel>().GetContainerResources());
Aspire.Hosting.Docker (19)
DockerComposeEnvironmentContext.cs (1)
12public async Task<DockerComposeServiceResource> CreateDockerComposeServiceResourceAsync(IResource resource, DistributedApplicationExecutionContext executionContext, CancellationToken cancellationToken)
DockerComposeEnvironmentResource.cs (1)
53internal Dictionary<IResource, DockerComposeServiceResource> ResourceMapping { get; } = new(new ResourceNameComparer());
DockerComposeInfrastructure.cs (3)
50foreach (var r in appModel.GetComputeResources()) 72foreach (var r in appModel.GetComputeResources()) 81private static void ConfigureOtlp(IResource resource, EndpointReference otlpEndpoint)
DockerComposePublishingContext.cs (4)
75IEnumerable<IResource> resources = environment.Dashboard?.Resource is IResource r 79var containerImagesToBuild = new List<IResource>(); 81foreach (var resource in resources)
DockerComposeServiceExtensions.cs (2)
108var resourceInstance = dockerComposeService.TargetResource; 122var resourceInstance = dockerComposeService.TargetResource;
DockerComposeServiceResource.cs (4)
15public class DockerComposeServiceResource(string name, IResource resource, DockerComposeEnvironmentResource composeEnvironmentResource) : Resource(name), IResourceWithParent<DockerComposeEnvironmentResource> 36IResource Resource, 47internal IResource TargetResource => resource; 93private bool TryGetContainerImageName(IResource resourceInstance, out string? containerImageName)
src\Shared\ResourceNameComparer.cs (4)
8internal sealed class ResourceNameComparer : IEqualityComparer<IResource> 10public bool Equals(IResource? x, IResource? y) 20public int GetHashCode(IResource obj) =>
Aspire.Hosting.Docker.Tests (4)
DockerComposePublisherTests.cs (2)
486public Task BuildImageAsync(IResource resource, ContainerBuildOptions? options = null, CancellationToken cancellationToken = default) 492public Task BuildImagesAsync(IEnumerable<IResource> resources, ContainerBuildOptions? options = null, CancellationToken cancellationToken = default)
DockerComposeTests.cs (2)
149public Task BuildImageAsync(IResource resource, ContainerBuildOptions? options = null, CancellationToken cancellationToken = default) 155public Task BuildImagesAsync(IEnumerable<IResource> resources, ContainerBuildOptions? options = null, CancellationToken cancellationToken = default)
Aspire.Hosting.Kafka.Tests (1)
AddKafkaTests.cs (1)
173var kafkaUiResource = Assert.Single(builder.Resources, r => r.Name == expectedContainerName);
Aspire.Hosting.Keycloak.Tests (2)
KeycloakPublicApiTests.cs (2)
163var keycloakResource = builder.Resources.Single(r => r.Name.Equals(resourceName, StringComparison.Ordinal)); 190var keycloakResource = builder.Resources.Single(r => r.Name.Equals(resourceName, StringComparison.Ordinal));
Aspire.Hosting.Kubernetes (20)
Extensions\ResourceExtensions.cs (7)
11internal static Deployment ToDeployment(this IResource resource, KubernetesResource context) 40internal static StatefulSet ToStatefulSet(this IResource resource, KubernetesResource context) 60internal static Secret? ToSecret(this IResource resource, KubernetesResource context) 91internal static ConfigMap? ToConfigMap(this IResource resource, KubernetesResource context) 118internal static Service? ToService(this IResource resource, KubernetesResource context) 154private static PodTemplateSpecV1 ToPodTemplateSpec(this IResource resource, KubernetesResource context) 221private static ContainerV1 ToContainerV1(this IResource resource, KubernetesResource context)
KubernetesEnvironmentContext.cs (2)
11private readonly Dictionary<IResource, KubernetesResource> _kubernetesComponents = []; 15public async Task<KubernetesResource> CreateKubernetesResourceAsync(IResource resource, DistributedApplicationExecutionContext executionContext, CancellationToken cancellationToken)
KubernetesInfrastructure.cs (2)
38foreach (var r in appModel.GetComputeResources()) 56foreach (var r in appModel.GetComputeResources())
KubernetesPublishingContext.cs (4)
70foreach (var resource in model.Resources) 91private async Task AppendResourceContextToHelmValuesAsync(IResource resource, KubernetesResource resourceContext) 99IResource resource, 138private async Task WriteKubernetesTemplatesForResource(IResource resource, IEnumerable<BaseKubernetesResource> templatedItems)
KubernetesResource.cs (3)
14public class KubernetesResource(string name, IResource resource, KubernetesEnvironmentResource kubernetesEnvironmentResource) : Resource(name), IResourceWithParent<KubernetesEnvironmentResource> 57internal IResource TargetResource => resource; 130internal string GetContainerImageName(IResource resourceInstance)
KubernetesServiceResourceExtensions.cs (2)
117private static HelmExpressionWithValue AllocateParameter(ParameterResource parameter, IResource resource) 136private static HelmExpressionWithValue ResolveUnknownValue(IManifestExpressionProvider parameter, IResource resource)
Aspire.Hosting.Milvus.Tests (2)
AddMilvusTests.cs (2)
27var containerResource = Assert.Single(appModel.GetContainerResources()); 57var containerResource = Assert.Single(appModel.GetContainerResources());
Aspire.Hosting.MySql (1)
MySqlBuilderExtensions.cs (1)
99/// the extension method <see cref="ResourceBuilderExtensions.WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/>
Aspire.Hosting.MySql.Tests (4)
AddMySqlTests.cs (4)
84var containerResource = Assert.Single(appModel.GetContainerResources()); 241var myAdmin = builder.Resources.Single(r => r.Name.Equals("phpmyadmin")); 247var container = builder.Resources.Single(r => r.Name == "phpmyadmin"); 273var myAdmin = builder.Resources.Single(r => r.Name.Equals("phpmyadmin"));
Aspire.Hosting.Oracle.Tests (3)
AddOracleTests.cs (3)
44var containerResource = Assert.Single(appModel.GetContainerResources()); 83var containerResource = Assert.Single(appModel.GetContainerResources()); 165var containerResource = Assert.Single(containerResources);
Aspire.Hosting.PostgreSQL (2)
PostgresBuilderExtensions.cs (2)
35/// using the <see cref="ResourceBuilderExtensions.WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/> 128/// using the <see cref="ResourceBuilderExtensions.WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/>
Aspire.Hosting.PostgreSQL.Tests (7)
AddPostgresTests.cs (7)
54var containerResource = Assert.Single(appModel.GetContainerResources()); 108var containerResource = Assert.Single(appModel.GetContainerResources()); 201var containerResource = Assert.Single(containerResources); 381var container = builder.Resources.Single(r => r.Name == "pgadmin"); 435var container = builder.Resources.Single(r => r.Name == "pgadmin"); 469var pgadmin = builder.Resources.Single(r => r.Name.Equals("pgadmin")); 534var pgweb = builder.Resources.Single(r => r.Name.Equals("pgweb"));
Aspire.Hosting.Qdrant.Tests (4)
AddQdrantTests.cs (3)
47var containerResource = Assert.Single(appModel.GetContainerResources()); 86var containerResource = Assert.Single(appModel.GetContainerResources()); 119var containerResource = Assert.Single(appModel.GetContainerResources());
QdrantFunctionalTests.cs (1)
229var qdrantResource = builder.Resources.Single(r => r.Name.Equals("qdrant"));
Aspire.Hosting.Redis (2)
RedisBuilderExtensions.cs (2)
28/// using the <see cref="ResourceBuilderExtensions.WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/> 50/// using the <see cref="ResourceBuilderExtensions.WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/>
Aspire.Hosting.Redis.Tests (4)
AddRedisTests.cs (4)
284var redisinsight = builder.Resources.Single(r => r.Name.Equals("redisinsight")); 494var commander = builder.Resources.Single(r => r.Name.Equals("rediscommander")); 520var commander = builder.Resources.Single(r => r.Name.Equals("rediscommander")); 541var commander = builder.Resources.Single(r => r.Name.Equals("rediscommander"));
Aspire.Hosting.SqlServer (1)
SqlServerBuilderExtensions.cs (1)
103/// the extension method <see cref="ResourceBuilderExtensions.WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/>
Aspire.Hosting.Testing (10)
DistributedApplicationHostingTestingExtensions.cs (4)
48var resource = GetResource(app, resourceName); 74static IResource GetResource(DistributedApplication app, string resourceName) 80var resource = resources.SingleOrDefault(r => string.Equals(r.Name, resourceName, StringComparison.OrdinalIgnoreCase)); 92var resource = GetResource(app, resourceName);
DistributedApplicationTestingBuilder.cs (6)
241public IResourceBuilder<T> AddResource<T>(T resource) where T : IResource => innerBuilder.AddResource(resource); 251public IResourceBuilder<T> CreateResourceBuilder<T>(T resource) where T : IResource => innerBuilder.CreateResourceBuilder(resource); 391public IResourceBuilder<T> AddResource<T>(T resource) where T : IResource => _innerBuilder.AddResource(resource); 405public IResourceBuilder<T> CreateResourceBuilder<T>(T resource) where T : IResource => _innerBuilder.CreateResourceBuilder(resource); 479new IResourceBuilder<T> AddResource<T>(T resource) where T : IResource => ((IDistributedApplicationBuilder)this).AddResource(resource); 482new IResourceBuilder<T> CreateResourceBuilder<T>(T resource) where T : IResource => ((IDistributedApplicationBuilder)this).CreateResourceBuilder(resource);
Aspire.Hosting.Testing.Tests (3)
TestingBuilderTests.cs (1)
100foreach (var resource in appModel.GetContainerResources())
tests\Aspire.Hosting.Tests\Utils\LoggerNotificationExtensions.cs (1)
31public static async Task WaitForHealthyAsync<T>(this DistributedApplication app, IResourceBuilder<T> resource, CancellationToken cancellationToken = default) where T : IResource
tests\Shared\ConsoleLogging\ConsoleLoggingTestHelpers.cs (1)
8public static Task<IReadOnlyList<LogLine>> WatchForLogsAsync(ResourceLoggerService service, int targetLogCount, IResource resource)
Aspire.Hosting.Tests (31)
Dashboard\DashboardLifecycleHookTests.cs (2)
90var dashboardResource = model.Resources.Single(r => string.Equals(r.Name, KnownResourceNames.AspireDashboard, StringComparisons.ResourceName)); 138var dashboardResource = model.Resources.Single(r => string.Equals(r.Name, KnownResourceNames.AspireDashboard, StringComparisons.ResourceName));
Dashboard\DashboardResourceTests.cs (8)
105var dashboard = Assert.Single(model.Resources); 217var dashboard = Assert.Single(model.Resources); 256var dashboard = Assert.Single(model.Resources); 292var dashboard = Assert.Single(model.Resources); 331var container = Assert.Single(model.Resources, r => r.Name == "my-container"); 335var dashboard = Assert.Single(model.Resources, r => r.Name == "aspire-dashboard"); 376var dashboard = Assert.Single(model.Resources, r => r.Name == "aspire-dashboard"); 548static void SetDashboardAllocatedEndpoints(IResource dashboard, int otlpGrpcPort, int otlpHttpPort, int httpPort)
Dcp\DcpExecutorTests.cs (3)
1274private static void HasKnownCommandAnnotations(IResource resource) 1342private sealed class CustomChildResource(string name, IResource parent) : Resource(name), IResourceWithParent 1344public IResource Parent => parent;
DistributedApplicationBuilderTests.cs (1)
64var resource = Assert.Single(appModel.Resources);
DistributedApplicationTests.cs (1)
438foreach (var item in appModel.Resources)
Orchestrator\ApplicationOrchestratorTests.cs (3)
479private sealed class CustomChildResource(string name, IResource parent) : Resource(name), IResourceWithParent 481public IResource Parent => parent; 535public IResource Parent { get; } = parent;
Orchestrator\ParameterProcessorTests.cs (1)
77var updates = new List<(IResource Resource, CustomResourceSnapshot Snapshot)>();
Orchestrator\RelationshipEvaluatorTests.cs (2)
47private sealed class CustomChildResource(string name, IResource parent) : Resource(name), IResourceWithParent 49public IResource Parent => parent;
tests\Shared\ConsoleLogging\ConsoleLoggingTestHelpers.cs (1)
8public static Task<IReadOnlyList<LogLine>> WatchForLogsAsync(ResourceLoggerService service, int targetLogCount, IResource resource)
Utils\ArgumentEvaluator.cs (1)
11public static async ValueTask<List<string>> GetArgumentListAsync(IResource resource)
Utils\EnvironmentVariableEvaluator.cs (1)
11public static async ValueTask<Dictionary<string, string>> GetEnvironmentVariablesAsync(IResource resource,
Utils\LoggerNotificationExtensions.cs (1)
31public static async Task WaitForHealthyAsync<T>(this DistributedApplication app, IResourceBuilder<T> resource, CancellationToken cancellationToken = default) where T : IResource
Utils\ManifestUtils.cs (4)
12public static async Task<JsonNode> GetManifest(IResource resource, string? manifestDirectory = null) 19public static async Task<JsonNode?> GetManifestOrNull(IResource resource, string? manifestDirectory = null) 38public static async Task<JsonNode[]> GetManifests(IResource[] resources) 47foreach (var r in resources)
WithEnvironmentTests.cs (2)
472private readonly IResource _referencedResource; 474public TestValueWithReferences(string value, IResource referencedResource)
Aspire.Playground.Tests (3)
Infrastructure\DistributedApplicationExtensions.cs (2)
71var resource = resourceVolume.Resource; 143static bool ShouldAssertErrorsForResource(IResource resource)
tests\Aspire.Hosting.Tests\Utils\LoggerNotificationExtensions.cs (1)
31public static async Task WaitForHealthyAsync<T>(this DistributedApplication app, IResourceBuilder<T> resource, CancellationToken cancellationToken = default) where T : IResource
Stress.AppHost (7)
InteractionCommands.cs (1)
12public static IResourceBuilder<T> AddInteractionCommands<T>(this IResourceBuilder<T> resource) where T : IResource
Program.cs (3)
19IResource parent = rb.Resource; 135IResourceBuilder<IResource>? previousResourceBuilder = null; 163foreach (var r in resources)
TestResource.cs (3)
30public static IResourceBuilder<TestNestedResource> AddNestedResource(this IDistributedApplicationBuilder builder, string name, IResource parent) 104sealed class TestNestedResource(string name, IResource parent) : Resource(name), IResourceWithParent 106public IResource Parent { get; } = parent;