967 references to Resource
Aspire.Hosting (68)
ContainerResourceBuilderExtensions.cs (13)
93builder.Resource.Entrypoint = entrypoint; 106if (builder.Resource.Annotations.OfType<ContainerImageAnnotation>().LastOrDefault() is { } existingImageAnnotation) 124if (builder.Resource.Annotations.OfType<ContainerImageAnnotation>().LastOrDefault() is { } existingImageAnnotation) 143if (builder.Resource.Annotations.OfType<ContainerImageAnnotation>().LastOrDefault() is { } existingImageAnnotation) 152builder.Resource.Annotations.Add(containerImageAnnotation); 165if (builder.Resource.Annotations.OfType<ContainerImageAnnotation>().LastOrDefault() is { } existingImageAnnotation) 246throw new InvalidOperationException($"The resource '{builder.Resource.Name}' does not have a container image specified. Use WithImage to specify the container image and tag."); 256return builder.WithManifestPublishingCallback(context => context.WriteContainerAsync(builder.Resource)); 408var annotation = builder.Resource.Annotations.OfType<DockerfileBuildAnnotation>().SingleOrDefault(); 451if (value.Resource.Secret) 456return builder.WithBuildArg(name, value.Resource); 493var annotation = builder.Resource.Annotations.OfType<DockerfileBuildAnnotation>().SingleOrDefault(); 500annotation.BuildSecrets[name] = value.Resource;
ExecutableResourceBuilderExtensions.cs (1)
64return builder.WithManifestPublishingCallback(context => WriteExecutableAsDockerfileResourceAsync(context, builder.Resource, buildArgs));
OtlpConfigurationExtensions.cs (1)
115AddOtlpEnvironment(builder.Resource, builder.ApplicationBuilder.Configuration, builder.ApplicationBuilder.Environment);
ParameterResourceBuilderExtensions.cs (2)
159var surrogate = new ResourceWithConnectionStringSurrogate(parameterBuilder.Resource, environmentVariableName); 183var parameter = new ParameterResource(builder.Resource.Name, _ => "", secret: true);
ProjectResourceBuilderExtensions.cs (14)
286var projectResource = builder.Resource; 378builder.Resource.KestrelEndpointAnnotationHosts[e] = endpoint.BindingAddress.Host; 491builder.Resource.DefaultHttpsEndpoint = e; 588builder.Resource.Annotations.Add(new EndpointEnvironmentInjectionFilterAnnotation(filter)); 630foreach (var e in builder.Resource.GetEndpoints().Where(builder.Resource.ShouldInjectEndpointEnvironment)) 682foreach (var e in builder.Resource.GetEndpoints().Where(builder.Resource.ShouldInjectEndpointEnvironment)) 685if (e.EndpointAnnotation.UriScheme == scheme && e.EndpointAnnotation != builder.Resource.DefaultHttpsEndpoint) 711if (builder.Resource.HasKestrelEndpoints) 713foreach (var e in builder.Resource.GetEndpoints().Where(builder.Resource.ShouldInjectEndpointEnvironment)) 716if (e.EndpointAnnotation == builder.Resource.DefaultHttpsEndpoint) 724builder.Resource.KestrelEndpointAnnotationHosts.TryGetValue(e.EndpointAnnotation, out var kestrelHost) ? kestrelHost : "*";
ResourceBuilderExtensions.cs (35)
134context.EnvironmentVariables[name] = parameter.Resource; 154context.EnvironmentVariables[envVarName] = new ConnectionStringReference(resource.Resource, optional: false); 292var resource = source.Resource; 317ApplyEndpoints(builder, source.Resource); 368var endpointReferenceAnnotation = builder.Resource.Annotations 404var endpoint = builder.Resource.Annotations 418builder.Resource.Annotations.Add(endpoint); 455if (builder.Resource.Annotations.OfType<EndpointAnnotation>().Any(sb => string.Equals(sb.Name, annotation.Name, StringComparisons.EndpointAnnotationName))) 461if (env is not null && builder.Resource is IResourceWithEndpoints resourceWithEndpoints and IResourceWithEnvironment) 520if (!builder.Resource.TryGetAnnotationsOfType<EndpointAnnotation>(out var endpoints)) 546return builder.Resource.GetEndpoint(name); 600builder.ApplicationBuilder.Eventing.Subscribe<BeforeResourceStartedEvent>(builder.Resource, async (e, ct) => 603var resourceLogger = rls.GetLogger(builder.Resource); 604resourceLogger.LogInformation("Waiting for resource '{Name}' to enter the '{State}' state.", dependency.Resource.Name, KnownResourceStates.Running); 607await rns.PublishUpdateAsync(builder.Resource, s => s with { State = KnownResourceStates.Waiting }).ConfigureAwait(false); 608var resourceEvent = await rns.WaitForResourceAsync(dependency.Resource.Name, re => IsContinuableState(re.Snapshot), cancellationToken: ct).ConfigureAwait(false); 615dependency.Resource.Name 618throw new DistributedApplicationException($"Dependency resource '{dependency.Resource.Name}' failed to start."); 624dependency.Resource.Name, 629$"Resource '{dependency.Resource.Name}' has entered the '{snapshot.State.Text}' state prematurely." 635if (dependency.Resource.TryGetAnnotationsOfType<HealthCheckAnnotation>(out var _)) 637resourceLogger.LogInformation("Waiting for resource '{Name}' to become healthy.", dependency.Resource.Name); 638await rns.WaitForResourceAsync(dependency.Resource.Name, re => re.Snapshot.HealthStatus == HealthStatus.Healthy, cancellationToken: ct).ConfigureAwait(false); 679builder.ApplicationBuilder.Eventing.Subscribe<BeforeResourceStartedEvent>(builder.Resource, async (e, ct) => 681if (dependency.Resource.TryGetLastAnnotation<ReplicaAnnotation>(out var replicaAnnotation) && replicaAnnotation.Replicas > 1) 687var resourceLogger = rls.GetLogger(builder.Resource); 688resourceLogger.LogInformation("Waiting for resource '{Name}' to complete.", dependency.Resource.Name); 691await rns.PublishUpdateAsync(builder.Resource, s => s with { State = KnownResourceStates.Waiting }).ConfigureAwait(false); 692var resourceEvent = await rns.WaitForResourceAsync(dependency.Resource.Name, re => IsKnownTerminalState(re.Snapshot), cancellationToken: ct).ConfigureAwait(false); 699dependency.Resource.Name 702throw new DistributedApplicationException($"Dependency resource '{dependency.Resource.Name}' failed to start."); 708dependency.Resource.Name, 714$"Resource '{dependency.Resource.Name}' has entered the '{snapshot.State.Text}' state with exit code '{snapshot.ExitCode}'" 764if (builder.Resource.TryGetAnnotationsOfType<HealthCheckAnnotation>(out var annotations) && annotations.Any(a => a.Key == key)) 766throw new DistributedApplicationException($"Resource '{builder.Resource.Name}' already has a health check with key '{key}'.");
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Utils\ImageNameGenerator.cs (1)
17return $"{builder.Resource.Name}-image-{hex}";
Aspire.Hosting.AWS (45)
CDK\CDKExtensions.cs (8)
84var parent = builder.Resource; 158return new StackOutputReference(builder.Resource.Construct.GetStackUniqueId() + name, builder.Resource.Parent.SelectParentResource<IStackResource>()); 173configSection ??= $"{Constants.DefaultConfigSection}:{construct.Resource.Name}"; 200if (construct.Resource.Annotations.OfType<IConstructOutputAnnotation>().All(annotation => annotation.OutputName != outputName)) 204construct.WithAnnotation(new ConstructReferenceAnnotation(builder.Resource.Name, outputName)); 205return builder.WithEnvironment(name, new StackOutputReference(construct.Resource.Construct.GetStackUniqueId() + outputName, construct.Resource.Parent.SelectParentResource<IStackResource>()));
CDK\Resources\CognitoResourceExtensions.cs (2)
38return builder.AddConstruct(name, _ => builder.Resource.Construct.AddClient(name, options)); 50configSection ??= $"{Constants.DefaultConfigSection}:{userPool.Resource.Name}";
CDK\Resources\DynamoDBResourceExtensions.cs (3)
37builder.Resource.Construct.AddGlobalSecondaryIndex(props); 48builder.Resource.Construct.AddLocalSecondaryIndex(props); 61configSection ??= $"{Constants.DefaultConfigSection}:{table.Resource.Name}";
CDK\Resources\KinesisResourceExtensions.cs (1)
40configSection ??= $"{Constants.DefaultConfigSection}:{stream.Resource.Name}";
CDK\Resources\S3ResourceExtensions.cs (11)
40builder.Resource.Construct.AddEventNotification(eventType, new SqsDestination(destination.Resource.Construct), filters); 50builder.Resource.Construct.AddObjectCreatedNotification(new SqsDestination(destination.Resource.Construct), filters); 60builder.Resource.Construct.AddObjectCreatedNotification(new SnsDestination(destination.Resource.Construct), filters); 70builder.Resource.Construct.AddObjectCreatedNotification(new SqsDestination(destination.Resource.Construct), filters); 80builder.Resource.Construct.AddObjectRemovedNotification(new SnsDestination(destination.Resource.Construct), filters); 93configSection ??= $"{Constants.DefaultConfigSection}:{bucket.Resource.Name}";
CDK\Resources\SNSResourceExtensions.cs (3)
38builder.Resource.Construct.AddSubscription(new SqsSubscription(destination.Resource.Construct, props)); 51configSection ??= $"{Constants.DefaultConfigSection}:{topic.Resource.Name}";
CDK\Resources\SQSResourceExtensions.cs (1)
39configSection ??= $"{Constants.DefaultConfigSection}:{queue.Resource.Name}";
CloudFormation\CloudFormationExtensions.cs (16)
48builder.Resource.AddParameter(parameterName, parameterValue); 81return new StackOutputReference(name, builder.Resource); 95if (!stackOutputReference.Resource.Annotations.Any(x => x is CloudFormationReferenceAnnotation cf && string.Equals(cf.TargetResource, builder.Resource.Name, StringComparison.Ordinal))) 97stackOutputReference.Resource.Annotations.Add(new CloudFormationReferenceAnnotation(builder.Resource.Name)); 127builder.Resource.AWSSDKConfig = awsSdkConfig; 140builder.Resource.CloudFormationClient = cloudFormationClient; 155if (!cloudFormationResourceBuilder.Resource.Annotations.Any(x => x is CloudFormationReferenceAnnotation cf && string.Equals(cf.TargetResource, builder.Resource.Name, StringComparison.Ordinal))) 157cloudFormationResourceBuilder.WithAnnotation(new CloudFormationReferenceAnnotation(builder.Resource.Name)); 167if (cloudFormationResourceBuilder.Resource.AWSSDKConfig != null) 169SdkUtilities.ApplySDKConfig(ctx, cloudFormationResourceBuilder.Resource.AWSSDKConfig, false); 172if (cloudFormationResourceBuilder.Resource.ProvisioningTaskCompletionSource is not null) 174ctx.Logger?.LogInformation("Waiting on CloudFormation resource {Name} ...", cloudFormationResourceBuilder.Resource.Name); 175await cloudFormationResourceBuilder.Resource.ProvisioningTaskCompletionSource.Task.WaitAsync(ctx.CancellationToken).ConfigureAwait(false); 178if (cloudFormationResourceBuilder.Resource.Outputs == null) 185foreach (var output in cloudFormationResourceBuilder.Resource.Outputs)
Aspire.Hosting.AWS.Tests (14)
AWSCDKResourceTests.cs (7)
28.Resource; 52.WithReference(awsSdkConfig).Resource; 76var cdkResource = cdk.Resource; 77var stackResource = builder.AddAWSCDKStack("Other").WithReference(awsSdkStackConfig).Resource; 100var resource = cdk.AddConstruct("Construct", scope => new Construct(scope, "Construct")).Resource; 103Assert.Equal(cdk.Resource, resource.Parent); 119var resource = cdk.Resource;
AWSCloudFormationResourceTests.cs (4)
24.Resource; 45.Resource as CloudFormationTemplateResource; 69var resource = resourceBuilder.Resource as CloudFormationStackResource; 98var resource = resourceBuilder.Resource as CloudFormationTemplateResource;
StackOutputReferenceTests.cs (3)
20var resource = resourceBuilder.Resource as CloudFormationTemplateResource; 48var resource = resourceBuilder.Resource as CloudFormationTemplateResource; 67var resource = resourceBuilder.Resource as CloudFormationTemplateResource;
Aspire.Hosting.Azure (18)
AzureBicepResourceExtensions.cs (14)
57return new BicepOutputReference(name, builder.Resource); 68return new BicepSecretOutputReference(name, builder.Resource); 116builder.Resource.Parameters[name] = null; 132builder.Resource.Parameters[name] = value; 148builder.Resource.Parameters[name] = value; 164builder.Resource.Parameters[name] = value; 180builder.Resource.Parameters[name] = valueCallback; 195return builder.WithParameter(name, value.Resource); 210builder.Resource.Parameters[name] = value; 226builder.Resource.Parameters[name] = value.Resource; 242builder.Resource.Parameters[name] = value; 258builder.Resource.Parameters[name] = value; 274builder.Resource.Parameters[name] = value;
AzureConstructResource.cs (4)
164builder.Resource.ConfigureConstruct += configure; 191parameterName ??= parameterResourceBuilder.Resource.Name; 193construct.Resource.Parameters[parameterName] = parameterResourceBuilder.Resource; 200IsSecure = parameterResourceBuilder.Resource.Secret
Aspire.Hosting.Azure.ApplicationInsights (1)
AzureApplicationInsightsExtensions.cs (1)
97appInsights.WorkspaceResourceId = logAnalyticsWorkspace.Resource.WorkspaceId.AsBicepParameter(construct, AzureBicepResource.KnownParameters.LogAnalyticsWorkspaceId);
Aspire.Hosting.Azure.CognitiveServices (1)
AzureOpenAIExtensions.cs (1)
141builder.Resource.AddDeployment(deployment);
Aspire.Hosting.Azure.CosmosDB (2)
AzureCosmosDBExtensions.cs (2)
185var surrogate = new AzureCosmosDBEmulatorResource(builder.Resource); 215builder.Resource.Databases.Add(databaseName);
Aspire.Hosting.Azure.EventHubs (6)
AzureEventHubsExtensions.cs (5)
116builder.Resource.Hubs.Add((name, configureHub)); 175.AddAzureStorage($"{builder.Resource.Name}-storage") 178var storage = storageResource.Resource; 192var surrogate = new AzureEventHubsEmulatorResource(builder.Resource); 262=> builder.WithBindMount(path ?? $".eventhubs/{builder.Resource.Name}", "/data", isReadOnly: false);
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.Azure.Functions (5)
AzureFunctionsProjectResourceExtensions.cs (5)
29storage = builder.AddAzureStorage("azure-functions-default-storage").RunAsEmulator().Resource; 104builder.Resource.HostStorage = storage.Resource; 124connectionName ??= source.Resource.Name; 126source.Resource.ApplyAzureFunctionsConfiguration(context.EnvironmentVariables, connectionName);
Aspire.Hosting.Azure.PostgreSQL (1)
AzurePostgresExtensions.cs (1)
35builder.ApplicationBuilder, $"{builder.Resource.Name}-username", secret: false, generatedUserName);
Aspire.Hosting.Azure.Redis (4)
AzureRedisExtensions.cs (4)
58var redisCache = new CdkRedisResource(builder.Resource.Name, "2020-06-01") // TODO: resource version should come from CDK 88var resource = new AzureRedisResource(builder.Resource, configureConstruct); 100if (builder.Resource.Annotations.OfType<ContainerImageAnnotation>().SingleOrDefault() is { } containerAnnotation) 102builder.Resource.Annotations.Remove(containerAnnotation);
Aspire.Hosting.Azure.ServiceBus (5)
AzureServiceBusExtensions.cs (5)
121builder.Resource.Topics.Add((name, null)); 124builder.Resource.Subscriptions.Add((name, subscription, null)); 150builder.Resource.Queues.Add((name, configureQueue)); 175builder.Resource.Topics.Add((name, configureTopic)); 202builder.Resource.Subscriptions.Add((topicName, subscriptionName, configureSubscription));
Aspire.Hosting.Azure.Sql (5)
AzureSqlExtensions.cs (5)
26var sqlServer = new SqlServer(builder.Resource.Name) 67foreach (var databaseNames in builder.Resource.Databases) 87var resource = new AzureSqlServerResource(builder.Resource, configureConstruct); 105if (builder.Resource.Annotations.OfType<ContainerImageAnnotation>().SingleOrDefault() is { } containerAnnotation) 107builder.Resource.Annotations.Remove(containerAnnotation);
Aspire.Hosting.Azure.Storage (6)
AzureStorageExtensions.cs (5)
119var surrogate = new AzureStorageEmulatorResource(builder.Resource); 135=> builder.WithBindMount(path ?? $".azurite/{builder.Resource.Name}", "/data", isReadOnly); 197var resource = new AzureBlobStorageResource(name, builder.Resource); 210var resource = new AzureTableStorageResource(name, builder.Resource); 223var resource = new AzureQueueStorageResource(name, builder.Resource);
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.Azure.Tests (163)
AzureBicepProvisionerTests.cs (5)
24await BicepProvisioner.SetParametersAsync(parameters, bicep0.Resource); 56.WithParameter("expr", ReferenceExpression.Create($"{param.Resource}/1")) 178await BicepProvisioner.SetParametersAsync(parameters0, bicep0.Resource); 179var checkSum0 = BicepProvisioner.GetChecksum(bicep0.Resource, parameters0); 185var checkSum1 = await BicepProvisioner.GetCurrentChecksumAsync(bicep1.Resource, config);
AzureBicepResourceTests.cs (140)
36Assert.Equal("content", bicepResource.Resource.TemplateString); 37Assert.Equal("value1", bicepResource.Resource.Parameters["param1"]); 38Assert.Equal("value2", bicepResource.Resource.Parameters["param2"]); 95if (azureResourceBuilder.Resource is not AzureConstructResource bicepResource) 113bicepResource.Resource.Outputs["resourceEndpoint"] = "https://myendpoint"; 125bicepResource.Resource.SecretOutputs["connectionString"] = "https://myendpoint;Key=43"; 204Assert.True(cosmos.Resource.IsContainer()); 208Assert.Equal(cs, cosmos.Resource.ConnectionStringExpression.ValueExpression); 209Assert.Equal(cs, await ((IResourceWithConnectionString)cosmos.Resource).GetConnectionStringAsync()); 224cosmos.Resource.SecretOutputs["connectionString"] = "mycosmosconnectionstring"; 226var manifest = await ManifestUtils.GetManifestWithBicep(cosmos.Resource); 299var connectionStringResource = (IResourceWithConnectionString)cosmos.Resource; 301Assert.Equal("cosmos", cosmos.Resource.Name); 317cosmos.Resource.SecretOutputs["connectionString"] = "mycosmosconnectionstring"; 319var manifest = await ManifestUtils.GetManifestWithBicep(cosmos.Resource); 392var connectionStringResource = (IResourceWithConnectionString)cosmos.Resource; 394Assert.Equal("cosmos", cosmos.Resource.Name); 404appConfig.Resource.Outputs["appConfigEndpoint"] = "https://myendpoint"; 405Assert.Equal("https://myendpoint", await appConfig.Resource.ConnectionStringExpression.GetValueAsync(default)); 407var manifest = await ManifestUtils.GetManifestWithBicep(appConfig.Resource); 409var connectionStringResource = (IResourceWithConnectionString)appConfig.Resource; 471appInsights.Resource.Outputs["appInsightsConnectionString"] = "myinstrumentationkey"; 473var connectionStringResource = (IResourceWithConnectionString)appInsights.Resource; 475Assert.Equal("appInsights", appInsights.Resource.Name); 477Assert.Equal("{appInsights.outputs.appInsightsConnectionString}", appInsights.Resource.ConnectionStringExpression.ValueExpression); 479var appInsightsManifest = await ManifestUtils.GetManifestWithBicep(appInsights.Resource); 528appInsights.Resource.Outputs["appInsightsConnectionString"] = "myinstrumentationkey"; 530var connectionStringResource = (IResourceWithConnectionString)appInsights.Resource; 532Assert.Equal("appInsights", appInsights.Resource.Name); 534Assert.Equal("{appInsights.outputs.appInsightsConnectionString}", appInsights.Resource.ConnectionStringExpression.ValueExpression); 536var appInsightsManifest = await ManifestUtils.GetManifestWithBicep(appInsights.Resource); 594appInsights.Resource.Outputs["appInsightsConnectionString"] = "myinstrumentationkey"; 596var connectionStringResource = (IResourceWithConnectionString)appInsights.Resource; 598Assert.Equal("appInsights", appInsights.Resource.Name); 600Assert.Equal("{appInsights.outputs.appInsightsConnectionString}", appInsights.Resource.ConnectionStringExpression.ValueExpression); 602var appInsightsManifest = await ManifestUtils.GetManifestWithBicep(appInsights.Resource); 651Assert.Equal("logAnalyticsWorkspace", logAnalyticsWorkspace.Resource.Name); 652Assert.Equal("{logAnalyticsWorkspace.outputs.logAnalyticsWorkspaceId}", logAnalyticsWorkspace.Resource.WorkspaceId.ValueExpression); 654var appInsightsManifest = await ManifestUtils.GetManifestWithBicep(logAnalyticsWorkspace.Resource); 693appInsights.Resource.Outputs["appInsightsConnectionString"] = "myinstrumentationkey"; 698var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(serviceA.Resource, DistributedApplicationOperation.Run, TestServiceProvider.Instance); 719var manifest = await ManifestUtils.GetManifest(construct1.Resource); 744var manifest = await ManifestUtils.GetManifest(construct1.Resource); 783var manifest = await ManifestUtils.GetManifest(construct1.Resource); 811Assert.True(redis.Resource.IsContainer()); 813Assert.Equal("localhost:12455", await redis.Resource.GetConnectionStringAsync()); 815var manifest = await ManifestUtils.GetManifestWithBicep(redis.Resource); 875var manifest = await ManifestUtils.GetManifestWithBicep(mykv.Resource); 937var manifest = await ManifestUtils.GetManifestWithBicep(mykv.Resource); 999var manifest = await ManifestUtils.GetManifestWithBicep(signalr.Resource); 1073azureSqlBuilder.Resource.Outputs["sqlServerFqdn"] = "myserver"; 1082var manifest = await ManifestUtils.GetManifestWithBicep(sql.Resource); 1084Assert.Equal("Server=tcp:myserver,1433;Encrypt=True;Authentication=\"Active Directory Default\"", await sql.Resource.GetConnectionStringAsync(default)); 1085Assert.Equal("Server=tcp:{sql.outputs.sqlServerFqdn},1433;Encrypt=True;Authentication=\"Active Directory Default\"", sql.Resource.ConnectionStringExpression.ValueExpression); 1171azureSqlBuilder.Resource.Outputs["sqlServerFqdn"] = "myserver"; 1180var manifest = await ManifestUtils.GetManifestWithBicep(sql.Resource); 1182Assert.Equal("Server=tcp:myserver,1433;Encrypt=True;Authentication=\"Active Directory Default\"", await sql.Resource.GetConnectionStringAsync(default)); 1183Assert.Equal("Server=tcp:{sql.outputs.sqlServerFqdn},1433;Encrypt=True;Authentication=\"Active Directory Default\"", sql.Resource.ConnectionStringExpression.ValueExpression); 1266var manifest = await ManifestUtils.GetManifestWithBicep(postgres.Resource); 1270azurePostgres.Resource.SecretOutputs["connectionString"] = "myconnectionstring"; 1271Assert.Equal("myconnectionstring", await postgres.Resource.GetConnectionStringAsync(default)); 1384var manifest = await ManifestUtils.GetManifestWithBicep(postgres.Resource); 1388azurePostgres.Resource.SecretOutputs["connectionString"] = "myconnectionstring"; 1389Assert.Equal("myconnectionstring", await postgres.Resource.GetConnectionStringAsync(default)); 1488var manifest = await ManifestUtils.GetManifestWithBicep(postgres.Resource); 1494Assert.Equal(expectedConnectionString, await postgres.Resource.GetConnectionStringAsync()); 1519var manifest = await ManifestUtils.GetManifest(postgres.Resource); 1539manifest = await ManifestUtils.GetManifest(postgres.Resource); 1557manifest = await ManifestUtils.GetManifest(postgres.Resource); 1586serviceBus.Resource.Outputs["serviceBusEndpoint"] = "mynamespaceEndpoint"; 1588var connectionStringResource = (IResourceWithConnectionString)serviceBus.Resource; 1590Assert.Equal("sb", serviceBus.Resource.Name); 1594var manifest = await ManifestUtils.GetManifestWithBicep(serviceBus.Resource); 1679wps.Resource.Outputs["endpoint"] = "https://mywebpubsubendpoint"; 1693var connectionStringResource = (IResourceWithConnectionString)wps.Resource; 1696var manifest = await ManifestUtils.GetManifestWithBicep(wps.Resource); 1699Assert.Equal("wps1", wps.Resource.Name); 1748wps.Resource.Outputs["endpoint"] = "https://mywebpubsubendpoint"; 1763var manifest = await ManifestUtils.GetManifestWithBicep(wps.Resource); 1766Assert.Equal("wps1", wps.Resource.Name); 1819Assert.True(storage.Resource.IsContainer()); 1829Assert.Equal(blobqs, blob.Resource.ConnectionStringExpression.ValueExpression); 1830Assert.Equal(queueqs, queue.Resource.ConnectionStringExpression.ValueExpression); 1831Assert.Equal(tableqs, table.Resource.ConnectionStringExpression.ValueExpression); 1833Assert.Equal(blobqs, await ((IResourceWithConnectionString)blob.Resource).GetConnectionStringAsync()); 1834Assert.Equal(queueqs, await ((IResourceWithConnectionString)queue.Resource).GetConnectionStringAsync()); 1835Assert.Equal(tableqs, await ((IResourceWithConnectionString)table.Resource).GetConnectionStringAsync()); 1852storage.Resource.Outputs["blobEndpoint"] = "https://myblob"; 1853storage.Resource.Outputs["queueEndpoint"] = "https://myqueue"; 1854storage.Resource.Outputs["tableEndpoint"] = "https://mytable"; 1857Assert.Equal("storage", storage.Resource.Name); 1859var storageManifest = await ManifestUtils.GetManifestWithBicep(storage.Resource); 1951var connectionStringBlobResource = (IResourceWithConnectionString)blob.Resource; 1960var blobManifest = await ManifestUtils.GetManifest(blob.Resource); 1966var connectionStringQueueResource = (IResourceWithConnectionString)queue.Resource; 1975var queueManifest = await ManifestUtils.GetManifest(queue.Resource); 1981var connectionStringTableResource = (IResourceWithConnectionString)table.Resource; 1990var tableManifest = await ManifestUtils.GetManifest(table.Resource); 2009storage.Resource.Outputs["blobEndpoint"] = "https://myblob"; 2010storage.Resource.Outputs["queueEndpoint"] = "https://myqueue"; 2011storage.Resource.Outputs["tableEndpoint"] = "https://mytable"; 2014Assert.Equal("storage", storage.Resource.Name); 2016var storageManifest = await ManifestUtils.GetManifestWithBicep(storage.Resource); 2108var connectionStringBlobResource = (IResourceWithConnectionString)blob.Resource; 2117var blobManifest = await ManifestUtils.GetManifest(blob.Resource); 2123var connectionStringQueueResource = (IResourceWithConnectionString)queue.Resource; 2132var queueManifest = await ManifestUtils.GetManifest(queue.Resource); 2138var connectionStringTableResource = (IResourceWithConnectionString)table.Resource; 2147var tableManifest = await ManifestUtils.GetManifest(table.Resource); 2165storage.Resource.Outputs["blobEndpoint"] = "https://myblob"; 2166storage.Resource.Outputs["queueEndpoint"] = "https://myqueue"; 2167storage.Resource.Outputs["tableEndpoint"] = "https://mytable"; 2170Assert.Equal("storage", storage.Resource.Name); 2172var storageManifest = await ManifestUtils.GetManifestWithBicep(storage.Resource); 2264var connectionStringBlobResource = (IResourceWithConnectionString)blob.Resource; 2273var blobManifest = await ManifestUtils.GetManifest(blob.Resource); 2279var connectionStringQueueResource = (IResourceWithConnectionString)queue.Resource; 2288var queueManifest = await ManifestUtils.GetManifest(queue.Resource); 2294var connectionStringTableResource = (IResourceWithConnectionString)table.Resource; 2303var tableManifest = await ManifestUtils.GetManifest(table.Resource); 2322storage.Resource.Outputs["blobEndpoint"] = "https://myblob"; 2323storage.Resource.Outputs["queueEndpoint"] = "https://myqueue"; 2324storage.Resource.Outputs["tableEndpoint"] = "https://mytable"; 2327Assert.Equal("storage", storage.Resource.Name); 2329var storageManifest = await ManifestUtils.GetManifestWithBicep(storage.Resource); 2421var connectionStringBlobResource = (IResourceWithConnectionString)blob.Resource; 2430var blobManifest = await ManifestUtils.GetManifest(blob.Resource); 2436var connectionStringQueueResource = (IResourceWithConnectionString)queue.Resource; 2445var queueManifest = await ManifestUtils.GetManifest(queue.Resource); 2451var connectionStringTableResource = (IResourceWithConnectionString)table.Resource; 2460var tableManifest = await ManifestUtils.GetManifest(table.Resource); 2476search.Resource.Outputs["connectionString"] = fakeConnectionString; 2478var connectionStringResource = (IResourceWithConnectionString)search.Resource; 2481Assert.Equal("search", search.Resource.Name); 2485var manifest = await ManifestUtils.GetManifestWithBicep(search.Resource); 2568var aiManifest = await ManifestUtils.GetManifest(ai.Resource); 2572var serviceBusManifest = await ManifestUtils.GetManifest(serviceBus.Resource); 2576var serviceManifest = await ManifestUtils.GetManifest(serviceA.Resource); 2601var manifest = await ManifestUtils.GetManifestWithBicep(openai.Resource); 2763var (manifest, bicep) = await ManifestUtils.GetManifestWithBicep(constructResource.Resource);
AzureCosmosDBEmulatorFunctionalTests.cs (4)
44await rns.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 46await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 50await rns.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 52await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
AzureEventHubsExtensionsTests.cs (6)
23var volumeAnnotation = eventHubs.Resource.Annotations.OfType<ContainerMountAnnotation>().Single(a => !a.Target.Contains("Config.json")); 40var volumeAnnotation = eventHubs.Resource.Annotations.OfType<ContainerMountAnnotation>().Single(a => !a.Target.Contains("Config.json")); 57var volumeAnnotation = eventHubs.Resource.Annotations.OfType<ContainerMountAnnotation>().Single(a => !a.Target.Contains("Config.json")); 74var volumeAnnotation = eventHubs.Resource.Annotations.OfType<ContainerMountAnnotation>().Single(a => !a.Target.Contains("Config.json")); 94eventHubs.Resource.Annotations.OfType<EndpointAnnotation>(), 116var containerImageAnnotation = eventHubs.Resource.Annotations.OfType<ContainerImageAnnotation>().FirstOrDefault();
AzureResourceExtensionsTests.cs (7)
31var volumeAnnotation = storage.Resource.Annotations.OfType<ContainerMountAnnotation>().Single(); 57var volumeAnnotation = storage.Resource.Annotations.OfType<ContainerMountAnnotation>().Single(); 83var volumeAnnotation = storage.Resource.Annotations.OfType<ContainerMountAnnotation>().Single(); 109var volumeAnnotation = storage.Resource.Annotations.OfType<ContainerMountAnnotation>().Single(); 128storage.Resource.Annotations.OfType<EndpointAnnotation>(), 149var endpointAnnotation = cosmos.Resource.Annotations.OfType<EndpointAnnotation>().FirstOrDefault(); 170var containerImageAnnotation = cosmos.Resource.Annotations.OfType<ContainerImageAnnotation>().FirstOrDefault();
AzureStorageEmulatorFunctionalTests.cs (1)
27hb.Configuration["ConnectionStrings:BlobConnection"] = await storage.Resource.ConnectionStringExpression.GetValueAsync(CancellationToken.None);
Aspire.Hosting.Containers.Tests (26)
ContainerResourceBuilderTests.cs (12)
17Assert.Equal("redis-stack", redis.Resource.Annotations.OfType<ContainerImageAnnotation>().Single().Image); 25Assert.Equal("redis-stack", redis.Resource.Annotations.OfType<ContainerImageAnnotation>().Single().Image); 26Assert.Equal("1.0.0", redis.Resource.Annotations.OfType<ContainerImageAnnotation>().Single().Tag); 34container.Resource.Annotations.RemoveAt(0); 37Assert.Equal("new-image", container.Resource.Annotations.OfType<ContainerImageAnnotation>().Single().Image); 38Assert.Equal("latest", container.Resource.Annotations.OfType<ContainerImageAnnotation>().Single().Tag); 46container.Resource.Annotations.Add(new ContainerImageAnnotation { Image = "another-image" }); 49Assert.Equal("new-image", container.Resource.Annotations.OfType<ContainerImageAnnotation>().Last().Image); 50Assert.Equal("latest", container.Resource.Annotations.OfType<ContainerImageAnnotation>().Last().Tag); 58Assert.Equal("7.1", redis.Resource.Annotations.OfType<ContainerImageAnnotation>().Single().Tag); 66Assert.Equal("myregistry.azurecr.io", redis.Resource.Annotations.OfType<ContainerImageAnnotation>().Single().Registry); 74Assert.Equal("42b5c726e719639fcc1e9dbc13dd843f567dcd37911d0e1abb9f47f2cc1c95cd", redis.Resource.Annotations.OfType<ContainerImageAnnotation>().Single().SHA256);
ContainerResourceTests.cs (2)
76var args = await ArgumentEvaluator.GetArgumentListAsync(c2.Resource); 83var manifest = await ManifestUtils.GetManifest(c2.Resource);
WithDockerfileTests.cs (12)
174var manifest = await ManifestUtils.GetManifest(container.Resource, manifestDirectory: tempContextPath); 221var manifest = await ManifestUtils.GetManifest(container.Resource, manifestDirectory: tempContextPath); 267var manifest = await ManifestUtils.GetManifest(container.Resource, manifestDirectory: tempContextPath); 312var manifest = await ManifestUtils.GetManifest(container.Resource, manifestDirectory: tempContextPath); 620var annotation = Assert.Single(container.Resource.Annotations.OfType<DockerfileBuildAnnotation>()); 635var annotation = Assert.Single(container.Resource.Annotations.OfType<DockerfileBuildAnnotation>()); 651var annotation = Assert.Single(container.Resource.Annotations.OfType<DockerfileBuildAnnotation>()); 666var annotation = Assert.Single(container.Resource.Annotations.OfType<DockerfileBuildAnnotation>()); 682var annotation = Assert.Single(container.Resource.Annotations.OfType<DockerfileBuildAnnotation>()); 697var annotation = Assert.Single(container.Resource.Annotations.OfType<DockerfileBuildAnnotation>()); 713var annotation = Assert.Single(container.Resource.Annotations.OfType<DockerfileBuildAnnotation>()); 728var annotation = Assert.Single(container.Resource.Annotations.OfType<DockerfileBuildAnnotation>());
Aspire.Hosting.Dapr (3)
IDistributedApplicationComponentBuilderExtensions.cs (3)
57var sidecarBuilder = builder.ApplicationBuilder.AddResource(new DaprSidecarResource($"{builder.Resource.Name}-dapr")) 67return builder.WithAnnotation(new DaprSidecarAnnotation(sidecarBuilder.Resource)); 89return builder.WithAnnotation(new DaprComponentReferenceAnnotation(component.Resource));
Aspire.Hosting.Elasticsearch (2)
ElasticsearchBuilderExtensions.cs (1)
54var passwordParameter = password?.Resource ?? ParameterResourceBuilderExtensions.CreateDefaultPasswordParameter(builder, $"{name}-password");
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.Elasticsearch.Tests (18)
AddElasticsearchTests.cs (3)
152Assert.Equal($"http://elastic:{elasticsearch.Resource.PasswordParameter.Value}@localhost:27020", connectionString); 163var manifest = await ManifestUtils.GetManifest(elasticsearch.Resource); 202var manifest = await ManifestUtils.GetManifest(elasticsearch.Resource);
ElasticsearchFunctionalTests.cs (14)
46hb.Configuration[$"ConnectionStrings:{elasticsearch.Resource.Name}"] = await elasticsearch.Resource.ConnectionStringExpression.GetValueAsync(default); 48hb.AddElasticsearchClient(elasticsearch.Resource.Name); 84var password = elasticsearch1.Resource.PasswordParameter.Value; 109hb.Configuration[$"ConnectionStrings:{elasticsearch1.Resource.Name}"] = await elasticsearch1.Resource.ConnectionStringExpression.GetValueAsync(default); 111hb.AddElasticsearchClient(elasticsearch1.Resource.Name); 154hb.Configuration[$"ConnectionStrings:{elasticsearch2.Resource.Name}"] = await elasticsearch2.Resource.ConnectionStringExpression.GetValueAsync(default); 156hb.AddElasticsearchClient(elasticsearch2.Resource.Name); 229await rns.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 231await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 235await rns.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == Microsoft.Extensions.Diagnostics.HealthChecks.HealthStatus.Healthy), cts.Token); 237await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
ElasticsearchPublicApiTests.cs (1)
81var action = () => new ElasticsearchResource(name, password.Resource);
Aspire.Hosting.Garnet (1)
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.Garnet.Tests (21)
AddGarnetTests.cs (9)
93var manifest = await ManifestUtils.GetManifest(garnet.Resource); 130var volumeAnnotation = garnet.Resource.Annotations.OfType<ContainerMountAnnotation>().Single(); 155var volumeAnnotation = garnet.Resource.Annotations.OfType<ContainerMountAnnotation>().Single(); 170Assert.True(garnet.Resource.TryGetAnnotationsOfType<CommandLineArgsCallbackAnnotation>(out var argsCallbacks)); 189var persistenceAnnotation = garnet.Resource.Annotations.OfType<CommandLineArgsCallbackAnnotation>().SingleOrDefault(); 201Assert.True(garnet.Resource.TryGetAnnotationsOfType<CommandLineArgsCallbackAnnotation>(out var argsCallbacks)); 220var persistenceAnnotation = garnet.Resource.Annotations.OfType<CommandLineArgsCallbackAnnotation>().SingleOrDefault(); 233Assert.True(garnet.Resource.TryGetAnnotationsOfType<CommandLineArgsCallbackAnnotation>(out var argsCallbacks)); 252Assert.True(garnet.Resource.TryGetAnnotationsOfType<CommandLineArgsCallbackAnnotation>(out var argsAnnotations));
GarnetFunctionalTests.cs (11)
44await rns.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 46await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 50await rns.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 52await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 78hb.Configuration[$"ConnectionStrings:{garnet.Resource.Name}"] = await garnet.Resource.ConnectionStringExpression.GetValueAsync(default); 80hb.AddRedisClient(garnet.Resource.Name); 157hb.Configuration[$"ConnectionStrings:{garnet1.Resource.Name}"] = $"{await garnet1.Resource.ConnectionStringExpression.GetValueAsync(default)}"; 208hb.Configuration[$"ConnectionStrings:{garnet2.Resource.Name}"] = $"{await garnet2.Resource.ConnectionStringExpression.GetValueAsync(default)}";
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.Kafka (2)
KafkaBuilderExtensions.cs (1)
98containerName ??= $"{builder.Resource.Name}-kafka-ui";
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.Kafka.Tests (18)
AddKafkaTests.cs (5)
81var manifest = await ManifestUtils.GetManifest(kafka.Resource); 121var config = await kafka.Resource.GetEnvironmentVariableValuesAsync(); 123var volumeAnnotation = kafka.Resource.Annotations.OfType<ContainerMountAnnotation>().Single(); 139var config = await kafka.Resource.GetEnvironmentVariableValuesAsync(); 141var volumeAnnotation = kafka.Resource.Annotations.OfType<ContainerMountAnnotation>().Single();
KafkaFunctionalTests.cs (12)
45await rns.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 47await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 51await rns.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 53await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 76hb.Configuration[$"ConnectionStrings:{kafka.Resource.Name}"] = await kafka.Resource.ConnectionStringExpression.GetValueAsync(default); 164await app.WaitForTextAsync("Server started, listening for requests...", kafka1.Resource.Name); 169hb.Configuration[$"ConnectionStrings:{kafka1.Resource.Name}"] = await kafka1.Resource.ConnectionStringExpression.GetValueAsync(default); 215await app.WaitForTextAsync("Server started, listening for requests...", kafka1.Resource.Name); 221hb.Configuration[$"ConnectionStrings:{kafka2.Resource.Name}"] = await kafka2.Resource.ConnectionStringExpression.GetValueAsync(default);
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.Keycloak (3)
KeycloakResourceBuilderExtensions.cs (2)
52var passwordParameter = adminPassword?.Resource ?? ParameterResourceBuilderExtensions.CreateDefaultPasswordParameter(builder, $"{name}-password"); 54var resource = new KeycloakResource(name, adminUsername?.Resource, passwordParameter);
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.Keycloak.Tests (7)
KeycloakPublicApiTests.cs (1)
19var action = () => new KeycloakResource(name, default(ParameterResource?), adminPassword.Resource);
KeycloakResourceBuilderTests.cs (6)
53var volumeAnnotation = keycloak.Resource.Annotations.OfType<ContainerMountAnnotation>().Single(); 68var volumeAnnotation = keycloak.Resource.Annotations.OfType<ContainerMountAnnotation>().Single(); 99var containerAnnotation = keycloak.Resource.Annotations.OfType<ContainerMountAnnotation>().Single(); 114Assert.Equal("Aspire.Hosting.ApplicationModel.UserSecretsParameterDefault", rmq.Resource.AdminPasswordParameter.Default?.GetType().FullName); 124Assert.NotEqual("Aspire.Hosting.ApplicationModel.UserSecretsParameterDefault", rmq.Resource.AdminPasswordParameter.Default?.GetType().FullName); 133var manifest = await ManifestUtils.GetManifest(keycloak.Resource);
Aspire.Hosting.Milvus (6)
MilvusBuilderExtensions.cs (5)
55var apiKeyParameter = apiKey?.Resource ?? 144builder.Resource.AddDatabase(name, databaseName); 145var milvusDatabaseResource = new MilvusDatabaseResource(name, databaseName, builder.Resource); 198containerName ??= $"{builder.Resource.Name}-attu"; 205.WithEnvironment(context => ConfigureAttuContainer(context, builder.Resource))
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.Milvus.Tests (27)
AddMilvusTests.cs (5)
89var connectionStringResource = milvus.Resource as IResourceWithConnectionString; 110var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(projectA.Resource, DistributedApplicationOperation.Run, TestServiceProvider.Instance); 121var containerConfig = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(container1.Resource, DistributedApplicationOperation.Run, TestServiceProvider.Instance); 138var serverManifest = await ManifestUtils.GetManifest(milvus.Resource); // using this method does not get any ExecutionContext.IsPublishMode changes 139var dbManifest = await ManifestUtils.GetManifest(db1.Resource);
MilvusFunctionalTests.cs (22)
45[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default) 48hb.AddMilvusClient(db.Resource.Name); 101var password = milvus1.Resource.ApiKeyParameter.Value; 130[$"ConnectionStrings:{db1.Resource.Name}"] = await db1.Resource.ConnectionStringExpression.GetValueAsync(default) 133hb.AddMilvusClient(db1.Resource.Name); 184[$"ConnectionStrings:{db2.Resource.Name}"] = await db2.Resource.ConnectionStringExpression.GetValueAsync(default) 187hb.AddMilvusClient(db2.Resource.Name); 260await rns.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 262await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 266await rns.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 268await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 302await rns.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 304await rns.WaitForResourceAsync(db.Resource.Name, KnownResourceStates.Running, cts.Token); 306await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 310await rns.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 313var connectionString = await resource.Resource.ConnectionStringExpression.GetValueAsync(cts.Token); 315await milvusClient.CreateDatabaseAsync(db.Resource.Name); 317await rns.WaitForResourceAsync(db.Resource.Name, re => re.Snapshot.HealthStatus == HealthStatus.Healthy, cts.Token); 319await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
Aspire.Hosting.MongoDB (5)
MongoDBBuilderExtensions.cs (4)
71builder.Resource.AddDatabase(name, databaseName); 72var mongoDBDatabase = new MongoDBDatabaseResource(name, databaseName, builder.Resource); 89containerName ??= $"{builder.Resource.Name}-mongoexpress"; 95.WithEnvironment(context => ConfigureMongoExpressContainer(context, builder.Resource))
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.MongoDB.Tests (27)
AddMongoDBTests.cs (10)
181var mongoManifest = await ManifestUtils.GetManifest(mongo.Resource); 182var dbManifest = await ManifestUtils.GetManifest(db.Resource); 243Assert.Equal("customers1", db1.Resource.DatabaseName); 244Assert.Equal("customers2", db2.Resource.DatabaseName); 246Assert.Equal("{mongo1.connectionString}/customers1", db1.Resource.ConnectionStringExpression.ValueExpression); 247Assert.Equal("{mongo1.connectionString}/customers2", db2.Resource.ConnectionStringExpression.ValueExpression); 261Assert.Equal("imports", db1.Resource.DatabaseName); 262Assert.Equal("imports", db2.Resource.DatabaseName); 264Assert.Equal("{mongo1.connectionString}/imports", db1.Resource.ConnectionStringExpression.ValueExpression); 265Assert.Equal("{mongo2.connectionString}/imports", db2.Resource.ConnectionStringExpression.ValueExpression);
MongoDbFunctionalTests.cs (16)
56await rns.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 58await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 62await rns.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 64await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 89hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 91hb.AddMongoDBClient(db.Resource.Name); 148hb.Configuration[$"ConnectionStrings:{db1.Resource.Name}"] = await db1.Resource.ConnectionStringExpression.GetValueAsync(default); 150hb.AddMongoDBClient(db1.Resource.Name); 192hb.Configuration[$"ConnectionStrings:{db2.Resource.Name}"] = await db2.Resource.ConnectionStringExpression.GetValueAsync(default); 194hb.AddMongoDBClient(db2.Resource.Name); 312hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 314hb.AddMongoDBClient(db.Resource.Name);
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.MySql (5)
MySqlBuilderExtensions.cs (4)
31var passwordParameter = password?.Resource ?? ParameterResourceBuilderExtensions.CreateDefaultPasswordParameter(builder, $"{name}-password"); 92builder.Resource.AddDatabase(name, databaseName); 93var mySqlDatabase = new MySqlDatabaseResource(name, databaseName, builder.Resource); 130containerName ??= $"{builder.Resource.Name}-phpmyadmin";
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.MySql.Tests (48)
AddMySqlTests.cs (21)
23Assert.Equal("Aspire.Hosting.ApplicationModel.UserSecretsParameterDefault", mysql.Resource.PasswordParameter.Default?.GetType().FullName); 33Assert.NotEqual("Aspire.Hosting.ApplicationModel.UserSecretsParameterDefault", mysql.Resource.PasswordParameter.Default?.GetType().FullName); 161var mySqlManifest = await ManifestUtils.GetManifest(mysql.Resource); 162var dbManifest = await ManifestUtils.GetManifest(db.Resource); 200var serverManifest = await ManifestUtils.GetManifest(mysql.Resource); 249Assert.Equal($"{mysql.Resource.Name}:{mysql.Resource.PrimaryEndpoint.TargetPort}", config["PMA_HOST"]); 290string pattern1 = $@"\$cfg\['Servers'\]\[\$i\]\['host'\] = '{mysql1.Resource.Name}:{mysql1.Resource.PrimaryEndpoint.TargetPort}';"; 291string pattern2 = $@"\$cfg\['Servers'\]\[\$i\]\['host'\] = '{mysql2.Resource.Name}:{mysql2.Resource.PrimaryEndpoint.TargetPort}';"; 331Assert.Equal(["db1", "db2"], mysql1.Resource.Databases.Keys); 332Assert.Equal(["customers1", "customers2"], mysql1.Resource.Databases.Values); 334Assert.Equal("customers1", db1.Resource.DatabaseName); 335Assert.Equal("customers2", db2.Resource.DatabaseName); 337Assert.Equal("{mysql1.connectionString};Database=customers1", db1.Resource.ConnectionStringExpression.ValueExpression); 338Assert.Equal("{mysql1.connectionString};Database=customers2", db2.Resource.ConnectionStringExpression.ValueExpression); 352Assert.Equal("imports", db1.Resource.DatabaseName); 353Assert.Equal("imports", db2.Resource.DatabaseName); 355Assert.Equal("{mysql1.connectionString};Database=imports", db1.Resource.ConnectionStringExpression.ValueExpression); 356Assert.Equal("{mysql2.connectionString};Database=imports", db2.Resource.ConnectionStringExpression.ValueExpression);
MySqlFunctionalTests.cs (27)
52await rns.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 54await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 58await rns.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 60await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 94await rns.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 96await rns.WaitForResourceAsync(db.Resource.Name, KnownResourceStates.Running, cts.Token); 98await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 102await rns.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 105var connectionString = await resource.Resource.ConnectionStringExpression.GetValueAsync(cts.Token); 113await rns.WaitForResourceAsync(db.Resource.Name, re => re.Snapshot.HealthStatus == HealthStatus.Healthy, cts.Token); 115await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 148[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default) 151hb.AddMySqlDataSource(db.Resource.Name); 190var password = mysql1.Resource.PasswordParameter.Value; 221[$"ConnectionStrings:{db1.Resource.Name}"] = await db1.Resource.ConnectionStringExpression.GetValueAsync(default) 224hb.AddMySqlDataSource(db1.Resource.Name); 291[$"ConnectionStrings:{db2.Resource.Name}"] = await db2.Resource.ConnectionStringExpression.GetValueAsync(default) 294hb.AddMySqlDataSource(db2.Resource.Name); 397[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default) 400hb.AddMySqlDataSource(db.Resource.Name); 467[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default) 470hb.AddMySqlDbContext<TestDbContext>(db.Resource.Name);
Aspire.Hosting.Nats (1)
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.Nats.Tests (12)
AddNatsTests.cs (1)
104var manifest = await ManifestUtils.GetManifest(nats.Resource);
NatsFunctionalTests.cs (10)
43hb.Configuration[$"ConnectionStrings:{nats.Resource.Name}"] = await nats.Resource.ConnectionStringExpression.GetValueAsync(default); 107hb.Configuration[$"ConnectionStrings:{nats1.Resource.Name}"] = await nats1.Resource.ConnectionStringExpression.GetValueAsync(default); 157hb.Configuration[$"ConnectionStrings:{nats2.Resource.Name}"] = await nats2.Resource.ConnectionStringExpression.GetValueAsync(default); 267await rns.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 269await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 273await rns.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 275await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.NodeJs.Tests (2)
AddNodeAppTests.cs (2)
19var manifest = await ManifestUtils.GetManifest(nodeApp.Resource); 48manifest = await ManifestUtils.GetManifest(npmApp.Resource);
Aspire.Hosting.Oracle (4)
OracleDatabaseBuilderExtensions.cs (3)
27var passwordParameter = password?.Resource ?? ParameterResourceBuilderExtensions.CreateDefaultPasswordParameter(builder, $"{name}-password"); 86builder.Resource.AddDatabase(name, databaseName); 87var oracleDatabase = new OracleDatabaseResource(name, databaseName, builder.Resource);
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.Oracle.Tests (37)
AddOracleTests.cs (13)
22Assert.Equal("Aspire.Hosting.ApplicationModel.UserSecretsParameterDefault", orcl.Resource.PasswordParameter.Default?.GetType().FullName); 32Assert.NotEqual("Aspire.Hosting.ApplicationModel.UserSecretsParameterDefault", orcl.Resource.PasswordParameter.Default?.GetType().FullName); 202var serverManifest = await ManifestUtils.GetManifest(oracleServer.Resource); 203var dbManifest = await ManifestUtils.GetManifest(db.Resource); 241var serverManifest = await ManifestUtils.GetManifest(oracleServer.Resource); 297Assert.Equal("customers1", db1.Resource.DatabaseName); 298Assert.Equal("customers2", db2.Resource.DatabaseName); 300Assert.Equal("{oracle1.connectionString}/customers1", db1.Resource.ConnectionStringExpression.ValueExpression); 301Assert.Equal("{oracle1.connectionString}/customers2", db2.Resource.ConnectionStringExpression.ValueExpression); 315Assert.Equal("imports", db1.Resource.DatabaseName); 316Assert.Equal("imports", db2.Resource.DatabaseName); 318Assert.Equal("{oracle1.connectionString}/imports", db1.Resource.ConnectionStringExpression.ValueExpression); 319Assert.Equal("{oracle2.connectionString}/imports", db2.Resource.ConnectionStringExpression.ValueExpression);
OracleFunctionalTests.cs (23)
52hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 54hb.AddOracleDatabaseDbContext<TestDbContext>(db.Resource.Name); 99var password = oracle1.Resource.PasswordParameter.Value; 135hb.Configuration[$"ConnectionStrings:{db1.Resource.Name}"] = await db1.Resource.ConnectionStringExpression.GetValueAsync(default); 137hb.AddOracleDatabaseDbContext<TestDbContext>(db1.Resource.Name); 196hb.Configuration[$"ConnectionStrings:{db2.Resource.Name}"] = await db2.Resource.ConnectionStringExpression.GetValueAsync(default); 198hb.AddOracleDatabaseDbContext<TestDbContext>(db2.Resource.Name); 310hb.Configuration[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default); 312hb.AddOracleDatabaseDbContext<TestDbContext>(db.Resource.Name); 375await rns.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 377await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 381await rns.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 383await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 417await rns.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 419await rns.WaitForResourceAsync(db.Resource.Name, KnownResourceStates.Running, cts.Token); 421await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 425await rns.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 427await rns.WaitForResourceAsync(db.Resource.Name, re => re.Snapshot.HealthStatus == HealthStatus.Healthy, cts.Token); 429await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.Orleans (7)
OrleansServiceExtensions.cs (5)
55orleansServiceBuilder.ClusterId = clusterId.Resource; 83orleansServiceBuilder.ServiceId = serviceId.Resource; 131=> WithGrainStorage(orleansServiceBuilder, provider.Resource.Name, provider); 183=> WithStreaming(orleansServiceBuilder, provider.Resource.Name, provider); 299=> WithGrainDirectory(orleansServiceBuilder, provider.Resource.Name, provider);
ProviderConfiguration.cs (2)
21var serviceKey = resourceBuilder.Resource.Name; 22var resourceType = resourceBuilder.Resource.GetType().Name;
Aspire.Hosting.PostgreSQL (7)
PostgresBuilderExtensions.cs (6)
47var passwordParameter = password?.Resource ?? ParameterResourceBuilderExtensions.CreateDefaultPasswordParameter(builder, $"{name}-password"); 49var postgresServer = new PostgresServerResource(name, userName?.Resource, passwordParameter); 133builder.Resource.AddDatabase(name, databaseName); 134var postgresDatabase = new PostgresDatabaseResource(name, databaseName, builder.Resource); 174containerName ??= $"{builder.Resource.Name}-pgadmin"; 306containerName ??= $"{builder.Resource.Name}-pgweb";
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.PostgreSQL.Tests (54)
AddPostgresTests.cs (24)
22Assert.Single(redis.Resource.Annotations, a => a is HealthCheckAnnotation hca && hca.Key == "postgres_check"); 32Assert.Equal("Aspire.Hosting.ApplicationModel.UserSecretsParameterDefault", pg.Resource.PasswordParameter.Default?.GetType().FullName); 42Assert.NotEqual("Aspire.Hosting.ApplicationModel.UserSecretsParameterDefault", pg.Resource.PasswordParameter.Default?.GetType().FullName); 159var connectionStringResource = postgres.Resource as IResourceWithConnectionString; 163Assert.Equal($"Host=localhost;Port=2000;Username=postgres;Password={postgres.Resource.PasswordParameter.Value}", connectionString); 251var serverManifest = await ManifestUtils.GetManifest(pgServer.Resource); 252var dbManifest = await ManifestUtils.GetManifest(db.Resource); 295var serverManifest = await ManifestUtils.GetManifest(pgServer.Resource); 321serverManifest = await ManifestUtils.GetManifest(pgServer.Resource); 347serverManifest = await ManifestUtils.GetManifest(pgServer.Resource); 475Assert.Equal(pg1.Resource.Name, servers.GetProperty("1").GetProperty("Name").GetString()); 482Assert.Equal($"echo '{pg1.Resource.PasswordParameter.Value}'", servers.GetProperty("1").GetProperty("PasswordExecCommand").GetString()); 485Assert.Equal(pg2.Resource.Name, servers.GetProperty("2").GetProperty("Name").GetString()); 492Assert.Equal($"echo '{pg2.Resource.PasswordParameter.Value}'", servers.GetProperty("2").GetProperty("PasswordExecCommand").GetString()); 540Assert.Equal(CreatePgWebBookmarkfileContent(db1.Resource), content); 544Assert.Equal(CreatePgWebBookmarkfileContent(db2.Resource), content); 581Assert.Equal("customers1", db1.Resource.DatabaseName); 582Assert.Equal("customers2", db2.Resource.DatabaseName); 584Assert.Equal("{postgres1.connectionString};Database=customers1", db1.Resource.ConnectionStringExpression.ValueExpression); 585Assert.Equal("{postgres1.connectionString};Database=customers2", db2.Resource.ConnectionStringExpression.ValueExpression); 599Assert.Equal("imports", db1.Resource.DatabaseName); 600Assert.Equal("imports", db2.Resource.DatabaseName); 602Assert.Equal("{postgres1.connectionString};Database=imports", db1.Resource.ConnectionStringExpression.ValueExpression); 603Assert.Equal("{postgres2.connectionString};Database=imports", db2.Resource.ConnectionStringExpression.ValueExpression);
PostgrePublicApiTests.cs (3)
80var postgresParentResource = new PostgresServerResource("PostgresServer", default(ParameterResource?), parameterResource.Resource); 95var postgresParentResource = new PostgresServerResource("PostgresServer", default(ParameterResource?), parameterResource.Resource); 123var action = () => new PostgresServerResource(name, default(ParameterResource?), password.Resource);
PostgresFunctionalTests.cs (27)
56await rns.WaitForResourceAsync(postgres.Resource.Name, KnownResourceStates.Running, cts.Token); 59await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 65await rns.WaitForResourceAsync(postgres.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 68await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 109await rns.WaitForResourceAsync(postgres.Resource.Name, KnownResourceStates.Running, cts.Token); 112await rns.WaitForResourceAsync(db.Resource.Name, KnownResourceStates.Running, cts.Token); 115await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 121await rns.WaitForResourceAsync(postgres.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 124var connectionString = await postgres.Resource.GetConnectionStringAsync(cts.Token); 133await rns.WaitForResourceAsync(db.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 136await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 158await app.WaitForTextAsync("Listening at", resourceName: adminBuilder.Resource.Name); 160var client = app.CreateHttpClient(adminBuilder.Resource.Name, "http"); 191[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default) 194hb.AddNpgsqlDataSource(db.Resource.Name); 228await app.WaitForTextAsync("Starting server...", resourceName: pgWebBuilder.Resource.Name); 230var client = app.CreateHttpClient(pgWebBuilder.Resource.Name, "http"); 299[$"ConnectionStrings:{db1.Resource.Name}"] = await db1.Resource.ConnectionStringExpression.GetValueAsync(default) 302hb.AddNpgsqlDataSource(db1.Resource.Name); 360[$"ConnectionStrings:{db2.Resource.Name}"] = await db2.Resource.ConnectionStringExpression.GetValueAsync(default) 363hb.AddNpgsqlDataSource(db2.Resource.Name); 452[$"ConnectionStrings:{db.Resource.Name}"] = await db.Resource.ConnectionStringExpression.GetValueAsync(default) 455hb.AddNpgsqlDataSource(db.Resource.Name);
Aspire.Hosting.Python.Tests (3)
AddPythonProjectTests.cs (3)
34var manifest = await ManifestUtils.GetManifest(pyproj.Resource, manifestDirectory: projectDirectory); 64var manifest = await ManifestUtils.GetManifest(pyproj.Resource, manifestDirectory: projectDirectory); 121var environmentVariables = await pyproj.Resource.GetEnvironmentVariableValuesAsync(DistributedApplicationOperation.Run);
Aspire.Hosting.Qdrant (6)
QdrantBuilderExtensions.cs (5)
42var apiKeyParameter = apiKey?.Resource ?? 112context.EnvironmentVariables[$"ConnectionStrings__{qdrantResource.Resource.Name}"] = qdrantResource.Resource.ConnectionStringExpression; 115context.EnvironmentVariables[$"ConnectionStrings__{qdrantResource.Resource.Name}_{QdrantServerResource.HttpEndpointName}"] = qdrantResource.Resource.HttpConnectionStringExpression;
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.Qdrant.Tests (17)
AddQdrantTests.cs (7)
25Assert.Equal("Aspire.Hosting.ApplicationModel.UserSecretsParameterDefault", qd.Resource.ApiKeyParameter.Default?.GetType().FullName); 35Assert.NotEqual("Aspire.Hosting.ApplicationModel.UserSecretsParameterDefault", qd.Resource.ApiKeyParameter.Default?.GetType().FullName); 161var connectionStringResource = qdrant.Resource as IResourceWithConnectionString; 183var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(projectA.Resource, DistributedApplicationOperation.Run, TestServiceProvider.Instance); 195var containerConfig = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(container1.Resource, DistributedApplicationOperation.Run, TestServiceProvider.Instance); 210var serverManifest = await ManifestUtils.GetManifest(qdrant.Resource); // using this method does not get any ExecutionContext.IsPublishMode changes 248var serverManifest = await ManifestUtils.GetManifest(qdrant.Resource); // using this method does not get any ExecutionContext.IsPublishMode changes
QdrantFunctionalTests.cs (9)
44[$"ConnectionStrings:{qdrant.Resource.Name}"] = await qdrant.Resource.ConnectionStringExpression.GetValueAsync(default) 47hb.AddQdrantClient(qdrant.Resource.Name); 128[$"ConnectionStrings:{qdrant1.Resource.Name}"] = await qdrant1.Resource.ConnectionStringExpression.GetValueAsync(default) 131hb.AddQdrantClient(qdrant1.Resource.Name); 173[$"ConnectionStrings:{qdrant2.Resource.Name}"] = await qdrant2.Resource.ConnectionStringExpression.GetValueAsync(default) 176hb.AddQdrantClient(qdrant2.Resource.Name);
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.RabbitMQ (6)
RabbitMQBuilderExtensions.cs (5)
38var passwordParameter = password?.Resource ?? ParameterResourceBuilderExtensions.CreateDefaultPasswordParameter(builder, $"{name}-password", special: false); 40var rabbitMq = new RabbitMQServerResource(name, userName?.Resource, passwordParameter); 141var containerAnnotations = builder.Resource.Annotations.OfType<ContainerImageAnnotation>().ToList(); 190throw 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."); 244var nodeName = $"{builder.Resource.Name}@localhost";
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.RabbitMQ.Tests (23)
AddRabbitMQTests.cs (6)
21Assert.Equal("Aspire.Hosting.ApplicationModel.UserSecretsParameterDefault", rmq.Resource.PasswordParameter.Default?.GetType().FullName); 31Assert.NotEqual("Aspire.Hosting.ApplicationModel.UserSecretsParameterDefault", rmq.Resource.PasswordParameter.Default?.GetType().FullName); 205var manifest = await ManifestUtils.GetManifest(rabbit.Resource); 251var manifest = await ManifestUtils.GetManifest(rabbit.Resource); 275manifest = await ManifestUtils.GetManifest(rabbit.Resource); 299manifest = await ManifestUtils.GetManifest(rabbit.Resource);
RabbitMQFunctionalTests.cs (16)
48await rns.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 50await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 54await rns.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 56await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 76hb.Configuration[$"ConnectionStrings:{rabbitMQ.Resource.Name}"] = await rabbitMQ.Resource.ConnectionStringExpression.GetValueAsync(default); 77hb.AddRabbitMQClient(rabbitMQ.Resource.Name); 113var password = rabbitMQ1.Resource.PasswordParameter.Value; 136hb.Configuration[$"ConnectionStrings:{rabbitMQ1.Resource.Name}"] = await rabbitMQ1.Resource.ConnectionStringExpression.GetValueAsync(default); 138hb.AddRabbitMQClient(rabbitMQ1.Resource.Name); 143await app.WaitForTextAsync(RabbitMQReadyText, resourceName: rabbitMQ1.Resource.Name).WaitAsync(TimeSpan.FromMinutes(1)); 193hb.Configuration[$"ConnectionStrings:{rabbitMQ2.Resource.Name}"] = await rabbitMQ2.Resource.ConnectionStringExpression.GetValueAsync(default); 195hb.AddRabbitMQClient(rabbitMQ2.Resource.Name); 200await app.WaitForTextAsync(RabbitMQReadyText, resourceName: rabbitMQ2.Resource.Name).WaitAsync(TimeSpan.FromMinutes(1));
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.Redis (4)
RedisBuilderExtensions.cs (3)
86containerName ??= $"{builder.Resource.Name}-commander"; 149containerName ??= $"{builder.Resource.Name}-insight"; 348builder.Resource.AcceptedEula = accept;
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.Redis.Tests (49)
AddRedisTests.cs (13)
20Assert.Single(redis.Resource.Annotations, a => a is HealthCheckAnnotation hca && hca.Key == "redis_check"); 102var manifest = await ManifestUtils.GetManifest(redis.Resource); 225Assert.Equal($"myredis1:{redis.Resource.Name}:6379:0", config["REDIS_HOSTS"]); 249Assert.Equal($"myredis1:{redis1.Resource.Name}:6379:0,myredis2:myredis2:6379:0", config["REDIS_HOSTS"]); 269var volumeAnnotation = redis.Resource.Annotations.OfType<ContainerMountAnnotation>().Single(); 294var volumeAnnotation = redis.Resource.Annotations.OfType<ContainerMountAnnotation>().Single(); 309Assert.True(redis.Resource.TryGetAnnotationsOfType<CommandLineArgsCallbackAnnotation>(out var argsCallbacks)); 328var persistenceAnnotation = redis.Resource.Annotations.OfType<CommandLineArgsCallbackAnnotation>().SingleOrDefault(); 340Assert.True(redis.Resource.TryGetAnnotationsOfType<CommandLineArgsCallbackAnnotation>(out var argsCallbacks)); 359var persistenceAnnotation = redis.Resource.Annotations.OfType<CommandLineArgsCallbackAnnotation>().SingleOrDefault(); 372Assert.True(redis.Resource.TryGetAnnotationsOfType<CommandLineArgsCallbackAnnotation>(out var argsCallbacks)); 391Assert.True(redis.Resource.TryGetAnnotationsOfType<CommandLineArgsCallbackAnnotation>(out var argsAnnotations)); 407Assert.False(redisInsightBuilder.Resource.AcceptedEula);
RedisFunctionalTests.cs (36)
55await rns.WaitForResourceAsync(redis.Resource.Name, KnownResourceStates.Running, cts.Token); 58await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 64await rns.WaitForResourceAsync(redis.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 67await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 89await app.WaitForTextAsync("Redis Connection", resourceName: commanderBuilder.Resource.Name); 91var client = app.CreateHttpClient(commanderBuilder.Resource.Name, "http"); 94var path = $"/apiv2/server/R:{redis.Resource.Name}:{endpoint.TargetPort}:0/info"; 115[$"ConnectionStrings:{redis.Resource.Name}"] = await redis.Resource.GetConnectionStringAsync() 118hb.AddRedisClient(redis.Resource.Name); 153await rns.WaitForResourceAsync(redisInsightBuilder.Resource.Name, KnownResourceStates.Running, cts.Token); 155var client = app.CreateHttpClient(redisInsightBuilder.Resource.Name, "http"); 166Assert.Equal(redis1.Resource.Name, db.Name); 167Assert.Equal(redis1.Resource.Name, db.Host); 168Assert.Equal(redis1.Resource.PrimaryEndpoint.TargetPort, db.Port); 174Assert.Equal(redis2.Resource.Name, db.Name); 175Assert.Equal(redis2.Resource.Name, db.Host); 176Assert.Equal(redis2.Resource.PrimaryEndpoint.TargetPort, db.Port); 207Assert.Equal(accept, redisInsightBuilder.Resource.AcceptedEula); 215await rns.WaitForResourceAsync(redisInsightBuilder.Resource.Name, KnownResourceStates.Running, cts.Token); 217var client = app.CreateHttpClient(redisInsightBuilder.Resource.Name, "http"); 265[$"ConnectionStrings:{redis1.Resource.Name}"] = $"{await redis1.Resource.GetConnectionStringAsync()},allowAdmin=true" 268hb.AddRedisClient(redis1.Resource.Name); 351[$"ConnectionStrings:{redis1.Resource.Name}"] = $"{await redis1.Resource.GetConnectionStringAsync()},allowAdmin=true" 354hb.AddRedisClient(redis1.Resource.Name); 386[$"ConnectionStrings:{redis2.Resource.Name}"] = await redis2.Resource.GetConnectionStringAsync() 389hb.AddRedisClient(redis2.Resource.Name); 435[$"ConnectionStrings:{redis1.Resource.Name}"] = $"{await redis1.Resource.GetConnectionStringAsync()},allowAdmin=true" 438hb.AddRedisClient(redis1.Resource.Name); 465[$"ConnectionStrings:{redis2.Resource.Name}"] = await redis2.Resource.GetConnectionStringAsync() 468hb.AddRedisClient(redis2.Resource.Name);
Aspire.Hosting.Seq (1)
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.SqlServer (4)
SqlServerBuilderExtensions.cs (3)
29var passwordParameter = password?.Resource ?? ParameterResourceBuilderExtensions.CreateDefaultPasswordParameter(builder, $"{name}-password", minLower: 1, minUpper: 1, minNumeric: 1); 91builder.Resource.AddDatabase(name, databaseName); 92var sqlServerDatabase = new SqlServerDatabaseResource(name, databaseName, builder.Resource);
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.SqlServer.Tests (36)
AddSqlServerTests.cs (13)
22Assert.Equal("Aspire.Hosting.ApplicationModel.UserSecretsParameterDefault", sql.Resource.PasswordParameter.Default?.GetType().FullName); 32Assert.NotEqual("Aspire.Hosting.ApplicationModel.UserSecretsParameterDefault", sql.Resource.PasswordParameter.Default?.GetType().FullName); 132var serverManifest = await ManifestUtils.GetManifest(sqlServer.Resource); 133var dbManifest = await ManifestUtils.GetManifest(db.Resource); 173var serverManifest = await ManifestUtils.GetManifest(sqlServer.Resource); 230Assert.Equal("customers1", db1.Resource.DatabaseName); 231Assert.Equal("customers2", db2.Resource.DatabaseName); 233Assert.Equal("{sqlserver1.connectionString};Database=customers1", db1.Resource.ConnectionStringExpression.ValueExpression); 234Assert.Equal("{sqlserver1.connectionString};Database=customers2", db2.Resource.ConnectionStringExpression.ValueExpression); 248Assert.Equal("imports", db1.Resource.DatabaseName); 249Assert.Equal("imports", db2.Resource.DatabaseName); 251Assert.Equal("{sqlserver1.connectionString};Database=imports", db1.Resource.ConnectionStringExpression.ValueExpression); 252Assert.Equal("{sqlserver2.connectionString};Database=imports", db2.Resource.ConnectionStringExpression.ValueExpression);
SqlServerFunctionalTests.cs (22)
46await rns.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 48await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 52await rns.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 54await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 88await rns.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 90await rns.WaitForResourceAsync(db.Resource.Name, KnownResourceStates.Running, cts.Token); 92await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 96await rns.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 99var connectionString = await resource.Resource.GetConnectionStringAsync(cts.Token); 107await rns.WaitForResourceAsync(db.Resource.Name, re => re.Snapshot.HealthStatus == HealthStatus.Healthy, cts.Token); 109await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token); 136hb.Configuration[$"ConnectionStrings:{tempDb.Resource.Name}"] = await tempDb.Resource.ConnectionStringExpression.GetValueAsync(default); 138hb.AddSqlServerDbContext<TestDbContext>(tempDb.Resource.Name); 139hb.AddSqlServerClient(tempDb.Resource.Name); 195var password = sqlserver1.Resource.PasswordParameter.Value; 240[$"ConnectionStrings:{masterdb1.Resource.Name}"] = await masterdb1.Resource.ConnectionStringExpression.GetValueAsync(default), 243hb1.AddSqlServerClient(masterdb1.Resource.Name); 322[$"ConnectionStrings:{masterdb2.Resource.Name}"] = await masterdb2.Resource.ConnectionStringExpression.GetValueAsync(default), 325hb2.AddSqlServerClient(masterdb2.Resource.Name);
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.Tests (104)
AddParameterTests.cs (5)
105parameter.Resource.Default = new TestParameterDefault("DefaultValue"); 140var param1Manifest = await ManifestUtils.GetManifest(parameter1.Resource); 186var param1Manifest = await ManifestUtils.GetManifest(parameter1.Resource); 213Assert.IsType<UserSecretsParameterDefault>(parameter1.Resource.Default); 217Assert.IsType<GenerateParameterDefault>(parameter2.Resource.Default);
Dashboard\DashboardResourceTests.cs (1)
96Assert.Same(container.Resource, dashboard);
DistributedApplicationTests.cs (6)
196using var clientA = app.CreateHttpClient(testProgram.ServiceABuilder.Resource.Name, "http"); 199using var clientC = app.CreateHttpClient(testProgram.ServiceCBuilder.Resource.Name, "http"); 207var uri = app.GetEndpoint(testProgram.ServiceBBuilder.Resource.Name, "http"); 697var httpEndPoint = app.GetEndpoint(testProgram.ServiceABuilder.Resource.Name, endpointName: "http"); 715var httpsEndpoint = app.GetEndpoint(testProgram.ServiceABuilder.Resource.Name, endpointName: "https"); 762using var clientA = app.CreateHttpClient(servicea.Resource.Name, "http");
Eventing\DistributedApplicationBuilderEventingTests.cs (1)
32builder.Eventing.Subscribe<BeforeResourceStartedEvent>(redis.Resource, (e, ct) =>
ExecutableResourceTests.cs (2)
38var args = await ArgumentEvaluator.GetArgumentListAsync(exe2.Resource); 50var manifest = await ManifestUtils.GetManifest(exe2.Resource);
ManifestGenerationTests.cs (3)
99var redisManifest = await ManifestUtils.GetManifest(redis.Resource); 517param.Resource.Default = new GenerateParameterDefault() 555var manifest = await ManifestUtils.GetManifest(param.Resource);
ProjectResourceTests.cs (1)
586var args = await ArgumentEvaluator.GetArgumentListAsync(project.Resource);
PublishAsConnectionStringTests.cs (2)
18Assert.True(redis.Resource.TryGetLastAnnotation<ManifestPublishingCallbackAnnotation>(out _)); 20var manifest = await ManifestUtils.GetManifest(redis.Resource);
PublishAsDockerfileTests.cs (6)
19Assert.True(frontend.Resource.TryGetLastAnnotation<ManifestPublishingCallbackAnnotation>(out _)); 21var manifest = await ManifestUtils.GetManifest(frontend.Resource); 54Assert.True(frontend.Resource.TryGetLastAnnotation<ManifestPublishingCallbackAnnotation>(out _)); 56var manifest = await ManifestUtils.GetManifest(frontend.Resource); 92Assert.True(frontend.Resource.TryGetLastAnnotation<ManifestPublishingCallbackAnnotation>(out _)); 94var manifest = await ManifestUtils.GetManifest(frontend.Resource);
ResourceExtensionsTests.cs (5)
15Assert.True(container.Resource.TryGetContainerImageName(out var imageName)); 25Assert.True(container.Resource.TryGetContainerImageName(out var imageName)); 41var env = await container.Resource.GetEnvironmentVariableValuesAsync(); 74var env = await container.Resource.GetEnvironmentVariableValuesAsync(); 107var env = await container.Resource.GetEnvironmentVariableValuesAsync(DistributedApplicationOperation.Publish);
ResourceNotificationTests.cs (1)
28var annotation = custom.Resource.Annotations.OfType<ResourceSnapshotAnnotation>().SingleOrDefault();
SlimTestProgramTests.cs (5)
33using var clientA = app.CreateHttpClient(testProgram.ServiceABuilder.Resource.Name, "http"); 36using var clientB = app.CreateHttpClient(testProgram.ServiceBBuilder.Resource.Name, "http"); 39using var clientC = app.CreateHttpClient(testProgram.ServiceCBuilder.Resource.Name, "http"); 55var endpoint = projectBuilders.Resource.Annotations.OfType<EndpointAnnotation>().Single(); 73var endpoint = projectBuilders.Resource.Annotations.OfType<EndpointAnnotation>().Single();
TestProgramFixture.cs (3)
68using var clientA = App.CreateHttpClient(TestProgram.ServiceABuilder.Resource.Name, "http"); 72using var clientB = App.CreateHttpClient(TestProgram.ServiceBBuilder.Resource.Name, "http"); 76using var clientC = App.CreateHttpClient(TestProgram.ServiceCBuilder.Resource.Name, "http");
Utils\VolumeNameGeneratorTests.cs (2)
28Assert.Equal($"{builder.Environment.ApplicationName}-{resource.Resource.Name}-data", volumeName); 41Assert.Equal($"volume-{resource.Resource.Name}-data", volumeName);
Utils\WithAnnotationTests.cs (4)
18var dummyAnnotations = redis.Resource.Annotations.OfType<DummyAnnotation>(); 32var dummyAnnotations = redis.Resource.Annotations.OfType<DummyAnnotation>(); 44var firstAnnotation = redis.Resource.Annotations.OfType<DummyAnnotation>().Single(); 48var secondAnnotation = redis.Resource.Annotations.OfType<DummyAnnotation>().Single();
WaitForTests.cs (15)
40await rns.WaitForResourceAsync(nginx.Resource.Name, "Waiting", waitingStateCts.Token); 45await rns.PublishUpdateAsync(dependency.Resource, s => s with 81await rns.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 86await rns.PublishUpdateAsync(dependency.Resource, s => s with 96await rns.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, runningStateCts.Token); 129await rns.WaitForResourceAsync(nginx.Resource.Name, "Waiting", waitingStateCts.Token); 134await rns.PublishUpdateAsync(dependency.Resource, s => s with 144await rns.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.FailedToStart, runningStateCts.Token); 177await rns.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 182await rns.PublishUpdateAsync(dependency.Resource, s => s with 191await rns.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.FailedToStart, runningStateCts.Token); 226await rns.WaitForResourceAsync(nginx.Resource.Name, "FailedToStart", waitingStateCts.Token); 260await rns.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Waiting, waitingStateCts.Token); 263await rns.PublishUpdateAsync(dependency.Resource, s => s with 268await rns.WaitForResourceAsync(nginx.Resource.Name, KnownResourceStates.Running, waitingStateCts.Token);
WithEndpointTests.cs (17)
28var endpoint = projectA.Resource.Annotations.OfType<EndpointAnnotation>() 45var endpoint = projectA.Resource.Annotations.OfType<EndpointAnnotation>() 80var endpoint = projectA.Resource.Annotations.OfType<EndpointAnnotation>() 118Assert.False(projectA.Resource.TryGetAnnotationsOfType<EndpointAnnotation>(out var annotations)); 135Assert.True(projectA.Resource.TryGetAnnotationsOfType<EndpointAnnotation>(out _)); 152Assert.True(projectA.Resource.TryGetAnnotationsOfType<EndpointAnnotation>(out _)); 271var manifest = await ManifestUtils.GetManifest(container.Resource); 299var manifest = await ManifestUtils.GetManifest(container.Resource); 326var manifest = await ManifestUtils.GetManifest(container.Resource); 353var manifest = await ManifestUtils.GetManifest(container.Resource); 380var manifest = await ManifestUtils.GetManifest(container.Resource); 407var manifest = await ManifestUtils.GetManifest(container.Resource); 434var manifest = await ManifestUtils.GetManifest(container.Resource); 465var manifest = await ManifestUtils.GetManifest(project.Resource); 535var manifest = await ManifestUtils.GetManifest(project.Resource); 562var manifests = await ManifestUtils.GetManifests([container0.Resource, container1.Resource]);
WithEnvironmentTests.cs (15)
30container.Resource, 52var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(projectB.Resource, DistributedApplicationOperation.Run, TestServiceProvider.Instance); 65var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(project.Resource, DistributedApplicationOperation.Run, TestServiceProvider.Instance); 81var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(project.Resource, DistributedApplicationOperation.Run, TestServiceProvider.Instance); 97var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(projectA.Resource, DistributedApplicationOperation.Run, TestServiceProvider.Instance); 114var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(projectA.Resource, DistributedApplicationOperation.Run, TestServiceProvider.Instance); 129var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(projectA.Resource, 146projectA.Resource, 169var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(projectA.Resource, DistributedApplicationOperation.Run, TestServiceProvider.Instance); 194.WithEnvironment("HOST", $"{test.Resource};name=1"); 196var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(containerB.Resource); 197var manifestConfig = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(containerB.Resource, DistributedApplicationOperation.Publish); 229var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(containerB.Resource); 253var runConfig = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(targetBuilder.Resource, DistributedApplicationOperation.Run); 259var publishConfig = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(targetBuilder.Resource, DistributedApplicationOperation.Publish);
WithReferenceTests.cs (10)
28var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(projectB.Resource, DistributedApplicationOperation.Run, TestServiceProvider.Instance); 51var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(projectB.Resource, DistributedApplicationOperation.Run, TestServiceProvider.Instance); 76var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(projectB.Resource, DistributedApplicationOperation.Run, TestServiceProvider.Instance); 99var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(projectB.Resource, DistributedApplicationOperation.Run, TestServiceProvider.Instance); 120var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(projectB.Resource, DistributedApplicationOperation.Run, TestServiceProvider.Instance); 171var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(projectB.Resource, DistributedApplicationOperation.Run, TestServiceProvider.Instance); 190var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(projectB.Resource, DistributedApplicationOperation.Run, TestServiceProvider.Instance); 206var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(projectB.Resource, DistributedApplicationOperation.Publish); 222var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(projectB.Resource, DistributedApplicationOperation.Publish); 295var config = await EnvironmentVariableEvaluator.GetEnvironmentVariablesAsync(projectA.Resource, DistributedApplicationOperation.Run, TestServiceProvider.Instance);
Aspire.Hosting.Valkey (1)
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
Aspire.Hosting.Valkey.Tests (23)
AddValkeyTests.cs (9)
93var manifest = await ManifestUtils.GetManifest(valkey.Resource); 130var volumeAnnotation = valkey.Resource.Annotations.OfType<ContainerMountAnnotation>().Single(); 155var volumeAnnotation = valkey.Resource.Annotations.OfType<ContainerMountAnnotation>().Single(); 170Assert.True(valkey.Resource.TryGetAnnotationsOfType<CommandLineArgsCallbackAnnotation>(out var argsCallbacks)); 189var persistenceAnnotation = valkey.Resource.Annotations.OfType<CommandLineArgsCallbackAnnotation>().SingleOrDefault(); 201Assert.True(valkey.Resource.TryGetAnnotationsOfType<CommandLineArgsCallbackAnnotation>(out var argsCallbacks)); 220var persistenceAnnotation = valkey.Resource.Annotations.OfType<CommandLineArgsCallbackAnnotation>().SingleOrDefault(); 233Assert.True(valkey.Resource.TryGetAnnotationsOfType<CommandLineArgsCallbackAnnotation>(out var argsCallbacks)); 252Assert.True(valkey.Resource.TryGetAnnotationsOfType<CommandLineArgsCallbackAnnotation>(out var argsAnnotations));
src\Shared\VolumeNameGenerator.cs (1)
25var resourceName = builder.Resource.Name;
ValkeyFunctionalTests.cs (13)
38[$"ConnectionStrings:{valkey.Resource.Name}"] = await valkey.Resource.ConnectionStringExpression.GetValueAsync(default) 41hb.AddRedisClient(valkey.Resource.Name); 99[$"ConnectionStrings:{valkey1.Resource.Name}"] = $"{await valkey1.Resource.ConnectionStringExpression.GetValueAsync(default)},allowAdmin=true" 102hb.AddRedisClient(valkey1.Resource.Name); 150[$"ConnectionStrings:{valkey2.Resource.Name}"] = await valkey2.Resource.ConnectionStringExpression.GetValueAsync(default) 153hb.AddRedisClient(valkey2.Resource.Name); 223await rns.WaitForResourceAsync(resource.Resource.Name, KnownResourceStates.Running, cts.Token); 225await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Waiting, cts.Token); 229await rns.WaitForResourceAsync(resource.Resource.Name, (re => re.Snapshot.HealthStatus == HealthStatus.Healthy), cts.Token); 231await rns.WaitForResourceAsync(dependentResource.Resource.Name, KnownResourceStates.Running, cts.Token);
BicepSample.AppHost (1)
Program.cs (1)
25temp00 = bicep0.Resource;
KafkaBasic.AppHost (2)
Program.cs (2)
11.WithArgs(kafka.Resource.Name); 15.WithArgs(kafka.Resource.Name);