14 interfaces inheriting from IResource
Aspire.Hosting (11)
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\IResourceWithProbes.cs (1)
12public interface IResourceWithProbes : 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
11 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 (4)
DistributedApplicationBuilderTests.cs (1)
173private sealed class TestResource : IResource
DistributedApplicationModelExtensionsTests.cs (1)
37private sealed class CustomResource : IResource
Eventing\DistributedApplicationBuilderEventingTests.cs (1)
342private sealed class TestResource(string name) : IResource
Utils\VolumeNameGeneratorTests.cs (1)
46private sealed class TestResource(string name) : IResource
640 references to IResource
Aspire.Hosting (333)
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)
12internal 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)
273public required IResource Model { get; init; }
ApplicationModel\ContainerImageReference.cs (2)
20public ContainerImageReference(IResource resource) 28public IResource Resource { get; }
ApplicationModel\ContainerPortReference.cs (2)
12public class ContainerPortReference(IResource resource) : IManifestExpressionProvider, IValueWithReferences, IValueProvider 17public IResource Resource { get; } = resource;
ApplicationModel\CustomResourceSnapshot.cs (1)
428public static ImmutableArray<RelationshipSnapshot> BuildRelationships(IResource resource)
ApplicationModel\DeploymentImageTagAnnotation.cs (1)
18public required IResource Resource { get; init; }
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\DockerfileFactoryContext.cs (1)
37public required IResource Resource { get; init; }
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) 120internal 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 (33)
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) 741public static IResourceBuilder<T> WithDeploymentImageTag<T>(this IResourceBuilder<T> builder, Func<DeploymentImageTagCallbackAnnotationContext, string> callback) where T : class, IResource 757public static IResourceBuilder<T> WithDeploymentImageTag<T>(this IResourceBuilder<T> builder, Func<DeploymentImageTagCallbackAnnotationContext, Task<string>> callback) where T : class, IResource
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) 254private async Task WaitUntilCompletionAsync(IResource resource, IResource dependency, int exitCode, CancellationToken cancellationToken) 309private async Task WaitUntilStateAsync(IResource resource, IResource dependency, WaitBehavior waitBehavior, 376private async Task WaitUntilStartedAsync(IResource resource, IResource dependency, WaitBehavior waitBehavior, CancellationToken cancellationToken) 394public async Task WaitForDependenciesAsync(IResource resource, CancellationToken cancellationToken) 587public Task PublishUpdateAsync(IResource resource, string resourceId, Func<CustomResourceSnapshot, CustomResourceSnapshot> stateFactory) 679private CustomResourceSnapshot UpdateCommands(IResource resource, CustomResourceSnapshot previousState) 753private static CustomResourceSnapshot UpdateIcons(IResource resource, CustomResourceSnapshot previousState) 783public async Task PublishUpdateAsync(IResource resource, Func<CustomResourceSnapshot, CustomResourceSnapshot> stateFactory) 792private static CustomResourceSnapshot GetCurrentSnapshot(IResource resource, ResourceNotificationState notificationState) 820private ResourceNotificationState GetResourceNotificationState(string resourceId, IResource resource) => 832private sealed class ResourceNotificationState(IResource resource) 837public IResource Resource { get; } = resource; 864public class ResourceEvent(IResource resource, string resourceId, CustomResourceSnapshot snapshot) 869public 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\ResourceStoppedEvent.cs (2)
17public class ResourceStoppedEvent(IResource resource, IServiceProvider services, ResourceEvent resourceEvent) : IDistributedApplicationResourceEvent 20public 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\DashboardEventHandlers.cs (1)
352private 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)
377_resourceState.ApplicationModel.TryGetValue(resourceName, out var appModelResource)) 482private static string GetResourceType<T>(T resource, IResource appModelResource) where T : CustomResource 669_resourceState.ApplicationModel.TryGetValue(appModelResourceName, out var appModelResource)) 1083private void EnsureRequiredAnnotations(IResource resource) 1091private static void SetInitialResourceState(IResource resource, IAnnotationHolder annotationHolder) 1106async Task CreateResourceExecutablesAsyncCore(IResource resource, IEnumerable<AppResource> executables, CancellationToken cancellationToken) 1312foreach (var container in modelContainerResources) 1368private static DcpInstance GetDcpInstance(IResource resource, int instanceIndex) 1473var modelContainerResource = cr.ModelResource; 1514private static async Task ApplyBuildArgumentsAsync(Container dcpContainerResource, IResource modelContainerResource, IServiceProvider serviceProvider, CancellationToken cancellationToken) 1605private void AddServicesProducedInfo(IResource modelResource, IAnnotationHolder dcpResource, AppResource appResource) 1912private async Task<(List<(string Value, bool IsSensitive)>, bool)> BuildArgsAsync(ILogger resourceLogger, IResource modelResource, CancellationToken cancellationToken) 1940private async Task<List<ContainerCreateFileSystem>> BuildCreateFilesAsync(IResource modelResource, CancellationToken cancellationToken) 1970private async Task<(List<EnvVar>, bool)> BuildEnvVarsAsync(ILogger resourceLogger, IResource modelResource, CancellationToken cancellationToken) 1997private async Task<(List<string>, bool)> BuildRunArgsAsync(ILogger resourceLogger, IResource modelResource, CancellationToken cancellationToken) 2078private 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) &&
DistributedApplicationBuilder.cs (2)
562public IResourceBuilder<T> AddResource<T>(T resource) where T : IResource 576public 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 (5)
22where T : IResource 33where T : IResource 55where T : IResource 77where T : IResource 81where 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; 243private 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 (16)
21private readonly ILookup<IResource, IResource> _parentChildLookup; 130private async Task PublishResourceEndpointUrls(IResource resource, CancellationToken cancellationToken) 140private static IEnumerable<UrlSnapshot> GetResourceUrls(IResource resource) 193static Task PublishUpdateAsync(ResourceNotificationService notificationService, IResource resource, string? resourceId, Func<CustomResourceSnapshot, CustomResourceSnapshot> stateFactory) 206private async Task ProcessResourceUrlCallbacks(IResource resource, CancellationToken cancellationToken) 416private async Task SetChildResourceAsync(IResource resource, string? state, DateTime? startTimeStamp, DateTime? stopTimeStamp) 418foreach (var child in _parentChildLookup[resource].Where(c => c is IResourceWithParent)) 445foreach (var resource in _model.Resources) 449var parent = resource is IResourceWithParent hasParent 471private static ImmutableArray<HealthReportSnapshot> GetInitialHealthReports(IResource resource) 482private async Task PublishConnectionStringAvailableEvent(IResource resource, CancellationToken cancellationToken) 508private async Task PublishEventToHierarchy<TEvent>(Func<IResource, TEvent> createEvent, IResource resource, CancellationToken cancellationToken) 517foreach (var child in children.Where(c => c is IResourceWithParent)) 532private static bool ResourceHasOwnLifetime(IResource resource) =>
Orchestrator\ParameterProcessor.cs (2)
101foreach (var resource in model.Resources) 113private async Task ProcessResourceDependenciesAsync(IResource resource, DistributedApplicationExecutionContext executionContext, Dictionary<string, ParameterResource> referencedParameters, HashSet<object?> currentDependencySet, 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 404/// <param name="resource">The <see cref="IResource"/>.</param> 405public void WriteConnectionString(IResource resource) 416/// <see cref="EndpointAnnotation"/> entries in the <see cref="IResource.Annotations"/> 419/// <param name="resource">The <see cref="IResource"/> that contains <see cref="EndpointAnnotation"/> annotations.</param> 420public void WriteBindings(IResource resource) 509/// Writes environment variables to the manifest base on the <see cref="IResource"/> resource's <see cref="EnvironmentCallbackAnnotation"/> annotations."/> 511/// <param name="resource">The <see cref="IResource"/> which contains <see cref="EnvironmentCallbackAnnotation"/> annotations.</param> 512public async Task WriteEnvironmentVariablesAsync(IResource resource) 551/// Writes command line arguments to the manifest based on the <see cref="IResource"/> resource's <see cref="CommandLineArgsCallbackAnnotation"/> annotations. 553/// <param name="resource">The <see cref="IResource"/> that contains <see cref="CommandLineArgsCallbackAnnotation"/> annotations.</param> 555public async Task WriteCommandLineArgumentsAsync(IResource resource) 652/// Ensures that any <see cref="IResource"/> instances referenced by <paramref name="value"/> are 658if (value is IResource resource) 682foreach (var existingResource in model.Resources) 688foreach (var resource in _referencedResources.Values)
Publishing\Publisher.cs (3)
43var targetResources = new List<IResource>(); 45foreach (var resource in model.Resources) 98private static (string Message, CompletionState State) GetTaskInfo(List<IResource> targetResources, bool isDeploy)
Publishing\PublishingContext.cs (1)
73foreach (var resource in model.Resources)
Publishing\ResourceContainerImageBuilder.cs (10)
104Task BuildImageAsync(IResource resource, ContainerBuildOptions? options = null, CancellationToken cancellationToken = default); 113Task BuildImagesAsync(IEnumerable<IResource> resources, ContainerBuildOptions? options = null, CancellationToken cancellationToken = default); 144public async Task BuildImagesAsync(IEnumerable<IResource> resources, ContainerBuildOptions? options = null, CancellationToken cancellationToken = default) 181foreach (var resource in resources) 191public Task BuildImageAsync(IResource resource, ContainerBuildOptions? options = null, CancellationToken cancellationToken = default) 196private async Task BuildImageAsync(IPublishingStep? step, IResource resource, ContainerBuildOptions? options, CancellationToken cancellationToken) 232private async Task BuildProjectContainerImageAsync(IResource resource, IPublishingStep? step, ContainerBuildOptions? options, CancellationToken cancellationToken) 263private async Task<bool> ExecuteDotnetPublishAsync(IResource resource, ContainerBuildOptions? options, CancellationToken cancellationToken) 339private async Task BuildContainerImageFromDockerfileAsync(IResource resource, DockerfileBuildAnnotation dockerfileBuildAnnotation, string imageName, IPublishingStep? step, ContainerBuildOptions? options, CancellationToken cancellationToken) 476internal static bool ResourcesRequireContainerRuntime(IEnumerable<IResource> resources, ContainerBuildOptions? options)
ResourceBuilderExtensions.cs (54)
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 945where T : IResource 984where T : IResource 1006where T : IResource 1061where T : IResource 1132public static IResourceBuilder<T> ExcludeFromManifest<T>(this IResourceBuilder<T> builder) where T : IResource 1150/// resources, calling <see cref="WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/> also results 1166public static IResourceBuilder<T> WaitFor<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency) where T : IResourceWithWaitSupport 1186/// resources, calling <see cref="WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource}, WaitBehavior)"/> also results 1194/// behavior with the <see cref="WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/> overload.</para> 1208public static IResourceBuilder<T> WaitFor<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency, WaitBehavior waitBehavior) where T : IResourceWithWaitSupport 1216private static IResourceBuilder<T> WaitForCore<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency, WaitBehavior? waitBehavior, bool addRelationship) where T : IResourceWithWaitSupport 1218if (builder.Resource as IResource == dependency.Resource) 1258/// <para>Unlike <see cref="WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/>, this method 1272public static IResourceBuilder<T> WaitForStart<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency) where T : IResourceWithWaitSupport 1292/// <para>Unlike <see cref="WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource}, WaitBehavior)"/>, this method 1298/// behavior with the <see cref="WaitForStart{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/> overload.</para> 1312public static IResourceBuilder<T> WaitForStart<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency, WaitBehavior waitBehavior) where T : IResourceWithWaitSupport 1320private static IResourceBuilder<T> WaitForStartCore<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency, WaitBehavior? waitBehavior, bool addRelationship) where T : IResourceWithWaitSupport 1322if (builder.Resource as IResource == dependency.Resource) 1347foreach (var referencedResource in cs.ConnectionStringExpression.ValueProviders.OfType<IResource>()) 1382public static IResourceBuilder<T> WithExplicitStart<T>(this IResourceBuilder<T> builder) where T : IResource 1413public static IResourceBuilder<T> WaitForCompletion<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency, int exitCode = 0) where T : IResourceWithWaitSupport 1418if (builder.Resource as IResource == dependency.Resource) 1443/// the <see cref="WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/> to associate a resource 1469public static IResourceBuilder<T> WithHealthCheck<T>(this IResourceBuilder<T> builder, string key) where T : IResource 1668CommandOptions? commandOptions = null) where T : IResource 1735bool isHighlighted = false) where T : IResource 2078IResource resource, 2079string type) where T : IResource 2097IResource resource) where T : IResource 2114ReferenceExpression expression) where T : IResource 2125where T : IResource 2129void AddReference(IResource resource) 2141if (value is IResource resource) 2145else if (value is IResourceBuilder<IResource> resourceBuilder) 2173IResourceBuilder<IResource> resourceBuilder) where T : IResource 2206IResourceBuilder<IResource> parent) where T : IResource 2236IResource parent) where T : IResource 2267IResourceBuilder<IResource> child) where T : IResource 2299IResource child) where T : IResource 2333public static IResourceBuilder<T> WithIconName<T>(this IResourceBuilder<T> builder, string iconName, IconVariant iconVariant = IconVariant.Filled) where T : IResource 2370where 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 (30)
AzureDeployingContext.cs (8)
174foreach (var resource in computeResources) 194var resourcesByRegistry = new Dictionary<IContainerRegistry, List<IResource>>(); 196foreach (var computeResource in computeResources) 236foreach (var computeResource in computeResources) 300private static bool TryGetContainerRegistry(IResource computeResource, [NotNullWhen(true)] out IContainerRegistry? containerRegistry) 386private async Task PushImagesToAllRegistries(Dictionary<IContainerRegistry, List<IResource>> resourcesByRegistry, CancellationToken cancellationToken) 449private static string TryGetComputeResourceEndpoint(IResource computeResource, IAzureComputeEnvironmentResource azureComputeEnv) 470foreach (var resource in model.Resources)
AzurePublishingContext.cs (1)
312foreach (var resource in model.Resources)
AzureResourcePreparer.cs (11)
50internal static List<(IResource Resource, IAzureResource AzureResource)> GetAzureResourcesFromAppModel(DistributedApplicationModel appModel) 57var azureResources = new List<(IResource, IAzureResource)>(); 58foreach (var resource in appModel.Resources) 89foreach (var resource in appModel.Resources) 103private async Task BuildRoleAssignmentAnnotations(DistributedApplicationModel appModel, List<(IResource Resource, IAzureResource AzureResource)> azureResources, CancellationToken cancellationToken) 129foreach (var resource in resourceSnapshot) 237static bool IsResourceValidForRoleAssignments(IResource resource) 243private static Dictionary<AzureProvisioningResource, IEnumerable<RoleDefinition>> GetAllRoleAssignments(IResource resource) 257IResource resource, 287IResource resource, 356private 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)
28private ILookup<IResource, IResourceWithParent>? _parentChildLookup; 42async Task UpdateStateAsync((IResource Resource, IAzureResource AzureResource) resource, Func<CustomResourceSnapshot, CustomResourceSnapshot> stateFactory) 77async Task AfterProvisionAsync((IResource Resource, IAzureResource AzureResource) resource) 111async Task<bool> WaitForRoleAssignments((IResource Resource, IAzureResource AzureResource) resource) 161IList<(IResource Resource, IAzureResource AzureResource)> azureResources, 192private async Task ProcessResourceAsync(IConfiguration configuration, Lazy<Task<ProvisioningContext>> provisioningContextLazy, (IResource Resource, IAzureResource AzureResource) resource, CancellationToken cancellationToken) 263async 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 (17)
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)
41foreach (var r in @event.Model.GetComputeResources()) 59foreach (var r in appModel.GetComputeResources())
BaseContainerAppContext.cs (3)
14internal abstract class BaseContainerAppContext(IResource resource, ContainerAppEnvironmentContext containerAppEnvironmentContext) 18public IResource Resource => resource; 81protected static bool TryGetContainerImageName(IResource resource, out string? containerImageName)
ContainerAppContext.cs (1)
14internal sealed class ContainerAppContext(IResource resource, ContainerAppEnvironmentContext containerAppEnvironmentContext)
ContainerAppEnvironmentContext.cs (4)
26private readonly Dictionary<IResource, BaseContainerAppContext> _containerApps = new(new ResourceNameComparer()); 28public BaseContainerAppContext GetContainerAppContext(IResource resource) 38public async Task<AzureBicepResource> CreateContainerAppAsync(IResource resource, AzureProvisioningOptions provisioningOptions, CancellationToken cancellationToken) 54private BaseContainerAppContext CreateContainerAppContext(IResource resource)
ContainerAppJobContext.cs (1)
14internal sealed class ContainerAppJobContext(IResource resource, ContainerAppEnvironmentContext containerAppEnvironmentContext)
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)
24private readonly Dictionary<IResource, AzureAppServiceWebsiteContext> _appServices = new(new ResourceNameComparer()); 26public AzureAppServiceWebsiteContext GetAppServiceContext(IResource resource) 36public async Task<AzureBicepResource> CreateAppServiceAsync(IResource resource, AzureProvisioningOptions provisioningOptions, CancellationToken cancellationToken)
AzureAppServiceInfrastructure.cs (2)
41foreach (var resource in @event.Model.GetComputeResources()) 64foreach (var r in appModel.GetComputeResources())
AzureAppServiceWebsiteContext.cs (2)
17IResource resource, 20public 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.Kusto (3)
AzureKustoBuilderExtensions.cs (1)
35/// the extension method <see cref="ResourceBuilderExtensions.WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{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 (56)
AzureAppServiceTests.cs (3)
168var container = Assert.Single(model.GetContainerResources()); 204var container = Assert.Single(model.GetContainerResources()); 456private static Task<(JsonNode ManifestNode, string BicepText)> GetManifestWithBicep(IResource resource) =>
AzureBicepResourceTests.cs (6)
32public static TheoryData<Func<IDistributedApplicationBuilder, IResourceBuilder<IResource>>> AzureExtensions => 35private static TheoryData<Func<IDistributedApplicationBuilder, IResourceBuilder<IResource>>> CreateAllAzureExtensions(string resourceName) 75public void AzureExtensionsAutomaticallyAddAzureProvisioning(Func<IDistributedApplicationBuilder, IResourceBuilder<IResource>> addAzureResource) 87public void BicepResourcesAreIdempotent(Func<IDistributedApplicationBuilder, IResourceBuilder<IResource>> addAzureResource) 103public static TheoryData<Func<IDistributedApplicationBuilder, IResourceBuilder<IResource>>> AzureExtensionsWithHyphen => 108public void AzureResourcesProduceValidBicep(Func<IDistributedApplicationBuilder, IResourceBuilder<IResource>> addAzureResource)
AzureContainerAppsTests.cs (30)
39var container = Assert.Single(model.GetContainerResources()); 73var container = Assert.Single(model.GetContainerResources()); 177var container = Assert.Single(model.GetContainerResources()); 220var container = Assert.Single(model.GetContainerResources()); 250var container = Assert.Single(model.GetContainerResources()); 440var container = Assert.Single(model.GetContainerResources()); 472var container = Assert.Single(model.GetContainerResources()); 506var container = Assert.Single(model.GetContainerResources()); 542var container = Assert.Single(model.GetContainerResources()); 580var container = Assert.Single(model.GetContainerResources()); 620var container = Assert.Single(model.GetContainerResources()); 652var container = Assert.Single(model.GetContainerResources()); 685var container = Assert.Single(model.GetContainerResources()); 736var container = Assert.Single(model.GetContainerResources()); 818var container = Assert.Single(model.GetContainerResources()); 861var container = Assert.Single(model.GetContainerResources()); 892var container = Assert.Single(model.GetContainerResources()); 924var container = Assert.Single(model.GetContainerResources()); 1488var container = Assert.Single(model.GetContainerResources()); 1511private static Task<(JsonNode ManifestNode, string BicepText)> GetManifestWithBicep(IResource resource) => 1535var container = Assert.Single(model.GetContainerResources()); 1653var container = Assert.Single(model.GetContainerResources()); 1712var funcjob = model.Resources.Single(r => r.Name == "funcjob"); 1756var batch = containers.First(c => c.Name == "batch"); 1757var web = containers.First(c => c.Name == "web"); 1793var container = Assert.Single(model.GetContainerResources()); 1823var container = Assert.Single(model.GetContainerResources()); 1862var container = Assert.Single(model.GetContainerResources()); 1902var container = Assert.Single(model.GetContainerResources()); 1942var 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)
15public static Task<(JsonNode ManifestNode, string BicepText)> GetManifestWithBicep(IResource resource, bool skipPreparer = false) => 18public static Task<(JsonNode ManifestNode, string BicepText)> GetManifestWithBicep(DistributedApplicationModel appModel, IResource resource) => 21private 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");
AzureRedisEnterpriseExtensionsTests.cs (1)
133var cacheInModel = builder.Resources.Single(r => r.Name == "cache");
AzureRedisExtensionsTests.cs (1)
176var cacheInModel = builder.Resources.Single(r => r.Name == "cache");
AzureServiceBusExtensionsTests.cs (1)
613var sql = builder.Resources.FirstOrDefault(x => x.Name == "sb-mssql");
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)
ProvisioningTestHelpers.cs (3)
664public List<ApplicationModel.IResource> BuildImageResources { get; } = []; 669public Task BuildImageAsync(ApplicationModel.IResource resource, ContainerBuildOptions? options = null, CancellationToken cancellationToken = default) 677public Task BuildImagesAsync(IEnumerable<ApplicationModel.IResource> resources, ContainerBuildOptions? options = null, CancellationToken cancellationToken = default)
RoleAssignmentTests.cs (1)
256private 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.DevTunnels (7)
DevTunnelResourceBuilderExtensions.cs (3)
348public static EndpointReference GetEndpoint(this IResourceBuilder<DevTunnelResource> tunnelBuilder, IResource resource, string endpointName) 388private static EndpointReference CreateEndpointReferenceWithError(DevTunnelResource tunnelResource, IResource targetResource, string endpointName) 724public IResource Resource { get; } = tunnel;
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 (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)
51foreach (var r in @event.Model.GetComputeResources()) 73foreach (var r in appModel.GetComputeResources()) 82private 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)
510public Task BuildImageAsync(IResource resource, ContainerBuildOptions? options = null, CancellationToken cancellationToken = default) 516public Task BuildImagesAsync(IEnumerable<IResource> resources, ContainerBuildOptions? options = null, CancellationToken cancellationToken = default)
DockerComposeTests.cs (2)
209public Task BuildImageAsync(IResource resource, ContainerBuildOptions? options = null, CancellationToken cancellationToken = default) 215public 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)
39foreach (var r in @event.Model.GetComputeResources()) 57foreach (var r in appModel.GetComputeResources())
KubernetesPublishingContext.cs (4)
70foreach (var resource in model.Resources) 112private async Task AppendResourceContextToHelmValuesAsync(IResource resource, KubernetesResource resourceContext) 120IResource resource, 159private async Task WriteKubernetesTemplatesForResource(IResource resource, IEnumerable<BaseKubernetesResource> templatedItems)
KubernetesResource.cs (5)
14public class KubernetesResource(string name, IResource resource, KubernetesEnvironmentResource kubernetesEnvironmentResource) : Resource(name), IResourceWithParent<KubernetesEnvironmentResource> 60internal IResource TargetResource => resource; 133internal string GetContainerImageName(IResource resourceInstance) 461private static HelmExpressionWithValue AllocateParameter(ParameterResource parameter, IResource resource) 480private 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)
103foreach (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 (37)
Dashboard\DashboardLifecycleHookTests.cs (5)
90var dashboardResource = model.Resources.Single(r => string.Equals(r.Name, KnownResourceNames.AspireDashboard, StringComparisons.ResourceName)); 240var dashboardResource = Assert.Single(model.Resources); 328var dashboardResource = Assert.Single(model.Resources); 400var dashboardResource = Assert.Single(model.Resources); 470var dashboardResource = Assert.Single(model.Resources);
Dashboard\DashboardResourceTests.cs (8)
108var dashboard = Assert.Single(model.Resources); 223var dashboard = Assert.Single(model.Resources); 262var dashboard = Assert.Single(model.Resources); 298var dashboard = Assert.Single(model.Resources); 337var container = Assert.Single(model.Resources, r => r.Name == "my-container"); 341var dashboard = Assert.Single(model.Resources, r => r.Name == "aspire-dashboard"); 382var dashboard = Assert.Single(model.Resources, r => r.Name == "aspire-dashboard"); 554static void SetDashboardAllocatedEndpoints(IResource dashboard, int otlpGrpcPort, int otlpHttpPort, int httpPort)
Dcp\DcpExecutorTests.cs (3)
1664private static void HasKnownCommandAnnotations(IResource resource) 1789private sealed class CustomChildResource(string name, IResource parent) : Resource(name), IResourceWithParent 1791public IResource Parent => parent;
DistributedApplicationBuilderTests.cs (1)
64var resource = Assert.Single(appModel.Resources);
DistributedApplicationTests.cs (2)
454foreach (var item in appModel.Resources) 790var aspireDashboard = model.Resources.Single(r => r.Name == KnownResourceNames.AspireDashboard);
Eventing\DistributedApplicationBuilderEventingTests.cs (2)
272var resourceStopped = default(IResource);
Orchestrator\ApplicationOrchestratorTests.cs (3)
484private sealed class CustomChildResource(string name, IResource parent) : Resource(name), IResourceWithParent 486public IResource Parent => parent; 540public IResource Parent { get; } = parent;
Orchestrator\ParameterProcessorTests.cs (1)
78var updates = new List<(IResource Resource, CustomResourceSnapshot Snapshot)>();
Orchestrator\RelationshipEvaluatorTests.cs (2)
138private sealed class CustomChildResource(string name, IResource parent) : Resource(name), IResourceWithParent 140public 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, IServiceProvider? serviceProvider = null)
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)
13public static async Task<JsonNode> GetManifest(IResource resource, string? manifestDirectory = null) 20public static async Task<JsonNode?> GetManifestOrNull(IResource resource, string? manifestDirectory = null) 43public static async Task<JsonNode[]> GetManifests(IResource[] resources) 56foreach (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; 141IResourceBuilder<IResource>? previousResourceBuilder = null; 175foreach (var r in resources)
TestResource.cs (3)
31public static IResourceBuilder<TestNestedResource> AddNestedResource(this IDistributedApplicationBuilder builder, string name, IResource parent) 114sealed class TestNestedResource(string name, IResource parent) : Resource(name), IResourceWithParent 116public IResource Parent { get; } = parent;