Implemented interface member:
property
Name
Aspire.Hosting.ApplicationModel.IResource.Name
4 overrides of Name
Aspire.Hosting.Azure.EventHubs (1)
AzureEventHubsEmulatorResource.cs (1)
24public override string Name => _innerResource.Name;
Aspire.Hosting.Azure.PostgreSQL (1)
AzurePostgresResource.cs (1)
31public override string Name => _innerResource.Name;
Aspire.Hosting.Azure.Redis (1)
AzureRedisResource.cs (1)
31public override string Name => _innerResource.Name;
Aspire.Hosting.Azure.Storage (1)
AzureStorageEmulatorResource.cs (1)
17public override string Name => _innerResource.Name;
1 write to Name
Aspire.Hosting (1)
ApplicationModel\Resource.cs (1)
32Name = name;
987 references to Name
Aspire.Hosting (55)
ApplicationModel\ParameterResource.cs (6)
63public string ValueExpression => $"{{{Name}.value}}"; 71get => _configurationKey ?? (IsConnectionString ? $"ConnectionStrings:{Name}" : $"Parameters:{Name}"); 129Name = Name, 131Label = Name, 134Placeholder = string.Format(CultureInfo.CurrentCulture, InteractionStrings.ParametersInputsParameterPlaceholder, Name)
ApplicationModel\ProjectResource.cs (1)
139var originalImageName = Name.ToLowerInvariant();
ApplicationModel\Resource.cs (1)
37return $@"Type = {GetType().Name}, Name = ""{Name}"", Annotations = {Annotations.Count}";
ConnectionStringBuilderExtensions.cs (1)
107evt.Logger.LogError(ex, "Failed to resolve connection string for resource '{ResourceName}'", r.Name);
ConnectionStringParameterResource.cs (1)
19string IManifestExpressionProvider.ValueExpression => $"{{{Name}.connectionString}}";
ContainerResourceBuilderExtensions.cs (3)
44Name = $"build-{builder.Resource.Name}", 64Name = $"push-{builder.Resource.Name}", 512throw new InvalidOperationException($"The resource '{builder.Resource.Name}' does not have a container image specified. Use WithImage to specify the container image and tag.");
Dcp\DcpExecutor.cs (6)
1267containerExec.Annotate(CustomResource.OtelServiceNameAnnotation, containerExecutable.Name); 1269containerExec.Annotate(CustomResource.ResourceNameAnnotation, containerExecutable.Name); 1293exe.Annotate(CustomResource.OtelServiceNameAnnotation, executable.Name); 1295exe.Annotate(CustomResource.ResourceNameAnnotation, executable.Name); 1341exeSpec.Annotate(CustomResource.OtelServiceNameAnnotation, project.Name); 1343exeSpec.Annotate(CustomResource.ResourceNameAnnotation, project.Name);
Exec\ExecResourceManager.cs (3)
202string execResourceName = project.Name + "-exec"; 223_logger.LogDebug("Exec resource '{ResourceName}' will wait until project '{Project}' starts up.", execResourceName, project.Name); 246string execResourceName = container.Name + "-exec";
ExecutableResourceBuilderExtensions.cs (4)
126if (builder.ApplicationBuilder.TryCreateResourceBuilder<ExecutableContainerResource>(builder.Resource.Name, out var existingBuilder)) 149cb.WithImage(builder.Resource.Name); 211throw new InvalidOperationException($"The resource '{builder.Resource.Name}' is missing the ExecutableAnnotation"); 215private sealed class ExecutableContainerResource(ExecutableResource er) : ContainerResource(er.Name)
ExternalServiceBuilderExtensions.cs (7)
119e.Logger.LogError(ex, "Failed to get value for URL parameter '{ParameterName}'", resource.UrlParameter?.Name); 131e.Logger.LogError("The value for URL parameter '{ParameterName}' is invalid: {Error}", resource.UrlParameter?.Name, message); 196throw new ArgumentException($"The URL for external service '{builder.Resource.Name}' is null.", nameof(builder)); 200throw new ArgumentException($"The URL '{builder.Resource.Uri}' for external service '{builder.Resource.Name}' cannot be used for HTTP health checks because it has a non-HTTP scheme.", nameof(builder)); 207var healthCheckKey = $"{builder.Resource.Name}_external{pathKey}_{statusCode}_check"; 282return HealthCheckResult.Unhealthy($"The URL '{urlValue}' from parameter '{_urlParameter.Name}' is invalid: {message}"); 288return HealthCheckResult.Unhealthy($"The URL '{uri}' from parameter '{_urlParameter.Name}' cannot be used for HTTP health checks because it has a non-HTTP scheme.");
Orchestrator\ParameterProcessor.cs (6)
136referencedParameters.TryAdd(parameter.Name, parameter); 180.LogWarning("Parameter resource {ResourceName} could not be initialized. Waiting for user input.", parameterResource.Name); 188.LogError(ex, "Failed to initialize parameter resource {ResourceName}.", parameterResource.Name); 321.LogInformation("Parameter resource {ResourceName} has been resolved via user interaction.", parameter.Name); 337logger.LogWarning(ex, "Failed to save parameter {ParameterName} to deployment state.", parameter.Name); 374logger.LogWarning(ex, "Failed to save parameter {ParameterName} to deployment state.", parameter.Name);
ProjectResourceBuilderExtensions.cs (3)
818if (builder.ApplicationBuilder.TryCreateResourceBuilder<ProjectContainerResource>(builder.Resource.Name, out var existingBuilder)) 837cb.WithImage(builder.Resource.Name); 1017private sealed class ProjectContainerResource(ProjectResource pr) : ContainerResource(pr.Name)
Publishing\ManifestPublishingContext.cs (3)
282Writer.WriteString("value", $"{{{parameter.Name}.inputs.value}}"); 379var resourceDockerfilePath = Path.Combine(manifestDirectory, $"{container.Name}.Dockerfile"); 754resourceName = CreateFormattedParameterResourceName(parameter.Name, format);
ResourceBuilderExtensions.cs (9)
189throw new DistributedApplicationException($"The URL parameter '{externalService.Resource.UrlParameter.Name}' for the external service '{externalService.Resource.Name}' is invalid: {message}"); 697var encodedResourceName = EnvironmentVariableNameEncoder.Encode(externalService.Resource.Name); 703var envVarName = $"services__{externalService.Resource.Name}__{uri.Scheme}__0"; 713var encodedResourceName = EnvironmentVariableNameEncoder.Encode(externalService.Resource.Name); 718discoveryEnvVarName = $"services__{externalService.Resource.Name}__default__0"; 723discoveryEnvVarName = $"services__{externalService.Resource.Name}__{uri.Scheme}__0"; 729throw new DistributedApplicationException($"The URL parameter '{externalService.Resource.UrlParameter.Name}' for the external service '{externalService.Resource.Name}' is invalid: {message}");
src\Shared\LaunchProfiles\LaunchProfileExtensions.cs (1)
31return projectMetadata.GetLaunchSettings(projectResource.Name);
Aspire.Hosting.Azure (42)
AzureBicepResource.cs (11)
163? Path.Combine(directory ?? Directory.CreateTempSubdirectory("aspire").FullName, $"{Name.ToLowerInvariant()}.module.bicep") 164: Path.Combine(TempDirectory, $"{Name.ToLowerInvariant()}.module.bicep"); 295context.Logger.LogDebug("Resource {ResourceName} is excluded from publish. Skipping provisioning.", resource.Name); 303context.Logger.LogDebug("Resource {ResourceName} is already provisioned. Skipping provisioning.", resource.Name); 320.CreateTaskAsync($"Deploying **{resource.Name}**", context.CancellationToken) 332$"Using existing deployment for **{resource.Name}**", 343$"Successfully provisioned **{resource.Name}**", 358$"Failed to provision **{resource.Name}**: {errorMessage}", 619public string ValueExpression => $"{{{Resource.Name}.secretOutputs.{Name}}}"; 667throw new InvalidOperationException($"No output for {Name} on resource {Resource.Name}"); 677public string ValueExpression => $"{{{Resource.Name}.outputs.{Name}}}";
AzureEnvironmentResource.cs (2)
73Name = $"publish-{Name}", 74Description = $"Publishes the Azure environment configuration for {Name}.",
AzureProvisioningResource.cs (2)
81var infrastructure = new AzureResourceInfrastructure(this, Name); 96var moduleDestinationPath = Path.Combine(directory ?? generationPath, $"{Name}.module.bicep");
AzureProvisioningResourceExtensions.cs (1)
174parameterName ??= Infrastructure.NormalizeBicepIdentifier(parameterResource.Name);
AzurePublishingContext.cs (10)
156var moduleDirectory = outputDirectory.CreateSubdirectory(resource.Name); 158var modulePath = Path.Combine(moduleDirectory.FullName, $"{resource.Name}.bicep"); 162var identifier = Infrastructure.NormalizeBicepIdentifier(resource.Name); 164var module = new ModuleImport(identifier, $"{resource.Name}/{resource.Name}.bicep") 166Name = resource.Name 241$"Processing Azure resource {resource.Name}", 276$"Wrote bicep module for resource {resource.Name} to {module.Path}", 384var identifier = Infrastructure.NormalizeBicepIdentifier($"{output.Resource.Name}_{output.Name}"); 401var pid = Infrastructure.NormalizeBicepIdentifier(p.Name);
AzureResourcePreparer.cs (2)
295$"{resource.Name}-roles-{targetResource.Name}", 503$"{targetResource.Name}-roles",
AzureUserAssignedIdentityResource.cs (1)
52var identityName = Infrastructure.NormalizeBicepIdentifier(infrastructure.AspireResource.Name);
Provisioning\Provisioners\BicepProvisioner.cs (13)
35var section = configuration.GetSection($"Azure:Deployments:{resource.Name}"); 47logger.LogDebug("Checksum mismatch for resource {ResourceName}. Expected: {ExpectedChecksum}, Actual: {ActualChecksum}", resource.Name, currentCheckSum, configCheckSum); 51logger.LogDebug("Configuring resource {ResourceName} from existing deployment state.", resource.Name); 161logger.LogDebug("Setting parameters and scope for resource {ResourceName}", resource.Name); 180resourceLogger.LogInformation("Deploying {Name} to {ResourceGroup}", resource.Name, resourceGroup.Name); 181logger.LogDebug("Starting deployment of resource {ResourceName} to resource group {ResourceGroupName}", resource.Name, resourceGroup.Name); 187var deploymentName = executionContext.IsPublishMode ? $"{resource.Name}-{DateTimeOffset.Now.ToUnixTimeSeconds()}" : resource.Name; 198var url = GetDeploymentUrl(context, resourceGroup, resource.Name); 215resourceLogger.LogInformation("Deployment of {Name} to {ResourceGroup} took {Elapsed}", resource.Name, resourceGroup.Name, sw.Elapsed); 216logger.LogDebug("Deployment of resource {ResourceName} to resource group {ResourceGroupName} completed in {Elapsed}", resource.Name, resourceGroup.Name, sw.Elapsed); 231throw new InvalidOperationException($"Deployment of {resource.Name} to {resourceGroup.Name} failed with {deployment.Data.Properties.ProvisioningState}"); 238var sectionName = $"Azure:Deployments:{resource.Name}";
Aspire.Hosting.Azure.AIFoundry (5)
AzureAIFoundryExtensions.cs (5)
150var healthCheckKey = $"{resource.Name}_check"; 337var healthCheckKey = $"{deployment.Name}_check"; 371CustomSubDomainName = ToLower(Take(Concat(infrastructure.AspireResource.Name, GetUniqueString(GetResourceGroup().Id)), 24)), 379Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } } 401var cdkDeployment = new CognitiveServicesAccountDeployment(Infrastructure.NormalizeBicepIdentifier(deployment.Name))
Aspire.Hosting.Azure.AppConfiguration (3)
AzureAppConfigurationEmulatorResource.cs (1)
12public class AzureAppConfigurationEmulatorResource(AzureAppConfigurationResource innerResource) : ContainerResource(innerResource.Name), IResource
AzureAppConfigurationExtensions.cs (2)
50Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } } 111return builder.WithBindMount(path ?? $".aace/{builder.Resource.Name}", "/app/.aace", isReadOnly: false);
Aspire.Hosting.Azure.AppContainers (6)
AzureContainerAppExtensions.cs (5)
85var identity = new UserAssignedIdentity(Infrastructure.NormalizeBicepIdentifier($"{appEnvResource.Name}_mi")) 105throw new InvalidOperationException($"No container registry associated with environment '{appEnvResource.Name}'. This should have been added automatically."); 124laWorkspace = new OperationalInsightsWorkspace(Infrastructure.NormalizeBicepIdentifier($"{appEnvResource.Name}_law")) 175storageVolume = new StorageAccount(Infrastructure.NormalizeBicepIdentifier($"{appEnvResource.Name}_storageVolume")) 408Tags = { { "aspire-resource-name", infra.AspireResource.Name } }
AzureContainerAppResource.cs (1)
67ctx.ReportingStep.Log(LogLevel.Information, $"Successfully deployed **{targetResource.Name}** to Azure Container Apps environment **{containerAppEnv.Name}**. No public endpoints were configured.", enableMarkdown: true);
Aspire.Hosting.Azure.AppService (10)
AzureAppServiceEnvironmentExtensions.cs (3)
53var prefix = infra.AspireResource.Name; 87throw new InvalidOperationException($"No container registry associated with environment '{resource.Name}'. This should have been added automatically."); 335Tags = { { "aspire-resource-name", infra.AspireResource.Name } }
AzureAppServiceEnvironmentUtility.cs (3)
32var prefix = infra.AspireResource.Name; 56Name = GetDashboardHostName(infra.AspireResource.Name), 97dashboard.SiteConfig.AppSettings.Add(new AppServiceNameValuePair { Name = "ASPIRE_ENVIRONMENT_NAME", Value = infra.AspireResource.Name });
AzureAppServiceWebsiteContext.cs (4)
527siteObj.SiteConfig.AppSettings.Add(new AppServiceNameValuePair { Name = "ASPIRE_ENVIRONMENT_NAME", Value = environmentContext.Environment.Name }); 531slot.SiteConfig.AppSettings.Add(new AppServiceNameValuePair { Name = "ASPIRE_ENVIRONMENT_NAME", Value = environmentContext.Environment.Name }); 749? Infrastructure.NormalizeBicepIdentifier($"{Infra.AspireResource.Name}_slot_ra") 750: Infrastructure.NormalizeBicepIdentifier($"{Infra.AspireResource.Name}_ra");
Aspire.Hosting.Azure.CognitiveServices (3)
AzureOpenAIDeploymentResource.cs (1)
50/// This defaults to <see cref="Resource.Name"/>, but allows for a different deployment name in Azure.
AzureOpenAIExtensions.cs (2)
55CustomSubDomainName = ToLower(Take(Concat(infrastructure.AspireResource.Name, GetUniqueString(GetResourceGroup().Id)), 24)), 60Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } }
Aspire.Hosting.Azure.ContainerRegistry (1)
AzureContainerRegistryExtensions.cs (1)
45Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } }
Aspire.Hosting.Azure.CosmosDB (17)
AzureCosmosDBContainerResource.cs (1)
112Parent.Parent.GetChildConnectionString(Name, Parent.DatabaseName, ContainerName);
AzureCosmosDBDatabaseResource.cs (1)
38Parent.GetChildConnectionString(Name, DatabaseName, null);
AzureCosmosDBEmulatorResource.cs (1)
13: ContainerResource(innerResource.Name), IResource
AzureCosmosDBExtensions.cs (14)
100throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{builder.Resource.Name}' resource but the connection string was null."); 127var healthCheckKey = $"{builder.Resource.Name}_check"; 393var kv = builder.ApplicationBuilder.AddAzureKeyVault($"{builder.Resource.Name}-kv") 424azureResource.ConnectionStringSecretOutput = keyVaultBuilder.Resource.GetSecret($"connectionstrings--{azureResource.Name}"); 425azureResource.PrimaryAccessKeySecretOutput = keyVaultBuilder.Resource.GetSecret($"primaryaccesskey--{azureResource.Name}"); 474Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } } 479var cosmosSqlDatabase = new CosmosDBSqlDatabase(Infrastructure.NormalizeBicepIdentifier(database.Name)) 492var cosmosContainer = new CosmosDBSqlContainer(Infrastructure.NormalizeBicepIdentifier(container.Name)) 527Name = $"connectionstrings--{azureResource.Name}", 538Name = $"primaryaccesskey--{azureResource.Name}", 548var dbSecret = new KeyVaultSecret(Infrastructure.NormalizeBicepIdentifier(database.Name + "_connectionString")) 551Name = AzureCosmosDBResource.GetKeyValueSecretName(database.Name), 561var containerSecret = new KeyVaultSecret(Infrastructure.NormalizeBicepIdentifier(container.Name + "_connectionString")) 564Name = AzureCosmosDBResource.GetKeyValueSecretName(container.Name),
Aspire.Hosting.Azure.EventHubs (8)
AzureEventHubConsumerGroupResource.cs (2)
48var consumerGroup = new global::Azure.Provisioning.EventHubs.EventHubsConsumerGroup(Infrastructure.NormalizeBicepIdentifier(Name)); 61writer.WriteString(nameof(Name), ConsumerGroupName);
AzureEventHubResource.cs (2)
59var hub = new global::Azure.Provisioning.EventHubs.EventHub(Infrastructure.NormalizeBicepIdentifier(Name)); 79writer.WriteString(nameof(Name), hub.HubName);
AzureEventHubsEmulatorResource.cs (2)
13: ContainerResource(innerResource.Name), IResource 24public override string Name => _innerResource.Name;
AzureEventHubsExtensions.cs (2)
70Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } } 255.AddAzureStorage($"{builder.Resource.Name}-storage")
Aspire.Hosting.Azure.Functions (2)
AzureFunctionsProjectResourceExtensions.cs (1)
137.FirstOrDefault(r => r.Name == storageResourceName);
src\Shared\LaunchProfiles\LaunchProfileExtensions.cs (1)
31return projectMetadata.GetLaunchSettings(projectResource.Name);
Aspire.Hosting.Azure.KeyVault (3)
AzureKeyVaultResourceExtensions.cs (1)
87Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } }
AzureKeyVaultSecretReference.cs (2)
30string IManifestExpressionProvider.ValueExpression => $"{{{azureKeyVaultResource.Name}.secrets.{SecretName}}}"; 39throw new InvalidOperationException($"Secret '{secretName}' not found in Key Vault '{azureKeyVaultResource.Name}'.");
Aspire.Hosting.Azure.Kusto (14)
AzureKustoBuilderExtensions.cs (11)
70Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } } 123throw new DistributedApplicationException($"ConnectionStringAvailableEvent published for resource '{db.Name}', but the connection string was null."); 128var healthCheckKey = $"{kustoDatabase.Name}_check"; 234throw new DistributedApplicationException($"ConnectionStringAvailableEvent published for resource '{resource.Name}', but the connection string was null."); 239var healthCheckKey = $"{resource.Name}_check"; 250throw new DistributedApplicationException($"Connection string for Kusto resource '{server.Name}' is not set."); 365throw new DistributedApplicationException($"Connection string for Kusto resource '{resourceBuilder.Resource.Name}' is not set."); 368var result = launcher.TryLaunchKustoExplorer(title: "", resourceBuilder.Resource.Name, connectionString, requestText: ""); 380throw new DistributedApplicationException($"Connection string for Kusto resource '{resourceBuilder.Resource.Name}' is not set."); 383var result = launcher.TryLaunchKustoWebExplorer(title: "", resourceBuilder.Resource.Name, connectionString, requestText: ""); 394message: $"Could not automatically open Kusto Web Explorer for resource '{resourceBuilder.Resource.Name}'. Click [{connectionString}]({connectionString}) to manually open the Web Explorer.",
AzureKustoClusterResource.cs (1)
122var kustoDb = KustoReadWriteDatabase.FromExisting(Infrastructure.NormalizeBicepIdentifier(db.Name));
AzureKustoEmulatorResource.cs (1)
18: base(innerResource?.Name ?? throw new ArgumentNullException(nameof(innerResource)))
AzureKustoReadWriteDatabaseResource.cs (1)
66var database = new KustoReadWriteDatabase(Infrastructure.NormalizeBicepIdentifier(Name));
Aspire.Hosting.Azure.Kusto.Tests (8)
AddAzureKustoTests.cs (1)
25Assert.Equal(name, resourceBuilder.Resource.Name);
KustoFunctionalTests.cs (7)
56await rns.WaitForResourceHealthyAsync(kusto.Resource.Name, cancellationToken: cts.Token); 108await rns.WaitForResourceHealthyAsync(kustoDb.Resource.Name, cancellationToken: cts.Token); 188await rns.WaitForResourceHealthyAsync(kusto.Resource.Name, cts.Token); 215await rns.WaitForResourceHealthyAsync(kusto.Resource.Name, cts.Token); 218await rns.WaitForResourceHealthyAsync(db1.Resource.Name, cts.Token); 219await rns.WaitForResourceAsync(db2.Resource.Name, KnownResourceStates.FailedToStart, cts.Token); 254await rns.WaitForResourceHealthyAsync(kustoDb.Resource.Name, cts.Token);
Aspire.Hosting.Azure.PostgreSQL (11)
AzurePostgresExtensions.cs (8)
221.ToDictionary(db => db.Name); 233azureResource.Name, 294var kv = builder.ApplicationBuilder.AddAzureKeyVault($"{builder.Resource.Name}-kv") 338ParameterResourceBuilderExtensions.CreateDefaultPasswordParameter(builder.ApplicationBuilder, $"{builder.Resource.Name}-password"); 341azureResource.ConnectionStringSecretOutput = keyVaultBuilder.Resource.GetSecret($"connectionstrings--{builder.Resource.Name}"); 391Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } } 466Name = $"connectionstrings--{azureResource.Name}", 538builder.ApplicationBuilder, $"{builder.Resource.Name}-username", secret: false, generatedUserName);
AzurePostgresFlexibleServerDatabaseResource.cs (1)
27public ReferenceExpression ConnectionStringExpression => Parent.GetDatabaseConnectionString(Name, databaseName);
AzurePostgresResource.cs (2)
15: AzureProvisioningResource(innerResource.Name, configureInfrastructure), IResourceWithConnectionString 31public override string Name => _innerResource.Name;
Aspire.Hosting.Azure.Redis (13)
AzureManagedRedisExtensions.cs (6)
95var redisContainer = builder.ApplicationBuilder.AddRedis(azureResource.Name); 129var kv = builder.ApplicationBuilder.AddAzureKeyVault($"{builder.Resource.Name}-kv") 161azureResource.ConnectionStringSecretOutput = keyVaultBuilder.Resource.GetSecret($"connectionstrings--{azureResource.Name}"); 162azureResource.PrimaryAccessKeySecretOutput = keyVaultBuilder.Resource.GetSecret($"primaryaccesskey--{azureResource.Name}"); 239Name = $"connectionstrings--{redisResource.Name}", 250Name = $"primaryaccesskey--{redisResource.Name}",
AzureRedisExtensions.cs (5)
167var redisContainer = builder.ApplicationBuilder.AddRedis(azureResource.Name); 202var kv = builder.ApplicationBuilder.AddAzureKeyVault($"{builder.Resource.Name}-kv") 235azureResource.ConnectionStringSecretOutput = keyVaultBuilder.Resource.GetSecret($"connectionstrings--{azureResource.Name}"); 268Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } } 289Name = $"connectionstrings--{redisResource.Name}",
AzureRedisResource.cs (2)
15: AzureProvisioningResource(innerResource.Name, configureInfrastructure), IResourceWithConnectionString 31public override string Name => _innerResource.Name;
Aspire.Hosting.Azure.ServiceBus (14)
AzureServiceBusEmulatorResource.cs (1)
12public class AzureServiceBusEmulatorResource(AzureServiceBusResource innerResource) : ContainerResource(innerResource.Name), IResource
AzureServiceBusExtensions.cs (5)
68Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } } 276if (builder.Resource.Topics.FirstOrDefault(x => x.Name == topicName) is { } existingResource) 372var passwordParameter = ParameterResourceBuilderExtensions.CreateDefaultPasswordParameter(builder.ApplicationBuilder, $"{builder.Resource.Name}-sql-pwd", minLower: 1, minUpper: 1, minNumeric: 1); 386.AddContainer($"{builder.Resource.Name}-mssql", 553writer.WriteString("Name", emulatorResource.Name);
AzureServiceBusQueueResource.cs (2)
108var queue = new global::Azure.Provisioning.ServiceBus.ServiceBusQueue(Infrastructure.NormalizeBicepIdentifier(Name)); 159writer.WriteString(nameof(Name), queue.QueueName);
AzureServiceBusRule.cs (1)
120writer.WriteString(nameof(AzureServiceBusQueueResource.Name), rule.Name);
AzureServiceBusSubscriptionResource.cs (2)
102var subscription = new global::Azure.Provisioning.ServiceBus.ServiceBusSubscription(Infrastructure.NormalizeBicepIdentifier(Name)); 150writer.WriteString(nameof(Name), subscription.SubscriptionName);
AzureServiceBusTopicResource.cs (3)
78var topic = new global::Azure.Provisioning.ServiceBus.ServiceBusTopic(Infrastructure.NormalizeBicepIdentifier(Name)); 108if (topic.Name != null) 110writer.WriteString(nameof(Name), topic.TopicName);
Aspire.Hosting.Azure.SignalR (2)
AzureSignalREmulatorResource.cs (1)
12public class AzureSignalREmulatorResource(AzureSignalRResource innerResource) : ContainerResource(innerResource.Name), IResource
AzureSignalRExtensions.cs (1)
86Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } },
Aspire.Hosting.Azure.Sql (5)
AzureSqlExtensions.cs (3)
181.ToDictionary(db => db.Name); 185var sqlContainer = builder.ApplicationBuilder.AddSqlServer(azureResource.Name); 307Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } }
AzureSqlServerResource.cs (2)
38: base(innerResource.Name, configureInfrastructure) 143_databases.TryAdd(db.Name, db);
Aspire.Hosting.Azure.Storage (18)
AzureBlobStorageContainerResource.cs (1)
42global::Azure.Provisioning.Storage.BlobContainer blobContainer = new(Infrastructure.NormalizeBicepIdentifier(Name))
AzureQueueStorageQueueResource.cs (1)
42global::Azure.Provisioning.Storage.StorageQueue queue = new(Infrastructure.NormalizeBicepIdentifier(Name))
AzureStorageEmulatorResource.cs (2)
12public class AzureStorageEmulatorResource(AzureStorageResource innerResource) : ContainerResource(innerResource.Name), IResource 17public override string Name => _innerResource.Name;
AzureStorageExtensions.cs (13)
72Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } } 181var blobConnectionString = await builder.Resource.GetBlobConnectionString().GetValueAsync(ct).ConfigureAwait(false) ?? throw new DistributedApplicationException($"{nameof(ConnectionStringAvailableEvent)} was published for the '{builder.Resource.Name}' resource but the connection string was null."); 184var queueConnectionString = await builder.Resource.GetQueueConnectionString().GetValueAsync(ct).ConfigureAwait(false) ?? throw new DistributedApplicationException($"{nameof(ConnectionStringAvailableEvent)} was published for the '{builder.Resource.Name}' resource but the connection string was null."); 209var healthCheckKey = $"{builder.Resource.Name}_check"; 341if (string.Equals(name, builder.Resource.Name + "-blobs", StringComparisons.ResourceName)) 378var name = builder.Resource.Name + "-blobs"; 402var healthCheckKey = $"{resource.Name}_check"; 443var healthCheckKey = $"{resource.Name}_check"; 480if (string.Equals(name, builder.Resource.Name + "-queues", StringComparisons.ResourceName)) 499var name = builder.Resource.Name + "-queues"; 523var healthCheckKey = $"{resource.Name}_check"; 604var healthCheckKey = $"{resource.Name}_check"; 635var healthCheckKey = $"{resource.Name}_check";
AzureTableStorageResource.cs (1)
59global::Azure.Provisioning.Storage.TableService service = new(Infrastructure.NormalizeBicepIdentifier(Name));
Aspire.Hosting.Azure.Tests (165)
AzureAIFoundryExtensionsTests.cs (4)
20Assert.Equal("myAIFoundry", resource.Name); 32Assert.Equal("deployment1", deployment.Name); 92await rns.WaitForResourceAsync(resource.Name, [KnownResourceStates.FailedToStart, KnownResourceStates.Running], cts.Token); 175var roles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "foundry-roles");
AzureAppConfigurationExtensionsTests.cs (1)
64var appConfigRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "appConfig-roles");
AzureApplicationInsightsExtensionsTests.cs (3)
23Assert.Equal("appInsights", appInsights.Resource.Name); 44Assert.Equal("appInsights", appInsights.Resource.Name); 73Assert.Equal("appInsights", appInsights.Resource.Name);
AzureContainerAppsTests.cs (12)
329var identityName = $"{proj.Name}-identity"; 330var projIdentity = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == identityName); 406var identityName = $"{proj.Name}-identity"; 407var projIdentity = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == identityName); 999var projIdentity = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-identity"); 1000var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-roles-storage"); 1043var projIdentity = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-identity"); 1044var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-roles-cosmos"); 1084var projIdentity = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-identity"); 1085var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-roles-redis"); 2099Assert.Contains("acr", defaultAcr.Name); 2121Assert.Equal("customregistry", acrResources[0].Name);
AzureContainerRegistryTests.cs (1)
88var rolesResource = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-roles-acr");
AzureCosmosDBEmulatorFunctionalTests.cs (17)
47await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 49await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 53await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token); 55await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 93await app.ResourceNotifications.WaitForResourceHealthyAsync(db.Resource.Name, cts.Token); 97hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await cosmos.Resource.ConnectionStringExpression.GetValueAsync(default); 98hb.AddAzureCosmosClient(db.Resource.Name); 99hb.AddCosmosDbContext<EFCoreCosmosDbContext>(db.Resource.Name, databaseName); 174await rns.WaitForResourceHealthyAsync(cosmos1.Resource.Name, cts.Token); 182[$"ConnectionStrings:{cosmos1.Resource.Name}"] = await cosmos1.Resource.ConnectionStringExpression.GetValueAsync(default) 185hb.AddAzureCosmosClient(cosmos1.Resource.Name); 222await rns.WaitForResourceHealthyAsync(cosmos2.Resource.Name, cts.Token); 231[$"ConnectionStrings:{cosmos2.Resource.Name}"] = await cosmos2.Resource.ConnectionStringExpression.GetValueAsync(default) 234hb.AddAzureCosmosClient(cosmos2.Resource.Name); 292await rns.WaitForResourceHealthyAsync(cosmos.Resource.Name, cts.Token); 296hb.Configuration[$"ConnectionStrings:{cosmos.Resource.Name}"] = await cosmos.Resource.ConnectionStringExpression.GetValueAsync(default); 297hb.AddAzureCosmosClient(cosmos.Resource.Name);
AzureCosmosDBExtensionsTests.cs (6)
208var cosmosRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "cosmos-roles"); 337Assert.Equal(kvName, kv.Name); 367Assert.Equal("cosmos", cosmos.Resource.Name); 410Assert.Equal("cosmos", cosmos.Resource.Name); 471Assert.Equal("cosmos", cosmos.Resource.Name); 512Assert.Equal("cosmos", cosmos.Resource.Name);
AzureDeployerTests.cs (1)
630Name = p.Name,
AzureEnvironmentResourceExtensionsTests.cs (1)
72Assert.StartsWith("azure", resource.Name);
AzureEventHubsExtensionsTests.cs (7)
46await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 47await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 51await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token); 53await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 76await app.ResourceNotifications.WaitForResourceHealthyAsync(eventHubns.Resource.Name, cts.Token); 128await app.ResourceNotifications.WaitForResourceHealthyAsync(eventHubns.Resource.Name, cts.Token); 292var ehRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "eh-roles");
AzureFunctionsTests.cs (16)
143Assert.NotEqual(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName, storageResources.Name); 144Assert.StartsWith(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName, storageResources.Name); 162r => r.Name.StartsWith(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName)); 164Assert.Equal("my-own-storage", storageResource.Name); 188r => r.Name.StartsWith(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName)); 201Assert.NotEqual(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName, resource.Name); 202Assert.StartsWith(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName, resource.Name); 289var storage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcstorage634f8"); 322var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcapp-roles-funcstorage634f8"); 350var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcapp-roles-my-own-storage"); 379var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcapp-roles-my-own-storage"); 410var projRolesStorage = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcapp-roles-my-own-storage"); 411var projRolesStorage2 = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "funcapp2-roles-funcstorage634f8"); 704.Where(r => r.Name.StartsWith(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName)) 730r => r.Name.StartsWith(AzureFunctionsProjectResourceExtensions.DefaultAzureFunctionsHostStorageName)); 732Assert.Equal("my-custom-storage", storageResource.Name);
AzureKeyVaultTests.cs (2)
38var kvRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "mykv-roles"); 221Assert.Equal("mySecret", secretResource.Resource.Name);
AzureKustoExtensionsTests.cs (2)
30var kustoRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "kusto-roles"); 80Assert.Equal("myKusto", resource.Name);
AzureLogAnalyticsWorkspaceExtensionsTests.cs (1)
17Assert.Equal("logAnalyticsWorkspace", logAnalyticsWorkspace.Resource.Name);
AzureManagedRedisExtensionsTests.cs (1)
39var redisRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "redis-cache-roles");
AzureOpenAIExtensionsTests.cs (1)
80var openaiRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "openai-roles");
AzurePostgresExtensionsTests.cs (1)
41var postgresRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "postgres-data-roles");
AzureRedisExtensionsTests.cs (1)
41var redisRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "redis-cache-roles");
AzureResourcePreparerTests.cs (3)
70var storageRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "storage-roles"); 114var storageRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "storage-roles"); 155Assert.DoesNotContain(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "dbsrv-roles");
AzureSearchExtensionsTests.cs (2)
35Assert.Equal("search", search.Resource.Name); 59var searchRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "search-roles");
AzureServiceBusExtensionsTests.cs (10)
95await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 97await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 101await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token); 103await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 136await rns.WaitForResourceAsync(serviceBus.Resource.Name, KnownResourceStates.Running, cts.Token); 137await rns.WaitForResourceHealthyAsync(serviceBus.Resource.Name, cts.Token); 722Assert.Equal("sb", serviceBus.Resource.Name); 741var sbRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "sb-roles"); 814await app.ResourceNotifications.WaitForResourceAsync(serviceBus.Resource.Name, KnownResourceStates.Running, cts.Token); 815await app.ResourceNotifications.WaitForResourceHealthyAsync(serviceBus.Resource.Name, cts.Token);
AzureSignalREmulatorFunctionalTest.cs (4)
60await app.ResourceNotifications.WaitForResourceAsync(signalR.Resource.Name, KnownResourceStates.Running, cts.Token); 61await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 65await app.ResourceNotifications.WaitForResourceHealthyAsync(signalR.Resource.Name, cts.Token); 67await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
AzureSignalRExtensionsTests.cs (2)
25var signalrRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "signalr-roles"); 47var signalrRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "signalr-roles");
AzureStorageEmulatorFunctionalTests.cs (17)
49await rns.WaitForResourceAsync(storage.Resource.Name, KnownResourceStates.Running, cts.Token); 51await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 55await rns.WaitForResourceHealthyAsync(blobs.Resource.Name, cts.Token); 56await rns.WaitForResourceHealthyAsync(queues.Resource.Name, cts.Token); 57await rns.WaitForResourceHealthyAsync(tables.Resource.Name, cts.Token); 59await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 94await rns.WaitForResourceAsync(storage.Resource.Name, KnownResourceStates.Running, cts.Token); 96await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 100await rns.WaitForResourceHealthyAsync(blobContainer.Resource.Name, cts.Token); 102await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 137await rns.WaitForResourceAsync(storage.Resource.Name, KnownResourceStates.Running, cts.Token); 139await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 143await rns.WaitForResourceHealthyAsync(testQueue.Resource.Name, cts.Token); 145await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 191await rns.WaitForResourceHealthyAsync(storage.Resource.Name, cts.Token); 224await rns.WaitForResourceHealthyAsync(blobContainer.Resource.Name, cancellationToken: cts.Token); 264await rns.WaitForResourceHealthyAsync(queue.Resource.Name, cancellationToken: cts.Token);
AzureStorageExtensionsTests.cs (7)
459Assert.Equal("storage", storage.Resource.Name); 544Assert.Equal("storage", storage.Resource.Name); 632Assert.Equal("storage", storage.Resource.Name); 651var storageRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "storage-roles"); 763Assert.Equal("storage", storage.Resource.Name); 850Assert.Equal("storage-blobs", blobService.Resource.Name); 877Assert.Equal("storage-queues", queueService.Resource.Name);
AzureUserAssignedIdentityTests.cs (12)
87var registryResource = Assert.Single(model.Resources.OfType<AzureContainerRegistryResource>(), r => r.Name == "myregistry"); 90var identityRoleAssignments = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "myidentity-roles-myregistry"); 119Assert.Equal("myidentity", identityResource.Name); 166Assert.Equal("myidentity", identityResource.Name); 175r => r.Name == "myapp-roles-mystorage"); 222Assert.Equal("myidentity", identityResource.Name); 231r => r.Name == "myapp-roles-mystorage"); 296r => Assert.True(r is AzureProvisioningResource { Name: "myapp-roles-mystorage" }), 297r => Assert.True(r is AzureProvisioningResource { Name: "myapp2-roles-mystorage" })); 301Assert.Equal("myidentity", identityResource.Name); 313r => r.Name == "myapp-roles-mystorage"); 315r => r.Name == "myapp2-roles-mystorage");
AzureWebPubSubExtensionsTests.cs (14)
35Assert.Equal(hubName, hub.Resource.Name); 63Assert.Equal("wps1", wps.Resource.Name); 108Assert.Equal("wps1", wps.Resource.Name); 138Assert.Equal("wps1", wps.Resource.Name); 164Assert.Equal("wps1", wps.Resource.Name); 218Assert.Equal("wps1", wps.Resource.Name); 234Assert.Equal("hub1", hub1.Resource.Name); 235Assert.Equal("resource2", hub2.Resource.Name); 236Assert.Equal("hub3", hub3.Resource.Name); 237Assert.Equal("hub4", hub4.Resource.Name); 262Assert.Equal("resource1", hub1.Resource.Name); 292Assert.Equal("wps1", wps.Resource.Name); 295var wpsRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "wps1-roles"); 348Assert.Equal("wps1", wps.Resource.Name);
ExistingAzureResourceExtensionsTests.cs (10)
38Assert.Equal("name", existingNameParameter.Name); 40Assert.Equal("resourceGroup", existingResourceGroupParameter.Name); 59Assert.Equal("name1", existingNameParameter.Name); 61Assert.Equal("resourceGroup1", existingResourceGroupParameter.Name); 77Assert.Equal("name", existingNameParameter.Name); 79Assert.Equal("resourceGroup", existingResourceGroupParameter.Name); 98Assert.Equal("name1", existingNameParameter.Name); 100Assert.Equal("resourceGroup1", existingResourceGroupParameter.Name); 136Assert.Equal("name", existingNameParameter.Name); 138Assert.Equal("resourceGroup", existingResourceGroupParameter.Name);
ExistingAzureResourceTests.cs (1)
80var messagingRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "messaging-roles");
RoleAssignmentTests.cs (5)
241var keyVaultResource = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "keyvault"); 270var keyVaultResource = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "keyvault"); 273var sbResource = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "sb"); 300var projRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == "api-roles-keyvault"); 321var projRoles = Assert.Single(model.Resources.OfType<AzureProvisioningResource>(), r => r.Name == $"api-roles-{azureResourceName}");
Aspire.Hosting.Azure.WebPubSub (2)
AzureWebPubSubExtensions.cs (2)
72Tags = { { "aspire-resource-name", infrastructure.AspireResource.Name } } 90var hub = new WebPubSubHub(Infrastructure.NormalizeBicepIdentifier(hubResource.Name))
Aspire.Hosting.DevTunnels (4)
DevTunnelResourceBuilderExtensions.cs (4)
392ErrorMessage = $"The dev tunnel '{tunnelResource.Name}' has not been associated with '{endpointName}' on resource '{targetResource.Name}'. Use 'WithReference({targetResource.Name})' on the dev tunnel to expose this endpoint." 465throw new ArgumentException($"Target endpoint '{targetEndpoint.EndpointName}' on resource '{targetEndpoint.Resource.Name}' has already been added to dev tunnel '{tunnel.Name}'.", nameof(targetEndpoint)); 491var portName = $"{tunnel.Name}-{targetResource.Name}-{targetEndpoint.EndpointName}"; 693await eventing.PublishAsync<ResourceStoppedEvent>(new(portResource, e.Services, new(portResource, portResource.Name, stoppedSnapshot!)), ct).ConfigureAwait(false);
Aspire.Hosting.Docker (22)
DockerComposeEnvironmentContext.cs (3)
92var envVarName = $"{serviceResource.Name.ToUpperInvariant().Replace("-", "_").Replace(".", "_")}_BINDMOUNT_{bindMountIndex}"; 99description: $"Bind mount source for {serviceResource.Name}:{mount.Target}", 105logger.BindMountHostSpecificPath(serviceResource.Name, mount.Source, envVarName);
DockerComposeEnvironmentResource.cs (15)
65Name = $"publish-{Name}", 66Description = $"Publishes the Docker Compose environment configuration for {Name}.", 105Name = $"prepare-{Name}", 106Description = $"Prepares the Docker Compose environment {Name} for deployment.", 115Name = $"docker-compose-up-{Name}", 118DependsOnSteps = [$"prepare-{Name}"] 125Name = $"docker-compose-down-{Name}", 173.RequiredBy($"docker-compose-up-{Name}") 228var deployTask = await context.ReportingStep.CreateTaskAsync($"Running docker compose up for **{Name}**", context.CancellationToken).ConfigureAwait(false); 268await deployTask.CompleteAsync($"Service **{Name}** is now running with Docker Compose locally", CompletionState.Completed, context.CancellationToken).ConfigureAwait(false); 290var deployTask = await context.ReportingStep.CreateTaskAsync($"Running docker compose down for **{Name}**", context.CancellationToken).ConfigureAwait(false); 322await deployTask.CompleteAsync($"Docker Compose shutdown complete for **{Name}**", CompletionState.Completed, context.CancellationToken).ConfigureAwait(false); 385var environmentName = hostEnvironment?.EnvironmentName ?? environment.Name; 417return $"aspire-{environment.Name.ToLowerInvariant()}-{appHostSha[..8].ToLowerInvariant()}"; 421return $"aspire-{environment.Name.ToLowerInvariant()}";
DockerComposeServiceExtensions.cs (2)
92var env = parameter.Name.ToUpperInvariant().Replace("-", "_"); 98description: $"Parameter {parameter.Name}",
DockerComposeServiceResource.cs (2)
318$"Successfully deployed **{TargetResource.Name}** to Docker Compose environment **{environment.Name}**. No public endpoints were configured.", 338$"Successfully deployed **{TargetResource.Name}** to Docker Compose environment **{environment.Name}**.",
Aspire.Hosting.Docker.Tests (1)
DockerComposePublisherTests.cs (1)
300context.EnvironmentVariables[param.Name] = param;
Aspire.Hosting.Garnet (1)
GarnetBuilderExtensions.cs (1)
118throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{garnet.Name}' resource but the connection string was null.");
Aspire.Hosting.Garnet.Tests (10)
AddGarnetTests.cs (2)
25Assert.Equal("myGarnet", containerResource.Name); 53Assert.Equal("myGarnet", containerResource.Name);
GarnetFunctionalTests.cs (8)
40await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 42await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 46await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token); 48await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 75hb.Configuration[$"ConnectionStrings:{garnet.Resource.Name}"] = await garnet.Resource.ConnectionStringExpression.GetValueAsync(default); 77hb.AddRedisClient(garnet.Resource.Name); 155hb.Configuration[$"ConnectionStrings:{garnet1.Resource.Name}"] = $"{await garnet1.Resource.ConnectionStringExpression.GetValueAsync(default)}"; 207hb.Configuration[$"ConnectionStrings:{garnet2.Resource.Name}"] = $"{await garnet2.Resource.ConnectionStringExpression.GetValueAsync(default)}";
Aspire.Hosting.GitHub.Models (1)
GitHubModelsExtensions.cs (1)
160var healthCheckKey = $"{builder.Resource.Name}_check";
Aspire.Hosting.GitHub.Models.Tests (10)
GitHubModelsExtensionTests.cs (6)
20Assert.Equal("github", github.Resource.Name); 33Assert.Equal("mymodel-gh-apikey", github.Resource.Key.Name); 92Assert.Equal("github-gh-apikey", github.Resource.Key.Name); 119Assert.Equal("github-org", github.Resource.Organization.Name); 190Assert.Equal("test", resource.Name); 206Assert.Equal("test", resource.Name);
GitHubModelsFunctionalTests.cs (4)
41await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 43await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 47await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token); 49await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
Aspire.Hosting.JavaScript (2)
JavaScriptHostingExtensions.cs (2)
616resourceLogger.LogWarning(ex, "Failed to generate Aspire Vite HTTPS config wrapper for resource '{ResourceName}'. Falling back to existing Vite config without Aspire modifications. Automatic HTTPS configuration won't be available", resource.Name); 871var installerName = $"{resource.Resource.Name}-installer";
Aspire.Hosting.JavaScript.Tests (18)
IntegrationTests.cs (1)
37Assert.Equal("vite-app-installer", npmInstallers[0].Name);
NodeAppFixture.cs (1)
109using var client = App.CreateHttpClient(NodeAppBuilder!.Resource.Name, endpointName: "http");
NodeFunctionalTests.cs (2)
26using var nodeClient = _nodeJsFixture.App.CreateHttpClient(_nodeJsFixture.NodeAppBuilder!.Resource.Name, "http"); 39using var npmClient = _nodeJsFixture.App.CreateHttpClient(_nodeJsFixture.NpmAppBuilder!.Resource.Name, "http");
PackageInstallationTests.cs (11)
42var nodeAppInstallResource = installerResources.Single(r => r.Name == "nodeApp-installer"); 48var nodeApp2InstallResource = installerResources.Single(r => r.Name == "nodeApp2-installer"); 113Assert.Equal("test-app-installer", installerResource.Name); 140Assert.Equal("test-app-installer", installerResource.Name); 182Assert.Equal("test-app-installer", installerResource.Name); 209Assert.Equal("test-app-installer", installerResource.Name); 236Assert.Equal("test-app-installer", installerResource.Name); 387Assert.Equal("test-app-installer", installerResource.Name); 409Assert.Equal("test-app-installer", installerResource.Name); 431Assert.Equal("test-app-installer", installerResource.Name); 451Assert.Equal("test-app-installer", installerResource.Name);
ResourceCreationTests.cs (3)
107Assert.Equal("test-app-installer", installerResource.Name); 184Assert.Equal("test-app-installer", installerResource.Name); 207Assert.Equal("test-app-installer", installerResource.Name);
Aspire.Hosting.Kafka (2)
KafkaBuilderExtensions.cs (2)
48throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{kafka.Name}' resource but the connection string was null."); 218? ReferenceExpression.Create($"PLAINTEXT://localhost:29092,PLAINTEXT_HOST://localhost:{primaryEndpoint.Port.ToString(CultureInfo.InvariantCulture)},PLAINTEXT_INTERNAL://{resource.Name}:{internalEndpoint.Property(EndpointProperty.TargetPort)}")
Aspire.Hosting.Kafka.Tests (8)
AddKafkaTests.cs (1)
27Assert.Equal("kafka", containerResource.Name);
KafkaFunctionalTests.cs (7)
42await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 44await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 48await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 50await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 75hb.Configuration[$"ConnectionStrings:{kafka.Resource.Name}"] = await kafka.Resource.ConnectionStringExpression.GetValueAsync(default); 171hb.Configuration[$"ConnectionStrings:{kafka1.Resource.Name}"] = await kafka1.Resource.ConnectionStringExpression.GetValueAsync(default); 221hb.Configuration[$"ConnectionStrings:{kafka2.Resource.Name}"] = await kafka2.Resource.ConnectionStringExpression.GetValueAsync(default);
Aspire.Hosting.Keycloak.Tests (1)
KeycloakResourceBuilderTests.cs (1)
26Assert.Equal(resourceName, containerResource.Name);
Aspire.Hosting.Kubernetes (3)
KubernetesEnvironmentResource.cs (2)
93Name = $"publish-{Name}", 94Description = $"Publishes the Kubernetes environment configuration for {Name}.",
KubernetesResource.cs (1)
460var formattedName = parameter.Name.ToHelmValuesSectionName();
Aspire.Hosting.Maui (10)
MauiAndroidExtensions.cs (2)
50var name = $"{builder.Resource.Name}-android-device"; 232var name = $"{builder.Resource.Name}-android-emulator";
MauiiOSExtensions.cs (2)
54var name = $"{builder.Resource.Name}-ios-device"; 250var name = $"{builder.Resource.Name}-ios-simulator";
MauiMacCatalystExtensions.cs (1)
43var name = $"{builder.Resource.Name}-maccatalyst";
MauiOtlpExtensions.cs (3)
94var tunnelName = parentBuilder.Resource.Name; 150var serviceDiscoveryKey = $"services__{tunnelConfig.OtlpStub.Name}__otlp__0"; 161var directEndpointKey = $"{EnvironmentVariableNameEncoder.Encode(tunnelConfig.OtlpStub.Name).ToUpperInvariant()}_OTLP";
MauiPlatformHelper.cs (1)
151context.EnvironmentVariables["OTEL_SERVICE_NAME"] = resource.Name;
MauiWindowsExtensions.cs (1)
43var name = $"{builder.Resource.Name}-windows";
Aspire.Hosting.Maui.Tests (9)
MauiPlatformExtensionsTests.cs (9)
312Assert.NotEqual(androidDevice.Resource.Name, androidEmulator.Resource.Name); 339Assert.Equal("my-device", device.Resource.Name); 365Assert.Equal("my-emulator", emulator.Resource.Name); 391Assert.Equal("my-device", device.Resource.Name); 417Assert.Equal("my-simulator", simulator.Resource.Name); 445Assert.NotEqual(device.Resource.Name, simulator.Resource.Name); 653var stubName = tunnelConfig.OtlpStub.Name;
Aspire.Hosting.Milvus (2)
MilvusBuilderExtensions.cs (2)
135containerName ??= $"{builder.Resource.Name}-attu"; 218context.EnvironmentVariables["MILVUS_URL"] = $"{resource.PrimaryEndpoint.Scheme}://{resource.Name}:{resource.PrimaryEndpoint.TargetPort}";
Aspire.Hosting.Milvus.Tests (10)
AddMilvusTests.cs (1)
187Assert.Equal("my-milvus", milvusResource.Name);
MilvusFunctionalTests.cs (9)
30await app.WaitForTextAsync("Milvus Proxy successfully initialized and ready to serve", milvus.Resource.Name); 35hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 37hb.AddMilvusClient(db.Resource.Name); 107await app.WaitForTextAsync("Milvus Proxy successfully initialized and ready to serve", milvus1.Resource.Name); 114hb.Configuration[$"ConnectionStrings:{db1.Resource.Name}"] = await db1.Resource.ConnectionStringExpression.GetValueAsync(default); 116hb.AddMilvusClient(db1.Resource.Name); 155await app.WaitForTextAsync("Milvus Proxy successfully initialized and ready to serve", milvus2.Resource.Name); 162hb.Configuration[$"ConnectionStrings:{db2.Resource.Name}"] = await db2.Resource.ConnectionStringExpression.GetValueAsync(default); 164hb.AddMilvusClient(db2.Resource.Name);
Aspire.Hosting.MongoDB (4)
MongoDBBuilderExtensions.cs (4)
68throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{mongoDBContainer.Name}' resource but the connection string was null."); 119throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{mongoDBDatabase.Name}' resource but the connection string was null."); 152containerName ??= $"{builder.Resource.Name}-mongoexpress"; 251context.EnvironmentVariables["ME_CONFIG_MONGODB_SERVER"] = resource.Name;
Aspire.Hosting.MongoDB.Tests (16)
AddMongoDBTests.cs (2)
26Assert.Equal("mongodb", containerResource.Name); 54Assert.Equal("mongodb", containerResource.Name);
MongoDbFunctionalTests.cs (14)
52await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 54await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 58await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token); 60await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 86hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 88hb.AddMongoDBClient(db.Resource.Name); 151hb.Configuration[$"ConnectionStrings:{db1.Resource.Name}"] = await db1.Resource.ConnectionStringExpression.GetValueAsync(default); 153hb.AddMongoDBClient(db1.Resource.Name); 196hb.Configuration[$"ConnectionStrings:{db2.Resource.Name}"] = await db2.Resource.ConnectionStringExpression.GetValueAsync(default); 198hb.AddMongoDBClient(db2.Resource.Name); 308hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 310hb.AddMongoDBClient(db.Resource.Name); 399hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 401hb.AddMongoDBClient(db.Resource.Name);
Aspire.Hosting.MySql (6)
MySqlBuilderExtensions.cs (5)
51throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{resource.Name}' resource but the connection string was null."); 59throw new DistributedApplicationException($"ResourceReadyEvent was published for the '{resource.Name}' resource but the connection string was null."); 67throw new InvalidOperationException($"Could not open connection to '{resource.Name}'"); 273var configStoreFilename = aspireStore.GetFileNameWithContent($"{builder.Resource.Name}-config.user.inc.php", tempConfigFile); 400writer.WriteLine($"$cfg['Servers'][$i]['verbose'] = '{mySqlInstance.Name}';");
MySqlServerResource.cs (1)
116_databases.TryAdd(database.Name, database.DatabaseName);
Aspire.Hosting.MySql.Tests (34)
AddMySqlTests.cs (5)
47Assert.Equal("mysql", containerResource.Name); 229Assert.Single(builder.Resources.OfType<ContainerResource>(), resource => resource.Name == "phpmyadmin"); 251Assert.Equal($"{mysql.Resource.Name}:{mysql.Resource.PrimaryEndpoint.TargetPort}", config["PMA_HOST"]); 283string pattern1 = $@"\$cfg\['Servers'\]\[\$i\]\['host'\] = '{mysql1.Resource.Name}:{mysql1.Resource.PrimaryEndpoint.TargetPort}';"; 284string pattern2 = $@"\$cfg\['Servers'\]\[\$i\]\['host'\] = '{mysql2.Resource.Name}:{mysql2.Resource.PrimaryEndpoint.TargetPort}';";
MySqlFunctionalTests.cs (29)
49await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 51await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 55await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token); 57await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 91[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default) 94hb.AddMySqlDataSource(db.Resource.Name); 168[$"ConnectionStrings:{db1.Resource.Name}"] = await db1.Resource.ConnectionStringExpression.GetValueAsync(default) 171hb.AddMySqlDataSource(db1.Resource.Name); 238[$"ConnectionStrings:{db2.Resource.Name}"] = await db2.Resource.ConnectionStringExpression.GetValueAsync(cts.Token) 241hb.AddMySqlDataSource(db2.Resource.Name); 341[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(cts.Token) 344hb.AddMySqlDataSource(db.Resource.Name); 427[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(cts.Token) 430hb.AddMySqlDataSource(db.Resource.Name); 498[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(cts.Token) 501hb.AddMySqlDbContext<TestDbContext>(db.Resource.Name); 656hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default); 658hb.AddMySqlDataSource(newDb.Resource.Name); 664await app.ResourceNotifications.WaitForResourceHealthyAsync(newDb.Resource.Name, cts.Token); 732hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default); 734hb.AddMySqlDataSource(newDb.Resource.Name); 740await app.ResourceNotifications.WaitForResourceHealthyAsync(mysql.Resource.Name, cts.Token); 792hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 793hb.AddKeyedMySqlDataSource(db.Resource.Name); 802await app.ResourceNotifications.WaitForResourceHealthyAsync(db.Resource.Name, cts.Token); 804var conn = host.Services.GetRequiredKeyedService<MySqlConnection>(db.Resource.Name); 835hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default); 836hb.AddMySqlDataSource(newDb.Resource.Name); 841await app.ResourceNotifications.WaitForResourceHealthyAsync(newDb.Resource.Name, cts.Token);
Aspire.Hosting.Nats (1)
NatsBuilderExtensions.cs (1)
63?? throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{nats.Name}' resource but the connection string was null.");
Aspire.Hosting.Nats.Tests (16)
AddNatsTests.cs (2)
102Assert.Equal("nats", containerResource.Name); 144Assert.Equal("nats", containerResource.Name);
NatsFunctionalTests.cs (14)
35await app.WaitForTextAsync("Listening for client connections", nats.Resource.Name); 40hb.Configuration[$"ConnectionStrings:{nats.Resource.Name}"] = await nats.Resource.ConnectionStringExpression.GetValueAsync(default); 81await app.WaitForTextAsync("Listening for client connections", nats.Resource.Name); 87hb.Configuration[$"ConnectionStrings:{nats.Resource.Name}"] = connectionString; 124await app.WaitForTextAsync("Listening for client connections", nats.Resource.Name); 134hb.Configuration[$"ConnectionStrings:{nats.Resource.Name}"] = modifiedConnectionString; 187await app.WaitForTextAsync("Listening for client connections", nats1.Resource.Name); 193hb.Configuration[$"ConnectionStrings:{nats1.Resource.Name}"] = await nats1.Resource.ConnectionStringExpression.GetValueAsync(default); 236await app.WaitForTextAsync("Listening for client connections", nats2.Resource.Name); 242hb.Configuration[$"ConnectionStrings:{nats2.Resource.Name}"] = await nats2.Resource.ConnectionStringExpression.GetValueAsync(default); 347await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 349await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 353await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token); 355await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
Aspire.Hosting.OpenAI (1)
OpenAIExtensions.cs (1)
200var healthCheckKey = $"{builder.Resource.Name}_check";
Aspire.Hosting.OpenAI.Tests (13)
OpenAIExtensionTests.cs (5)
61Assert.Equal("chat", model.Resource.Name); 74Assert.Equal("openai-openai-apikey", parent.Resource.Key.Name); 149Assert.Equal("openai-openai-apikey", parent.Resource.Key.Name); 165Assert.Equal("test", resource.Name); 363Assert.Equal("chat", openai.Resource.Name);
OpenAIFunctionalTests.cs (8)
43await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 45await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 49await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token); 51await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 90await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 92await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 96await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token); 98await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
Aspire.Hosting.Oracle (1)
OracleDatabaseBuilderExtensions.cs (1)
49throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{oracleDatabaseServer.Name}' resource but the connection string was null.");
Aspire.Hosting.Oracle.Tests (14)
OracleFunctionalTests.cs (14)
51hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 53hb.AddOracleDatabaseDbContext<TestDbContext>(db.Resource.Name); 137hb.Configuration[$"ConnectionStrings:{db1.Resource.Name}"] = await db1.Resource.ConnectionStringExpression.GetValueAsync(default); 139hb.AddOracleDatabaseDbContext<TestDbContext>(db1.Resource.Name); 198hb.Configuration[$"ConnectionStrings:{db2.Resource.Name}"] = await db2.Resource.ConnectionStringExpression.GetValueAsync(default); 200hb.AddOracleDatabaseDbContext<TestDbContext>(db2.Resource.Name); 305hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 307hb.AddOracleDatabaseDbContext<TestDbContext>(db.Resource.Name); 402hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 404hb.AddOracleDatabaseDbContext<TestDbContext>(db.Resource.Name); 465await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 467await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 471await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token); 473await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
Aspire.Hosting.PostgreSQL (7)
PostgresBuilderExtensions.cs (7)
62throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{postgresServer.Name}' resource but the connection string was null."); 70throw new DistributedApplicationException($"ResourceReadyEvent was published for the '{postgresServer.Name}' resource but the connection string was null."); 80throw new InvalidOperationException($"Could not open connection to '{postgresServer.Name}'"); 151builder.Resource.AddDatabase(postgresDatabase.Name, postgresDatabase.DatabaseName); 518host = "{postgresDatabase.Parent.Name}" 528Name = $"{postgresDatabase.Name}.toml", 555writer.WriteString("Name", postgresInstance.Name);
Aspire.Hosting.PostgreSQL.Tests (39)
AddPostgresTests.cs (3)
489Assert.Equal(pg1.Resource.Name, servers.GetProperty("1").GetProperty("Name").GetString()); 501Assert.Equal(pg2.Resource.Name, servers.GetProperty("2").GetProperty("Name").GetString()); 634host = "{postgresDatabase.Parent.Name}"
PostgresFunctionalTests.cs (36)
52await app.ResourceNotifications.WaitForResourceAsync(postgres.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 55await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 61await app.ResourceNotifications.WaitForResourceHealthyAsync(postgres.Resource.Name).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 64await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 86await app.WaitForTextAsync("Listening at", resourceName: adminBuilder.Resource.Name); 88var client = app.CreateHttpClient(adminBuilder.Resource.Name, "http"); 119[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default) 122hb.AddNpgsqlDataSource(db.Resource.Name); 128await app.ResourceNotifications.WaitForResourceHealthyAsync(postgres.Resource.Name, cts.Token); 165var client = app.CreateHttpClient(pgWebBuilder.Resource.Name, "http"); 167await app.ResourceNotifications.WaitForResourceHealthyAsync(pgWebBuilder.Resource.Name).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 233await app.ResourceNotifications.WaitForResourceHealthyAsync(db1.Resource.Name, cts.Token); 242[$"ConnectionStrings:{db1.Resource.Name}"] = await db1.Resource.ConnectionStringExpression.GetValueAsync(default) 245hb.AddNpgsqlDataSource(db1.Resource.Name); 296await app.ResourceNotifications.WaitForResourceHealthyAsync(db2.Resource.Name, cts.Token); 305[$"ConnectionStrings:{db2.Resource.Name}"] = await db2.Resource.ConnectionStringExpression.GetValueAsync(default) 308hb.AddNpgsqlDataSource(db2.Resource.Name); 400[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default) 403hb.AddNpgsqlDataSource(db.Resource.Name); 409await app.ResourceNotifications.WaitForResourceHealthyAsync(db.Resource.Name, cts.Token); 486[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default) 489hb.AddNpgsqlDataSource(db.Resource.Name); 495await app.ResourceNotifications.WaitForResourceHealthyAsync(db.Resource.Name, cts.Token); 614hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default); 616hb.AddNpgsqlDataSource(newDb.Resource.Name); 622await app.ResourceNotifications.WaitForResourceHealthyAsync(newDb.Resource.Name, cts.Token); 656hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default); 658hb.AddNpgsqlDataSource(newDb.Resource.Name); 664await app.ResourceNotifications.WaitForResourceHealthyAsync(newDb.Resource.Name, cts.Token); 726hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default); 728hb.AddNpgsqlDataSource(newDb.Resource.Name); 734await app.ResourceNotifications.WaitForResourceHealthyAsync(postgres.Resource.Name, cts.Token); 786hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 787hb.AddKeyedNpgsqlDataSource(db.Resource.Name); 796await app.ResourceNotifications.WaitForResourceHealthyAsync(db.Resource.Name, cts.Token); 798var conn = host.Services.GetRequiredKeyedService<NpgsqlConnection>(db.Resource.Name);
Aspire.Hosting.Python (6)
PythonAppResourceBuilderExtensions.cs (6)
1325var installerName = $"{builder.Resource.Name}-installer"; 1412var venvCreatorName = $"{builder.Resource.Name}-venv-creator"; 1455var venvCreatorName = $"{builder.Resource.Name}-venv-creator"; 1470var venvCreatorName = $"{resource.Name}-venv-creator"; 1471var installerName = $"{resource.Name}-installer"; 1478builder.TryCreateResourceBuilder<PythonAppResource>(resource.Name, out var appBuilder);
Aspire.Hosting.Python.Tests (19)
AddPythonAppTests.cs (18)
161Assert.Equal("pythonProject", pythonProjectResource.Name); 200Assert.Equal("pythonProject", pythonProjectResource.Name); 243Assert.Equal("pythonProject", pythonProjectResource.Name); 727Assert.Equal("pythonProject-installer", installerResource.Name); 817Assert.Equal("pythonProject-installer", uvEnvironmentResource.Name); 836Assert.Equal("pythonProject-installer", installerResource.Name); 861Assert.Equal("pythonProject-installer", installerResource.Name); 892Assert.Equal("pythonProject-installer", installerResource.Name); 916Assert.Equal("python-script", resource.Name); 935Assert.Equal("flask-app", resource.Name); 954Assert.Equal("pytest", resource.Name); 977Assert.Equal("pythonProject", pythonProjectResource.Name); 1875Assert.Equal("pythonProject-installer", installerResource.Name); 1910Assert.Equal("pythonProject-installer", installerResource.Name); 2014Assert.Equal("pythonProject-venv-creator", venvCreatorResource.Name); 2042Assert.Equal("pythonProject-venv-creator", venvCreatorResource.Name); 2336Assert.Equal("pythonProject-installer", installerResource.Name); 2369Assert.Equal("pythonProject-installer", installerResource.Name);
AddUvicornAppTests.cs (1)
25Assert.Equal("uvicorn-app", uvicornApp.Resource.Name);
Aspire.Hosting.Qdrant (1)
QdrantBuilderExtensions.cs (1)
55?? throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{qdrant.Name}' resource but the connection string was null.");
Aspire.Hosting.Qdrant.Tests (11)
AddQdrantTests.cs (1)
286Assert.Equal("my-qdrant", qdrantResource.Name);
QdrantFunctionalTests.cs (10)
45[$"ConnectionStrings:{qdrant.Resource.Name}"] = await qdrant.Resource.ConnectionStringExpression.GetValueAsync(default) 48hb.AddQdrantClient(qdrant.Resource.Name); 131[$"ConnectionStrings:{qdrant1.Resource.Name}"] = await qdrant1.Resource.ConnectionStringExpression.GetValueAsync(default) 134hb.AddQdrantClient(qdrant1.Resource.Name); 177[$"ConnectionStrings:{qdrant2.Resource.Name}"] = await qdrant2.Resource.ConnectionStringExpression.GetValueAsync(default) 180hb.AddQdrantClient(qdrant2.Resource.Name); 276await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 278await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 282await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 284await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
Aspire.Hosting.RabbitMQ (3)
RabbitMQBuilderExtensions.cs (3)
51throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{rabbitMq.Name}' resource but the connection string was null."); 211throw new DistributedApplicationException($"Cannot configure the RabbitMQ resource '{builder.Resource.Name}' to enable the management plugin as it uses an unrecognized container image registry, name, or tag."); 265var nodeName = $"{builder.Resource.Name}@localhost";
Aspire.Hosting.RabbitMQ.Tests (11)
AddRabbitMQTests.cs (1)
53Assert.Equal("rabbit", containerResource.Name);
RabbitMQFunctionalTests.cs (10)
41await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 43await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 47await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 49await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 70hb.Configuration[$"ConnectionStrings:{rabbitMQ.Resource.Name}"] = await rabbitMQ.Resource.ConnectionStringExpression.GetValueAsync(default); 71hb.AddRabbitMQClient(rabbitMQ.Resource.Name); 134hb.Configuration[$"ConnectionStrings:{rabbitMQ1.Resource.Name}"] = await rabbitMQ1.Resource.ConnectionStringExpression.GetValueAsync(default); 135hb.AddRabbitMQClient(rabbitMQ1.Resource.Name); 191hb.Configuration[$"ConnectionStrings:{rabbitMQ2.Resource.Name}"] = await rabbitMQ2.Resource.ConnectionStringExpression.GetValueAsync(default); 192hb.AddRabbitMQClient(rabbitMQ2.Resource.Name);
Aspire.Hosting.Redis (6)
RedisBuilderExtensions.cs (6)
84throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{redis.Name}' resource but the connection string was null."); 168logger.LogError($"Cannot configure an encrypted certificate for redis resource '{redis.Name}'"); 274var hostString = $"{(hostsVariableBuilder.Length > 0 ? "," : string.Empty)}{redisInstance.Name}:{redisInstance.Name}:{endpoint.TargetPort}:0"; 340context.EnvironmentVariables[$"RI_REDIS_ALIAS{counter}"] = redisInstance.Name; 379logger.LogError($"Cannot configure an encrypted certificate for redis insight resource '{resource.Name}'");
Aspire.Hosting.Redis.Tests (46)
AddRedisTests.cs (11)
38Assert.Equal("myRedis", containerResource.Name); 66Assert.Equal("myRedis", containerResource.Name); 314Assert.Equal($"{redis1.Resource.Name}.dev.internal", item.Value); 324Assert.Equal(redis1.Resource.Name, item.Value); 336Assert.Equal($"{redis2.Resource.Name}.dev.internal", item.Value); 346Assert.Equal(redis2.Resource.Name, item.Value); 358Assert.Equal($"{redis3.Resource.Name}.dev.internal", item.Value); 368Assert.Equal(redis3.Resource.Name, item.Value); 509Assert.Equal($"myredis1:{redis.Resource.Name}:6379:0:{redis.Resource.PasswordParameter?.Value}", config["REDIS_HOSTS"]); 531Assert.Equal($"myredis1:{redis.Resource.Name}:6379:0:{password}", config["REDIS_HOSTS"]); 556Assert.Equal($"myredis1:{redis1.Resource.Name}:6379:0:{redis1.Resource.PasswordParameter?.Value},myredis2:myredis2:6379:0:{redis2.Resource.PasswordParameter?.Value}", config["REDIS_HOSTS"]);
RedisFunctionalTests.cs (35)
51await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 53await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 57await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token); 59await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 80await app.WaitForTextAsync("Redis Connection", resourceName: commanderBuilder.Resource.Name); 82var client = app.CreateHttpClient(commanderBuilder.Resource.Name, "http"); 91var path = $"/apiv2/server/R:{redis.Resource.Name}:{endpoint.TargetPort}:0/info"; 113[$"ConnectionStrings:{redis.Resource.Name}"] = await redis.Resource.GetConnectionStringAsync() 116hb.AddRedisClient(redis.Resource.Name); 152await rns.WaitForResourceAsync(redisInsightBuilder.Resource.Name, KnownResourceStates.Running).WaitAsync(cts.Token); 154var client = app.CreateHttpClient(redisInsightBuilder.Resource.Name, "http"); 170Assert.Equal(redis1.Resource.Name, db.Name); 171Assert.Equal($"{redis1.Resource.Name}.dev.internal", db.Host); 176Assert.Equal(redis2.Resource.Name, db.Name); 177Assert.Equal($"{redis2.Resource.Name}.dev.internal", db.Host); 182Assert.Equal(redis3.Resource.Name, db.Name); 183Assert.Equal($"{redis3.Resource.Name}.dev.internal", db.Host); 220[$"ConnectionStrings:{redis1.Resource.Name}"] = $"{await redis1.Resource.GetConnectionStringAsync()},allowAdmin=true" 223hb.AddRedisClient(redis1.Resource.Name); 257[$"ConnectionStrings:{redis2.Resource.Name}"] = await redis2.Resource.GetConnectionStringAsync() 260hb.AddRedisClient(redis2.Resource.Name); 305[$"ConnectionStrings:{redis1.Resource.Name}"] = $"{await redis1.Resource.GetConnectionStringAsync()},allowAdmin=true" 308hb.AddRedisClient(redis1.Resource.Name); 340[$"ConnectionStrings:{redis2.Resource.Name}"] = await redis2.Resource.GetConnectionStringAsync() 343hb.AddRedisClient(redis2.Resource.Name); 390[$"ConnectionStrings:{redis1.Resource.Name}"] = $"{await redis1.Resource.GetConnectionStringAsync()},allowAdmin=true" 393hb.AddRedisClient(redis1.Resource.Name); 421[$"ConnectionStrings:{redis2.Resource.Name}"] = await redis2.Resource.GetConnectionStringAsync() 424hb.AddRedisClient(redis2.Resource.Name); 489await rns.WaitForResourceAsync(redisInsightBuilder1.Resource.Name, KnownResourceStates.Running).WaitAsync(cts.Token); 493var httpClient = app.CreateHttpClient(redisInsightBuilder1.Resource.Name, "http"); 524await rns.WaitForResourceAsync(redisInsightBuilder2.Resource.Name, KnownResourceStates.Running).WaitAsync(cts.Token); 528var httpClient = app.CreateHttpClient(redisInsightBuilder2.Resource.Name, "http"); 627await app.ResourceNotifications.WaitForResourceHealthyAsync(redis.Resource.Name, cts.Token); 628await app.ResourceNotifications.WaitForResourceHealthyAsync(redisCommander.Name, cts.Token);
Aspire.Hosting.Seq.Tests (10)
AddSeqTests.cs (4)
24Assert.Equal("mySeq", containerResource.Name); 52Assert.Equal("mySeq", containerResource.Name); 178Assert.Equal("mySeq", containerResource.Name); 211Assert.Equal("mySeq", containerResource.Name);
SeqFunctionalTests.cs (6)
26await app.WaitForTextAsync("Seq listening on", seq.Resource.Name); 35await app.ResourceNotifications.WaitForResourceHealthyAsync(seq.Resource.Name, default); 104await app.WaitForTextAsync("Seq listening on", seq1.Resource.Name); 115await app.ResourceNotifications.WaitForResourceHealthyAsync(seq1.Resource.Name, default); 143await app.WaitForTextAsync("Seq listening on", seq2.Resource.Name); 154await app.ResourceNotifications.WaitForResourceHealthyAsync(seq2.Resource.Name, default);
Aspire.Hosting.SqlServer (4)
SqlServerBuilderExtensions.cs (3)
68throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{sqlServer.Name}' resource but the connection string was null."); 75throw new DistributedApplicationException($"ResourceReadyEvent was published for the '{sqlServer.Name}' resource but the connection string was null."); 83throw new InvalidOperationException($"Could not open connection to '{sqlServer.Name}'");
SqlServerServerResource.cs (1)
145_databases.TryAdd(database.Name, database.DatabaseName);
Aspire.Hosting.SqlServer.Tests (27)
AddSqlServerTests.cs (1)
46Assert.Equal("sqlserver", containerResource.Name);
SqlServerFunctionalTests.cs (26)
43await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 45await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 49await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token); 51await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 81hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default); 83hb.AddSqlServerDbContext<TestDbContext>(newDb.Resource.Name); 84hb.AddSqlServerClient(newDb.Resource.Name); 181await app1.ResourceNotifications.WaitForResourceHealthyAsync(db1.Resource.Name, cts.Token); 190[$"ConnectionStrings:{db1.Resource.Name}"] = await db1.Resource.ConnectionStringExpression.GetValueAsync(default), 193hb1.AddSqlServerClient(db1.Resource.Name); 267await app2.ResourceNotifications.WaitForResourceHealthyAsync(db2.Resource.Name, cts.Token); 276[$"ConnectionStrings:{db2.Resource.Name}"] = await db2.Resource.ConnectionStringExpression.GetValueAsync(default), 279hb2.AddSqlServerClient(db2.Resource.Name); 373hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default); 375hb.AddSqlServerClient(newDb.Resource.Name); 381await app.ResourceNotifications.WaitForResourceHealthyAsync(newDb.Resource.Name, cts.Token); 427hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default); 429hb.AddSqlServerClient(newDb.Resource.Name); 435await app.ResourceNotifications.WaitForResourceHealthyAsync(newDb.Resource.Name, cts.Token); 500hb.Configuration[$"ConnectionStrings:{newDb.Resource.Name}"] = await newDb.Resource.ConnectionStringExpression.GetValueAsync(default); 502hb.AddSqlServerClient(newDb.Resource.Name); 508await app.ResourceNotifications.WaitForResourceHealthyAsync(sqlserver.Resource.Name, cts.Token); 561hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 562hb.AddKeyedSqlServerClient(db.Resource.Name); 571await app.ResourceNotifications.WaitForResourceHealthyAsync(db.Resource.Name, cts.Token); 573var conn = host.Services.GetRequiredKeyedService<SqlConnection>(db.Resource.Name);
Aspire.Hosting.Testing.Tests (2)
TestingBuilderTests.cs (1)
168Assert.Contains(appModel.GetProjectResources(), p => p.Name == "myworker1");
TestingFactoryTests.cs (1)
44Assert.Contains(appModel.GetProjectResources(), p => p.Name == "myworker1");
Aspire.Hosting.Tests (137)
AddConnectionStringTests.cs (1)
29Assert.Equal("mycs", connectionStringResource.Name);
AddParameterTests.cs (9)
96var parameterResource = Assert.Single(appModel.Resources.OfType<ParameterResource>(), r => r.Name == "pass"); 102var paramManifest = await ManifestUtils.GetManifest(appModel.Resources.OfType<ParameterResource>().Single(r => r.Name == "pass")).DefaultTimeout(); 148var parameterResource = Assert.Single(appModel.Resources.OfType<ParameterResource>(), r => r.Name == "pass"); 154var paramManifest = await ManifestUtils.GetManifest(appModel.Resources.OfType<ParameterResource>().Single(r => r.Name == "pass")).DefaultTimeout(); 207var parameterResource = Assert.Single(appModel.Resources.OfType<ParameterResource>(), r => r.Name == "pass"); 224var paramManifest = await ManifestUtils.GetManifest(appModel.Resources.OfType<ParameterResource>().Single(r => r.Name == "pass")).DefaultTimeout(); 275var parameterResource = Assert.Single(appModel.Resources.OfType<ParameterResource>(), r => r.Name == "val"); 281var paramManifest = await ManifestUtils.GetManifest(appModel.Resources.OfType<ParameterResource>().Single(r => r.Name == "val")).DefaultTimeout(); 308Assert.Equal("mycs", connectionStringResource.Name);
ApplicationModel\Docker\WithDockerfileBuilderTests.cs (2)
288Assert.Equal("mycontainer", container.Resource.Name); 309Assert.Equal("mycontainer", container.Resource.Name);
Codespaces\CodespacesUrlRewriterTests.cs (1)
80resource.Resource.Name,
ContainerRegistryResourceTests.cs (9)
22Assert.Equal("docker-hub", registry.Resource.Name); 38Assert.Equal("acr", registry.Resource.Name); 56Assert.Equal("my-registry", registry.Resource.Name); 73Assert.Equal("my-registry", registry.Resource.Name); 157Assert.Equal("docker-hub", registry.Name); 189Assert.Equal("my-registry", registry.Name); 294Assert.Contains(registries, r => r.Name == "docker-hub"); 295Assert.Contains(registries, r => r.Name == "ghcr"); 296Assert.Contains(registries, r => r.Name == "acr");
ContainerTunnelTests.cs (1)
33using var clientA = app.CreateHttpClient(yarp.Resource.Name, "http");
Dashboard\DashboardResourceTests.cs (4)
53Assert.Equal("aspire-dashboard", dashboard.Name); 255Assert.Equal("aspire-dashboard", dashboard.Name); 562Assert.Equal("aspire-dashboard", dashboard.Name); 617Assert.Equal("aspire-dashboard", dashboard.Name);
Dashboard\DashboardServiceTests.cs (1)
175await dashboardServiceData.WaitForResourceAsync(testResource.Name, r =>
DistributedApplicationTests.cs (9)
636using var clientA = app.CreateHttpClient(testProgram.ServiceABuilder.Resource.Name, "http"); 637using var clientC = app.CreateHttpClient(testProgram.ServiceCBuilder.Resource.Name, "http"); 644var uri = app.GetEndpoint(testProgram.ServiceBBuilder.Resource.Name, "http"); 962var dependentRunningResourceEvent = await rns.WaitForResourceAsync(container.Resource.Name, e => e.Snapshot.State?.Text == KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 1565await app.WaitForTextAsync("Content root path:", resourceName: testProgram.ServiceABuilder.Resource.Name).DefaultTimeout(TestConstants.LongTimeoutDuration); 1568var httpEndPoint = app.GetEndpoint(testProgram.ServiceABuilder.Resource.Name, endpointName: "http"); 1586var httpsEndpoint = app.GetEndpoint(testProgram.ServiceABuilder.Resource.Name, endpointName: "https"); 1635using var clientA = app.CreateHttpClient(servicea.Resource.Name, "http"); 1703using var clientA = app.CreateHttpClient(servicea.Resource.Name, "http");
ExpressionResolverTests.cs (1)
293return new ValueTask<string?>(base.Name);
ExternalServiceTests.cs (14)
21Assert.Equal("nuget", externalService.Resource.Name); 34Assert.Equal("nuget", externalService.Resource.Name); 47Assert.Equal("nuget", externalService.Resource.Name); 50Assert.Equal("nuget-url", externalService.Resource.UrlParameter.Name); 102Assert.Equal("nuget", externalService.Resource.Name); 212Assert.NotNull(healthCheckAnnotations.FirstOrDefault(hc => hc.Key.StartsWith($"{externalService.Resource.Name}_external"))); 228Assert.NotNull(healthCheckAnnotations.FirstOrDefault(hc => hc.Key.StartsWith($"{externalService.Resource.Name}_external"))); 321externalService.Resource.Name, 348externalService.Resource.Name, 375externalService.Resource.Name, 400var healthCheckAnnotation = healthCheckAnnotations.FirstOrDefault(hc => hc.Key.StartsWith($"{externalService.Resource.Name}_external")); 421var healthCheckAnnotation = healthCheckAnnotations.FirstOrDefault(hc => hc.Key.StartsWith($"{externalService.Resource.Name}_external")); 446var healthCheckKey = healthCheckAnnotations.First(hc => hc.Key.StartsWith($"{externalService.Resource.Name}_external")).Key; 487Assert.Equal("service", externalService.Resource.Name);
Health\ResourceHealthCheckServiceTests.cs (2)
232await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, abortTokenSource.Token).DefaultTimeout(); 316await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, abortTokenSource.Token).DefaultTimeout();
HealthCheckTests.cs (4)
103await rns.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 105await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting).DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 109await rns.WaitForResourceHealthyAsync(resource.Resource.Name).DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout); 111await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.DefaultOrchestratorTestLongTimeout);
Orchestrator\ApplicationOrchestratorTests.cs (5)
403await events.PublishAsync(new OnResourceStartingContext(CancellationToken.None, KnownResourceTypes.Container, parentResource.Resource, parentResource.Resource.Name)); 624var childContainerState = resourceNotificationService.TryGetCurrentState(childContainer.Resource.Name, out var childContainerEvent) ? childContainerEvent.Snapshot.State?.Text : null; 625var customChildState = resourceNotificationService.TryGetCurrentState(customChild.Resource.Name, out var customChildEvent) ? customChildEvent.Snapshot.State?.Text : null; 671var childProjectState = resourceNotificationService.TryGetCurrentState(childProject.Resource.Name, out var childProjectEvent) ? childProjectEvent.Snapshot.State?.Text : null; 672var customChildState = resourceNotificationService.TryGetCurrentState(customChild.Resource.Name, out var customChildEvent) ? customChildEvent.Snapshot.State?.Text : null;
Orchestrator\ParameterProcessorTests.cs (5)
503var explicitParameterResource = model.Resources.OfType<ParameterResource>().First(p => p.Name == "explicitParam"); 504var referencedParameterResource = model.Resources.OfType<ParameterResource>().First(p => p.Name == "referencedParam"); 549Assert.Equal("explicitParam", explicitParameterResource.Name); 575Assert.Equal("envParam", parameterResource.Name); 754Assert.Equal("excludedParam", parameterResource.Name);
Pipelines\DistributedApplicationPipelineTests.cs (1)
2097var paramResource = builder.Resources.OfType<ParameterResource>().FirstOrDefault(p => p.Name == "test-param");
ProjectResourceTests.cs (2)
85Assert.Equal("projectName", resource.Name); 204Assert.Equal("projectName", resource.Name);
PublishAsDockerfileTests.cs (9)
28Assert.Equal("frontend", containerResource.Name); 74Assert.Equal("frontend", containerResource.Name); 123Assert.Equal("frontend", containerResource.Name); 172Assert.Equal("frontend", containerResource.Name); 232Assert.Equal("project", containerResource.Name); 373Assert.Equal("frontend", containerResource.Name); 399Assert.Equal("frontend", containerResource.Name); 419Assert.Equal("project", containerResource.Name); 446Assert.Equal("project", containerResource.Name);
ResourceLoggerServiceTests.cs (3)
85Assert.Empty(service.GetResourceLoggerState(testResource.Name).GetBacklogSnapshot()); 135service.ClearBacklog(testResource.Name); 198Assert.Empty(service.GetResourceLoggerState(testResource.Name).GetBacklogSnapshot());
SlimTestProgramTests.cs (3)
35using var clientA = app.CreateHttpClientWithResilience(testProgram.ServiceABuilder.Resource.Name, "http"); 38using var clientB = app.CreateHttpClientWithResilience(testProgram.ServiceBBuilder.Resource.Name, "http"); 41using var clientC = app.CreateHttpClientWithResilience(testProgram.ServiceCBuilder.Resource.Name, "http");
TestProgramFixture.cs (3)
68using var clientA = App.CreateHttpClientWithResilience(TestProgram.ServiceABuilder.Resource.Name, "http"); 72using var clientB = App.CreateHttpClientWithResilience(TestProgram.ServiceBBuilder.Resource.Name, "http"); 76using var clientC = App.CreateHttpClientWithResilience(TestProgram.ServiceCBuilder.Resource.Name, "http");
WaitForTests.cs (37)
33await app.ResourceNotifications.WaitForResourceAsync(throwingResource.Resource.Name, KnownResourceStates.FailedToStart, abortCts.Token); 34await app.ResourceNotifications.WaitForResourceAsync(dependingContainerResource.Resource.Name, KnownResourceStates.FailedToStart, abortCts.Token); 35await app.ResourceNotifications.WaitForResourceAsync(dependingExecutableResource.Resource.Name, KnownResourceStates.FailedToStart, abortCts.Token); 108await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 139await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 176await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 217await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 224await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.FailedToStart, waitingStateCts.Token); 245dependency.Resource.Name, 269dependency.Resource.Name, 299await app.ResourceNotifications.WaitForResourceHealthyAsync(dependency.Resource.Name) 328await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 335await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.FailedToStart, waitingStateCts.Token); 362await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 369await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 377await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, waitingStateCts.Token); 409await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 416await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 424await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, waitingStateCts.Token); 454await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 469await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, runningStateCts.Token); 501await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, "Waiting", waitingStateCts.Token); 516await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.FailedToStart, runningStateCts.Token); 556await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, "Waiting", waitingStateCts.Token); 572await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.FailedToStart, runningStateCts.Token); 610await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 624await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.FailedToStart, runningStateCts.Token); 661await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 669await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 677await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, waitingStateCts.Token); 714await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 722await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 730await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, waitingStateCts.Token); 763await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 771await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, waitingStateCts.Token); 875await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 885await app.ResourceNotifications.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, runningStateCts.Token);
WithEndpointTests.cs (1)
216Assert.Equal("foo", resource.Name);
WithHttpCommandTests.cs (4)
94Assert.Equal($"{resourceBuilder.Resource.Name}-http-http-post-/some-path", command.Name); 403await app.ResourceNotifications.WaitForResourceAsync(service.Resource.Name, KnownResourceStates.Starting).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 413await app.ResourceNotifications.WaitForResourceAsync(service.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan); 473await app.ResourceNotifications.WaitForResourceAsync(service.Resource.Name, KnownResourceStates.Running).DefaultTimeout(TestConstants.LongTimeoutTimeSpan);
WithUrlsTests.cs (6)
266Assert.StartsWith($"http://{projectB.Resource.Name.ToLowerInvariant()}{expectedHostSuffix}", u.Url); 386servicea.Resource.Name, 413servicea.Resource.Name, 446servicea.Resource.Name, 497await rns.WaitForResourceAsync(servicea.Resource.Name, KnownResourceStates.Running, cts.Token); 615await rns.WaitForResourceAsync(custom.Resource.Name, KnownResourceStates.Running, cts.Token);
Aspire.Hosting.Valkey (1)
ValkeyBuilderExtensions.cs (1)
131throw new DistributedApplicationException($"ConnectionStringAvailableEvent was published for the '{valkey.Name}' resource but the connection string was null.");
Aspire.Hosting.Valkey.Tests (12)
AddValkeyTests.cs (2)
25Assert.Equal("myValkey", containerResource.Name); 53Assert.Equal("myValkey", containerResource.Name);
ValkeyFunctionalTests.cs (10)
37[$"ConnectionStrings:{valkey.Resource.Name}"] = await valkey.Resource.ConnectionStringExpression.GetValueAsync(default) 40hb.AddRedisClient(valkey.Resource.Name); 101[$"ConnectionStrings:{valkey1.Resource.Name}"] = $"{await valkey1.Resource.ConnectionStringExpression.GetValueAsync(default)},allowAdmin=true" 104hb.AddRedisClient(valkey1.Resource.Name); 153[$"ConnectionStrings:{valkey2.Resource.Name}"] = await valkey2.Resource.ConnectionStringExpression.GetValueAsync(default) 156hb.AddRedisClient(valkey2.Resource.Name); 225await app.ResourceNotifications.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 227await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 231await app.ResourceNotifications.WaitForResourceHealthyAsync(resource.Resource.Name, cts.Token); 233await app.ResourceNotifications.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
Aspire.Hosting.Yarp (1)
ConfigurationBuilder\YarpCluster.cs (1)
44: this(externalService.Name, GetAddressFromExternalService(externalService))
Aspire.Hosting.Yarp.Tests (2)
YarpFunctionalTests.cs (2)
48await app.ResourceNotifications.WaitForResourceHealthyAsync(backend.Resource.Name, cts.Token); 49await app.ResourceNotifications.WaitForResourceHealthyAsync(yarp.Resource.Name, cts.Token);
Aspire.Playground.Tests (3)
Infrastructure\DistributedApplicationExtensions.cs (3)
32builder.Configuration[$"Parameters:{parameter.Name}"] = parameter.Secret 218using (var checkHttpClient = app.CreateHttpClient(project.Name)) 246using var applyMigrationsHttpClient = app.CreateHttpClient(project.Name, useHttpClientFactory: false);
CustomResources.AppHost (2)
TestResource.cs (2)
51logger.LogInformation("Starting test resource {ResourceName} with update interval {Interval} seconds", resource.Name, seconds); 69logger.LogInformation("Test resource {ResourceName} is now in state {State}", resource.Name, randomState);
ExternalServices.AppHost (2)
AppHost.cs (2)
16Label = p.Name, 17Placeholder = $"Enter value for {p.Name}",
KafkaBasic.AppHost (2)
Program.cs (2)
11.WithArgs(kafka.Resource.Name); 15.WithArgs(kafka.Resource.Name);
Pipelines.Library (3)
DistributedApplicationPipelineExtensions.cs (3)
66var publishTask = await context.ReportingStep.CreateTaskAsync($"Publishing {projectResource.Name}", cancellationToken).ConfigureAwait(false); 122var uploadTask = await context.ReportingStep.CreateTaskAsync($"Uploading to {projectResource.Name}", cancellationToken).ConfigureAwait(false); 127var siteName = websiteResource.Outputs[$"{Infrastructure.NormalizeBicepIdentifier(websiteResource.Name)}_name"]?.ToString();
Stress.AppHost (2)
TestResource.cs (2)
69logger.LogInformation("Starting test resource {ResourceName} with update interval {Interval} seconds", resource.Name, seconds); 87logger.LogInformation("Test resource {ResourceName} is now in state {State}", resource.Name, randomState);
TestProject.AppHost (1)
TestProgram.cs (1)
176root[project.Name] = projectJson;