12 interfaces inheriting from IResource
Aspire.Hosting (9)
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\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
2 implementations of IResource
Aspire.Hosting (1)
ApplicationModel\Resource.cs (1)
12public abstract class Resource : IResource
Aspire.Hosting.Tests (1)
DistributedApplicationBuilderTests.cs (1)
174private sealed class TestResource : IResource
446 references to IResource
Aspire.Hosting (229)
ApplicationModel\BeforeResourceStartedEvent.cs (2)
16public class BeforeResourceStartedEvent(IResource resource, IServiceProvider services) : IDistributedApplicationResourceEvent 19public IResource Resource { get; } = 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\CustomResourceSnapshot.cs (1)
395public 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\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)
55var target = endpointReference.Resource.GetRootResource();
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 (1)
141where 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\ResourceExtensions.cs (28)
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), 384this IResource resource, 435if (valueProvider is IResource resource) 472public static bool TryGetContainerMounts(this IResource resource, [NotNullWhen(true)] out IEnumerable<ContainerMountAnnotation>? volumeMounts) 483public static bool TryGetEndpoints(this IResource resource, [NotNullWhen(true)] out IEnumerable<EndpointAnnotation>? endpoints) 494public static bool TryGetUrls(this IResource resource, [NotNullWhen(true)] out IEnumerable<ResourceUrlAnnotation>? urls) 503/// <returns>An enumeration of <see cref="EndpointReference"/> based on the <see cref="EndpointAnnotation"/> annotations from the resources' <see cref="IResource.Annotations"/> collection.</returns> 532public static bool TryGetContainerImageName(this IResource resource, [NotNullWhen(true)] out string? imageName) 562public static int GetReplicaCount(this IResource resource) 578public static DeploymentTargetAnnotation? GetDeploymentTargetAnnotation(this IResource resource) 619internal static ContainerLifetime GetContainerLifetimeType(this IResource resource) 635internal static bool TryGetContainerImagePullPolicy(this IResource resource, [NotNullWhen(true)] out ImagePullPolicy? pullPolicy) 653internal static bool SupportsProxy(this IResource resource) 663internal static IResource GetRootResource(this IResource resource) => 675internal static string[] GetResolvedResourceNames(this IResource resource)
ApplicationModel\ResourceLoggerService.cs (1)
47public ILogger GetLogger(IResource resource)
ApplicationModel\ResourceNotificationService.cs (14)
23private readonly ConcurrentDictionary<(IResource, string), ResourceNotificationState> _resourceNotificationStates = new(); 142private async Task WaitUntilHealthyAsync(IResource resource, IResource dependency, WaitBehavior waitBehavior, CancellationToken cancellationToken) 303private async Task WaitUntilCompletionAsync(IResource resource, IResource dependency, int exitCode, CancellationToken cancellationToken) 365public async Task WaitForDependenciesAsync(IResource resource, CancellationToken cancellationToken) 455var versionsSeen = new Dictionary<(IResource, string), long>(); 502public Task PublishUpdateAsync(IResource resource, string resourceId, Func<CustomResourceSnapshot, CustomResourceSnapshot> stateFactory) 610private CustomResourceSnapshot UpdateCommands(IResource resource, CustomResourceSnapshot previousState) 686public async Task PublishUpdateAsync(IResource resource, Func<CustomResourceSnapshot, CustomResourceSnapshot> stateFactory) 695private static CustomResourceSnapshot GetCurrentSnapshot(IResource resource, ResourceNotificationState notificationState) 718private ResourceNotificationState GetResourceNotificationState(IResource resource, string resourceId) => 744public class ResourceEvent(IResource resource, string resourceId, CustomResourceSnapshot snapshot) 749public 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 (1)
18foreach (var container in beforeStartEvent.Model.GetContainerResources())
ContainerResourceExtensions.cs (2)
18public static IEnumerable<IResource> GetContainerResources(this DistributedApplicationModel model) 36public static bool IsContainer(this IResource resource)
CustomResourceExtensions.cs (1)
21where TResource : IResource
Dashboard\DashboardLifecycleHook.cs (1)
134private void ConfigureAspireDashboardResource(IResource dashboardResource)
Dashboard\DashboardServiceData.cs (1)
34static 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 (12)
406private static string GetResourceType<T>(T resource, IResource appModelResource) where T : CustomResource 912private void EnsureRequiredAnnotations(IResource resource) 920private static void SetInitialResourceState(IResource resource, IAnnotationHolder annotationHolder) 936async Task CreateResourceExecutablesAsyncCore(IResource resource, IEnumerable<AppResource> executables, CancellationToken cancellationToken) 1158private static DcpInstance GetDcpInstance(IResource resource, int instanceIndex) 1282private static async Task ApplyBuildArgumentsAsync(Container dcpContainerResource, IResource modelContainerResource, CancellationToken cancellationToken) 1360private void AddServicesProducedInfo(IResource modelResource, IAnnotationHolder dcpResource, AppResource appResource) 1633private async Task<(List<(string Value, bool IsSensitive)>, bool)> BuildArgsAsync(ILogger resourceLogger, IResource modelResource, CancellationToken cancellationToken) 1661private async Task<List<ContainerCreateFileSystem>> BuildCreateFilesAsync(IResource modelResource, CancellationToken cancellationToken) 1691private async Task<(List<EnvVar>, bool)> BuildEnvVarsAsync(ILogger resourceLogger, IResource modelResource, CancellationToken cancellationToken) 1718private async Task<(List<string>, bool)> BuildRunArgsAsync(ILogger resourceLogger, IResource modelResource, CancellationToken cancellationToken) 1778private 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) 75public (string Name, string Suffix) GetExecutableName(IResource project) 81public string GetServiceName(IResource resource, EndpointAnnotation endpoint, bool hasMultipleEndpoints, HashSet<string> allServiceNames) 116public static string GetObjectNameForResource(IResource resource, DcpOptions options, string suffix = "")
Dcp\DcpResourceState.cs (2)
10internal sealed class DcpResourceState(Dictionary<string, IResource> applicationModel, List<AppResource> appResources) 18public Dictionary<string, IResource> ApplicationModel { get; } = applicationModel;
Dcp\ResourceSnapshotBuilder.cs (1)
92IResource? appModelResource = null;
DistributedApplicationBuilder.cs (2)
499public IResourceBuilder<T> AddResource<T>(T resource) where T : IResource 513public 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));
DistributedApplicationResourceBuilder.cs (1)
8internal sealed class DistributedApplicationResourceBuilder<T>(IDistributedApplicationBuilder applicationBuilder, T resource) : IResourceBuilder<T> where T : IResource
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;
Health\ResourceHealthCheckService.cs (1)
240private void FireResourceReadyEvent(IResource resource, CancellationToken cancellationToken)
IDistributedApplicationBuilder.cs (4)
143/// 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 (11)
20private readonly ILookup<IResource, IResource> _parentChildLookup; 143static Task PublishUpdateAsync(ResourceNotificationService notificationService, IResource resource, string? resourceId, Func<CustomResourceSnapshot, CustomResourceSnapshot> stateFactory) 156private async Task ProcessUrls(IResource resource, CancellationToken cancellationToken) 224async Task ProcessValueAsync(IResource resource, IValueProvider vp) 348private async Task SetChildResourceAsync(IResource resource, string parentName, string? state, DateTime? startTimeStamp, DateTime? stopTimeStamp) 350foreach (var child in _parentChildLookup[resource]) 367private async Task SetExecutableChildResourceAsync(IResource resource) 373foreach (var child in _parentChildLookup[resource]) 399private static ImmutableArray<HealthReportSnapshot> GetInitialHealthReports(IResource resource) 410private 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 (1)
26public static void AddOtlpEnvironment(IResource resource, IConfiguration configuration, IHostEnvironment environment)
Publishing\ManifestPublishingContext.cs (16)
44private readonly Dictionary<string, IResource> _referencedResources = []; 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)
Publishing\ResourceContainerImageBuilder.cs (3)
27Task BuildImageAsync(IResource resource, CancellationToken cancellationToken); 36public async Task BuildImageAsync(IResource resource, CancellationToken cancellationToken) 74private async Task<string> BuildProjectContainerImageAsync(IResource resource, CancellationToken cancellationToken)
ResourceBuilderExtensions.cs (39)
277public static IResourceBuilder<T> WithManifestPublishingCallback<T>(this IResourceBuilder<T> builder, Action<ManifestPublishingContext> callback) where T : IResource 293public static IResourceBuilder<T> WithManifestPublishingCallback<T>(this IResourceBuilder<T> builder, Func<ManifestPublishingContext, Task> callback) where T : IResource 750where T : IResource 773where T : IResource 794where T : IResource 815where T : IResource 837where T : IResource 892where T : IResource 963public static IResourceBuilder<T> ExcludeFromManifest<T>(this IResourceBuilder<T> builder) where T : IResource 981/// resources, calling <see cref="WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/> also results 997public static IResourceBuilder<T> WaitFor<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency) where T : IResourceWithWaitSupport 1017/// resources, calling <see cref="WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource}, WaitBehavior)"/> also results 1025/// behavior with the <see cref="WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/> overload.</para> 1039public static IResourceBuilder<T> WaitFor<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency, WaitBehavior waitBehavior) where T : IResourceWithWaitSupport 1047private static IResourceBuilder<T> WaitForCore<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency, WaitBehavior? waitBehavior, bool addRelationship) where T : IResourceWithWaitSupport 1049if (builder.Resource as IResource == dependency.Resource) 1074foreach (var referencedResource in cs.ConnectionStringExpression.ValueProviders.OfType<IResource>()) 1109public static IResourceBuilder<T> WithExplicitStart<T>(this IResourceBuilder<T> builder) where T : IResource 1140public static IResourceBuilder<T> WaitForCompletion<T>(this IResourceBuilder<T> builder, IResourceBuilder<IResource> dependency, int exitCode = 0) where T : IResourceWithWaitSupport 1145if (builder.Resource as IResource == dependency.Resource) 1170/// the <see cref="WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/> to associate a resource 1196public static IResourceBuilder<T> WithHealthCheck<T>(this IResourceBuilder<T> builder, string key) where T : IResource 1370CommandOptions? commandOptions = null) where T : IResource 1437bool isHighlighted = false) where T : IResource 1775IResource resource, 1776string type) where T : IResource 1794IResource resource) where T : IResource 1811ReferenceExpression expression) where T : IResource 1822where T : IResource 1826void AddReference(IResource resource) 1838if (value is IResource resource) 1842else if (value is IResourceBuilder<IResource> resourceBuilder) 1870IResourceBuilder<IResource> resourceBuilder) where T : IResource 1903IResourceBuilder<IResource> parent) where T : IResource 1933IResource parent) 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 (20)
AzurePublishingContext.cs (1)
228foreach (var resource in model.Resources)
AzureResourcePreparer.cs (10)
52internal static List<(IResource Resource, IAzureResource AzureResource)> GetAzureResourcesFromAppModel(DistributedApplicationModel appModel) 59var azureResources = new List<(IResource, IAzureResource)>(); 60foreach (var resource in appModel.Resources) 91foreach (var resource in appModel.Resources) 100private async Task BuildRoleAssignmentAnnotations(DistributedApplicationModel appModel, List<(IResource Resource, IAzureResource AzureResource)> azureResources, AzureProvisioningOptions options, CancellationToken cancellationToken) 126foreach (var resource in resourceSnapshot) 214private static Dictionary<AzureProvisioningResource, IEnumerable<RoleDefinition>> GetAllRoleAssignments(IResource resource) 229IResource resource, 243IResource resource, 307private 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 (6)
45private ILookup<IResource, IResourceWithParent>? _parentChildLookup; 65async Task UpdateStateAsync((IResource Resource, IAzureResource AzureResource) resource, Func<CustomResourceSnapshot, CustomResourceSnapshot> stateFactory) 104async Task AfterProvisionAsync((IResource Resource, IAzureResource AzureResource) resource) 138async Task<bool> WaitForRoleAssignments((IResource Resource, IAzureResource AzureResource) resource) 205IList<(IResource Resource, IAzureResource AzureResource)> azureResources, 262private async Task ProcessResourceAsync(IConfiguration configuration, Lazy<Task<ProvisioningContext>> provisioningContextLazy, (IResource Resource, IAzureResource AzureResource) resource, CancellationToken cancellationToken)
Aspire.Hosting.Azure.AppConfiguration (3)
AzureAppConfigurationExtensions.cs (1)
88where T : IResource
src\Shared\AzureRoleAssignmentUtils.cs (2)
11where T : IResource 19where T : IResource
Aspire.Hosting.Azure.AppContainers (16)
AzdAzureContainerAppEnvironment.cs (3)
36public IManifestExpressionProvider GetVolumeStorage(IResource resource, ContainerMountAnnotation volume, int volumeIndex) 77private sealed class VolumeStorageExpression(IResource resource, ContainerMountType type, int index) : IManifestExpressionProvider 86public static IManifestExpressionProvider GetVolumeStorage(IResource resource, ContainerMountType type, int index) =>
AzureContainerAppEnvironmentResource.cs (2)
65internal Dictionary<string, (IResource resource, ContainerMountAnnotation volume, int index, BicepOutputReference outputReference)> VolumeNames { get; } = []; 95IManifestExpressionProvider IAzureContainerAppEnvironment.GetVolumeStorage(IResource resource, ContainerMountAnnotation volume, int volumeIndex)
AzureContainerAppsInfrastructure.cs (1)
45foreach (var r in appModel.Resources)
ContainerAppContext.cs (6)
15internal sealed class ContainerAppContext(IResource resource, ContainerAppEnvironmentContext containerAppEnvironmentContext) 31public IResource Resource => resource; 162private static bool TryGetContainerImageName(IResource resource, out string? containerImageName) 864private sealed class ResourceExpression(IResource resource, string propertyExpression) : IManifestExpressionProvider 868public static IManifestExpressionProvider GetContainerImageExpression(IResource p) => 871public static IManifestExpressionProvider GetContainerPortExpression(IResource p) =>
ContainerAppEnvironmentContext.cs (3)
18private readonly Dictionary<IResource, ContainerAppContext> _containerApps = []; 20public async Task<AzureBicepResource> CreateContainerAppAsync(IResource resource, AzureProvisioningOptions provisioningOptions, DistributedApplicationExecutionContext executionContext, CancellationToken cancellationToken) 32public async Task<ContainerAppContext> ProcessResourceAsync(IResource resource, DistributedApplicationExecutionContext executionContext, CancellationToken cancellationToken)
IAzureContainerAppEnvironment.cs (1)
19IManifestExpressionProvider GetVolumeStorage(IResource resource, ContainerMountAnnotation volume, int volumeIndex);
Aspire.Hosting.Azure.CognitiveServices (3)
AzureOpenAIExtensions.cs (1)
218where T : IResource
src\Shared\AzureRoleAssignmentUtils.cs (2)
11where T : IResource 19where T : IResource
Aspire.Hosting.Azure.CosmosDB (1)
AzureCosmosDBEmulatorResource.cs (1)
13: ContainerResource(innerResource.Name), IResource
Aspire.Hosting.Azure.EventHubs (4)
AzureEventHubsEmulatorResource.cs (1)
13: ContainerResource(innerResource.Name), IResource
AzureEventHubsExtensions.cs (1)
529where 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)
100where T : IResource
src\Shared\AzureRoleAssignmentUtils.cs (2)
11where T : IResource 19where T : IResource
Aspire.Hosting.Azure.Search (3)
AzureSearchExtensions.cs (1)
100where T : IResource
src\Shared\AzureRoleAssignmentUtils.cs (2)
11where T : IResource 19where T : IResource
Aspire.Hosting.Azure.ServiceBus (4)
AzureServiceBusEmulatorResource.cs (1)
12public class AzureServiceBusEmulatorResource(AzureServiceBusResource innerResource) : ContainerResource(innerResource.Name), IResource
AzureServiceBusExtensions.cs (1)
679where T : IResource
src\Shared\AzureRoleAssignmentUtils.cs (2)
11where T : IResource 19where T : IResource
Aspire.Hosting.Azure.SignalR (4)
AzureSignalREmulatorResource.cs (1)
12public class AzureSignalREmulatorResource(AzureSignalRResource innerResource) : ContainerResource(innerResource.Name), IResource
AzureSignalRExtensions.cs (1)
165where T : IResource
src\Shared\AzureRoleAssignmentUtils.cs (2)
11where T : IResource 19where T : IResource
Aspire.Hosting.Azure.Storage (4)
AzureStorageEmulatorResource.cs (1)
12public class AzureStorageEmulatorResource(AzureStorageResource innerResource) : ContainerResource(innerResource.Name), IResource
AzureStorageExtensions.cs (1)
342where T : IResource
src\Shared\AzureRoleAssignmentUtils.cs (2)
11where T : IResource 19where T : IResource
Aspire.Hosting.Azure.Tests (36)
AzureBicepResourceTests.cs (6)
41public static TheoryData<Func<IDistributedApplicationBuilder, IResourceBuilder<IResource>>> AzureExtensions => 44private static TheoryData<Func<IDistributedApplicationBuilder, IResourceBuilder<IResource>>> CreateAllAzureExtensions(string resourceName) 83public void AzureExtensionsAutomaticallyAddAzureProvisioning(Func<IDistributedApplicationBuilder, IResourceBuilder<IResource>> addAzureResource) 95public void BicepResourcesAreIdempotent(Func<IDistributedApplicationBuilder, IResourceBuilder<IResource>> addAzureResource) 111public static TheoryData<Func<IDistributedApplicationBuilder, IResourceBuilder<IResource>>> AzureExtensionsWithHyphen => 116public void AzureResourcesProduceValidBicep(Func<IDistributedApplicationBuilder, IResourceBuilder<IResource>> addAzureResource)
AzureContainerAppsTests.cs (17)
41var container = Assert.Single(model.GetContainerResources()); 122var container = Assert.Single(model.GetContainerResources()); 359var container = Assert.Single(model.GetContainerResources()); 467var container = Assert.Single(model.GetContainerResources()); 578var container = Assert.Single(model.GetContainerResources()); 668var container = Assert.Single(model.GetContainerResources()); 1216var container = Assert.Single(model.GetContainerResources()); 1299var container = Assert.Single(model.GetContainerResources()); 1402var container = Assert.Single(model.GetContainerResources()); 1510var container = Assert.Single(model.GetContainerResources()); 1618var container = Assert.Single(model.GetContainerResources()); 1757var container = Assert.Single(model.GetContainerResources()); 1972var container = Assert.Single(model.GetContainerResources()); 2047var container = Assert.Single(model.GetContainerResources()); 2130var container = Assert.Single(model.GetContainerResources()); 2220var container = Assert.Single(model.GetContainerResources()); 3665private static Task<(JsonNode ManifestNode, string BicepText)> GetManifestWithBicep(IResource resource) =>
AzureEventHubsExtensionsTests.cs (1)
574var azurite = builder.Resources.FirstOrDefault(x => x.Name == "eh-storage");
AzureFunctionsTests.cs (1)
658private 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)
481var postgresResourceInModel = builder.Resources.Single(r => r.Name == "postgres-data"); 482var dbResourceInModel = builder.Resources.Single(r => r.Name == "db1");
AzureRedisExtensionsTests.cs (1)
272var cacheInModel = builder.Resources.Single(r => r.Name == "cache");
AzureServiceBusExtensionsTests.cs (1)
709var sql = builder.Resources.FirstOrDefault(x => x.Name == "sb-sqledge");
AzureSqlExtensionsTests.cs (2)
292var sqlResourceInModel = builder.Resources.Single(r => r.Name == "sql"); 293var dbResourceInModel = builder.Resources.Single(r => r.Name == "db1");
ContainerRegistryTests.cs (1)
157foreach (var resource in model.Resources)
RoleAssignmentTests.cs (1)
508private static Task<(JsonNode ManifestNode, string BicepText)> GetManifestWithBicep(IResource resource) =>
Aspire.Hosting.Azure.WebPubSub (3)
AzureWebPubSubExtensions.cs (1)
266where T : IResource
src\Shared\AzureRoleAssignmentUtils.cs (2)
11where T : IResource 19where T : IResource
Aspire.Hosting.Containers.Tests (10)
ContainerResourceBuilderTests.cs (1)
219where T: IResource
ContainerResourceTests.cs (9)
25var containerResource = Assert.Single(containerResources); 44var containerResource = Assert.Single(containerResources); 63var containerResource = Assert.Single(containerResources); 83var containerResource = Assert.Single(containerResources); 155var containerResource = Assert.Single(app.Services.GetRequiredService<DistributedApplicationModel>().GetContainerResources()); 189var containerResource = Assert.Single(app.Services.GetRequiredService<DistributedApplicationModel>().GetContainerResources()); 217var containerResource = Assert.Single(app.Services.GetRequiredService<DistributedApplicationModel>().GetContainerResources()); 236var containerResource = Assert.Single(app.Services.GetRequiredService<DistributedApplicationModel>().GetContainerResources()); 285var containerResource = Assert.Single(app.Services.GetRequiredService<DistributedApplicationModel>().GetContainerResources());
Aspire.Hosting.Docker (7)
DockerComposeEnvironmentContext.cs (2)
12private readonly Dictionary<IResource, DockerComposeServiceResource> _resourceMapping = []; 15public async Task<DockerComposeServiceResource> CreateDockerComposeServiceResourceAsync(IResource resource, DistributedApplicationExecutionContext executionContext, CancellationToken cancellationToken)
DockerComposeInfrastructure.cs (1)
42foreach (var r in appModel.Resources)
DockerComposePublishingContext.cs (1)
83foreach (var resource in model.Resources)
DockerComposeServiceResource.cs (3)
15public class DockerComposeServiceResource(string name, IResource resource, DockerComposeEnvironmentResource composeEnvironmentResource) : Resource(name), IResourceWithParent<DockerComposeEnvironmentResource> 42internal IResource TargetResource => resource; 93private bool TryGetContainerImageName(IResource resourceInstance, out string? containerImageName)
Aspire.Hosting.Docker.Tests (1)
DockerComposePublisherTests.cs (1)
359public Task BuildImageAsync(IResource resource, CancellationToken cancellationToken)
Aspire.Hosting.Kafka.Tests (1)
AddKafkaTests.cs (1)
174var kafkaUiResource = Assert.Single(builder.Resources, r => r.Name == expectedContainerName);
Aspire.Hosting.Kubernetes (19)
Extensions\ResourceExtensions.cs (7)
11internal static Deployment ToDeployment(this IResource resource, KubernetesResource context) 39internal static StatefulSet ToStatefulSet(this IResource resource, KubernetesResource context) 58internal static Secret? ToSecret(this IResource resource, KubernetesResource context) 89internal static ConfigMap? ToConfigMap(this IResource resource, KubernetesResource context) 116internal static Service? ToService(this IResource resource, KubernetesResource context) 151private static PodTemplateSpecV1 ToPodTemplateSpec(this IResource resource, KubernetesResource context) 218private 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 (1)
42foreach (var r in appModel.Resources)
KubernetesPublishingContext.cs (4)
83foreach (var resource in model.Resources) 104private void AppendResourceContextToHelmValues(IResource resource, KubernetesResource resourceContext) 112IResource resource, 139private async Task WriteKubernetesTemplatesForResource(IResource resource, IEnumerable<BaseKubernetesResource> templatedItems)
KubernetesResource.cs (3)
14public class KubernetesResource(string name, IResource resource, KubernetesEnvironmentResource kubernetesEnvironmentResource) : Resource(name), IResourceWithParent<KubernetesEnvironmentResource> 64internal IResource TargetResource => resource; 129internal string GetContainerImageName(IResource resourceInstance)
KubernetesServiceResourceExtensions.cs (2)
117private static HelmExpressionWithValue AllocateParameter(ParameterResource parameter, IResource resource) 129private static HelmExpressionWithValue ResolveUnknownValue(IManifestExpressionProvider parameter, IResource resource)
Aspire.Hosting.Milvus.Tests (2)
AddMilvusTests.cs (2)
28var containerResource = Assert.Single(appModel.GetContainerResources()); 58var containerResource = Assert.Single(appModel.GetContainerResources());
Aspire.Hosting.MySql.Tests (4)
AddMySqlTests.cs (4)
85var containerResource = Assert.Single(appModel.GetContainerResources()); 244var myAdmin = builder.Resources.Single(r => r.Name.EndsWith("-phpmyadmin")); 248var container = builder.Resources.Single(r => r.Name == "mySql-phpmyadmin"); 276var myAdmin = builder.Resources.Single(r => r.Name.EndsWith("-phpmyadmin"));
Aspire.Hosting.Oracle.Tests (3)
AddOracleTests.cs (3)
45var containerResource = Assert.Single(appModel.GetContainerResources()); 84var containerResource = Assert.Single(appModel.GetContainerResources()); 166var containerResource = Assert.Single(containerResources);
Aspire.Hosting.PostgreSQL (3)
PostgresBuilderExtensions.cs (3)
35/// using the <see cref="ResourceBuilderExtensions.WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/> 128/// using the <see cref="ResourceBuilderExtensions.WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/> 134/// will create the database. As a result if <see cref="ResourceBuilderExtensions.WaitFor{T}(IResourceBuilder{T}, IResourceBuilder{IResource})"/>
Aspire.Hosting.PostgreSQL.Tests (7)
AddPostgresTests.cs (7)
55var containerResource = Assert.Single(appModel.GetContainerResources()); 109var containerResource = Assert.Single(appModel.GetContainerResources()); 200var containerResource = Assert.Single(containerResources); 383var container = builder.Resources.Single(r => r.Name == "mypostgres-pgadmin"); 437var container = builder.Resources.Single(r => r.Name == "mypostgres-pgadmin"); 473var pgadmin = builder.Resources.Single(r => r.Name.EndsWith("-pgadmin")); 545var pgweb = builder.Resources.Single(r => r.Name.EndsWith("-pgweb"));
Aspire.Hosting.Qdrant.Tests (3)
AddQdrantTests.cs (3)
48var containerResource = Assert.Single(appModel.GetContainerResources()); 87var containerResource = Assert.Single(appModel.GetContainerResources()); 120var containerResource = Assert.Single(appModel.GetContainerResources());
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 (3)
AddRedisTests.cs (3)
428var commander = builder.Resources.Single(r => r.Name.EndsWith("-commander")); 452var commander = builder.Resources.Single(r => r.Name.EndsWith("-commander")); 473var commander = builder.Resources.Single(r => r.Name.EndsWith("-commander"));
Aspire.Hosting.Testing (10)
DistributedApplicationHostingTestingExtensions.cs (4)
49var resource = GetResource(app, resourceName); 75static IResource GetResource(DistributedApplication app, string resourceName) 81var resource = resources.SingleOrDefault(r => string.Equals(r.Name, resourceName, StringComparison.OrdinalIgnoreCase)); 93var resource = GetResource(app, resourceName);
DistributedApplicationTestingBuilder.cs (6)
221public IResourceBuilder<T> AddResource<T>(T resource) where T : IResource => innerBuilder.AddResource(resource); 231public IResourceBuilder<T> CreateResourceBuilder<T>(T resource) where T : IResource => innerBuilder.CreateResourceBuilder(resource); 358public IResourceBuilder<T> AddResource<T>(T resource) where T : IResource => _innerBuilder.AddResource(resource); 372public IResourceBuilder<T> CreateResourceBuilder<T>(T resource) where T : IResource => _innerBuilder.CreateResourceBuilder(resource); 446new IResourceBuilder<T> AddResource<T>(T resource) where T : IResource => ((IDistributedApplicationBuilder)this).AddResource(resource); 449new 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 (25)
Dashboard\DashboardResourceTests.cs (7)
106var dashboard = Assert.Single(model.Resources); 216var dashboard = Assert.Single(model.Resources); 253var dashboard = Assert.Single(model.Resources); 287var dashboard = Assert.Single(model.Resources); 324var container = Assert.Single(model.Resources.Where(r => r.Name == "my-container")); 328var dashboard = Assert.Single(model.Resources.Where(r => r.Name == "aspire-dashboard")); 367var dashboard = Assert.Single(model.Resources.Where(r => r.Name == "aspire-dashboard"));
Dcp\DcpExecutorTests.cs (3)
1203private static void HasKnownCommandAnnotations(IResource resource) 1260private sealed class CustomChildResource(string name, IResource parent) : Resource(name), IResourceWithParent 1262public IResource Parent => parent;
DistributedApplicationBuilderTests.cs (1)
65var resource = Assert.Single(appModel.Resources);
DistributedApplicationTests.cs (1)
326foreach (var item in appModel.Resources)
Orchestrator\ApplicationOrchestratorTests.cs (2)
273private sealed class CustomChildResource(string name, IResource parent) : Resource(name), IResourceWithParent 275public IResource Parent => parent;
Orchestrator\RelationshipEvaluatorTests.cs (2)
48private sealed class CustomChildResource(string name, IResource parent) : Resource(name), IResourceWithParent 50public 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)
13public static async Task<JsonNode> GetManifest(IResource resource, string? manifestDirectory = null) 20public static async Task<JsonNode?> GetManifestOrNull(IResource resource, string? manifestDirectory = null) 39public static async Task<JsonNode[]> GetManifests(IResource[] resources) 48foreach (var r in resources)
Utils\VolumeNameGeneratorTests.cs (1)
45private sealed class TestResource(string name) : IResource
Aspire.Playground.Tests (3)
Infrastructure\DistributedApplicationExtensions.cs (2)
71var resource = resourceVolume.Resource; 140static 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 (5)
Program.cs (2)
19IResource parent = rb.Resource; 87IResourceBuilder<IResource>? previousResourceBuilder = null;
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;