diff --git a/playground/polyglot/Java/Aspire.Hosting.Azure/ValidationAppHost/AppHost.java b/playground/polyglot/Java/Aspire.Hosting.Azure/ValidationAppHost/AppHost.java
index 27e1b57f5a3..ddb56b64070 100644
--- a/playground/polyglot/Java/Aspire.Hosting.Azure/ValidationAppHost/AppHost.java
+++ b/playground/polyglot/Java/Aspire.Hosting.Azure/ValidationAppHost/AppHost.java
@@ -73,11 +73,11 @@ void main() throws Exception {
identity.publishAsExisting("identity-existing", "rg-identity");
identity.publishAsExistingFromParameters(existingName, existingResourceGroup);
identity.asExisting(existingName, existingResourceGroup);
- container.withEnvironmentFromOutput("INFRA_URL", infrastructureOutput);
- container.withEnvironmentFromKeyVaultSecret("SECRET_FROM_IDENTITY", identity);
+ container.withEnvironment("INFRA_URL", infrastructureOutput);
+ container.withEnvironment("SECRET_FROM_IDENTITY", identity);
container.withAzureUserAssignedIdentity(identity);
- executable.withEnvironmentFromOutput("INFRA_URL", infrastructureOutput);
- executable.withEnvironmentFromKeyVaultSecret("SECRET_FROM_IDENTITY", identity);
+ executable.withEnvironment("INFRA_URL", infrastructureOutput);
+ executable.withEnvironment("SECRET_FROM_IDENTITY", identity);
executable.withAzureUserAssignedIdentity(identity);
builder.build().run();
}
diff --git a/playground/polyglot/Java/Aspire.Hosting/ValidationAppHost/AppHost.java b/playground/polyglot/Java/Aspire.Hosting/ValidationAppHost/AppHost.java
index 201380007ae..6e29c263266 100644
--- a/playground/polyglot/Java/Aspire.Hosting/ValidationAppHost/AppHost.java
+++ b/playground/polyglot/Java/Aspire.Hosting/ValidationAppHost/AppHost.java
@@ -19,9 +19,9 @@ void main() throws Exception {
var builtConnectionString = builder.addConnectionStringBuilder("customcs", (connectionStringBuilder) -> { var _isEmpty = connectionStringBuilder.isEmpty(); connectionStringBuilder.appendLiteral("Host="); connectionStringBuilder.appendValueProvider(endpoint); connectionStringBuilder.appendLiteral(";Key="); connectionStringBuilder.appendValueProvider(secretParam); var _builtExpression = connectionStringBuilder.build(); });
builtConnectionString.withConnectionProperty("Host", expr);
builtConnectionString.withConnectionPropertyValue("Mode", "Development");
- container.withEnvironmentEndpoint("MY_ENDPOINT", endpoint);
- container.withEnvironmentParameter("MY_PARAM", configParam);
- container.withEnvironmentConnectionString("MY_CONN", builtConnectionString);
+ container.withEnvironment("MY_ENDPOINT", endpoint);
+ container.withEnvironment("MY_PARAM", configParam);
+ container.withEnvironment("MY_CONN", builtConnectionString);
builtConnectionString.withConnectionProperty("Endpoint", expr);
builtConnectionString.withConnectionPropertyValue("Protocol", "https");
container.excludeFromManifest();
diff --git a/playground/polyglot/Python/Aspire.Hosting.Azure/ValidationAppHost/apphost.py b/playground/polyglot/Python/Aspire.Hosting.Azure/ValidationAppHost/apphost.py
index bfe6767024d..7691545aa0b 100644
--- a/playground/polyglot/Python/Aspire.Hosting.Azure/ValidationAppHost/apphost.py
+++ b/playground/polyglot/Python/Aspire.Hosting.Azure/ValidationAppHost/apphost.py
@@ -72,10 +72,10 @@
identity.publish_as_existing()
identity.publish_as_existing_from_parameters()
identity.as_existing()
- container.with_environment_from_output()
- container.with_environment_from_key_vault_secret()
+ container.with_environment("INFRA_URL", infrastructure_output)
+ container.with_environment("SECRET_FROM_IDENTITY", identity)
container.with_azure_user_assigned_identity()
- executable.with_environment_from_output()
- executable.with_environment_from_key_vault_secret()
+ executable.with_environment("INFRA_URL", infrastructure_output)
+ executable.with_environment("SECRET_FROM_IDENTITY", identity)
executable.with_azure_user_assigned_identity()
builder.run()
diff --git a/playground/polyglot/Python/Aspire.Hosting/ValidationAppHost/apphost.py b/playground/polyglot/Python/Aspire.Hosting/ValidationAppHost/apphost.py
index 4abc3bc31b2..865878f2499 100644
--- a/playground/polyglot/Python/Aspire.Hosting/ValidationAppHost/apphost.py
+++ b/playground/polyglot/Python/Aspire.Hosting/ValidationAppHost/apphost.py
@@ -33,12 +33,12 @@
built_connection_string = builder.add_connection_string_builder("connection-string", lambda *_args, **_kwargs: None)
built_connection_string.with_connection_property("Key", "Value")
built_connection_string.with_connection_property_value("Key", "Value")
- # withEnvironmentEndpoint
- container.with_environment_endpoint("KEY", None)
- # withEnvironmentParameter
- container.with_environment_parameter("KEY", None)
- # withEnvironmentConnectionString
- container.with_environment_connection_string("KEY", None)
+ # withEnvironment - EndpointReference
+ container.with_environment("KEY", endpoint)
+ # withEnvironment - ParameterResource
+ container.with_environment("KEY", builder.add_parameter("param"))
+ # withEnvironment - connection string resource
+ container.with_environment("KEY", built_connection_string)
# withConnectionProperty — with ReferenceExpression
built_connection_string.with_connection_property("Key", "Value")
# withConnectionPropertyValue — with string
diff --git a/playground/polyglot/TypeScript/Aspire.Hosting.Azure/ValidationAppHost/apphost.ts b/playground/polyglot/TypeScript/Aspire.Hosting.Azure/ValidationAppHost/apphost.ts
index 26c1b2f02f2..c4981e3ec2b 100644
--- a/playground/polyglot/TypeScript/Aspire.Hosting.Azure/ValidationAppHost/apphost.ts
+++ b/playground/polyglot/TypeScript/Aspire.Hosting.Azure/ValidationAppHost/apphost.ts
@@ -89,12 +89,12 @@ await identity.publishAsExisting("identity-existing", "rg-identity");
await identity.publishAsExistingFromParameters(existingName, existingResourceGroup);
await identity.asExisting(existingName, existingResourceGroup);
-await container.withEnvironmentFromOutput("INFRA_URL", infrastructureOutput);
-await container.withEnvironmentFromKeyVaultSecret("SECRET_FROM_IDENTITY", identity);
+await container.withEnvironment("INFRA_URL", infrastructureOutput);
+await container.withEnvironment("SECRET_FROM_IDENTITY", identity);
await container.withAzureUserAssignedIdentity(identity);
-await executable.withEnvironmentFromOutput("INFRA_URL", infrastructureOutput);
-await executable.withEnvironmentFromKeyVaultSecret("SECRET_FROM_IDENTITY", identity);
+await executable.withEnvironment("INFRA_URL", infrastructureOutput);
+await executable.withEnvironment("SECRET_FROM_IDENTITY", identity);
await executable.withAzureUserAssignedIdentity(identity);
await builder.build().run();
diff --git a/playground/polyglot/TypeScript/Aspire.Hosting/ValidationAppHost/apphost.ts b/playground/polyglot/TypeScript/Aspire.Hosting/ValidationAppHost/apphost.ts
index 4ecf0adeae4..c2c26d6fb86 100644
--- a/playground/polyglot/TypeScript/Aspire.Hosting/ValidationAppHost/apphost.ts
+++ b/playground/polyglot/TypeScript/Aspire.Hosting/ValidationAppHost/apphost.ts
@@ -73,14 +73,14 @@ await builtConnectionString.withConnectionPropertyValue("Mode", "Development");
// ResourceBuilderExtensions.cs — NEW exports on ContainerResource
// ===================================================================
-// withEnvironmentEndpoint
-await container.withEnvironmentEndpoint("MY_ENDPOINT", endpoint);
+// withEnvironment - EndpointReference
+await container.withEnvironment("MY_ENDPOINT", endpoint);
-// withEnvironmentParameter
-await container.withEnvironmentParameter("MY_PARAM", configParam);
+// withEnvironment - ParameterResource
+await container.withEnvironment("MY_PARAM", configParam);
-// withEnvironmentConnectionString
-await container.withEnvironmentConnectionString("MY_CONN", builtConnectionString);
+// withEnvironment - connection string resource
+await container.withEnvironment("MY_CONN", builtConnectionString);
// withConnectionProperty — with ReferenceExpression
await builtConnectionString.withConnectionProperty("Endpoint", expr);
diff --git a/src/Aspire.Hosting.Azure.KeyVault/AzureKeyVaultSecretReference.cs b/src/Aspire.Hosting.Azure.KeyVault/AzureKeyVaultSecretReference.cs
index 6654505d28c..dfc0da70cee 100644
--- a/src/Aspire.Hosting.Azure.KeyVault/AzureKeyVaultSecretReference.cs
+++ b/src/Aspire.Hosting.Azure.KeyVault/AzureKeyVaultSecretReference.cs
@@ -10,7 +10,7 @@ namespace Aspire.Hosting.Azure;
///
/// The name of the secret.
/// The Azure Key Vault resource.
-internal sealed class AzureKeyVaultSecretReference(string secretName, AzureKeyVaultResource azureKeyVaultResource) : IAzureKeyVaultSecretReference, IValueProvider, IManifestExpressionProvider
+internal sealed class AzureKeyVaultSecretReference(string secretName, AzureKeyVaultResource azureKeyVaultResource) : IAzureKeyVaultSecretReference
{
///
/// Gets the name of the secret.
diff --git a/src/Aspire.Hosting.Azure/AzureBicepResource.cs b/src/Aspire.Hosting.Azure/AzureBicepResource.cs
index b944b8711db..42f923c9818 100644
--- a/src/Aspire.Hosting.Azure/AzureBicepResource.cs
+++ b/src/Aspire.Hosting.Azure/AzureBicepResource.cs
@@ -573,7 +573,7 @@ public void Dispose()
/// The name of the KeyVault secret.
/// The .
[Obsolete("BicepSecretOutputReference is no longer supported. Use IAzureKeyVaultResource instead.")]
-public sealed class BicepSecretOutputReference(string name, AzureBicepResource resource) : IManifestExpressionProvider, IValueProvider, IValueWithReferences
+public sealed class BicepSecretOutputReference(string name, AzureBicepResource resource) : IExpressionValue, IValueWithReferences
{
///
/// Name of the KeyVault secret.
@@ -628,7 +628,7 @@ public string? Value
/// The name of the output
/// The .
[AspireExport(ExposeProperties = true)]
-public sealed class BicepOutputReference(string name, AzureBicepResource resource) : IManifestExpressionProvider, IValueProvider, IValueWithReferences, IEquatable
+public sealed class BicepOutputReference(string name, AzureBicepResource resource) : IExpressionValue, IValueWithReferences, IEquatable
{
///
/// Name of the output.
diff --git a/src/Aspire.Hosting.Azure/AzureBicepResourceExtensions.cs b/src/Aspire.Hosting.Azure/AzureBicepResourceExtensions.cs
index feb46a28a53..4f8ddfe3563 100644
--- a/src/Aspire.Hosting.Azure/AzureBicepResourceExtensions.cs
+++ b/src/Aspire.Hosting.Azure/AzureBicepResourceExtensions.cs
@@ -78,16 +78,29 @@ public static BicepSecretOutputReference GetSecretOutput(this IResourceBuilderThe name of the environment variable.
/// The reference to the bicep output.
/// An .
- [AspireExport("withEnvironmentFromOutput", Description = "Sets an environment variable from a Bicep output reference")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal withEnvironment dispatcher export.")]
public static IResourceBuilder WithEnvironment(this IResourceBuilder builder, string name, BicepOutputReference bicepOutputReference)
where T : IResourceWithEnvironment
{
- builder.WithReferenceRelationship(bicepOutputReference.Resource);
+ return builder.WithEnvironment(name, (IExpressionValue)bicepOutputReference);
+ }
- return builder.WithEnvironment(ctx =>
- {
- ctx.EnvironmentVariables[name] = bicepOutputReference;
- });
+ // Keep these ATS-only aliases for backward compatibility with existing polyglot app hosts.
+ // Remove them once callers have migrated to the unified withEnvironment(...) export.
+ ///
+ /// Obsolete ATS alias for .
+ ///
+ /// The resource type.
+ /// The resource builder.
+ /// The name of the environment variable.
+ /// The reference to the Bicep output.
+ /// An .
+ [Obsolete("ATS compatibility shim. Use withEnvironment instead. Remove after existing polyglot app hosts migrate.")]
+ [AspireExport("withEnvironmentFromOutput", Description = "Sets an environment variable from a Bicep output reference")]
+ internal static IResourceBuilder WithEnvironmentFromOutputShim(this IResourceBuilder builder, string name, BicepOutputReference bicepOutputReference)
+ where T : IResourceWithEnvironment
+ {
+ return builder.WithEnvironment(name, bicepOutputReference);
}
///
@@ -116,14 +129,27 @@ public static IResourceBuilder WithEnvironment(this IResourceBuilder bu
/// The name of the environment variable.
/// The reference to the key vault secret.
/// An .
- [AspireExport("withEnvironmentFromKeyVaultSecret", Description = "Sets an environment variable from an Azure Key Vault secret reference")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal withEnvironment dispatcher export.")]
public static IResourceBuilder WithEnvironment(this IResourceBuilder builder, string name, IAzureKeyVaultSecretReference secretReference)
where T : IResourceWithEnvironment
{
- return builder.WithEnvironment(ctx =>
- {
- ctx.EnvironmentVariables[name] = secretReference;
- });
+ return builder.WithEnvironment(name, (IExpressionValue)secretReference);
+ }
+
+ ///
+ /// Obsolete ATS alias for .
+ ///
+ /// The resource type.
+ /// The resource builder.
+ /// The name of the environment variable.
+ /// The key vault secret reference.
+ /// An .
+ [Obsolete("ATS compatibility shim. Use withEnvironment instead. Remove after existing polyglot app hosts migrate.")]
+ [AspireExport("withEnvironmentFromKeyVaultSecret", Description = "Sets an environment variable from an Azure Key Vault secret reference")]
+ internal static IResourceBuilder WithEnvironmentFromKeyVaultSecretShim(this IResourceBuilder builder, string name, IAzureKeyVaultSecretReference secretReference)
+ where T : IResourceWithEnvironment
+ {
+ return builder.WithEnvironment(name, secretReference);
}
///
diff --git a/src/Aspire.Hosting.Azure/IAzureKeyVaultSecretReference.cs b/src/Aspire.Hosting.Azure/IAzureKeyVaultSecretReference.cs
index d3ab69e325f..215b217b49c 100644
--- a/src/Aspire.Hosting.Azure/IAzureKeyVaultSecretReference.cs
+++ b/src/Aspire.Hosting.Azure/IAzureKeyVaultSecretReference.cs
@@ -9,7 +9,7 @@ namespace Aspire.Hosting.Azure;
/// Represents a reference to a secret in an Azure Key Vault resource.
///
[AspireExport]
-public interface IAzureKeyVaultSecretReference : IValueProvider, IManifestExpressionProvider, IValueWithReferences
+public interface IAzureKeyVaultSecretReference : IExpressionValue, IValueWithReferences
{
///
/// Gets the name of the secret.
diff --git a/src/Aspire.Hosting.CodeGeneration.Java/AtsJavaCodeGenerator.cs b/src/Aspire.Hosting.CodeGeneration.Java/AtsJavaCodeGenerator.cs
index 3c1b88482b8..8b1ad20e520 100644
--- a/src/Aspire.Hosting.CodeGeneration.Java/AtsJavaCodeGenerator.cs
+++ b/src/Aspire.Hosting.CodeGeneration.Java/AtsJavaCodeGenerator.cs
@@ -756,6 +756,11 @@ private List CreateMethodParameters(IEnumerable ReferenceEquals(parameter, unionParameter) ? $"{MapInputTypeToJava(unionType, unionParameter.IsOptional || unionParameter.IsNullable)} {ToCamelCase(parameter.Name)}" : $"{MapParameterToJava(parameter)} {ToCamelCase(parameter.Name)}"))}) {{");
if (returnInfo.HasReturn)
{
@@ -1126,6 +1145,40 @@ private void GenerateUnionOverloadsWithOptions(
}
}
+ private List CreateUnionMethodParameters(
+ List parameters,
+ AtsParameterInfo unionParameter,
+ AtsTypeRef unionType)
+ {
+ var result = new List(parameters.Count);
+
+ foreach (var parameter in parameters)
+ {
+ var parameterName = ToCamelCase(parameter.Name);
+
+ if (!ReferenceEquals(parameter, unionParameter))
+ {
+ var (parameterResourceWrapperType, parameterResourceWrapperParameterType) = GetResourceBuilderWrapperType(parameter);
+ result.Add(new JavaMethodParameter(
+ MapParameterToJava(parameter),
+ parameterName,
+ parameterResourceWrapperType,
+ parameterResourceWrapperParameterType));
+ continue;
+ }
+
+ var parameterType = MapInputTypeToJava(unionType, unionParameter.IsOptional || unionParameter.IsNullable);
+ var (resourceWrapperType, resourceWrapperParameterType) = GetResourceBuilderWrapperType(parameterType);
+ result.Add(new JavaMethodParameter(
+ parameterType,
+ parameterName,
+ resourceWrapperType,
+ resourceWrapperParameterType));
+ }
+
+ return result;
+ }
+
private void GenerateOptionsOverloads(
AtsCapabilityInfo capability,
JavaCapabilityReturnInfo returnInfo,
diff --git a/src/Aspire.Hosting.CodeGeneration.TypeScript/AtsTypeScriptCodeGenerator.cs b/src/Aspire.Hosting.CodeGeneration.TypeScript/AtsTypeScriptCodeGenerator.cs
index 8d2b152a7e7..2ec709d97d1 100644
--- a/src/Aspire.Hosting.CodeGeneration.TypeScript/AtsTypeScriptCodeGenerator.cs
+++ b/src/Aspire.Hosting.CodeGeneration.TypeScript/AtsTypeScriptCodeGenerator.cs
@@ -103,6 +103,7 @@ public sealed class AtsTypeScriptCodeGenerator : ICodeGenerator
// Mapping of typeId -> wrapper class name for all generated wrapper types
// Used to resolve parameter types to wrapper classes instead of handle types
private readonly Dictionary _wrapperClassNames = new(StringComparer.Ordinal);
+ private readonly Dictionary _typeRefsById = new(StringComparer.Ordinal);
// Set of type IDs that have Promise wrappers (types with chainable methods)
// Used to determine return types for methods
@@ -251,6 +252,11 @@ private string MapInputTypeToTypeScript(AtsTypeRef? typeRef)
{
if (IsInterfaceHandleType(typeRef))
{
+ if (TryMapInterfaceInputTypeToTypeScript(typeRef!) is { } interfaceInputType)
+ {
+ return interfaceInputType;
+ }
+
return "ResourceBuilderBase";
}
@@ -272,9 +278,78 @@ private string MapParameterToTypeScript(AtsParameterInfo param)
return GenerateCallbackTypeSignature(param.CallbackParameters, param.CallbackReturnType);
}
+ if (param.Type?.Category == AtsTypeCategory.Union && param.Type.UnionTypes is { Count: > 0 })
+ {
+ return string.Join(" | ", param.Type.UnionTypes
+ .Select(MapInputTypeToTypeScript)
+ .Distinct());
+ }
+
return MapInputTypeToTypeScript(param.Type);
}
+ private string? TryMapInterfaceInputTypeToTypeScript(AtsTypeRef typeRef)
+ {
+ List? assignableWrapperTypes = null;
+ var includesResourceBuilder = false;
+
+ foreach (var candidateTypeRef in _typeRefsById.Values)
+ {
+ if (!IsAssignableToInterface(candidateTypeRef, typeRef.TypeId) ||
+ !_wrapperClassNames.TryGetValue(candidateTypeRef.TypeId, out var wrapperClassName))
+ {
+ continue;
+ }
+
+ if (candidateTypeRef.IsResourceBuilder)
+ {
+ includesResourceBuilder = true;
+ continue;
+ }
+
+ assignableWrapperTypes ??= [];
+ assignableWrapperTypes.Add(wrapperClassName);
+ }
+
+ if (!includesResourceBuilder && assignableWrapperTypes is not { Count: > 0 })
+ {
+ return null;
+ }
+
+ var typeNames = new List();
+ if (includesResourceBuilder)
+ {
+ typeNames.Add("ResourceBuilderBase");
+ }
+
+ if (assignableWrapperTypes is { Count: > 0 })
+ {
+ typeNames.AddRange(assignableWrapperTypes
+ .Distinct(StringComparer.Ordinal)
+ .OrderBy(static n => n, StringComparer.Ordinal));
+ }
+
+ return string.Join(" | ", typeNames);
+ }
+
+ private static bool IsAssignableToInterface(AtsTypeRef candidateTypeRef, string interfaceTypeId)
+ {
+ if (string.Equals(candidateTypeRef.TypeId, interfaceTypeId, StringComparison.Ordinal))
+ {
+ return true;
+ }
+
+ foreach (var implementedInterface in candidateTypeRef.ImplementedInterfaces)
+ {
+ if (IsAssignableToInterface(implementedInterface, interfaceTypeId))
+ {
+ return true;
+ }
+ }
+
+ return candidateTypeRef.BaseType is not null && IsAssignableToInterface(candidateTypeRef.BaseType, interfaceTypeId);
+ }
+
///
/// Checks if a type reference is an interface handle type.
/// Interface handles need union types to accept wrapper classes.
@@ -486,6 +561,7 @@ private string GenerateAspireSdk(AtsContext context)
// Build wrapper class name mapping for type resolution BEFORE generating options interfaces
// This allows parameter types to use wrapper class names instead of handle types
_wrapperClassNames.Clear();
+ _typeRefsById.Clear();
_typesWithPromiseWrappers.Clear();
_generatedOptionsInterfaces.Clear();
_optionsInterfacesToGenerate.Clear();
@@ -494,12 +570,14 @@ private string GenerateAspireSdk(AtsContext context)
foreach (var builder in resourceBuilders)
{
_wrapperClassNames[builder.TypeId] = builder.BuilderClassName;
+ _typeRefsById[builder.TypeId] = builder.TargetType!;
// All resource builders get Promise wrappers
_typesWithPromiseWrappers.Add(builder.TypeId);
}
foreach (var typeClass in typeClasses)
{
_wrapperClassNames[typeClass.TypeId] = DeriveClassName(typeClass.TypeId);
+ _typeRefsById[typeClass.TypeId] = typeClass.TargetType!;
// Type classes with methods get Promise wrappers
if (HasChainableMethods(typeClass))
{
diff --git a/src/Aspire.Hosting.SqlServer/api/Aspire.Hosting.SqlServer.ats.txt b/src/Aspire.Hosting.SqlServer/api/Aspire.Hosting.SqlServer.ats.txt
index 31fbe131e07..7caf46bef63 100644
--- a/src/Aspire.Hosting.SqlServer/api/Aspire.Hosting.SqlServer.ats.txt
+++ b/src/Aspire.Hosting.SqlServer/api/Aspire.Hosting.SqlServer.ats.txt
@@ -1,26 +1,26 @@
# Aspire Type System Capabilities
# Generated by: aspire sdk dump --format ci
-# Diagnostics
-warning: Method 'addConnectionString' has collisions (Aspire.Hosting/addConnectionString, Aspire.Hosting/addConnectionStringExpression). 'Aspire.Hosting/addConnectionStringExpression' was removed. Use [AspireExport(MethodName = "uniqueName")] to set an explicit name. [Aspire.Hosting/addConnectionStringExpression]
-warning: Method 'addContainerRegistry' has collisions (Aspire.Hosting/addContainerRegistry, Aspire.Hosting/addContainerRegistryFromString). 'Aspire.Hosting/addContainerRegistryFromString' was removed. Use [AspireExport(MethodName = "uniqueName")] to set an explicit name. [Aspire.Hosting/addContainerRegistryFromString]
-warning: Method 'addExternalService' has collisions (Aspire.Hosting/addExternalService, Aspire.Hosting/addExternalServiceParameter, Aspire.Hosting/addExternalServiceUri). 'Aspire.Hosting/addExternalServiceParameter' was removed. Use [AspireExport(MethodName = "uniqueName")] to set an explicit name. [Aspire.Hosting/addExternalServiceParameter]
-warning: Method 'addExternalService' has collisions (Aspire.Hosting/addExternalService, Aspire.Hosting/addExternalServiceParameter, Aspire.Hosting/addExternalServiceUri). 'Aspire.Hosting/addExternalServiceUri' was removed. Use [AspireExport(MethodName = "uniqueName")] to set an explicit name. [Aspire.Hosting/addExternalServiceUri]
-warning: Method 'addParameter' has collisions (Aspire.Hosting/addParameter, Aspire.Hosting/addParameterWithValue). 'Aspire.Hosting/addParameterWithValue' was removed. Use [AspireExport(MethodName = "uniqueName")] to set an explicit name. [Aspire.Hosting/addParameterWithValue]
-
# Handle Types
Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerDatabaseResource [ExposeProperties]
Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerServerResource [ExposeProperties]
+Aspire.Hosting/Aspire.Hosting.ApplicationModel.AfterResourcesCreatedEvent [ExposeProperties]
+Aspire.Hosting/Aspire.Hosting.ApplicationModel.BeforeResourceStartedEvent [ExposeProperties]
+Aspire.Hosting/Aspire.Hosting.ApplicationModel.BeforeStartEvent [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext [ExposeProperties]
+Aspire.Hosting/Aspire.Hosting.ApplicationModel.ConnectionStringAvailableEvent [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerRegistryResource
Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerResource
Aspire.Hosting/Aspire.Hosting.ApplicationModel.CSharpAppResource
+Aspire.Hosting/Aspire.Hosting.ApplicationModel.DistributedApplicationModel
Aspire.Hosting/Aspire.Hosting.ApplicationModel.DotnetToolResource
Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference
Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReferenceExpression [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecutableResource
Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext [ExposeProperties]
+Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue [interface]
+Aspire.Hosting/Aspire.Hosting.ApplicationModel.InitializeResourceEvent [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource [interface]
Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithArgs [interface]
Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithConnectionString [interface]
@@ -32,8 +32,11 @@ Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource
Aspire.Hosting/Aspire.Hosting.ApplicationModel.ProjectResource
Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression
Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpressionBuilder [ExposeProperties]
+Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceEndpointsAllocatedEvent [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceLoggerService
Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceNotificationService
+Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceReadyEvent [ExposeProperties]
+Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceStoppedEvent [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceUrlsCallbackContext [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.ApplicationModel.UpdateCommandStateContext [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.ConnectionStringResource
@@ -48,12 +51,21 @@ Aspire.Hosting/Aspire.Hosting.Eventing.IDistributedApplicationResourceEvent [int
Aspire.Hosting/Aspire.Hosting.ExternalServiceResource
Aspire.Hosting/Aspire.Hosting.IDistributedApplicationBuilder [interface]
Aspire.Hosting/Aspire.Hosting.IResourceWithContainerFiles [interface]
+Aspire.Hosting/Aspire.Hosting.IUserSecretsManager [interface, ExposeProperties, ExposeMethods]
+Aspire.Hosting/Aspire.Hosting.Pipelines.IReportingStep [interface]
+Aspire.Hosting/Aspire.Hosting.Pipelines.IReportingTask [interface]
Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext [ExposeProperties]
+Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext [ExposeProperties]
+Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepFactoryContext [ExposeProperties]
+Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineSummary [ExposeMethods]
Aspire.Hosting/Aspire.Hosting.ProjectResourceOptions [ExposeProperties]
Microsoft.Extensions.Configuration.Abstractions/Microsoft.Extensions.Configuration.IConfiguration [interface]
-Microsoft.Extensions.Hosting.Abstractions/Microsoft.Extensions.Hosting.IHostEnvironment [interface]
+Microsoft.Extensions.Configuration.Abstractions/Microsoft.Extensions.Configuration.IConfigurationSection [interface, ExposeProperties]
+Microsoft.Extensions.Hosting.Abstractions/Microsoft.Extensions.Hosting.IHostEnvironment [interface, ExposeProperties]
+Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger [interface]
+Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILoggerFactory [interface]
System.ComponentModel/System.IServiceProvider [interface]
System.Private.CoreLib/System.Threading.CancellationToken
@@ -106,16 +118,28 @@ enum:Aspire.Hosting.OtlpProtocol = Grpc | HttpProtobuf | HttpJson
enum:System.Net.Sockets.ProtocolType = IP | IPv6HopByHopOptions | Unspecified | Icmp | Igmp | Ggp | IPv4 | Tcp | Pup | Udp | Idp | IPv6 | IPv6RoutingHeader | IPv6FragmentHeader | IPSecEncapsulatingSecurityPayload | IPSecAuthenticationHeader | IcmpV6 | IPv6NoNextHeader | IPv6DestinationOptions | ND | Raw | Ipx | Spx | SpxII | Unknown
# Capabilities
+Aspire.Hosting.ApplicationModel/AfterResourcesCreatedEvent.model(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.AfterResourcesCreatedEvent) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.DistributedApplicationModel
+Aspire.Hosting.ApplicationModel/AfterResourcesCreatedEvent.services(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.AfterResourcesCreatedEvent) -> System.ComponentModel/System.IServiceProvider
Aspire.Hosting.ApplicationModel/appendFormatted(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpressionBuilder, value: string, format?: string) -> void
Aspire.Hosting.ApplicationModel/appendLiteral(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpressionBuilder, value: string) -> void
Aspire.Hosting.ApplicationModel/appendValueProvider(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpressionBuilder, valueProvider: any, format?: string) -> void
+Aspire.Hosting.ApplicationModel/BeforeResourceStartedEvent.resource(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.BeforeResourceStartedEvent) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting.ApplicationModel/BeforeResourceStartedEvent.services(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.BeforeResourceStartedEvent) -> System.ComponentModel/System.IServiceProvider
+Aspire.Hosting.ApplicationModel/BeforeStartEvent.model(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.BeforeStartEvent) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.DistributedApplicationModel
+Aspire.Hosting.ApplicationModel/BeforeStartEvent.services(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.BeforeStartEvent) -> System.ComponentModel/System.IServiceProvider
Aspire.Hosting.ApplicationModel/build(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpressionBuilder) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression
Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.args(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext) -> Aspire.Hosting/List
Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.cancellationToken(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext) -> cancellationToken
Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.executionContext(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext) -> Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext
+Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.logger(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext) -> Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger
+Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.resource(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.setExecutionContext(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext, value: Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext
+Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.setLogger(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext, value: Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext
+Aspire.Hosting.ApplicationModel/ConnectionStringAvailableEvent.resource(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ConnectionStringAvailableEvent) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting.ApplicationModel/ConnectionStringAvailableEvent.services(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ConnectionStringAvailableEvent) -> System.ComponentModel/System.IServiceProvider
Aspire.Hosting.ApplicationModel/EndpointReference.endpointName(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> string
Aspire.Hosting.ApplicationModel/EndpointReference.errorMessage(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> string
+Aspire.Hosting.ApplicationModel/EndpointReference.excludeReferenceEndpoint(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> boolean
Aspire.Hosting.ApplicationModel/EndpointReference.exists(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> boolean
Aspire.Hosting.ApplicationModel/EndpointReference.getTlsValue(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference, enabledValue: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression, disabledValue: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression
Aspire.Hosting.ApplicationModel/EndpointReference.host(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> string
@@ -123,6 +147,7 @@ Aspire.Hosting.ApplicationModel/EndpointReference.isAllocated(context: Aspire.Ho
Aspire.Hosting.ApplicationModel/EndpointReference.isHttp(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> boolean
Aspire.Hosting.ApplicationModel/EndpointReference.isHttps(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> boolean
Aspire.Hosting.ApplicationModel/EndpointReference.port(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> number
+Aspire.Hosting.ApplicationModel/EndpointReference.resource(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEndpoints
Aspire.Hosting.ApplicationModel/EndpointReference.scheme(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> string
Aspire.Hosting.ApplicationModel/EndpointReference.setErrorMessage(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference, value: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference
Aspire.Hosting.ApplicationModel/EndpointReference.targetPort(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> number
@@ -134,14 +159,34 @@ Aspire.Hosting.ApplicationModel/EndpointReferenceExpression.valueExpression(cont
Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.cancellationToken(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext) -> cancellationToken
Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.environmentVariables(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext) -> Aspire.Hosting/Dict
Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.executionContext(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext) -> Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext
+Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.logger(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext) -> Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger
+Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.resource(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.setLogger(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext, value: Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext
Aspire.Hosting.ApplicationModel/ExecuteCommandContext.cancellationToken(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext) -> cancellationToken
Aspire.Hosting.ApplicationModel/ExecuteCommandContext.resourceName(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext) -> string
+Aspire.Hosting.ApplicationModel/ExecuteCommandContext.serviceProvider(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext) -> System.ComponentModel/System.IServiceProvider
Aspire.Hosting.ApplicationModel/ExecuteCommandContext.setCancellationToken(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext, value: cancellationToken) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext
Aspire.Hosting.ApplicationModel/ExecuteCommandContext.setResourceName(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext, value: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext
+Aspire.Hosting.ApplicationModel/ExecuteCommandContext.setServiceProvider(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext, value: System.ComponentModel/System.IServiceProvider) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext
+Aspire.Hosting.ApplicationModel/getValue(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression, cancellationToken: cancellationToken) -> string
Aspire.Hosting.ApplicationModel/getValueAsync(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference, cancellationToken?: cancellationToken) -> string
+Aspire.Hosting.ApplicationModel/InitializeResourceEvent.eventing(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.InitializeResourceEvent) -> Aspire.Hosting/Aspire.Hosting.Eventing.IDistributedApplicationEventing
+Aspire.Hosting.ApplicationModel/InitializeResourceEvent.logger(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.InitializeResourceEvent) -> Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger
+Aspire.Hosting.ApplicationModel/InitializeResourceEvent.notifications(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.InitializeResourceEvent) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceNotificationService
+Aspire.Hosting.ApplicationModel/InitializeResourceEvent.resource(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.InitializeResourceEvent) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting.ApplicationModel/InitializeResourceEvent.services(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.InitializeResourceEvent) -> System.ComponentModel/System.IServiceProvider
Aspire.Hosting.ApplicationModel/ReferenceExpressionBuilder.isEmpty(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpressionBuilder) -> boolean
+Aspire.Hosting.ApplicationModel/ResourceEndpointsAllocatedEvent.resource(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceEndpointsAllocatedEvent) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting.ApplicationModel/ResourceEndpointsAllocatedEvent.services(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceEndpointsAllocatedEvent) -> System.ComponentModel/System.IServiceProvider
+Aspire.Hosting.ApplicationModel/ResourceReadyEvent.resource(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceReadyEvent) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting.ApplicationModel/ResourceReadyEvent.services(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceReadyEvent) -> System.ComponentModel/System.IServiceProvider
+Aspire.Hosting.ApplicationModel/ResourceStoppedEvent.resource(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceStoppedEvent) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting.ApplicationModel/ResourceStoppedEvent.services(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceStoppedEvent) -> System.ComponentModel/System.IServiceProvider
Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.cancellationToken(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceUrlsCallbackContext) -> cancellationToken
Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.executionContext(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceUrlsCallbackContext) -> Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext
+Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.logger(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceUrlsCallbackContext) -> Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger
+Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.resource(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceUrlsCallbackContext) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.setLogger(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceUrlsCallbackContext, value: Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceUrlsCallbackContext
Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.urls(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceUrlsCallbackContext) -> Aspire.Hosting/List
Aspire.Hosting.ApplicationModel/SqlServerDatabaseResource.connectionStringExpression(context: Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerDatabaseResource) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression
Aspire.Hosting.ApplicationModel/SqlServerDatabaseResource.databaseName(context: Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerDatabaseResource) -> string
@@ -155,30 +200,60 @@ Aspire.Hosting.ApplicationModel/SqlServerServerResource.entrypoint(context: Aspi
Aspire.Hosting.ApplicationModel/SqlServerServerResource.host(context: Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerServerResource) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReferenceExpression
Aspire.Hosting.ApplicationModel/SqlServerServerResource.jdbcConnectionString(context: Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerServerResource) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression
Aspire.Hosting.ApplicationModel/SqlServerServerResource.name(context: Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerServerResource) -> string
+Aspire.Hosting.ApplicationModel/SqlServerServerResource.passwordParameter(context: Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerServerResource) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource
Aspire.Hosting.ApplicationModel/SqlServerServerResource.port(context: Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerServerResource) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReferenceExpression
Aspire.Hosting.ApplicationModel/SqlServerServerResource.primaryEndpoint(context: Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerServerResource) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference
Aspire.Hosting.ApplicationModel/SqlServerServerResource.setEntrypoint(context: Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerServerResource, value: string) -> Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerServerResource
+Aspire.Hosting.ApplicationModel/SqlServerServerResource.setPasswordParameter(context: Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerServerResource, value: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource) -> Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerServerResource
Aspire.Hosting.ApplicationModel/SqlServerServerResource.setShellExecution(context: Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerServerResource, value: boolean) -> Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerServerResource
Aspire.Hosting.ApplicationModel/SqlServerServerResource.shellExecution(context: Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerServerResource) -> boolean
Aspire.Hosting.ApplicationModel/SqlServerServerResource.uriExpression(context: Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerServerResource) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression
Aspire.Hosting.ApplicationModel/SqlServerServerResource.userNameReference(context: Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerServerResource) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression
+Aspire.Hosting.ApplicationModel/UpdateCommandStateContext.serviceProvider(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.UpdateCommandStateContext) -> System.ComponentModel/System.IServiceProvider
+Aspire.Hosting.ApplicationModel/UpdateCommandStateContext.setServiceProvider(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.UpdateCommandStateContext, value: System.ComponentModel/System.IServiceProvider) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.UpdateCommandStateContext
Aspire.Hosting.Eventing/IDistributedApplicationEventing.unsubscribe(context: Aspire.Hosting/Aspire.Hosting.Eventing.IDistributedApplicationEventing, subscription: Aspire.Hosting/Aspire.Hosting.Eventing.DistributedApplicationEventSubscription) -> void
Aspire.Hosting.Pipelines/dependsOn(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep, stepName: string) -> void
Aspire.Hosting.Pipelines/getStepsByTag(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext, tag: string) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep[]
+Aspire.Hosting.Pipelines/PipelineConfigurationContext.model(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.DistributedApplicationModel
+Aspire.Hosting.Pipelines/PipelineConfigurationContext.services(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext) -> System.ComponentModel/System.IServiceProvider
+Aspire.Hosting.Pipelines/PipelineConfigurationContext.setModel(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext, value: Aspire.Hosting/Aspire.Hosting.ApplicationModel.DistributedApplicationModel) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext
+Aspire.Hosting.Pipelines/PipelineConfigurationContext.setServices(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext, value: System.ComponentModel/System.IServiceProvider) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext
Aspire.Hosting.Pipelines/PipelineConfigurationContext.setSteps(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext, value: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep[]) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext
Aspire.Hosting.Pipelines/PipelineConfigurationContext.steps(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep[]
+Aspire.Hosting.Pipelines/PipelineContext.cancellationToken(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext) -> cancellationToken
+Aspire.Hosting.Pipelines/PipelineContext.executionContext(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext) -> Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext
+Aspire.Hosting.Pipelines/PipelineContext.logger(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext) -> Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger
+Aspire.Hosting.Pipelines/PipelineContext.model(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.DistributedApplicationModel
+Aspire.Hosting.Pipelines/PipelineContext.services(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext) -> System.ComponentModel/System.IServiceProvider
+Aspire.Hosting.Pipelines/PipelineContext.setCancellationToken(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext, value: cancellationToken) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext
+Aspire.Hosting.Pipelines/PipelineContext.summary(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineSummary
Aspire.Hosting.Pipelines/PipelineStep.dependsOnSteps(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep) -> Aspire.Hosting/List
Aspire.Hosting.Pipelines/PipelineStep.description(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep) -> string
Aspire.Hosting.Pipelines/PipelineStep.name(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep) -> string
Aspire.Hosting.Pipelines/PipelineStep.requiredBySteps(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep) -> Aspire.Hosting/List
+Aspire.Hosting.Pipelines/PipelineStep.resource(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
Aspire.Hosting.Pipelines/PipelineStep.setDependsOnSteps(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep, value: Aspire.Hosting/List) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep
Aspire.Hosting.Pipelines/PipelineStep.setDescription(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep, value: string) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep
Aspire.Hosting.Pipelines/PipelineStep.setName(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep, value: string) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep
Aspire.Hosting.Pipelines/PipelineStep.setRequiredBySteps(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep, value: Aspire.Hosting/List) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep
+Aspire.Hosting.Pipelines/PipelineStep.setResource(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep, value: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep
Aspire.Hosting.Pipelines/PipelineStep.setTags(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep, value: Aspire.Hosting/List) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep
Aspire.Hosting.Pipelines/PipelineStep.tags(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep) -> Aspire.Hosting/List
Aspire.Hosting.Pipelines/PipelineStepContext.cancellationToken(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext) -> cancellationToken
Aspire.Hosting.Pipelines/PipelineStepContext.executionContext(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext) -> Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext
+Aspire.Hosting.Pipelines/PipelineStepContext.logger(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext) -> Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger
+Aspire.Hosting.Pipelines/PipelineStepContext.model(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.DistributedApplicationModel
+Aspire.Hosting.Pipelines/PipelineStepContext.pipelineContext(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext
+Aspire.Hosting.Pipelines/PipelineStepContext.reportingStep(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext) -> Aspire.Hosting/Aspire.Hosting.Pipelines.IReportingStep
+Aspire.Hosting.Pipelines/PipelineStepContext.services(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext) -> System.ComponentModel/System.IServiceProvider
+Aspire.Hosting.Pipelines/PipelineStepContext.setPipelineContext(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext, value: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext
+Aspire.Hosting.Pipelines/PipelineStepContext.setReportingStep(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext, value: Aspire.Hosting/Aspire.Hosting.Pipelines.IReportingStep) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext
+Aspire.Hosting.Pipelines/PipelineStepContext.summary(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineSummary
+Aspire.Hosting.Pipelines/PipelineStepFactoryContext.pipelineContext(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepFactoryContext) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext
+Aspire.Hosting.Pipelines/PipelineStepFactoryContext.resource(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepFactoryContext) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting.Pipelines/PipelineStepFactoryContext.setPipelineContext(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepFactoryContext, value: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepFactoryContext
+Aspire.Hosting.Pipelines/PipelineStepFactoryContext.setResource(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepFactoryContext, value: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepFactoryContext
+Aspire.Hosting.Pipelines/PipelineSummary.add(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineSummary, key: string, value: string) -> void
Aspire.Hosting.Pipelines/requiredBy(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep, stepName: string) -> void
Aspire.Hosting.SqlServer/addDatabase(name: string, databaseName?: string) -> Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerDatabaseResource
Aspire.Hosting.SqlServer/addSqlServer(name: string, password?: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource, port?: number) -> Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerServerResource
@@ -189,16 +264,22 @@ Aspire.Hosting.SqlServer/withHostPort(port: number) -> Aspire.Hosting.SqlServer/
Aspire.Hosting.SqlServer/withPassword(password: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource) -> Aspire.Hosting.SqlServer/Aspire.Hosting.ApplicationModel.SqlServerServerResource
Aspire.Hosting/addConnectionString(name: string, environmentVariableName?: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithConnectionString
Aspire.Hosting/addConnectionStringBuilder(name: string, connectionStringBuilder: callback) -> Aspire.Hosting/Aspire.Hosting.ConnectionStringResource
+Aspire.Hosting/addConnectionStringExpression(name: string, connectionStringExpression: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression) -> Aspire.Hosting/Aspire.Hosting.ConnectionStringResource
Aspire.Hosting/addContainer(name: string, image: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerResource
Aspire.Hosting/addContainerRegistry(name: string, endpoint: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource, repository?: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerRegistryResource
+Aspire.Hosting/addContainerRegistryFromString(name: string, endpoint: string, repository?: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerRegistryResource
Aspire.Hosting/addCSharpApp(name: string, path: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ProjectResource
Aspire.Hosting/addCSharpAppWithOptions(name: string, path: string, configure: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.CSharpAppResource
Aspire.Hosting/addDockerfile(name: string, contextPath: string, dockerfilePath?: string, stage?: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerResource
Aspire.Hosting/addDotnetTool(name: string, packageId: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.DotnetToolResource
Aspire.Hosting/addExecutable(name: string, command: string, workingDirectory: string, args: string[]) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecutableResource
Aspire.Hosting/addExternalService(name: string, url: string) -> Aspire.Hosting/Aspire.Hosting.ExternalServiceResource
+Aspire.Hosting/addExternalServiceParameter(name: string, urlParameter: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource) -> Aspire.Hosting/Aspire.Hosting.ExternalServiceResource
+Aspire.Hosting/addExternalServiceUri(name: string, uri: uri) -> Aspire.Hosting/Aspire.Hosting.ExternalServiceResource
+Aspire.Hosting/addMarkdown(key: string, markdownString: string) -> void
Aspire.Hosting/addParameter(name: string, secret?: boolean) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource
Aspire.Hosting/addParameterFromConfiguration(name: string, configurationKey: string, secret?: boolean) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource
+Aspire.Hosting/addParameterWithValue(name: string, value: string, publishValueAsDefault?: boolean, secret?: boolean) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource
Aspire.Hosting/addProject(name: string, projectPath: string, launchProfileName: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ProjectResource
Aspire.Hosting/addProjectWithOptions(name: string, projectPath: string, configure: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ProjectResource
Aspire.Hosting/asHttp2Service() -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEndpoints
@@ -206,8 +287,15 @@ Aspire.Hosting/build(context: Aspire.Hosting/Aspire.Hosting.IDistributedApplicat
Aspire.Hosting/clearContainerFilesSources() -> Aspire.Hosting/Aspire.Hosting.IResourceWithContainerFiles
Aspire.Hosting/completeLog(resource: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource) -> void
Aspire.Hosting/completeLogByName(resourceName: string) -> void
+Aspire.Hosting/completeStep(completionText: string, completionState?: string, cancellationToken?: cancellationToken) -> void
+Aspire.Hosting/completeStepMarkdown(markdownString: string, completionState?: string, cancellationToken?: cancellationToken) -> void
+Aspire.Hosting/completeTask(completionMessage?: string, completionState?: string, cancellationToken?: cancellationToken) -> void
+Aspire.Hosting/completeTaskMarkdown(markdownString: string, completionState?: string, cancellationToken?: cancellationToken) -> void
Aspire.Hosting/createBuilder() -> Aspire.Hosting/Aspire.Hosting.IDistributedApplicationBuilder
Aspire.Hosting/createBuilderWithOptions() -> Aspire.Hosting/Aspire.Hosting.IDistributedApplicationBuilder
+Aspire.Hosting/createLogger(categoryName: string) -> Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger
+Aspire.Hosting/createMarkdownTask(markdownString: string, cancellationToken?: cancellationToken) -> Aspire.Hosting/Aspire.Hosting.Pipelines.IReportingTask
+Aspire.Hosting/createTask(statusText: string, cancellationToken?: cancellationToken) -> Aspire.Hosting/Aspire.Hosting.Pipelines.IReportingTask
Aspire.Hosting/Dict.clear() -> void
Aspire.Hosting/Dict.count() -> number
Aspire.Hosting/Dict.get(key: string) -> any
@@ -222,20 +310,39 @@ Aspire.Hosting/DistributedApplicationExecutionContext.isPublishMode(context: Asp
Aspire.Hosting/DistributedApplicationExecutionContext.isRunMode(context: Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext) -> boolean
Aspire.Hosting/DistributedApplicationExecutionContext.operation(context: Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext) -> enum:Aspire.Hosting.DistributedApplicationOperation
Aspire.Hosting/DistributedApplicationExecutionContext.publisherName(context: Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext) -> string
+Aspire.Hosting/DistributedApplicationExecutionContext.serviceProvider(context: Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext) -> System.ComponentModel/System.IServiceProvider
Aspire.Hosting/DistributedApplicationExecutionContext.setPublisherName(context: Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext, value: string) -> Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext
Aspire.Hosting/excludeFromManifest() -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
Aspire.Hosting/excludeFromMcp() -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting/exists(key: string) -> boolean
+Aspire.Hosting/findResourceByName(name: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting/getChildren() -> Microsoft.Extensions.Configuration.Abstractions/Microsoft.Extensions.Configuration.IConfigurationSection[]
+Aspire.Hosting/getConfiguration() -> Microsoft.Extensions.Configuration.Abstractions/Microsoft.Extensions.Configuration.IConfiguration
Aspire.Hosting/getConfigValue(key: string) -> string
Aspire.Hosting/getConnectionString(name: string) -> string
+Aspire.Hosting/getDistributedApplicationModel() -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.DistributedApplicationModel
Aspire.Hosting/getEndpoint(name: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference
-Aspire.Hosting/getEnvironmentName() -> string
-Aspire.Hosting/getRequiredService(typeId: string) -> any
+Aspire.Hosting/getEventing() -> Aspire.Hosting/Aspire.Hosting.Eventing.IDistributedApplicationEventing
+Aspire.Hosting/getLoggerFactory() -> Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILoggerFactory
+Aspire.Hosting/getOrSetSecret(resourceBuilder: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource, name: string, value: string) -> void
+Aspire.Hosting/getResourceLoggerService() -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceLoggerService
Aspire.Hosting/getResourceName() -> string
-Aspire.Hosting/getService(typeId: string) -> any
+Aspire.Hosting/getResourceNotificationService() -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceNotificationService
+Aspire.Hosting/getResources() -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource[]
+Aspire.Hosting/getSection(key: string) -> Microsoft.Extensions.Configuration.Abstractions/Microsoft.Extensions.Configuration.IConfigurationSection
+Aspire.Hosting/getUserSecretsManager() -> Aspire.Hosting/Aspire.Hosting.IUserSecretsManager
Aspire.Hosting/IDistributedApplicationBuilder.appHostDirectory(context: Aspire.Hosting/Aspire.Hosting.IDistributedApplicationBuilder) -> string
+Aspire.Hosting/IDistributedApplicationBuilder.environment(context: Aspire.Hosting/Aspire.Hosting.IDistributedApplicationBuilder) -> Microsoft.Extensions.Hosting.Abstractions/Microsoft.Extensions.Hosting.IHostEnvironment
Aspire.Hosting/IDistributedApplicationBuilder.eventing(context: Aspire.Hosting/Aspire.Hosting.IDistributedApplicationBuilder) -> Aspire.Hosting/Aspire.Hosting.Eventing.IDistributedApplicationEventing
Aspire.Hosting/IDistributedApplicationBuilder.executionContext(context: Aspire.Hosting/Aspire.Hosting.IDistributedApplicationBuilder) -> Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext
+Aspire.Hosting/IDistributedApplicationBuilder.userSecretsManager(context: Aspire.Hosting/Aspire.Hosting.IDistributedApplicationBuilder) -> Aspire.Hosting/Aspire.Hosting.IUserSecretsManager
Aspire.Hosting/isDevelopment() -> boolean
+Aspire.Hosting/isEnvironment(environmentName: string) -> boolean
+Aspire.Hosting/isProduction() -> boolean
+Aspire.Hosting/isStaging() -> boolean
+Aspire.Hosting/IUserSecretsManager.filePath(context: Aspire.Hosting/Aspire.Hosting.IUserSecretsManager) -> string
+Aspire.Hosting/IUserSecretsManager.isAvailable(context: Aspire.Hosting/Aspire.Hosting.IUserSecretsManager) -> boolean
+Aspire.Hosting/IUserSecretsManager.trySetSecret(context: Aspire.Hosting/Aspire.Hosting.IUserSecretsManager, name: string, value: string) -> boolean
Aspire.Hosting/List.add(item: any) -> void
Aspire.Hosting/List.clear() -> void
Aspire.Hosting/List.get(index: number) -> any
@@ -249,7 +356,15 @@ Aspire.Hosting/log(level: string, message: string) -> void
Aspire.Hosting/logDebug(message: string) -> void
Aspire.Hosting/logError(message: string) -> void
Aspire.Hosting/logInformation(message: string) -> void
+Aspire.Hosting/logStep(level: string, message: string) -> void
+Aspire.Hosting/logStepMarkdown(level: string, markdownString: string) -> void
Aspire.Hosting/logWarning(message: string) -> void
+Aspire.Hosting/onBeforeResourceStarted(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting/onConnectionStringAvailable(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithConnectionString
+Aspire.Hosting/onInitializeResource(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting/onResourceEndpointsAllocated(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEndpoints
+Aspire.Hosting/onResourceReady(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting/onResourceStopped(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
Aspire.Hosting/ProjectResourceOptions.excludeKestrelEndpoints(context: Aspire.Hosting/Aspire.Hosting.ProjectResourceOptions) -> boolean
Aspire.Hosting/ProjectResourceOptions.excludeLaunchProfile(context: Aspire.Hosting/Aspire.Hosting.ProjectResourceOptions) -> boolean
Aspire.Hosting/ProjectResourceOptions.launchProfileName(context: Aspire.Hosting/Aspire.Hosting.ProjectResourceOptions) -> string
@@ -264,7 +379,12 @@ Aspire.Hosting/publishProjectAsDockerFileWithConfigure(configure?: callback) ->
Aspire.Hosting/publishResourceUpdate(resource: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource, state?: string, stateStyle?: string) -> void
Aspire.Hosting/publishWithContainerFiles(source: Aspire.Hosting/Aspire.Hosting.IResourceWithContainerFiles, destinationPath: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IContainerFilesDestinationResource
Aspire.Hosting/run(context: Aspire.Hosting/Aspire.Hosting.DistributedApplication, cancellationToken?: cancellationToken) -> void
+Aspire.Hosting/saveStateJson(json: string, cancellationToken?: cancellationToken) -> void
+Aspire.Hosting/subscribeAfterResourcesCreated(callback: callback) -> Aspire.Hosting/Aspire.Hosting.Eventing.DistributedApplicationEventSubscription
+Aspire.Hosting/subscribeBeforeStart(callback: callback) -> Aspire.Hosting/Aspire.Hosting.Eventing.DistributedApplicationEventSubscription
Aspire.Hosting/tryGetResourceState(resourceName: string) -> Aspire.Hosting/Aspire.Hosting.Ats.ResourceEventDto
+Aspire.Hosting/updateTask(statusText: string, cancellationToken?: cancellationToken) -> void
+Aspire.Hosting/updateTaskMarkdown(markdownString: string, cancellationToken?: cancellationToken) -> void
Aspire.Hosting/waitFor(dependency: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithWaitSupport
Aspire.Hosting/waitForCompletion(dependency: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource, exitCode?: number) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithWaitSupport
Aspire.Hosting/waitForDependencies(resource: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource) -> void
@@ -276,7 +396,6 @@ Aspire.Hosting/waitForStartWithBehavior(dependency: Aspire.Hosting/Aspire.Hostin
Aspire.Hosting/waitForWithBehavior(dependency: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource, waitBehavior: enum:Aspire.Hosting.ApplicationModel.WaitBehavior) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithWaitSupport
Aspire.Hosting/withArgs(args: string[]) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithArgs
Aspire.Hosting/withArgsCallback(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithArgs
-Aspire.Hosting/withArgsCallbackAsync(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithArgs
Aspire.Hosting/withBindMount(source: string, target: string, isReadOnly?: boolean) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerResource
Aspire.Hosting/withBuildArg(name: string, value: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerResource
Aspire.Hosting/withBuildSecret(name: string, value: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerResource
@@ -297,9 +416,8 @@ Aspire.Hosting/withDockerfileBaseImage(buildImage?: string, runtimeImage?: strin
Aspire.Hosting/withEndpoint(port?: number, targetPort?: number, scheme?: string, name?: string, env?: string, isProxied?: boolean, isExternal?: boolean, protocol?: enum:System.Net.Sockets.ProtocolType) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEndpoints
Aspire.Hosting/withEndpointProxySupport(proxyEnabled: boolean) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerResource
Aspire.Hosting/withEntrypoint(entrypoint: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerResource
-Aspire.Hosting/withEnvironment(name: string, value: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
+Aspire.Hosting/withEnvironment(name: string, value: string|Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression|Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference|Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource|Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithConnectionString|Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
Aspire.Hosting/withEnvironmentCallback(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
-Aspire.Hosting/withEnvironmentCallbackAsync(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
Aspire.Hosting/withEnvironmentConnectionString(envVarName: string, resource: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithConnectionString) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
Aspire.Hosting/withEnvironmentEndpoint(name: string, endpointReference: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
Aspire.Hosting/withEnvironmentExpression(name: string, value: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
@@ -327,7 +445,6 @@ Aspire.Hosting/withOtlpExporterProtocol(protocol: enum:Aspire.Hosting.OtlpProtoc
Aspire.Hosting/withoutHttpsCertificate() -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
Aspire.Hosting/withParentRelationship(parent: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
Aspire.Hosting/withPipelineConfiguration(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
-Aspire.Hosting/withPipelineConfigurationAsync(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
Aspire.Hosting/withPipelineStepFactory(stepName: string, callback: callback, dependsOn?: string[], requiredBy?: string[], tags?: string[], description?: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
Aspire.Hosting/withReference(source: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource, connectionName?: string, optional?: boolean, name?: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
Aspire.Hosting/withReferenceEndpoint(endpointReference: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
@@ -348,6 +465,5 @@ Aspire.Hosting/withUrlExpression(url: Aspire.Hosting/Aspire.Hosting.ApplicationM
Aspire.Hosting/withUrlForEndpoint(endpointName: string, callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
Aspire.Hosting/withUrlForEndpointFactory(endpointName: string, callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEndpoints
Aspire.Hosting/withUrlsCallback(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
-Aspire.Hosting/withUrlsCallbackAsync(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
Aspire.Hosting/withVolume(target: string, name?: string, isReadOnly?: boolean) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerResource
Aspire.Hosting/withWorkingDirectory(workingDirectory: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecutableResource
diff --git a/src/Aspire.Hosting/ApplicationModel/ConnectionStringReference.cs b/src/Aspire.Hosting/ApplicationModel/ConnectionStringReference.cs
index 9d464b9cd6e..4fe74a5765e 100644
--- a/src/Aspire.Hosting/ApplicationModel/ConnectionStringReference.cs
+++ b/src/Aspire.Hosting/ApplicationModel/ConnectionStringReference.cs
@@ -5,7 +5,7 @@ namespace Aspire.Hosting.ApplicationModel;
///
/// Represents a reference to a connection string.
///
-public class ConnectionStringReference(IResourceWithConnectionString resource, bool optional) : IManifestExpressionProvider, IValueProvider, IValueWithReferences
+public class ConnectionStringReference(IResourceWithConnectionString resource, bool optional) : IExpressionValue, IValueWithReferences
{
///
/// The resource that the connection string is referencing.
diff --git a/src/Aspire.Hosting/ApplicationModel/EndpointReference.cs b/src/Aspire.Hosting/ApplicationModel/EndpointReference.cs
index 9ced43243de..6a262773367 100644
--- a/src/Aspire.Hosting/ApplicationModel/EndpointReference.cs
+++ b/src/Aspire.Hosting/ApplicationModel/EndpointReference.cs
@@ -11,7 +11,7 @@ namespace Aspire.Hosting.ApplicationModel;
///
[AspireExport(ExposeProperties = true)]
[DebuggerDisplay("Resource = {Resource.Name}, EndpointName = {EndpointName}, IsAllocated = {IsAllocated}")]
-public sealed class EndpointReference : IManifestExpressionProvider, IValueProvider, IValueWithReferences
+public sealed class EndpointReference : IExpressionValue, IValueWithReferences
{
// A reference to the endpoint annotation if it exists.
private EndpointAnnotation? _endpointAnnotation;
@@ -298,7 +298,7 @@ public EndpointReference(IResourceWithEndpoints owner, string endpointName): thi
/// The property of the endpoint.
[AspireExport(ExposeProperties = true)]
[DebuggerDisplay("EndpointExpression = {ValueExpression}, Property = {Property}, Endpoint = {Endpoint.EndpointName}")]
-public class EndpointReferenceExpression(EndpointReference endpointReference, EndpointProperty property) : IManifestExpressionProvider, IValueProvider, IValueWithReferences
+public class EndpointReferenceExpression(EndpointReference endpointReference, EndpointProperty property) : IExpressionValue, IValueWithReferences
{
///
/// Gets the .
diff --git a/src/Aspire.Hosting/ApplicationModel/HostUrl.cs b/src/Aspire.Hosting/ApplicationModel/HostUrl.cs
index 1a3d4a5fc49..4824864db45 100644
--- a/src/Aspire.Hosting/ApplicationModel/HostUrl.cs
+++ b/src/Aspire.Hosting/ApplicationModel/HostUrl.cs
@@ -11,7 +11,7 @@ namespace Aspire.Hosting.ApplicationModel;
/// Represents a URL on the host machine. When referenced in a container resource, localhost will be
/// replaced with the configured container host name.
///
-public record HostUrl(string Url) : IValueProvider, IManifestExpressionProvider
+public record HostUrl(string Url) : IExpressionValue
{
// Goes into the manifest as a value, not an expression
string IManifestExpressionProvider.ValueExpression => Url;
diff --git a/src/Aspire.Hosting/ApplicationModel/IExpressionValue.cs b/src/Aspire.Hosting/ApplicationModel/IExpressionValue.cs
new file mode 100644
index 00000000000..f3722b7558e
--- /dev/null
+++ b/src/Aspire.Hosting/ApplicationModel/IExpressionValue.cs
@@ -0,0 +1,16 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+namespace Aspire.Hosting.ApplicationModel;
+
+///
+/// Represents a value that provides both a runtime value and a manifest expression.
+///
+///
+/// Expression values can be used anywhere both a runtime value and a publish-time
+/// manifest expression are needed.
+///
+[AspireExport]
+public interface IExpressionValue : IValueProvider, IManifestExpressionProvider
+{
+}
diff --git a/src/Aspire.Hosting/ApplicationModel/IResourceWithConnectionString.cs b/src/Aspire.Hosting/ApplicationModel/IResourceWithConnectionString.cs
index c60dfb1f1a3..4891764af09 100644
--- a/src/Aspire.Hosting/ApplicationModel/IResourceWithConnectionString.cs
+++ b/src/Aspire.Hosting/ApplicationModel/IResourceWithConnectionString.cs
@@ -6,7 +6,7 @@ namespace Aspire.Hosting.ApplicationModel;
///
/// Represents a resource that has a connection string associated with it.
///
-public interface IResourceWithConnectionString : IResource, IManifestExpressionProvider, IValueProvider, IValueWithReferences
+public interface IResourceWithConnectionString : IResource, IExpressionValue, IValueWithReferences
{
///
/// Gets the connection string associated with the resource.
diff --git a/src/Aspire.Hosting/ApplicationModel/ParameterResource.cs b/src/Aspire.Hosting/ApplicationModel/ParameterResource.cs
index e5f57fb85cd..02268583968 100644
--- a/src/Aspire.Hosting/ApplicationModel/ParameterResource.cs
+++ b/src/Aspire.Hosting/ApplicationModel/ParameterResource.cs
@@ -9,7 +9,7 @@ namespace Aspire.Hosting.ApplicationModel;
///
/// Represents a parameter resource.
///
-public class ParameterResource : Resource, IManifestExpressionProvider, IValueProvider
+public class ParameterResource : Resource, IExpressionValue
{
private readonly Lazy _lazyValue;
private readonly Func _valueGetter;
diff --git a/src/Aspire.Hosting/ApplicationModel/ReferenceExpression.cs b/src/Aspire.Hosting/ApplicationModel/ReferenceExpression.cs
index 0dfb1b7a024..944c0bc17ec 100644
--- a/src/Aspire.Hosting/ApplicationModel/ReferenceExpression.cs
+++ b/src/Aspire.Hosting/ApplicationModel/ReferenceExpression.cs
@@ -27,7 +27,7 @@ namespace Aspire.Hosting.ApplicationModel;
///
[AspireExport]
[DebuggerDisplay("ReferenceExpression = {ValueExpression}, Providers = {ValueProviders.Count}")]
-public class ReferenceExpression : IManifestExpressionProvider, IValueProvider, IValueWithReferences
+public class ReferenceExpression : IExpressionValue, IValueWithReferences
{
///
/// Represents an empty reference expression with no name, value providers, or arguments.
diff --git a/src/Aspire.Hosting/ResourceBuilderExtensions.cs b/src/Aspire.Hosting/ResourceBuilderExtensions.cs
index 3b5f0410a4a..84d62d50595 100644
--- a/src/Aspire.Hosting/ResourceBuilderExtensions.cs
+++ b/src/Aspire.Hosting/ResourceBuilderExtensions.cs
@@ -32,7 +32,7 @@ public static class ResourceBuilderExtensions
/// The name of the environment variable.
/// The value of the environment variable.
/// The .
- [AspireExport("withEnvironment", Description = "Sets an environment variable")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal withEnvironment dispatcher export.")]
public static IResourceBuilder WithEnvironment(this IResourceBuilder builder, string name, string? value) where T : IResourceWithEnvironment
{
ArgumentNullException.ThrowIfNull(builder);
@@ -41,6 +41,37 @@ public static IResourceBuilder WithEnvironment(this IResourceBuilder bu
return builder.WithAnnotation(new EnvironmentAnnotation(name, value ?? string.Empty));
}
+ [AspireExport("withEnvironment", Description = "Sets an environment variable")]
+ internal static IResourceBuilder WithEnvironment(
+ this IResourceBuilder builder,
+ string name,
+ [AspireUnion(
+ typeof(string),
+ typeof(ReferenceExpression),
+ typeof(EndpointReference),
+ typeof(IResourceBuilder),
+ typeof(IResourceBuilder),
+ typeof(IExpressionValue))]
+ object value)
+ where T : IResourceWithEnvironment
+ {
+ ArgumentNullException.ThrowIfNull(builder);
+ ArgumentNullException.ThrowIfNull(name);
+ ArgumentNullException.ThrowIfNull(value);
+
+ return value switch
+ {
+ string stringValue => builder.WithEnvironment(name, stringValue),
+ ReferenceExpression expression => builder.WithEnvironment(name, expression),
+ EndpointReference endpointReference => builder.WithEnvironment(name, endpointReference),
+ IResourceBuilder parameter => builder.WithEnvironment(name, parameter),
+ IResourceBuilder connectionStringResource => builder.WithEnvironment(name, connectionStringResource),
+ IExpressionValue expressionValue => builder.WithEnvironment(name, expressionValue),
+ _ => throw new InvalidOperationException(
+ $"The value '{value.GetType().FullName}' can't be used with withEnvironment because it doesn't provide a supported environment value.")
+ };
+ }
+
///
/// Adds an environment variable to the resource.
///
@@ -81,7 +112,7 @@ public static IResourceBuilder WithEnvironment(this IResourceBuilder bu
/// const redis = await builder.addRedis("cache");
/// const endpoint = await redis.getEndpoint("tcp");
/// const expr = refExpr`redis://${endpoint}:6379`;
- /// await api.withEnvironmentExpression("REDIS_URL", expr);
+ /// await api.withEnvironment("REDIS_URL", expr);
///
///
///
@@ -90,7 +121,7 @@ public static IResourceBuilder WithEnvironment(this IResourceBuilder bu
/// The name of the environment variable.
/// A ReferenceExpression that will be evaluated at runtime.
/// The .
- [AspireExport("withEnvironmentExpression", Description = "Adds an environment variable with a reference expression")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal withEnvironment dispatcher export.")]
public static IResourceBuilder WithEnvironment(this IResourceBuilder builder, string name, ReferenceExpression value)
where T : IResourceWithEnvironment
{
@@ -106,6 +137,24 @@ public static IResourceBuilder WithEnvironment(this IResourceBuilder bu
});
}
+ // Keep these ATS-only aliases for backward compatibility with existing polyglot app hosts.
+ // Remove them once callers have migrated to the unified withEnvironment(...) export.
+ ///
+ /// Obsolete ATS alias for .
+ ///
+ /// The resource type.
+ /// The resource builder.
+ /// The name of the environment variable.
+ /// The reference expression value.
+ /// The .
+ [Obsolete("ATS compatibility shim. Use withEnvironment instead. Remove after existing polyglot app hosts migrate.")]
+ [AspireExport("withEnvironmentExpression", Description = "Sets an environment variable from a reference expression")]
+ internal static IResourceBuilder WithEnvironmentExpressionShim(this IResourceBuilder builder, string name, ReferenceExpression value)
+ where T : IResourceWithEnvironment
+ {
+ return builder.WithEnvironment(name, value);
+ }
+
///
/// Adds an environment variable to the resource.
///
@@ -164,7 +213,7 @@ public static IResourceBuilder WithEnvironment(this IResourceBuilder bu
/// The name of the environment variable.
/// The endpoint from which to extract the url.
/// The .
- [AspireExport("withEnvironmentEndpoint", Description = "Sets an environment variable from an endpoint reference")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal withEnvironment dispatcher export.")]
public static IResourceBuilder WithEnvironment(this IResourceBuilder builder, string name, EndpointReference endpointReference)
where T : IResourceWithEnvironment
{
@@ -180,6 +229,22 @@ public static IResourceBuilder WithEnvironment(this IResourceBuilder bu
});
}
+ ///
+ /// Obsolete ATS alias for .
+ ///
+ /// The resource type.
+ /// The resource builder.
+ /// The name of the environment variable.
+ /// The endpoint reference value.
+ /// The .
+ [Obsolete("ATS compatibility shim. Use withEnvironment instead. Remove after existing polyglot app hosts migrate.")]
+ [AspireExport("withEnvironmentEndpoint", Description = "Sets an environment variable from an endpoint reference")]
+ internal static IResourceBuilder WithEnvironmentEndpointShim(this IResourceBuilder builder, string name, EndpointReference endpointReference)
+ where T : IResourceWithEnvironment
+ {
+ return builder.WithEnvironment(name, endpointReference);
+ }
+
///
/// Adds an environment variable to the resource with the URL from the .
///
@@ -231,7 +296,7 @@ public static IResourceBuilder WithEnvironment(this IResourceBuilder bu
/// Name of environment variable.
/// Resource builder for the parameter resource.
/// The .
- [AspireExport("withEnvironmentParameter", Description = "Sets an environment variable from a parameter resource")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal withEnvironment dispatcher export.")]
public static IResourceBuilder WithEnvironment(this IResourceBuilder builder, string name, IResourceBuilder parameter) where T : IResourceWithEnvironment
{
ArgumentNullException.ThrowIfNull(builder);
@@ -246,6 +311,22 @@ public static IResourceBuilder WithEnvironment(this IResourceBuilder bu
});
}
+ ///
+ /// Obsolete ATS alias for .
+ ///
+ /// The resource type.
+ /// The resource builder.
+ /// The name of the environment variable.
+ /// The parameter resource builder.
+ /// The .
+ [Obsolete("ATS compatibility shim. Use withEnvironment instead. Remove after existing polyglot app hosts migrate.")]
+ [AspireExport("withEnvironmentParameter", Description = "Sets an environment variable from a parameter resource")]
+ internal static IResourceBuilder WithEnvironmentParameterShim(this IResourceBuilder builder, string name, IResourceBuilder parameter)
+ where T : IResourceWithEnvironment
+ {
+ return builder.WithEnvironment(name, parameter);
+ }
+
///
/// Adds an environment variable to the resource with the connection string from the referenced resource.
///
@@ -254,7 +335,7 @@ public static IResourceBuilder WithEnvironment(this IResourceBuilder bu
/// The name of the environment variable under which the connection string will be set.
/// The resource builder of the referenced service from which to pull the connection string.
/// The .
- [AspireExport("withEnvironmentConnectionString", Description = "Sets an environment variable from a connection string resource")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal withEnvironment dispatcher export.")]
public static IResourceBuilder WithEnvironment(
this IResourceBuilder builder,
string envVarName,
@@ -273,6 +354,65 @@ public static IResourceBuilder WithEnvironment(
});
}
+ ///
+ /// Obsolete ATS alias for .
+ ///
+ /// The destination resource type.
+ /// The destination resource builder.
+ /// The name of the environment variable.
+ /// The referenced connection string resource builder.
+ /// The .
+ [Obsolete("ATS compatibility shim. Use withEnvironment instead. Remove after existing polyglot app hosts migrate.")]
+ [AspireExport("withEnvironmentConnectionString", Description = "Sets an environment variable from a connection string resource")]
+ internal static IResourceBuilder WithEnvironmentConnectionStringShim(
+ this IResourceBuilder builder,
+ string envVarName,
+ IResourceBuilder resource)
+ where T : IResourceWithEnvironment
+ {
+ return builder.WithEnvironment(envVarName, resource);
+ }
+
+ ///
+ /// Adds an environment variable to the resource with a value that provides both a runtime value and a manifest expression.
+ ///
+ /// The resource type.
+ /// The resource builder.
+ /// The name of the environment variable.
+ /// The value that provides both runtime values and manifest expressions.
+ /// The .
+ /// This method is not available in polyglot app hosts. Use the unified withEnvironment overload instead.
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal withEnvironment dispatcher export.")]
+ public static IResourceBuilder WithEnvironment(
+ this IResourceBuilder builder,
+ string name,
+ IExpressionValue value)
+ where T : IResourceWithEnvironment
+ {
+ return builder.WithEnvironmentExpressionValue(name, value);
+ }
+
+ private static IResourceBuilder WithEnvironmentExpressionValue(
+ this IResourceBuilder builder,
+ string name,
+ IExpressionValue value)
+ where T : IResourceWithEnvironment
+ {
+ ArgumentNullException.ThrowIfNull(builder);
+ ArgumentNullException.ThrowIfNull(name);
+ ArgumentNullException.ThrowIfNull(value);
+
+ if (value is IValueWithReferences valueWithReferences)
+ {
+ WalkAndLinkResourceReferences(builder, valueWithReferences.References);
+ }
+
+ return builder.WithEnvironment(context =>
+ {
+ context.EnvironmentVariables[name] = value;
+ });
+ }
+
///
/// Adds an environment variable to the resource with a value that implements both and .
///
diff --git a/src/Aspire.Hosting/api/Aspire.Hosting.Capabilities.txt b/src/Aspire.Hosting/api/Aspire.Hosting.Capabilities.txt
index b29e6b7e0d9..1708174226c 100644
--- a/src/Aspire.Hosting/api/Aspire.Hosting.Capabilities.txt
+++ b/src/Aspire.Hosting/api/Aspire.Hosting.Capabilities.txt
@@ -1,24 +1,24 @@
# Aspire Type System Capabilities
# Generated by: aspire sdk dump --format ci
-# Diagnostics
-warning: Method 'addConnectionString' has collisions (Aspire.Hosting/addConnectionString, Aspire.Hosting/addConnectionStringExpression). 'Aspire.Hosting/addConnectionStringExpression' was removed. Use [AspireExport(MethodName = "uniqueName")] to set an explicit name. [Aspire.Hosting/addConnectionStringExpression]
-warning: Method 'addContainerRegistry' has collisions (Aspire.Hosting/addContainerRegistry, Aspire.Hosting/addContainerRegistryFromString). 'Aspire.Hosting/addContainerRegistryFromString' was removed. Use [AspireExport(MethodName = "uniqueName")] to set an explicit name. [Aspire.Hosting/addContainerRegistryFromString]
-warning: Method 'addExternalService' has collisions (Aspire.Hosting/addExternalService, Aspire.Hosting/addExternalServiceParameter, Aspire.Hosting/addExternalServiceUri). 'Aspire.Hosting/addExternalServiceParameter' was removed. Use [AspireExport(MethodName = "uniqueName")] to set an explicit name. [Aspire.Hosting/addExternalServiceParameter]
-warning: Method 'addExternalService' has collisions (Aspire.Hosting/addExternalService, Aspire.Hosting/addExternalServiceParameter, Aspire.Hosting/addExternalServiceUri). 'Aspire.Hosting/addExternalServiceUri' was removed. Use [AspireExport(MethodName = "uniqueName")] to set an explicit name. [Aspire.Hosting/addExternalServiceUri]
-warning: Method 'addParameter' has collisions (Aspire.Hosting/addParameter, Aspire.Hosting/addParameterWithValue). 'Aspire.Hosting/addParameterWithValue' was removed. Use [AspireExport(MethodName = "uniqueName")] to set an explicit name. [Aspire.Hosting/addParameterWithValue]
-
# Handle Types
+Aspire.Hosting/Aspire.Hosting.ApplicationModel.AfterResourcesCreatedEvent [ExposeProperties]
+Aspire.Hosting/Aspire.Hosting.ApplicationModel.BeforeResourceStartedEvent [ExposeProperties]
+Aspire.Hosting/Aspire.Hosting.ApplicationModel.BeforeStartEvent [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext [ExposeProperties]
+Aspire.Hosting/Aspire.Hosting.ApplicationModel.ConnectionStringAvailableEvent [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerRegistryResource
Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerResource
Aspire.Hosting/Aspire.Hosting.ApplicationModel.CSharpAppResource
+Aspire.Hosting/Aspire.Hosting.ApplicationModel.DistributedApplicationModel
Aspire.Hosting/Aspire.Hosting.ApplicationModel.DotnetToolResource
Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference
Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReferenceExpression [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecutableResource
Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext [ExposeProperties]
+Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue [interface]
+Aspire.Hosting/Aspire.Hosting.ApplicationModel.InitializeResourceEvent [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource [interface]
Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithArgs [interface]
Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithConnectionString [interface]
@@ -30,8 +30,11 @@ Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource
Aspire.Hosting/Aspire.Hosting.ApplicationModel.ProjectResource
Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression
Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpressionBuilder [ExposeProperties]
+Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceEndpointsAllocatedEvent [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceLoggerService
Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceNotificationService
+Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceReadyEvent [ExposeProperties]
+Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceStoppedEvent [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceUrlsCallbackContext [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.ApplicationModel.UpdateCommandStateContext [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.ConnectionStringResource
@@ -46,12 +49,21 @@ Aspire.Hosting/Aspire.Hosting.Eventing.IDistributedApplicationResourceEvent [int
Aspire.Hosting/Aspire.Hosting.ExternalServiceResource
Aspire.Hosting/Aspire.Hosting.IDistributedApplicationBuilder [interface]
Aspire.Hosting/Aspire.Hosting.IResourceWithContainerFiles [interface]
+Aspire.Hosting/Aspire.Hosting.IUserSecretsManager [interface, ExposeProperties, ExposeMethods]
+Aspire.Hosting/Aspire.Hosting.Pipelines.IReportingStep [interface]
+Aspire.Hosting/Aspire.Hosting.Pipelines.IReportingTask [interface]
Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext [ExposeProperties]
+Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep [ExposeProperties]
Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext [ExposeProperties]
+Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepFactoryContext [ExposeProperties]
+Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineSummary [ExposeMethods]
Aspire.Hosting/Aspire.Hosting.ProjectResourceOptions [ExposeProperties]
Microsoft.Extensions.Configuration.Abstractions/Microsoft.Extensions.Configuration.IConfiguration [interface]
-Microsoft.Extensions.Hosting.Abstractions/Microsoft.Extensions.Hosting.IHostEnvironment [interface]
+Microsoft.Extensions.Configuration.Abstractions/Microsoft.Extensions.Configuration.IConfigurationSection [interface, ExposeProperties]
+Microsoft.Extensions.Hosting.Abstractions/Microsoft.Extensions.Hosting.IHostEnvironment [interface, ExposeProperties]
+Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger [interface]
+Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILoggerFactory [interface]
System.ComponentModel/System.IServiceProvider [interface]
System.Private.CoreLib/System.Threading.CancellationToken
@@ -104,16 +116,28 @@ enum:Aspire.Hosting.OtlpProtocol = Grpc | HttpProtobuf | HttpJson
enum:System.Net.Sockets.ProtocolType = IP | IPv6HopByHopOptions | Unspecified | Icmp | Igmp | Ggp | IPv4 | Tcp | Pup | Udp | Idp | IPv6 | IPv6RoutingHeader | IPv6FragmentHeader | IPSecEncapsulatingSecurityPayload | IPSecAuthenticationHeader | IcmpV6 | IPv6NoNextHeader | IPv6DestinationOptions | ND | Raw | Ipx | Spx | SpxII | Unknown
# Capabilities
+Aspire.Hosting.ApplicationModel/AfterResourcesCreatedEvent.model(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.AfterResourcesCreatedEvent) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.DistributedApplicationModel
+Aspire.Hosting.ApplicationModel/AfterResourcesCreatedEvent.services(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.AfterResourcesCreatedEvent) -> System.ComponentModel/System.IServiceProvider
Aspire.Hosting.ApplicationModel/appendFormatted(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpressionBuilder, value: string, format?: string) -> void
Aspire.Hosting.ApplicationModel/appendLiteral(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpressionBuilder, value: string) -> void
Aspire.Hosting.ApplicationModel/appendValueProvider(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpressionBuilder, valueProvider: any, format?: string) -> void
+Aspire.Hosting.ApplicationModel/BeforeResourceStartedEvent.resource(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.BeforeResourceStartedEvent) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting.ApplicationModel/BeforeResourceStartedEvent.services(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.BeforeResourceStartedEvent) -> System.ComponentModel/System.IServiceProvider
+Aspire.Hosting.ApplicationModel/BeforeStartEvent.model(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.BeforeStartEvent) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.DistributedApplicationModel
+Aspire.Hosting.ApplicationModel/BeforeStartEvent.services(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.BeforeStartEvent) -> System.ComponentModel/System.IServiceProvider
Aspire.Hosting.ApplicationModel/build(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpressionBuilder) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression
Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.args(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext) -> Aspire.Hosting/List
Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.cancellationToken(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext) -> cancellationToken
Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.executionContext(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext) -> Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext
+Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.logger(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext) -> Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger
+Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.resource(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.setExecutionContext(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext, value: Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext
+Aspire.Hosting.ApplicationModel/CommandLineArgsCallbackContext.setLogger(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext, value: Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.CommandLineArgsCallbackContext
+Aspire.Hosting.ApplicationModel/ConnectionStringAvailableEvent.resource(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ConnectionStringAvailableEvent) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting.ApplicationModel/ConnectionStringAvailableEvent.services(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ConnectionStringAvailableEvent) -> System.ComponentModel/System.IServiceProvider
Aspire.Hosting.ApplicationModel/EndpointReference.endpointName(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> string
Aspire.Hosting.ApplicationModel/EndpointReference.errorMessage(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> string
+Aspire.Hosting.ApplicationModel/EndpointReference.excludeReferenceEndpoint(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> boolean
Aspire.Hosting.ApplicationModel/EndpointReference.exists(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> boolean
Aspire.Hosting.ApplicationModel/EndpointReference.getTlsValue(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference, enabledValue: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression, disabledValue: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression
Aspire.Hosting.ApplicationModel/EndpointReference.host(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> string
@@ -121,6 +145,7 @@ Aspire.Hosting.ApplicationModel/EndpointReference.isAllocated(context: Aspire.Ho
Aspire.Hosting.ApplicationModel/EndpointReference.isHttp(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> boolean
Aspire.Hosting.ApplicationModel/EndpointReference.isHttps(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> boolean
Aspire.Hosting.ApplicationModel/EndpointReference.port(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> number
+Aspire.Hosting.ApplicationModel/EndpointReference.resource(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEndpoints
Aspire.Hosting.ApplicationModel/EndpointReference.scheme(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> string
Aspire.Hosting.ApplicationModel/EndpointReference.setErrorMessage(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference, value: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference
Aspire.Hosting.ApplicationModel/EndpointReference.targetPort(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> number
@@ -132,45 +157,99 @@ Aspire.Hosting.ApplicationModel/EndpointReferenceExpression.valueExpression(cont
Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.cancellationToken(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext) -> cancellationToken
Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.environmentVariables(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext) -> Aspire.Hosting/Dict
Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.executionContext(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext) -> Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext
+Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.logger(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext) -> Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger
+Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.resource(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting.ApplicationModel/EnvironmentCallbackContext.setLogger(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext, value: Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext
Aspire.Hosting.ApplicationModel/ExecuteCommandContext.cancellationToken(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext) -> cancellationToken
Aspire.Hosting.ApplicationModel/ExecuteCommandContext.resourceName(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext) -> string
+Aspire.Hosting.ApplicationModel/ExecuteCommandContext.serviceProvider(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext) -> System.ComponentModel/System.IServiceProvider
Aspire.Hosting.ApplicationModel/ExecuteCommandContext.setCancellationToken(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext, value: cancellationToken) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext
Aspire.Hosting.ApplicationModel/ExecuteCommandContext.setResourceName(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext, value: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext
+Aspire.Hosting.ApplicationModel/ExecuteCommandContext.setServiceProvider(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext, value: System.ComponentModel/System.IServiceProvider) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecuteCommandContext
+Aspire.Hosting.ApplicationModel/getValue(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression, cancellationToken: cancellationToken) -> string
Aspire.Hosting.ApplicationModel/getValueAsync(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference, cancellationToken?: cancellationToken) -> string
+Aspire.Hosting.ApplicationModel/InitializeResourceEvent.eventing(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.InitializeResourceEvent) -> Aspire.Hosting/Aspire.Hosting.Eventing.IDistributedApplicationEventing
+Aspire.Hosting.ApplicationModel/InitializeResourceEvent.logger(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.InitializeResourceEvent) -> Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger
+Aspire.Hosting.ApplicationModel/InitializeResourceEvent.notifications(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.InitializeResourceEvent) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceNotificationService
+Aspire.Hosting.ApplicationModel/InitializeResourceEvent.resource(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.InitializeResourceEvent) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting.ApplicationModel/InitializeResourceEvent.services(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.InitializeResourceEvent) -> System.ComponentModel/System.IServiceProvider
Aspire.Hosting.ApplicationModel/ReferenceExpressionBuilder.isEmpty(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpressionBuilder) -> boolean
+Aspire.Hosting.ApplicationModel/ResourceEndpointsAllocatedEvent.resource(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceEndpointsAllocatedEvent) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting.ApplicationModel/ResourceEndpointsAllocatedEvent.services(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceEndpointsAllocatedEvent) -> System.ComponentModel/System.IServiceProvider
+Aspire.Hosting.ApplicationModel/ResourceReadyEvent.resource(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceReadyEvent) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting.ApplicationModel/ResourceReadyEvent.services(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceReadyEvent) -> System.ComponentModel/System.IServiceProvider
+Aspire.Hosting.ApplicationModel/ResourceStoppedEvent.resource(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceStoppedEvent) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting.ApplicationModel/ResourceStoppedEvent.services(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceStoppedEvent) -> System.ComponentModel/System.IServiceProvider
Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.cancellationToken(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceUrlsCallbackContext) -> cancellationToken
Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.executionContext(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceUrlsCallbackContext) -> Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext
+Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.logger(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceUrlsCallbackContext) -> Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger
+Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.resource(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceUrlsCallbackContext) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.setLogger(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceUrlsCallbackContext, value: Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceUrlsCallbackContext
Aspire.Hosting.ApplicationModel/ResourceUrlsCallbackContext.urls(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceUrlsCallbackContext) -> Aspire.Hosting/List
+Aspire.Hosting.ApplicationModel/UpdateCommandStateContext.serviceProvider(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.UpdateCommandStateContext) -> System.ComponentModel/System.IServiceProvider
+Aspire.Hosting.ApplicationModel/UpdateCommandStateContext.setServiceProvider(context: Aspire.Hosting/Aspire.Hosting.ApplicationModel.UpdateCommandStateContext, value: System.ComponentModel/System.IServiceProvider) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.UpdateCommandStateContext
Aspire.Hosting.Eventing/IDistributedApplicationEventing.unsubscribe(context: Aspire.Hosting/Aspire.Hosting.Eventing.IDistributedApplicationEventing, subscription: Aspire.Hosting/Aspire.Hosting.Eventing.DistributedApplicationEventSubscription) -> void
Aspire.Hosting.Pipelines/dependsOn(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep, stepName: string) -> void
Aspire.Hosting.Pipelines/getStepsByTag(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext, tag: string) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep[]
+Aspire.Hosting.Pipelines/PipelineConfigurationContext.model(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.DistributedApplicationModel
+Aspire.Hosting.Pipelines/PipelineConfigurationContext.services(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext) -> System.ComponentModel/System.IServiceProvider
+Aspire.Hosting.Pipelines/PipelineConfigurationContext.setModel(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext, value: Aspire.Hosting/Aspire.Hosting.ApplicationModel.DistributedApplicationModel) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext
+Aspire.Hosting.Pipelines/PipelineConfigurationContext.setServices(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext, value: System.ComponentModel/System.IServiceProvider) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext
Aspire.Hosting.Pipelines/PipelineConfigurationContext.setSteps(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext, value: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep[]) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext
Aspire.Hosting.Pipelines/PipelineConfigurationContext.steps(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineConfigurationContext) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep[]
+Aspire.Hosting.Pipelines/PipelineContext.cancellationToken(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext) -> cancellationToken
+Aspire.Hosting.Pipelines/PipelineContext.executionContext(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext) -> Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext
+Aspire.Hosting.Pipelines/PipelineContext.logger(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext) -> Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger
+Aspire.Hosting.Pipelines/PipelineContext.model(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.DistributedApplicationModel
+Aspire.Hosting.Pipelines/PipelineContext.services(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext) -> System.ComponentModel/System.IServiceProvider
+Aspire.Hosting.Pipelines/PipelineContext.setCancellationToken(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext, value: cancellationToken) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext
+Aspire.Hosting.Pipelines/PipelineContext.summary(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineSummary
Aspire.Hosting.Pipelines/PipelineStep.dependsOnSteps(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep) -> Aspire.Hosting/List
Aspire.Hosting.Pipelines/PipelineStep.description(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep) -> string
Aspire.Hosting.Pipelines/PipelineStep.name(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep) -> string
Aspire.Hosting.Pipelines/PipelineStep.requiredBySteps(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep) -> Aspire.Hosting/List
+Aspire.Hosting.Pipelines/PipelineStep.resource(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
Aspire.Hosting.Pipelines/PipelineStep.setDependsOnSteps(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep, value: Aspire.Hosting/List) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep
Aspire.Hosting.Pipelines/PipelineStep.setDescription(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep, value: string) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep
Aspire.Hosting.Pipelines/PipelineStep.setName(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep, value: string) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep
Aspire.Hosting.Pipelines/PipelineStep.setRequiredBySteps(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep, value: Aspire.Hosting/List) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep
+Aspire.Hosting.Pipelines/PipelineStep.setResource(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep, value: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep
Aspire.Hosting.Pipelines/PipelineStep.setTags(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep, value: Aspire.Hosting/List) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep
Aspire.Hosting.Pipelines/PipelineStep.tags(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep) -> Aspire.Hosting/List
Aspire.Hosting.Pipelines/PipelineStepContext.cancellationToken(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext) -> cancellationToken
Aspire.Hosting.Pipelines/PipelineStepContext.executionContext(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext) -> Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext
+Aspire.Hosting.Pipelines/PipelineStepContext.logger(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext) -> Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger
+Aspire.Hosting.Pipelines/PipelineStepContext.model(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.DistributedApplicationModel
+Aspire.Hosting.Pipelines/PipelineStepContext.pipelineContext(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext
+Aspire.Hosting.Pipelines/PipelineStepContext.reportingStep(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext) -> Aspire.Hosting/Aspire.Hosting.Pipelines.IReportingStep
+Aspire.Hosting.Pipelines/PipelineStepContext.services(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext) -> System.ComponentModel/System.IServiceProvider
+Aspire.Hosting.Pipelines/PipelineStepContext.setPipelineContext(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext, value: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext
+Aspire.Hosting.Pipelines/PipelineStepContext.setReportingStep(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext, value: Aspire.Hosting/Aspire.Hosting.Pipelines.IReportingStep) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext
+Aspire.Hosting.Pipelines/PipelineStepContext.summary(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepContext) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineSummary
+Aspire.Hosting.Pipelines/PipelineStepFactoryContext.pipelineContext(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepFactoryContext) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext
+Aspire.Hosting.Pipelines/PipelineStepFactoryContext.resource(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepFactoryContext) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting.Pipelines/PipelineStepFactoryContext.setPipelineContext(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepFactoryContext, value: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineContext) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepFactoryContext
+Aspire.Hosting.Pipelines/PipelineStepFactoryContext.setResource(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepFactoryContext, value: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource) -> Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStepFactoryContext
+Aspire.Hosting.Pipelines/PipelineSummary.add(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineSummary, key: string, value: string) -> void
Aspire.Hosting.Pipelines/requiredBy(context: Aspire.Hosting/Aspire.Hosting.Pipelines.PipelineStep, stepName: string) -> void
Aspire.Hosting/addConnectionString(name: string, environmentVariableName?: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithConnectionString
Aspire.Hosting/addConnectionStringBuilder(name: string, connectionStringBuilder: callback) -> Aspire.Hosting/Aspire.Hosting.ConnectionStringResource
+Aspire.Hosting/addConnectionStringExpression(name: string, connectionStringExpression: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression) -> Aspire.Hosting/Aspire.Hosting.ConnectionStringResource
Aspire.Hosting/addContainer(name: string, image: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerResource
Aspire.Hosting/addContainerRegistry(name: string, endpoint: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource, repository?: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerRegistryResource
+Aspire.Hosting/addContainerRegistryFromString(name: string, endpoint: string, repository?: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerRegistryResource
Aspire.Hosting/addCSharpApp(name: string, path: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ProjectResource
Aspire.Hosting/addCSharpAppWithOptions(name: string, path: string, configure: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.CSharpAppResource
Aspire.Hosting/addDockerfile(name: string, contextPath: string, dockerfilePath?: string, stage?: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerResource
Aspire.Hosting/addDotnetTool(name: string, packageId: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.DotnetToolResource
Aspire.Hosting/addExecutable(name: string, command: string, workingDirectory: string, args: string[]) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecutableResource
Aspire.Hosting/addExternalService(name: string, url: string) -> Aspire.Hosting/Aspire.Hosting.ExternalServiceResource
+Aspire.Hosting/addExternalServiceParameter(name: string, urlParameter: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource) -> Aspire.Hosting/Aspire.Hosting.ExternalServiceResource
+Aspire.Hosting/addExternalServiceUri(name: string, uri: uri) -> Aspire.Hosting/Aspire.Hosting.ExternalServiceResource
+Aspire.Hosting/addMarkdown(key: string, markdownString: string) -> void
Aspire.Hosting/addParameter(name: string, secret?: boolean) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource
Aspire.Hosting/addParameterFromConfiguration(name: string, configurationKey: string, secret?: boolean) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource
+Aspire.Hosting/addParameterWithValue(name: string, value: string, publishValueAsDefault?: boolean, secret?: boolean) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource
Aspire.Hosting/addProject(name: string, projectPath: string, launchProfileName: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ProjectResource
Aspire.Hosting/addProjectWithOptions(name: string, projectPath: string, configure: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ProjectResource
Aspire.Hosting/asHttp2Service() -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEndpoints
@@ -178,8 +257,15 @@ Aspire.Hosting/build(context: Aspire.Hosting/Aspire.Hosting.IDistributedApplicat
Aspire.Hosting/clearContainerFilesSources() -> Aspire.Hosting/Aspire.Hosting.IResourceWithContainerFiles
Aspire.Hosting/completeLog(resource: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource) -> void
Aspire.Hosting/completeLogByName(resourceName: string) -> void
+Aspire.Hosting/completeStep(completionText: string, completionState?: string, cancellationToken?: cancellationToken) -> void
+Aspire.Hosting/completeStepMarkdown(markdownString: string, completionState?: string, cancellationToken?: cancellationToken) -> void
+Aspire.Hosting/completeTask(completionMessage?: string, completionState?: string, cancellationToken?: cancellationToken) -> void
+Aspire.Hosting/completeTaskMarkdown(markdownString: string, completionState?: string, cancellationToken?: cancellationToken) -> void
Aspire.Hosting/createBuilder() -> Aspire.Hosting/Aspire.Hosting.IDistributedApplicationBuilder
Aspire.Hosting/createBuilderWithOptions() -> Aspire.Hosting/Aspire.Hosting.IDistributedApplicationBuilder
+Aspire.Hosting/createLogger(categoryName: string) -> Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILogger
+Aspire.Hosting/createMarkdownTask(markdownString: string, cancellationToken?: cancellationToken) -> Aspire.Hosting/Aspire.Hosting.Pipelines.IReportingTask
+Aspire.Hosting/createTask(statusText: string, cancellationToken?: cancellationToken) -> Aspire.Hosting/Aspire.Hosting.Pipelines.IReportingTask
Aspire.Hosting/Dict.clear() -> void
Aspire.Hosting/Dict.count() -> number
Aspire.Hosting/Dict.get(key: string) -> any
@@ -194,20 +280,39 @@ Aspire.Hosting/DistributedApplicationExecutionContext.isPublishMode(context: Asp
Aspire.Hosting/DistributedApplicationExecutionContext.isRunMode(context: Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext) -> boolean
Aspire.Hosting/DistributedApplicationExecutionContext.operation(context: Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext) -> enum:Aspire.Hosting.DistributedApplicationOperation
Aspire.Hosting/DistributedApplicationExecutionContext.publisherName(context: Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext) -> string
+Aspire.Hosting/DistributedApplicationExecutionContext.serviceProvider(context: Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext) -> System.ComponentModel/System.IServiceProvider
Aspire.Hosting/DistributedApplicationExecutionContext.setPublisherName(context: Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext, value: string) -> Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext
Aspire.Hosting/excludeFromManifest() -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
Aspire.Hosting/excludeFromMcp() -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting/exists(key: string) -> boolean
+Aspire.Hosting/findResourceByName(name: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting/getChildren() -> Microsoft.Extensions.Configuration.Abstractions/Microsoft.Extensions.Configuration.IConfigurationSection[]
+Aspire.Hosting/getConfiguration() -> Microsoft.Extensions.Configuration.Abstractions/Microsoft.Extensions.Configuration.IConfiguration
Aspire.Hosting/getConfigValue(key: string) -> string
Aspire.Hosting/getConnectionString(name: string) -> string
+Aspire.Hosting/getDistributedApplicationModel() -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.DistributedApplicationModel
Aspire.Hosting/getEndpoint(name: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference
-Aspire.Hosting/getEnvironmentName() -> string
-Aspire.Hosting/getRequiredService(typeId: string) -> any
+Aspire.Hosting/getEventing() -> Aspire.Hosting/Aspire.Hosting.Eventing.IDistributedApplicationEventing
+Aspire.Hosting/getLoggerFactory() -> Microsoft.Extensions.Logging.Abstractions/Microsoft.Extensions.Logging.ILoggerFactory
+Aspire.Hosting/getOrSetSecret(resourceBuilder: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource, name: string, value: string) -> void
+Aspire.Hosting/getResourceLoggerService() -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceLoggerService
Aspire.Hosting/getResourceName() -> string
-Aspire.Hosting/getService(typeId: string) -> any
+Aspire.Hosting/getResourceNotificationService() -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ResourceNotificationService
+Aspire.Hosting/getResources() -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource[]
+Aspire.Hosting/getSection(key: string) -> Microsoft.Extensions.Configuration.Abstractions/Microsoft.Extensions.Configuration.IConfigurationSection
+Aspire.Hosting/getUserSecretsManager() -> Aspire.Hosting/Aspire.Hosting.IUserSecretsManager
Aspire.Hosting/IDistributedApplicationBuilder.appHostDirectory(context: Aspire.Hosting/Aspire.Hosting.IDistributedApplicationBuilder) -> string
+Aspire.Hosting/IDistributedApplicationBuilder.environment(context: Aspire.Hosting/Aspire.Hosting.IDistributedApplicationBuilder) -> Microsoft.Extensions.Hosting.Abstractions/Microsoft.Extensions.Hosting.IHostEnvironment
Aspire.Hosting/IDistributedApplicationBuilder.eventing(context: Aspire.Hosting/Aspire.Hosting.IDistributedApplicationBuilder) -> Aspire.Hosting/Aspire.Hosting.Eventing.IDistributedApplicationEventing
Aspire.Hosting/IDistributedApplicationBuilder.executionContext(context: Aspire.Hosting/Aspire.Hosting.IDistributedApplicationBuilder) -> Aspire.Hosting/Aspire.Hosting.DistributedApplicationExecutionContext
+Aspire.Hosting/IDistributedApplicationBuilder.userSecretsManager(context: Aspire.Hosting/Aspire.Hosting.IDistributedApplicationBuilder) -> Aspire.Hosting/Aspire.Hosting.IUserSecretsManager
Aspire.Hosting/isDevelopment() -> boolean
+Aspire.Hosting/isEnvironment(environmentName: string) -> boolean
+Aspire.Hosting/isProduction() -> boolean
+Aspire.Hosting/isStaging() -> boolean
+Aspire.Hosting/IUserSecretsManager.filePath(context: Aspire.Hosting/Aspire.Hosting.IUserSecretsManager) -> string
+Aspire.Hosting/IUserSecretsManager.isAvailable(context: Aspire.Hosting/Aspire.Hosting.IUserSecretsManager) -> boolean
+Aspire.Hosting/IUserSecretsManager.trySetSecret(context: Aspire.Hosting/Aspire.Hosting.IUserSecretsManager, name: string, value: string) -> boolean
Aspire.Hosting/List.add(item: any) -> void
Aspire.Hosting/List.clear() -> void
Aspire.Hosting/List.get(index: number) -> any
@@ -221,7 +326,15 @@ Aspire.Hosting/log(level: string, message: string) -> void
Aspire.Hosting/logDebug(message: string) -> void
Aspire.Hosting/logError(message: string) -> void
Aspire.Hosting/logInformation(message: string) -> void
+Aspire.Hosting/logStep(level: string, message: string) -> void
+Aspire.Hosting/logStepMarkdown(level: string, markdownString: string) -> void
Aspire.Hosting/logWarning(message: string) -> void
+Aspire.Hosting/onBeforeResourceStarted(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting/onConnectionStringAvailable(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithConnectionString
+Aspire.Hosting/onInitializeResource(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting/onResourceEndpointsAllocated(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEndpoints
+Aspire.Hosting/onResourceReady(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
+Aspire.Hosting/onResourceStopped(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
Aspire.Hosting/ProjectResourceOptions.excludeKestrelEndpoints(context: Aspire.Hosting/Aspire.Hosting.ProjectResourceOptions) -> boolean
Aspire.Hosting/ProjectResourceOptions.excludeLaunchProfile(context: Aspire.Hosting/Aspire.Hosting.ProjectResourceOptions) -> boolean
Aspire.Hosting/ProjectResourceOptions.launchProfileName(context: Aspire.Hosting/Aspire.Hosting.ProjectResourceOptions) -> string
@@ -236,7 +349,12 @@ Aspire.Hosting/publishProjectAsDockerFileWithConfigure(configure?: callback) ->
Aspire.Hosting/publishResourceUpdate(resource: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource, state?: string, stateStyle?: string) -> void
Aspire.Hosting/publishWithContainerFiles(source: Aspire.Hosting/Aspire.Hosting.IResourceWithContainerFiles, destinationPath: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IContainerFilesDestinationResource
Aspire.Hosting/run(context: Aspire.Hosting/Aspire.Hosting.DistributedApplication, cancellationToken?: cancellationToken) -> void
+Aspire.Hosting/saveStateJson(json: string, cancellationToken?: cancellationToken) -> void
+Aspire.Hosting/subscribeAfterResourcesCreated(callback: callback) -> Aspire.Hosting/Aspire.Hosting.Eventing.DistributedApplicationEventSubscription
+Aspire.Hosting/subscribeBeforeStart(callback: callback) -> Aspire.Hosting/Aspire.Hosting.Eventing.DistributedApplicationEventSubscription
Aspire.Hosting/tryGetResourceState(resourceName: string) -> Aspire.Hosting/Aspire.Hosting.Ats.ResourceEventDto
+Aspire.Hosting/updateTask(statusText: string, cancellationToken?: cancellationToken) -> void
+Aspire.Hosting/updateTaskMarkdown(markdownString: string, cancellationToken?: cancellationToken) -> void
Aspire.Hosting/waitFor(dependency: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithWaitSupport
Aspire.Hosting/waitForCompletion(dependency: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource, exitCode?: number) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithWaitSupport
Aspire.Hosting/waitForDependencies(resource: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource) -> void
@@ -248,7 +366,6 @@ Aspire.Hosting/waitForStartWithBehavior(dependency: Aspire.Hosting/Aspire.Hostin
Aspire.Hosting/waitForWithBehavior(dependency: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource, waitBehavior: enum:Aspire.Hosting.ApplicationModel.WaitBehavior) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithWaitSupport
Aspire.Hosting/withArgs(args: string[]) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithArgs
Aspire.Hosting/withArgsCallback(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithArgs
-Aspire.Hosting/withArgsCallbackAsync(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithArgs
Aspire.Hosting/withBindMount(source: string, target: string, isReadOnly?: boolean) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerResource
Aspire.Hosting/withBuildArg(name: string, value: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerResource
Aspire.Hosting/withBuildSecret(name: string, value: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerResource
@@ -269,9 +386,8 @@ Aspire.Hosting/withDockerfileBaseImage(buildImage?: string, runtimeImage?: strin
Aspire.Hosting/withEndpoint(port?: number, targetPort?: number, scheme?: string, name?: string, env?: string, isProxied?: boolean, isExternal?: boolean, protocol?: enum:System.Net.Sockets.ProtocolType) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEndpoints
Aspire.Hosting/withEndpointProxySupport(proxyEnabled: boolean) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerResource
Aspire.Hosting/withEntrypoint(entrypoint: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerResource
-Aspire.Hosting/withEnvironment(name: string, value: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
+Aspire.Hosting/withEnvironment(name: string, value: string|Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression|Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference|Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource|Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithConnectionString|Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
Aspire.Hosting/withEnvironmentCallback(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
-Aspire.Hosting/withEnvironmentCallbackAsync(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
Aspire.Hosting/withEnvironmentConnectionString(envVarName: string, resource: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithConnectionString) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
Aspire.Hosting/withEnvironmentEndpoint(name: string, endpointReference: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
Aspire.Hosting/withEnvironmentExpression(name: string, value: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpression) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
@@ -299,7 +415,6 @@ Aspire.Hosting/withOtlpExporterProtocol(protocol: enum:Aspire.Hosting.OtlpProtoc
Aspire.Hosting/withoutHttpsCertificate() -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
Aspire.Hosting/withParentRelationship(parent: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
Aspire.Hosting/withPipelineConfiguration(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
-Aspire.Hosting/withPipelineConfigurationAsync(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
Aspire.Hosting/withPipelineStepFactory(stepName: string, callback: callback, dependsOn?: string[], requiredBy?: string[], tags?: string[], description?: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
Aspire.Hosting/withReference(source: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource, connectionName?: string, optional?: boolean, name?: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
Aspire.Hosting/withReferenceEndpoint(endpointReference: Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReference) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
@@ -320,6 +435,5 @@ Aspire.Hosting/withUrlExpression(url: Aspire.Hosting/Aspire.Hosting.ApplicationM
Aspire.Hosting/withUrlForEndpoint(endpointName: string, callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
Aspire.Hosting/withUrlForEndpointFactory(endpointName: string, callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEndpoints
Aspire.Hosting/withUrlsCallback(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
-Aspire.Hosting/withUrlsCallbackAsync(callback: callback) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
Aspire.Hosting/withVolume(target: string, name?: string, isReadOnly?: boolean) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerResource
Aspire.Hosting/withWorkingDirectory(workingDirectory: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecutableResource
diff --git a/tests/Aspire.Hosting.CodeGeneration.Go.Tests/Snapshots/AddTestRedisCapability.verified.txt b/tests/Aspire.Hosting.CodeGeneration.Go.Tests/Snapshots/AddTestRedisCapability.verified.txt
index ed2cd118f74..88dfd266f4a 100644
--- a/tests/Aspire.Hosting.CodeGeneration.Go.Tests/Snapshots/AddTestRedisCapability.verified.txt
+++ b/tests/Aspire.Hosting.CodeGeneration.Go.Tests/Snapshots/AddTestRedisCapability.verified.txt
@@ -208,14 +208,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -227,6 +249,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -240,14 +272,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -259,6 +313,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
diff --git a/tests/Aspire.Hosting.CodeGeneration.Go.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.go b/tests/Aspire.Hosting.CodeGeneration.Go.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.go
index 9c0cdfe2a7f..98f1183a47a 100644
--- a/tests/Aspire.Hosting.CodeGeneration.Go.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.go
+++ b/tests/Aspire.Hosting.CodeGeneration.Go.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.go
@@ -569,7 +569,7 @@ func (s *CSharpAppResource) WithRequiredCommand(command string, helpLink *string
}
// WithEnvironment sets an environment variable
-func (s *CSharpAppResource) WithEnvironment(name string, value string) (*IResourceWithEnvironment, error) {
+func (s *CSharpAppResource) WithEnvironment(name string, value any) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
"builder": SerializeValue(s.Handle()),
}
@@ -582,7 +582,7 @@ func (s *CSharpAppResource) WithEnvironment(name string, value string) (*IResour
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentExpression adds an environment variable with a reference expression
+// WithEnvironmentExpression sets an environment variable from a reference expression
func (s *CSharpAppResource) WithEnvironmentExpression(name string, value *ReferenceExpression) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
"builder": SerializeValue(s.Handle()),
@@ -3663,7 +3663,7 @@ func (s *ContainerResource) WithRequiredCommand(command string, helpLink *string
}
// WithEnvironment sets an environment variable
-func (s *ContainerResource) WithEnvironment(name string, value string) (*IResourceWithEnvironment, error) {
+func (s *ContainerResource) WithEnvironment(name string, value any) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
"builder": SerializeValue(s.Handle()),
}
@@ -3676,7 +3676,7 @@ func (s *ContainerResource) WithEnvironment(name string, value string) (*IResour
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentExpression adds an environment variable with a reference expression
+// WithEnvironmentExpression sets an environment variable from a reference expression
func (s *ContainerResource) WithEnvironmentExpression(name string, value *ReferenceExpression) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
"builder": SerializeValue(s.Handle()),
@@ -5256,7 +5256,7 @@ func (s *DotnetToolResource) WithRequiredCommand(command string, helpLink *strin
}
// WithEnvironment sets an environment variable
-func (s *DotnetToolResource) WithEnvironment(name string, value string) (*IResourceWithEnvironment, error) {
+func (s *DotnetToolResource) WithEnvironment(name string, value any) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
"builder": SerializeValue(s.Handle()),
}
@@ -5269,7 +5269,7 @@ func (s *DotnetToolResource) WithEnvironment(name string, value string) (*IResou
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentExpression adds an environment variable with a reference expression
+// WithEnvironmentExpression sets an environment variable from a reference expression
func (s *DotnetToolResource) WithEnvironmentExpression(name string, value *ReferenceExpression) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
"builder": SerializeValue(s.Handle()),
@@ -6925,7 +6925,7 @@ func (s *ExecutableResource) WithRequiredCommand(command string, helpLink *strin
}
// WithEnvironment sets an environment variable
-func (s *ExecutableResource) WithEnvironment(name string, value string) (*IResourceWithEnvironment, error) {
+func (s *ExecutableResource) WithEnvironment(name string, value any) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
"builder": SerializeValue(s.Handle()),
}
@@ -6938,7 +6938,7 @@ func (s *ExecutableResource) WithEnvironment(name string, value string) (*IResou
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentExpression adds an environment variable with a reference expression
+// WithEnvironmentExpression sets an environment variable from a reference expression
func (s *ExecutableResource) WithEnvironmentExpression(name string, value *ReferenceExpression) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
"builder": SerializeValue(s.Handle()),
@@ -9464,6 +9464,18 @@ func NewIDistributedApplicationResourceEvent(handle *Handle, client *AspireClien
}
}
+// IExpressionValue wraps a handle for Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue.
+type IExpressionValue struct {
+ HandleWrapperBase
+}
+
+// NewIExpressionValue creates a new IExpressionValue.
+func NewIExpressionValue(handle *Handle, client *AspireClient) *IExpressionValue {
+ return &IExpressionValue{
+ HandleWrapperBase: NewHandleWrapperBase(handle, client),
+ }
+}
+
// IHostEnvironment wraps a handle for Microsoft.Extensions.Hosting.Abstractions/Microsoft.Extensions.Hosting.IHostEnvironment.
type IHostEnvironment struct {
HandleWrapperBase
@@ -11564,7 +11576,7 @@ func (s *ProjectResource) WithRequiredCommand(command string, helpLink *string)
}
// WithEnvironment sets an environment variable
-func (s *ProjectResource) WithEnvironment(name string, value string) (*IResourceWithEnvironment, error) {
+func (s *ProjectResource) WithEnvironment(name string, value any) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
"builder": SerializeValue(s.Handle()),
}
@@ -11577,7 +11589,7 @@ func (s *ProjectResource) WithEnvironment(name string, value string) (*IResource
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentExpression adds an environment variable with a reference expression
+// WithEnvironmentExpression sets an environment variable from a reference expression
func (s *ProjectResource) WithEnvironmentExpression(name string, value *ReferenceExpression) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
"builder": SerializeValue(s.Handle()),
@@ -13667,7 +13679,7 @@ func (s *TestDatabaseResource) WithRequiredCommand(command string, helpLink *str
}
// WithEnvironment sets an environment variable
-func (s *TestDatabaseResource) WithEnvironment(name string, value string) (*IResourceWithEnvironment, error) {
+func (s *TestDatabaseResource) WithEnvironment(name string, value any) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
"builder": SerializeValue(s.Handle()),
}
@@ -13680,7 +13692,7 @@ func (s *TestDatabaseResource) WithEnvironment(name string, value string) (*IRes
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentExpression adds an environment variable with a reference expression
+// WithEnvironmentExpression sets an environment variable from a reference expression
func (s *TestDatabaseResource) WithEnvironmentExpression(name string, value *ReferenceExpression) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
"builder": SerializeValue(s.Handle()),
@@ -15273,7 +15285,7 @@ func (s *TestRedisResource) WithRequiredCommand(command string, helpLink *string
}
// WithEnvironment sets an environment variable
-func (s *TestRedisResource) WithEnvironment(name string, value string) (*IResourceWithEnvironment, error) {
+func (s *TestRedisResource) WithEnvironment(name string, value any) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
"builder": SerializeValue(s.Handle()),
}
@@ -15286,7 +15298,7 @@ func (s *TestRedisResource) WithEnvironment(name string, value string) (*IResour
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentExpression adds an environment variable with a reference expression
+// WithEnvironmentExpression sets an environment variable from a reference expression
func (s *TestRedisResource) WithEnvironmentExpression(name string, value *ReferenceExpression) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
"builder": SerializeValue(s.Handle()),
@@ -17091,7 +17103,7 @@ func (s *TestVaultResource) WithRequiredCommand(command string, helpLink *string
}
// WithEnvironment sets an environment variable
-func (s *TestVaultResource) WithEnvironment(name string, value string) (*IResourceWithEnvironment, error) {
+func (s *TestVaultResource) WithEnvironment(name string, value any) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
"builder": SerializeValue(s.Handle()),
}
@@ -17104,7 +17116,7 @@ func (s *TestVaultResource) WithEnvironment(name string, value string) (*IResour
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentExpression adds an environment variable with a reference expression
+// WithEnvironmentExpression sets an environment variable from a reference expression
func (s *TestVaultResource) WithEnvironmentExpression(name string, value *ReferenceExpression) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
"builder": SerializeValue(s.Handle()),
@@ -18467,6 +18479,9 @@ func init() {
RegisterHandleWrapper("Aspire.Hosting/Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext", func(h *Handle, c *AspireClient) any {
return NewEnvironmentCallbackContext(h, c)
})
+ RegisterHandleWrapper("Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue", func(h *Handle, c *AspireClient) any {
+ return NewIExpressionValue(h, c)
+ })
RegisterHandleWrapper("Aspire.Hosting/Aspire.Hosting.ApplicationModel.InitializeResourceEvent", func(h *Handle, c *AspireClient) any {
return NewInitializeResourceEvent(h, c)
})
diff --git a/tests/Aspire.Hosting.CodeGeneration.Go.Tests/Snapshots/WithOptionalStringCapability.verified.txt b/tests/Aspire.Hosting.CodeGeneration.Go.Tests/Snapshots/WithOptionalStringCapability.verified.txt
index 60fc94c8aac..701a2069a04 100644
--- a/tests/Aspire.Hosting.CodeGeneration.Go.Tests/Snapshots/WithOptionalStringCapability.verified.txt
+++ b/tests/Aspire.Hosting.CodeGeneration.Go.Tests/Snapshots/WithOptionalStringCapability.verified.txt
@@ -232,14 +232,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -251,6 +273,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -264,14 +296,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -283,6 +337,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
diff --git a/tests/Aspire.Hosting.CodeGeneration.Go.Tests/Snapshots/WithPersistenceCapability.verified.txt b/tests/Aspire.Hosting.CodeGeneration.Go.Tests/Snapshots/WithPersistenceCapability.verified.txt
index 2ea9add7fc1..c1504990c4a 100644
--- a/tests/Aspire.Hosting.CodeGeneration.Go.Tests/Snapshots/WithPersistenceCapability.verified.txt
+++ b/tests/Aspire.Hosting.CodeGeneration.Go.Tests/Snapshots/WithPersistenceCapability.verified.txt
@@ -195,14 +195,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -214,6 +236,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -227,14 +259,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -246,6 +300,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -608,14 +672,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -627,6 +713,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -640,14 +736,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -659,6 +777,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -1022,14 +1150,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -1041,6 +1191,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -1054,14 +1214,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -1073,6 +1255,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
diff --git a/tests/Aspire.Hosting.CodeGeneration.Java.Tests/Snapshots/AddTestRedisCapability.verified.txt b/tests/Aspire.Hosting.CodeGeneration.Java.Tests/Snapshots/AddTestRedisCapability.verified.txt
index 247af3354f2..620a9ae0dcf 100644
--- a/tests/Aspire.Hosting.CodeGeneration.Java.Tests/Snapshots/AddTestRedisCapability.verified.txt
+++ b/tests/Aspire.Hosting.CodeGeneration.Java.Tests/Snapshots/AddTestRedisCapability.verified.txt
@@ -208,14 +208,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -227,6 +249,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -240,14 +272,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -259,6 +313,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
diff --git a/tests/Aspire.Hosting.CodeGeneration.Java.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.java b/tests/Aspire.Hosting.CodeGeneration.Java.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.java
index 38850f68c1d..1f7777e881d 100644
--- a/tests/Aspire.Hosting.CodeGeneration.Java.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.java
+++ b/tests/Aspire.Hosting.CodeGeneration.Java.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.java
@@ -1049,6 +1049,7 @@ public class AspireRegistrations {
AspireClient.registerHandleWrapper("Aspire.Hosting/Aspire.Hosting.ApplicationModel.DistributedApplicationModel", (h, c) -> new DistributedApplicationModel(h, c));
AspireClient.registerHandleWrapper("Aspire.Hosting/Aspire.Hosting.ApplicationModel.EndpointReferenceExpression", (h, c) -> new EndpointReferenceExpression(h, c));
AspireClient.registerHandleWrapper("Aspire.Hosting/Aspire.Hosting.ApplicationModel.EnvironmentCallbackContext", (h, c) -> new EnvironmentCallbackContext(h, c));
+ AspireClient.registerHandleWrapper("Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue", (h, c) -> new IExpressionValue(h, c));
AspireClient.registerHandleWrapper("Aspire.Hosting/Aspire.Hosting.ApplicationModel.InitializeResourceEvent", (h, c) -> new InitializeResourceEvent(h, c));
AspireClient.registerHandleWrapper("Aspire.Hosting/Aspire.Hosting.ApplicationModel.ReferenceExpressionBuilder", (h, c) -> new ReferenceExpressionBuilder(h, c));
AspireClient.registerHandleWrapper("Aspire.Hosting/Aspire.Hosting.ApplicationModel.UpdateCommandStateContext", (h, c) -> new UpdateCommandStateContext(h, c));
@@ -1364,8 +1365,40 @@ public CSharpAppResource withRequiredCommand(String command, String helpLink) {
return this;
}
- /** Sets an environment variable */
public CSharpAppResource withEnvironment(String name, String value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public CSharpAppResource withEnvironment(String name, ReferenceExpression value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public CSharpAppResource withEnvironment(String name, EndpointReference value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public CSharpAppResource withEnvironment(String name, ParameterResource value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public CSharpAppResource withEnvironment(String name, IResourceWithConnectionString value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public CSharpAppResource withEnvironment(String name, ResourceBuilderBase value) {
+ return withEnvironment(name, new IResourceWithConnectionString(value.getHandle(), value.getClient()));
+ }
+
+ public CSharpAppResource withEnvironment(String name, IExpressionValue value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public CSharpAppResource withEnvironment(String name, HandleWrapperBase value) {
+ return withEnvironment(name, new IExpressionValue(value.getHandle(), value.getClient()));
+ }
+
+ /** Sets an environment variable */
+ public CSharpAppResource withEnvironment(String name, AspireUnion value) {
Map reqArgs = new HashMap<>();
reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
reqArgs.put("name", AspireClient.serializeValue(name));
@@ -1374,7 +1407,7 @@ public CSharpAppResource withEnvironment(String name, String value) {
return this;
}
- /** Adds an environment variable with a reference expression */
+ /** Sets an environment variable from a reference expression */
public CSharpAppResource withEnvironmentExpression(String name, ReferenceExpression value) {
Map reqArgs = new HashMap<>();
reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
@@ -4643,8 +4676,40 @@ public ContainerResource withRequiredCommand(String command, String helpLink) {
return this;
}
- /** Sets an environment variable */
public ContainerResource withEnvironment(String name, String value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ContainerResource withEnvironment(String name, ReferenceExpression value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ContainerResource withEnvironment(String name, EndpointReference value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ContainerResource withEnvironment(String name, ParameterResource value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ContainerResource withEnvironment(String name, IResourceWithConnectionString value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ContainerResource withEnvironment(String name, ResourceBuilderBase value) {
+ return withEnvironment(name, new IResourceWithConnectionString(value.getHandle(), value.getClient()));
+ }
+
+ public ContainerResource withEnvironment(String name, IExpressionValue value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ContainerResource withEnvironment(String name, HandleWrapperBase value) {
+ return withEnvironment(name, new IExpressionValue(value.getHandle(), value.getClient()));
+ }
+
+ /** Sets an environment variable */
+ public ContainerResource withEnvironment(String name, AspireUnion value) {
Map reqArgs = new HashMap<>();
reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
reqArgs.put("name", AspireClient.serializeValue(name));
@@ -4653,7 +4718,7 @@ public ContainerResource withEnvironment(String name, String value) {
return this;
}
- /** Adds an environment variable with a reference expression */
+ /** Sets an environment variable from a reference expression */
public ContainerResource withEnvironmentExpression(String name, ReferenceExpression value) {
Map reqArgs = new HashMap<>();
reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
@@ -6293,8 +6358,40 @@ public DotnetToolResource withRequiredCommand(String command, String helpLink) {
return this;
}
- /** Sets an environment variable */
public DotnetToolResource withEnvironment(String name, String value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public DotnetToolResource withEnvironment(String name, ReferenceExpression value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public DotnetToolResource withEnvironment(String name, EndpointReference value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public DotnetToolResource withEnvironment(String name, ParameterResource value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public DotnetToolResource withEnvironment(String name, IResourceWithConnectionString value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public DotnetToolResource withEnvironment(String name, ResourceBuilderBase value) {
+ return withEnvironment(name, new IResourceWithConnectionString(value.getHandle(), value.getClient()));
+ }
+
+ public DotnetToolResource withEnvironment(String name, IExpressionValue value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public DotnetToolResource withEnvironment(String name, HandleWrapperBase value) {
+ return withEnvironment(name, new IExpressionValue(value.getHandle(), value.getClient()));
+ }
+
+ /** Sets an environment variable */
+ public DotnetToolResource withEnvironment(String name, AspireUnion value) {
Map reqArgs = new HashMap<>();
reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
reqArgs.put("name", AspireClient.serializeValue(name));
@@ -6303,7 +6400,7 @@ public DotnetToolResource withEnvironment(String name, String value) {
return this;
}
- /** Adds an environment variable with a reference expression */
+ /** Sets an environment variable from a reference expression */
public DotnetToolResource withEnvironmentExpression(String name, ReferenceExpression value) {
Map reqArgs = new HashMap<>();
reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
@@ -7882,8 +7979,40 @@ public ExecutableResource withRequiredCommand(String command, String helpLink) {
return this;
}
- /** Sets an environment variable */
public ExecutableResource withEnvironment(String name, String value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ExecutableResource withEnvironment(String name, ReferenceExpression value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ExecutableResource withEnvironment(String name, EndpointReference value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ExecutableResource withEnvironment(String name, ParameterResource value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ExecutableResource withEnvironment(String name, IResourceWithConnectionString value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ExecutableResource withEnvironment(String name, ResourceBuilderBase value) {
+ return withEnvironment(name, new IResourceWithConnectionString(value.getHandle(), value.getClient()));
+ }
+
+ public ExecutableResource withEnvironment(String name, IExpressionValue value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ExecutableResource withEnvironment(String name, HandleWrapperBase value) {
+ return withEnvironment(name, new IExpressionValue(value.getHandle(), value.getClient()));
+ }
+
+ /** Sets an environment variable */
+ public ExecutableResource withEnvironment(String name, AspireUnion value) {
Map reqArgs = new HashMap<>();
reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
reqArgs.put("name", AspireClient.serializeValue(name));
@@ -7892,7 +8021,7 @@ public ExecutableResource withEnvironment(String name, String value) {
return this;
}
- /** Adds an environment variable with a reference expression */
+ /** Sets an environment variable from a reference expression */
public ExecutableResource withEnvironmentExpression(String name, ReferenceExpression value) {
Map reqArgs = new HashMap<>();
reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
@@ -10415,6 +10544,22 @@ public class IDistributedApplicationResourceEvent extends HandleWrapperBase {
}
+// ===== IExpressionValue.java =====
+// IExpressionValue.java - GENERATED CODE - DO NOT EDIT
+
+package aspire;
+
+import java.util.*;
+import java.util.function.*;
+
+/** Wrapper for Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue. */
+public class IExpressionValue extends HandleWrapperBase {
+ IExpressionValue(Handle handle, AspireClient client) {
+ super(handle, client);
+ }
+
+}
+
// ===== IHostEnvironment.java =====
// IHostEnvironment.java - GENERATED CODE - DO NOT EDIT
@@ -12470,8 +12615,40 @@ public ProjectResource withRequiredCommand(String command, String helpLink) {
return this;
}
- /** Sets an environment variable */
public ProjectResource withEnvironment(String name, String value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ProjectResource withEnvironment(String name, ReferenceExpression value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ProjectResource withEnvironment(String name, EndpointReference value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ProjectResource withEnvironment(String name, ParameterResource value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ProjectResource withEnvironment(String name, IResourceWithConnectionString value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ProjectResource withEnvironment(String name, ResourceBuilderBase value) {
+ return withEnvironment(name, new IResourceWithConnectionString(value.getHandle(), value.getClient()));
+ }
+
+ public ProjectResource withEnvironment(String name, IExpressionValue value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ProjectResource withEnvironment(String name, HandleWrapperBase value) {
+ return withEnvironment(name, new IExpressionValue(value.getHandle(), value.getClient()));
+ }
+
+ /** Sets an environment variable */
+ public ProjectResource withEnvironment(String name, AspireUnion value) {
Map reqArgs = new HashMap<>();
reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
reqArgs.put("name", AspireClient.serializeValue(name));
@@ -12480,7 +12657,7 @@ public ProjectResource withEnvironment(String name, String value) {
return this;
}
- /** Adds an environment variable with a reference expression */
+ /** Sets an environment variable from a reference expression */
public ProjectResource withEnvironmentExpression(String name, ReferenceExpression value) {
Map reqArgs = new HashMap<>();
reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
@@ -14785,8 +14962,40 @@ public TestDatabaseResource withRequiredCommand(String command, String helpLink)
return this;
}
- /** Sets an environment variable */
public TestDatabaseResource withEnvironment(String name, String value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestDatabaseResource withEnvironment(String name, ReferenceExpression value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestDatabaseResource withEnvironment(String name, EndpointReference value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestDatabaseResource withEnvironment(String name, ParameterResource value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestDatabaseResource withEnvironment(String name, IResourceWithConnectionString value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestDatabaseResource withEnvironment(String name, ResourceBuilderBase value) {
+ return withEnvironment(name, new IResourceWithConnectionString(value.getHandle(), value.getClient()));
+ }
+
+ public TestDatabaseResource withEnvironment(String name, IExpressionValue value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestDatabaseResource withEnvironment(String name, HandleWrapperBase value) {
+ return withEnvironment(name, new IExpressionValue(value.getHandle(), value.getClient()));
+ }
+
+ /** Sets an environment variable */
+ public TestDatabaseResource withEnvironment(String name, AspireUnion value) {
Map reqArgs = new HashMap<>();
reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
reqArgs.put("name", AspireClient.serializeValue(name));
@@ -14795,7 +15004,7 @@ public TestDatabaseResource withEnvironment(String name, String value) {
return this;
}
- /** Adds an environment variable with a reference expression */
+ /** Sets an environment variable from a reference expression */
public TestDatabaseResource withEnvironmentExpression(String name, ReferenceExpression value) {
Map reqArgs = new HashMap<>();
reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
@@ -16412,8 +16621,40 @@ public TestRedisResource withRequiredCommand(String command, String helpLink) {
return this;
}
- /** Sets an environment variable */
public TestRedisResource withEnvironment(String name, String value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestRedisResource withEnvironment(String name, ReferenceExpression value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestRedisResource withEnvironment(String name, EndpointReference value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestRedisResource withEnvironment(String name, ParameterResource value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestRedisResource withEnvironment(String name, IResourceWithConnectionString value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestRedisResource withEnvironment(String name, ResourceBuilderBase value) {
+ return withEnvironment(name, new IResourceWithConnectionString(value.getHandle(), value.getClient()));
+ }
+
+ public TestRedisResource withEnvironment(String name, IExpressionValue value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestRedisResource withEnvironment(String name, HandleWrapperBase value) {
+ return withEnvironment(name, new IExpressionValue(value.getHandle(), value.getClient()));
+ }
+
+ /** Sets an environment variable */
+ public TestRedisResource withEnvironment(String name, AspireUnion value) {
Map reqArgs = new HashMap<>();
reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
reqArgs.put("name", AspireClient.serializeValue(name));
@@ -16422,7 +16663,7 @@ public TestRedisResource withEnvironment(String name, String value) {
return this;
}
- /** Adds an environment variable with a reference expression */
+ /** Sets an environment variable from a reference expression */
public TestRedisResource withEnvironmentExpression(String name, ReferenceExpression value) {
Map reqArgs = new HashMap<>();
reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
@@ -18176,8 +18417,40 @@ public TestVaultResource withRequiredCommand(String command, String helpLink) {
return this;
}
- /** Sets an environment variable */
public TestVaultResource withEnvironment(String name, String value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestVaultResource withEnvironment(String name, ReferenceExpression value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestVaultResource withEnvironment(String name, EndpointReference value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestVaultResource withEnvironment(String name, ParameterResource value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestVaultResource withEnvironment(String name, IResourceWithConnectionString value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestVaultResource withEnvironment(String name, ResourceBuilderBase value) {
+ return withEnvironment(name, new IResourceWithConnectionString(value.getHandle(), value.getClient()));
+ }
+
+ public TestVaultResource withEnvironment(String name, IExpressionValue value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestVaultResource withEnvironment(String name, HandleWrapperBase value) {
+ return withEnvironment(name, new IExpressionValue(value.getHandle(), value.getClient()));
+ }
+
+ /** Sets an environment variable */
+ public TestVaultResource withEnvironment(String name, AspireUnion value) {
Map reqArgs = new HashMap<>();
reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
reqArgs.put("name", AspireClient.serializeValue(name));
@@ -18186,7 +18459,7 @@ public TestVaultResource withEnvironment(String name, String value) {
return this;
}
- /** Adds an environment variable with a reference expression */
+ /** Sets an environment variable from a reference expression */
public TestVaultResource withEnvironmentExpression(String name, ReferenceExpression value) {
Map reqArgs = new HashMap<>();
reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
@@ -20117,6 +20390,7 @@ public WithVolumeOptions isReadOnly(Boolean value) {
.modules/IDistributedApplicationEvent.java
.modules/IDistributedApplicationEventing.java
.modules/IDistributedApplicationResourceEvent.java
+.modules/IExpressionValue.java
.modules/IHostEnvironment.java
.modules/ILogger.java
.modules/ILoggerFactory.java
diff --git a/tests/Aspire.Hosting.CodeGeneration.Java.Tests/Snapshots/WithOptionalStringCapability.verified.txt b/tests/Aspire.Hosting.CodeGeneration.Java.Tests/Snapshots/WithOptionalStringCapability.verified.txt
index 96253f5953c..cf7b59d7b00 100644
--- a/tests/Aspire.Hosting.CodeGeneration.Java.Tests/Snapshots/WithOptionalStringCapability.verified.txt
+++ b/tests/Aspire.Hosting.CodeGeneration.Java.Tests/Snapshots/WithOptionalStringCapability.verified.txt
@@ -232,14 +232,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -251,6 +273,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -264,14 +296,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -283,6 +337,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
diff --git a/tests/Aspire.Hosting.CodeGeneration.Java.Tests/Snapshots/WithPersistenceCapability.verified.txt b/tests/Aspire.Hosting.CodeGeneration.Java.Tests/Snapshots/WithPersistenceCapability.verified.txt
index df81497ddec..15d05ff0dc8 100644
--- a/tests/Aspire.Hosting.CodeGeneration.Java.Tests/Snapshots/WithPersistenceCapability.verified.txt
+++ b/tests/Aspire.Hosting.CodeGeneration.Java.Tests/Snapshots/WithPersistenceCapability.verified.txt
@@ -195,14 +195,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -214,6 +236,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -227,14 +259,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -246,6 +300,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -608,14 +672,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -627,6 +713,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -640,14 +736,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -659,6 +777,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -1022,14 +1150,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -1041,6 +1191,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -1054,14 +1214,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -1073,6 +1255,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
diff --git a/tests/Aspire.Hosting.CodeGeneration.Python.Tests/Snapshots/AddTestRedisCapability.verified.txt b/tests/Aspire.Hosting.CodeGeneration.Python.Tests/Snapshots/AddTestRedisCapability.verified.txt
index 15010695ddf..68480e7bf3c 100644
--- a/tests/Aspire.Hosting.CodeGeneration.Python.Tests/Snapshots/AddTestRedisCapability.verified.txt
+++ b/tests/Aspire.Hosting.CodeGeneration.Python.Tests/Snapshots/AddTestRedisCapability.verified.txt
@@ -208,14 +208,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -227,6 +249,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -240,14 +272,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -259,6 +313,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
diff --git a/tests/Aspire.Hosting.CodeGeneration.Python.Tests/Snapshots/AtsGeneratedAspire.verified.py b/tests/Aspire.Hosting.CodeGeneration.Python.Tests/Snapshots/AtsGeneratedAspire.verified.py
index a976eb1109c..e202a18b0aa 100644
--- a/tests/Aspire.Hosting.CodeGeneration.Python.Tests/Snapshots/AtsGeneratedAspire.verified.py
+++ b/tests/Aspire.Hosting.CodeGeneration.Python.Tests/Snapshots/AtsGeneratedAspire.verified.py
@@ -1610,11 +1610,14 @@ def add_test_vault(self, name: str, **kwargs: typing.Unpack["TestVaultResourceKw
return typing.cast(TestVaultResource, result)
+class AbstractValueProvider(abc.ABC):
+ """Abstract base class for AbstractValueProvider."""
+
class AbstractManifestExpressionProvider(abc.ABC):
"""Abstract base class for AbstractManifestExpressionProvider."""
-class AbstractValueProvider(abc.ABC):
- """Abstract base class for AbstractValueProvider."""
+class AbstractExpressionValue(abc.ABC):
+ """Abstract base class for AbstractExpressionValue."""
class AbstractValueWithReferences(abc.ABC):
"""Abstract base class for AbstractValueWithReferences."""
@@ -1939,7 +1942,7 @@ class AbstractResourceWithArgs(AbstractResource):
"""Abstract base class for AbstractResourceWithArgs interface."""
-class AbstractResourceWithConnectionString(AbstractResource, AbstractManifestExpressionProvider, AbstractValueProvider, AbstractValueWithReferences):
+class AbstractResourceWithConnectionString(AbstractResource, AbstractExpressionValue, AbstractValueWithReferences):
"""Abstract base class for AbstractResourceWithConnectionString interface."""
@abc.abstractmethod
diff --git a/tests/Aspire.Hosting.CodeGeneration.Python.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.py b/tests/Aspire.Hosting.CodeGeneration.Python.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.py
index ab4ea516e51..28e06763f10 100644
--- a/tests/Aspire.Hosting.CodeGeneration.Python.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.py
+++ b/tests/Aspire.Hosting.CodeGeneration.Python.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.py
@@ -2203,6 +2203,15 @@ def unsubscribe(self, subscription: DistributedApplicationEventSubscription) ->
class AbstractDistributedApplicationResourceEvent(abc.ABC):
"""Abstract base class for AbstractDistributedApplicationResourceEvent."""
+class AbstractValueProvider(abc.ABC):
+ """Abstract base class for AbstractValueProvider."""
+
+class AbstractManifestExpressionProvider(abc.ABC):
+ """Abstract base class for AbstractManifestExpressionProvider."""
+
+class AbstractExpressionValue(abc.ABC):
+ """Abstract base class for AbstractExpressionValue."""
+
class AbstractHostEnvironment:
"""Type class for AbstractHostEnvironment."""
@@ -2344,9 +2353,6 @@ def create_logger(self, category_name: str) -> AbstractLogger:
return typing.cast(AbstractLogger, result)
-class AbstractManifestExpressionProvider(abc.ABC):
- """Abstract base class for AbstractManifestExpressionProvider."""
-
class AbstractReportingStep:
"""Type class for AbstractReportingStep."""
@@ -2498,9 +2504,6 @@ def complete_task_markdown(self, markdown_string: str, *, completion_state: str
)
-class AbstractValueProvider(abc.ABC):
- """Abstract base class for AbstractValueProvider."""
-
class AbstractValueWithReferences(abc.ABC):
"""Abstract base class for AbstractValueWithReferences."""
@@ -4753,7 +4756,7 @@ def with_args_callback(self, callback: typing.Callable[[CommandLineArgsCallbackC
"""Sets command-line arguments via callback"""
-class AbstractResourceWithConnectionString(AbstractResource, AbstractManifestExpressionProvider, AbstractValueProvider, AbstractValueWithReferences):
+class AbstractResourceWithConnectionString(AbstractResource, AbstractExpressionValue, AbstractValueWithReferences):
"""Abstract base class for AbstractResourceWithConnectionString interface."""
@abc.abstractmethod
@@ -4845,17 +4848,17 @@ def with_otlp_exporter(self, *, protocol: OtlpProtocol | None = None) -> typing.
"""Configures OTLP telemetry export"""
@abc.abstractmethod
- def with_env(self, name: str, value: str) -> typing.Self:
+ def with_env(self, name: str, value: str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractExpressionValue) -> typing.Self:
"""Sets an environment variable"""
- @abc.abstractmethod
- def with_env_expression(self, name: str, value: ReferenceExpression) -> typing.Self:
- """Adds an environment variable with a reference expression"""
-
@abc.abstractmethod
def with_env_callback(self, callback: typing.Callable[[EnvironmentCallbackContext], None]) -> typing.Self:
"""Sets environment variables via callback"""
+ @abc.abstractmethod
+ def with_env_expression(self, name: str, value: ReferenceExpression) -> typing.Self:
+ """Sets an environment variable from a reference expression"""
+
@abc.abstractmethod
def with_env_endpoint(self, name: str, endpoint_reference: EndpointReference) -> typing.Self:
"""Sets an environment variable from an endpoint reference"""
@@ -6049,9 +6052,9 @@ class ContainerResourceKwargs(_BaseResourceKwargs, total=False):
mcp_server: McpServerParameters | typing.Literal[True]
otlp_exporter: OtlpProtocol | typing.Literal[True]
publish_as_connection_string: typing.Literal[True]
- env: tuple[str, str]
- env_expression: tuple[str, ReferenceExpression]
+ env: tuple[str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractExpressionValue]
env_callback: typing.Callable[[EnvironmentCallbackContext], None]
+ env_expression: tuple[str, ReferenceExpression]
env_endpoint: tuple[str, EndpointReference]
env_parameter: tuple[str, ParameterResource]
env_connection_string: tuple[str, AbstractResourceWithConnectionString]
@@ -6312,7 +6315,7 @@ def publish_as_connection_string(self) -> typing.Self:
self._handle = self._wrap_builder(result)
return self
- def with_env(self, name: str, value: str) -> typing.Self:
+ def with_env(self, name: str, value: str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractExpressionValue) -> typing.Self:
"""Sets an environment variable"""
rpc_args: dict[str, typing.Any] = {'builder': self._handle}
rpc_args['name'] = name
@@ -6324,24 +6327,24 @@ def with_env(self, name: str, value: str) -> typing.Self:
self._handle = self._wrap_builder(result)
return self
- def with_env_expression(self, name: str, value: ReferenceExpression) -> typing.Self:
- """Adds an environment variable with a reference expression"""
+ def with_env_callback(self, callback: typing.Callable[[EnvironmentCallbackContext], None]) -> typing.Self:
+ """Sets environment variables via callback"""
rpc_args: dict[str, typing.Any] = {'builder': self._handle}
- rpc_args['name'] = name
- rpc_args['value'] = value
+ rpc_args['callback'] = self._client.register_callback(callback)
result = self._client.invoke_capability(
- 'Aspire.Hosting/withEnvironmentExpression',
+ 'Aspire.Hosting/withEnvironmentCallback',
rpc_args,
)
self._handle = self._wrap_builder(result)
return self
- def with_env_callback(self, callback: typing.Callable[[EnvironmentCallbackContext], None]) -> typing.Self:
- """Sets environment variables via callback"""
+ def with_env_expression(self, name: str, value: ReferenceExpression) -> typing.Self:
+ """Sets an environment variable from a reference expression"""
rpc_args: dict[str, typing.Any] = {'builder': self._handle}
- rpc_args['callback'] = self._client.register_callback(callback)
+ rpc_args['name'] = name
+ rpc_args['value'] = value
result = self._client.invoke_capability(
- 'Aspire.Hosting/withEnvironmentCallback',
+ 'Aspire.Hosting/withEnvironmentExpression',
rpc_args,
)
self._handle = self._wrap_builder(result)
@@ -6920,13 +6923,20 @@ def __init__(self, handle: Handle, client: AspireClient, **kwargs: typing.Unpack
else:
raise TypeError("Invalid type for option 'publish_as_connection_string'. Expected: Literal[True]")
if _env := kwargs.pop("env", None):
- if _validate_tuple_types(_env, (str, str)):
+ if _validate_tuple_types(_env, (str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractExpressionValue)):
rpc_args: dict[str, typing.Any] = {"builder": handle}
- rpc_args["name"] = typing.cast(tuple[str, str], _env)[0]
- rpc_args["value"] = typing.cast(tuple[str, str], _env)[1]
+ rpc_args["name"] = typing.cast(tuple[str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractExpressionValue], _env)[0]
+ rpc_args["value"] = typing.cast(tuple[str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractExpressionValue], _env)[1]
handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironment', rpc_args))
else:
- raise TypeError("Invalid type for option 'env'. Expected: (str, str)")
+ raise TypeError("Invalid type for option 'env'. Expected: (str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractExpressionValue)")
+ if _env_callback := kwargs.pop("env_callback", None):
+ if _validate_type(_env_callback, typing.Callable[[EnvironmentCallbackContext], None]):
+ rpc_args: dict[str, typing.Any] = {"builder": handle}
+ rpc_args["callback"] = client.register_callback(typing.cast(typing.Callable[[EnvironmentCallbackContext], None], _env_callback))
+ handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentCallback', rpc_args))
+ else:
+ raise TypeError("Invalid type for option 'env_callback'. Expected: Callable[[EnvironmentCallbackContext], None]")
if _env_expression := kwargs.pop("env_expression", None):
if _validate_tuple_types(_env_expression, (str, ReferenceExpression)):
rpc_args: dict[str, typing.Any] = {"builder": handle}
@@ -6935,13 +6945,6 @@ def __init__(self, handle: Handle, client: AspireClient, **kwargs: typing.Unpack
handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentExpression', rpc_args))
else:
raise TypeError("Invalid type for option 'env_expression'. Expected: (str, ReferenceExpression)")
- if _env_callback := kwargs.pop("env_callback", None):
- if _validate_type(_env_callback, typing.Callable[[EnvironmentCallbackContext], None]):
- rpc_args: dict[str, typing.Any] = {"builder": handle}
- rpc_args["callback"] = client.register_callback(typing.cast(typing.Callable[[EnvironmentCallbackContext], None], _env_callback))
- handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentCallback', rpc_args))
- else:
- raise TypeError("Invalid type for option 'env_callback'. Expected: Callable[[EnvironmentCallbackContext], None]")
if _env_endpoint := kwargs.pop("env_endpoint", None):
if _validate_tuple_types(_env_endpoint, (str, EndpointReference)):
rpc_args: dict[str, typing.Any] = {"builder": handle}
@@ -7236,9 +7239,9 @@ class ProjectResourceKwargs(_BaseResourceKwargs, total=False):
replicas: int
disable_forwarded_headers: typing.Literal[True]
publish_as_docker_file: typing.Callable[[ContainerResource], None] | typing.Literal[True]
- env: tuple[str, str]
- env_expression: tuple[str, ReferenceExpression]
+ env: tuple[str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractExpressionValue]
env_callback: typing.Callable[[EnvironmentCallbackContext], None]
+ env_expression: tuple[str, ReferenceExpression]
env_endpoint: tuple[str, EndpointReference]
env_parameter: tuple[str, ParameterResource]
env_connection_string: tuple[str, AbstractResourceWithConnectionString]
@@ -7336,7 +7339,7 @@ def publish_as_docker_file(self, *, configure: typing.Callable[[ContainerResourc
self._handle = self._wrap_builder(result)
return self
- def with_env(self, name: str, value: str) -> typing.Self:
+ def with_env(self, name: str, value: str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractExpressionValue) -> typing.Self:
"""Sets an environment variable"""
rpc_args: dict[str, typing.Any] = {'builder': self._handle}
rpc_args['name'] = name
@@ -7348,24 +7351,24 @@ def with_env(self, name: str, value: str) -> typing.Self:
self._handle = self._wrap_builder(result)
return self
- def with_env_expression(self, name: str, value: ReferenceExpression) -> typing.Self:
- """Adds an environment variable with a reference expression"""
+ def with_env_callback(self, callback: typing.Callable[[EnvironmentCallbackContext], None]) -> typing.Self:
+ """Sets environment variables via callback"""
rpc_args: dict[str, typing.Any] = {'builder': self._handle}
- rpc_args['name'] = name
- rpc_args['value'] = value
+ rpc_args['callback'] = self._client.register_callback(callback)
result = self._client.invoke_capability(
- 'Aspire.Hosting/withEnvironmentExpression',
+ 'Aspire.Hosting/withEnvironmentCallback',
rpc_args,
)
self._handle = self._wrap_builder(result)
return self
- def with_env_callback(self, callback: typing.Callable[[EnvironmentCallbackContext], None]) -> typing.Self:
- """Sets environment variables via callback"""
+ def with_env_expression(self, name: str, value: ReferenceExpression) -> typing.Self:
+ """Sets an environment variable from a reference expression"""
rpc_args: dict[str, typing.Any] = {'builder': self._handle}
- rpc_args['callback'] = self._client.register_callback(callback)
+ rpc_args['name'] = name
+ rpc_args['value'] = value
result = self._client.invoke_capability(
- 'Aspire.Hosting/withEnvironmentCallback',
+ 'Aspire.Hosting/withEnvironmentExpression',
rpc_args,
)
self._handle = self._wrap_builder(result)
@@ -7827,13 +7830,20 @@ def __init__(self, handle: Handle, client: AspireClient, **kwargs: typing.Unpack
else:
raise TypeError("Invalid type for option 'publish_as_docker_file'. Expected: Callable[[ContainerResource], None] or Literal[True]")
if _env := kwargs.pop("env", None):
- if _validate_tuple_types(_env, (str, str)):
+ if _validate_tuple_types(_env, (str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractExpressionValue)):
rpc_args: dict[str, typing.Any] = {"builder": handle}
- rpc_args["name"] = typing.cast(tuple[str, str], _env)[0]
- rpc_args["value"] = typing.cast(tuple[str, str], _env)[1]
+ rpc_args["name"] = typing.cast(tuple[str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractExpressionValue], _env)[0]
+ rpc_args["value"] = typing.cast(tuple[str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractExpressionValue], _env)[1]
handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironment', rpc_args))
else:
- raise TypeError("Invalid type for option 'env'. Expected: (str, str)")
+ raise TypeError("Invalid type for option 'env'. Expected: (str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractExpressionValue)")
+ if _env_callback := kwargs.pop("env_callback", None):
+ if _validate_type(_env_callback, typing.Callable[[EnvironmentCallbackContext], None]):
+ rpc_args: dict[str, typing.Any] = {"builder": handle}
+ rpc_args["callback"] = client.register_callback(typing.cast(typing.Callable[[EnvironmentCallbackContext], None], _env_callback))
+ handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentCallback', rpc_args))
+ else:
+ raise TypeError("Invalid type for option 'env_callback'. Expected: Callable[[EnvironmentCallbackContext], None]")
if _env_expression := kwargs.pop("env_expression", None):
if _validate_tuple_types(_env_expression, (str, ReferenceExpression)):
rpc_args: dict[str, typing.Any] = {"builder": handle}
@@ -7842,13 +7852,6 @@ def __init__(self, handle: Handle, client: AspireClient, **kwargs: typing.Unpack
handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentExpression', rpc_args))
else:
raise TypeError("Invalid type for option 'env_expression'. Expected: (str, ReferenceExpression)")
- if _env_callback := kwargs.pop("env_callback", None):
- if _validate_type(_env_callback, typing.Callable[[EnvironmentCallbackContext], None]):
- rpc_args: dict[str, typing.Any] = {"builder": handle}
- rpc_args["callback"] = client.register_callback(typing.cast(typing.Callable[[EnvironmentCallbackContext], None], _env_callback))
- handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentCallback', rpc_args))
- else:
- raise TypeError("Invalid type for option 'env_callback'. Expected: Callable[[EnvironmentCallbackContext], None]")
if _env_endpoint := kwargs.pop("env_endpoint", None):
if _validate_tuple_types(_env_endpoint, (str, EndpointReference)):
rpc_args: dict[str, typing.Any] = {"builder": handle}
@@ -8152,9 +8155,9 @@ class ExecutableResourceKwargs(_BaseResourceKwargs, total=False):
working_dir: str
mcp_server: McpServerParameters | typing.Literal[True]
otlp_exporter: OtlpProtocol | typing.Literal[True]
- env: tuple[str, str]
- env_expression: tuple[str, ReferenceExpression]
+ env: tuple[str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractExpressionValue]
env_callback: typing.Callable[[EnvironmentCallbackContext], None]
+ env_expression: tuple[str, ReferenceExpression]
env_endpoint: tuple[str, EndpointReference]
env_parameter: tuple[str, ParameterResource]
env_connection_string: tuple[str, AbstractResourceWithConnectionString]
@@ -8253,7 +8256,7 @@ def with_otlp_exporter(self, *, protocol: OtlpProtocol | None = None) -> typing.
self._handle = self._wrap_builder(result)
return self
- def with_env(self, name: str, value: str) -> typing.Self:
+ def with_env(self, name: str, value: str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractExpressionValue) -> typing.Self:
"""Sets an environment variable"""
rpc_args: dict[str, typing.Any] = {'builder': self._handle}
rpc_args['name'] = name
@@ -8265,24 +8268,24 @@ def with_env(self, name: str, value: str) -> typing.Self:
self._handle = self._wrap_builder(result)
return self
- def with_env_expression(self, name: str, value: ReferenceExpression) -> typing.Self:
- """Adds an environment variable with a reference expression"""
+ def with_env_callback(self, callback: typing.Callable[[EnvironmentCallbackContext], None]) -> typing.Self:
+ """Sets environment variables via callback"""
rpc_args: dict[str, typing.Any] = {'builder': self._handle}
- rpc_args['name'] = name
- rpc_args['value'] = value
+ rpc_args['callback'] = self._client.register_callback(callback)
result = self._client.invoke_capability(
- 'Aspire.Hosting/withEnvironmentExpression',
+ 'Aspire.Hosting/withEnvironmentCallback',
rpc_args,
)
self._handle = self._wrap_builder(result)
return self
- def with_env_callback(self, callback: typing.Callable[[EnvironmentCallbackContext], None]) -> typing.Self:
- """Sets environment variables via callback"""
+ def with_env_expression(self, name: str, value: ReferenceExpression) -> typing.Self:
+ """Sets an environment variable from a reference expression"""
rpc_args: dict[str, typing.Any] = {'builder': self._handle}
- rpc_args['callback'] = self._client.register_callback(callback)
+ rpc_args['name'] = name
+ rpc_args['value'] = value
result = self._client.invoke_capability(
- 'Aspire.Hosting/withEnvironmentCallback',
+ 'Aspire.Hosting/withEnvironmentExpression',
rpc_args,
)
self._handle = self._wrap_builder(result)
@@ -8733,13 +8736,20 @@ def __init__(self, handle: Handle, client: AspireClient, **kwargs: typing.Unpack
else:
raise TypeError("Invalid type for option 'otlp_exporter'. Expected: OtlpProtocol or Literal[True]")
if _env := kwargs.pop("env", None):
- if _validate_tuple_types(_env, (str, str)):
+ if _validate_tuple_types(_env, (str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractExpressionValue)):
rpc_args: dict[str, typing.Any] = {"builder": handle}
- rpc_args["name"] = typing.cast(tuple[str, str], _env)[0]
- rpc_args["value"] = typing.cast(tuple[str, str], _env)[1]
+ rpc_args["name"] = typing.cast(tuple[str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractExpressionValue], _env)[0]
+ rpc_args["value"] = typing.cast(tuple[str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractExpressionValue], _env)[1]
handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironment', rpc_args))
else:
- raise TypeError("Invalid type for option 'env'. Expected: (str, str)")
+ raise TypeError("Invalid type for option 'env'. Expected: (str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractExpressionValue)")
+ if _env_callback := kwargs.pop("env_callback", None):
+ if _validate_type(_env_callback, typing.Callable[[EnvironmentCallbackContext], None]):
+ rpc_args: dict[str, typing.Any] = {"builder": handle}
+ rpc_args["callback"] = client.register_callback(typing.cast(typing.Callable[[EnvironmentCallbackContext], None], _env_callback))
+ handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentCallback', rpc_args))
+ else:
+ raise TypeError("Invalid type for option 'env_callback'. Expected: Callable[[EnvironmentCallbackContext], None]")
if _env_expression := kwargs.pop("env_expression", None):
if _validate_tuple_types(_env_expression, (str, ReferenceExpression)):
rpc_args: dict[str, typing.Any] = {"builder": handle}
@@ -8748,13 +8758,6 @@ def __init__(self, handle: Handle, client: AspireClient, **kwargs: typing.Unpack
handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentExpression', rpc_args))
else:
raise TypeError("Invalid type for option 'env_expression'. Expected: (str, ReferenceExpression)")
- if _env_callback := kwargs.pop("env_callback", None):
- if _validate_type(_env_callback, typing.Callable[[EnvironmentCallbackContext], None]):
- rpc_args: dict[str, typing.Any] = {"builder": handle}
- rpc_args["callback"] = client.register_callback(typing.cast(typing.Callable[[EnvironmentCallbackContext], None], _env_callback))
- handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentCallback', rpc_args))
- else:
- raise TypeError("Invalid type for option 'env_callback'. Expected: Callable[[EnvironmentCallbackContext], None]")
if _env_endpoint := kwargs.pop("env_endpoint", None):
if _validate_tuple_types(_env_endpoint, (str, EndpointReference)):
rpc_args: dict[str, typing.Any] = {"builder": handle}
@@ -9195,7 +9198,7 @@ class ParameterResourceKwargs(_BaseResourceKwargs, total=False):
description: str | tuple[str, bool]
-class ParameterResource(_BaseResource, AbstractManifestExpressionProvider, AbstractValueProvider):
+class ParameterResource(_BaseResource, AbstractExpressionValue):
"""ParameterResource resource."""
def __repr__(self) -> str:
diff --git a/tests/Aspire.Hosting.CodeGeneration.Python.Tests/Snapshots/WithOptionalStringCapability.verified.txt b/tests/Aspire.Hosting.CodeGeneration.Python.Tests/Snapshots/WithOptionalStringCapability.verified.txt
index 4806ad8ae8b..ede7c4adbeb 100644
--- a/tests/Aspire.Hosting.CodeGeneration.Python.Tests/Snapshots/WithOptionalStringCapability.verified.txt
+++ b/tests/Aspire.Hosting.CodeGeneration.Python.Tests/Snapshots/WithOptionalStringCapability.verified.txt
@@ -232,14 +232,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -251,6 +273,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -264,14 +296,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -283,6 +337,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
diff --git a/tests/Aspire.Hosting.CodeGeneration.Python.Tests/Snapshots/WithPersistenceCapability.verified.txt b/tests/Aspire.Hosting.CodeGeneration.Python.Tests/Snapshots/WithPersistenceCapability.verified.txt
index 06e178ed65a..ce3e8add9f2 100644
--- a/tests/Aspire.Hosting.CodeGeneration.Python.Tests/Snapshots/WithPersistenceCapability.verified.txt
+++ b/tests/Aspire.Hosting.CodeGeneration.Python.Tests/Snapshots/WithPersistenceCapability.verified.txt
@@ -195,14 +195,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -214,6 +236,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -227,14 +259,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -246,6 +300,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -608,14 +672,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -627,6 +713,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -640,14 +736,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -659,6 +777,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -1022,14 +1150,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -1041,6 +1191,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -1054,14 +1214,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -1073,6 +1255,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
diff --git a/tests/Aspire.Hosting.CodeGeneration.Rust.Tests/Snapshots/AddTestRedisCapability.verified.txt b/tests/Aspire.Hosting.CodeGeneration.Rust.Tests/Snapshots/AddTestRedisCapability.verified.txt
index defc480fc87..2e9f83a237a 100644
--- a/tests/Aspire.Hosting.CodeGeneration.Rust.Tests/Snapshots/AddTestRedisCapability.verified.txt
+++ b/tests/Aspire.Hosting.CodeGeneration.Rust.Tests/Snapshots/AddTestRedisCapability.verified.txt
@@ -208,14 +208,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -227,6 +249,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -240,14 +272,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -259,6 +313,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
diff --git a/tests/Aspire.Hosting.CodeGeneration.Rust.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.rs b/tests/Aspire.Hosting.CodeGeneration.Rust.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.rs
index 589382ca04e..bdeda9659ce 100644
--- a/tests/Aspire.Hosting.CodeGeneration.Rust.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.rs
+++ b/tests/Aspire.Hosting.CodeGeneration.Rust.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.rs
@@ -859,7 +859,7 @@ impl CSharpAppResource {
}
/// Sets an environment variable
- pub fn with_environment(&self, name: &str, value: &str) -> Result> {
+ pub fn with_environment(&self, name: &str, value: Value) -> Result> {
let mut args: HashMap = HashMap::new();
args.insert("builder".to_string(), self.handle.to_json());
args.insert("name".to_string(), serde_json::to_value(&name).unwrap_or(Value::Null));
@@ -869,7 +869,7 @@ impl CSharpAppResource {
Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
}
- /// Adds an environment variable with a reference expression
+ /// Sets an environment variable from a reference expression
pub fn with_environment_expression(&self, name: &str, value: ReferenceExpression) -> Result> {
let mut args: HashMap = HashMap::new();
args.insert("builder".to_string(), self.handle.to_json());
@@ -3365,7 +3365,7 @@ impl ContainerResource {
}
/// Sets an environment variable
- pub fn with_environment(&self, name: &str, value: &str) -> Result> {
+ pub fn with_environment(&self, name: &str, value: Value) -> Result> {
let mut args: HashMap = HashMap::new();
args.insert("builder".to_string(), self.handle.to_json());
args.insert("name".to_string(), serde_json::to_value(&name).unwrap_or(Value::Null));
@@ -3375,7 +3375,7 @@ impl ContainerResource {
Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
}
- /// Adds an environment variable with a reference expression
+ /// Sets an environment variable from a reference expression
pub fn with_environment_expression(&self, name: &str, value: ReferenceExpression) -> Result> {
let mut args: HashMap = HashMap::new();
args.insert("builder".to_string(), self.handle.to_json());
@@ -4733,7 +4733,7 @@ impl DotnetToolResource {
}
/// Sets an environment variable
- pub fn with_environment(&self, name: &str, value: &str) -> Result> {
+ pub fn with_environment(&self, name: &str, value: Value) -> Result> {
let mut args: HashMap = HashMap::new();
args.insert("builder".to_string(), self.handle.to_json());
args.insert("name".to_string(), serde_json::to_value(&name).unwrap_or(Value::Null));
@@ -4743,7 +4743,7 @@ impl DotnetToolResource {
Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
}
- /// Adds an environment variable with a reference expression
+ /// Sets an environment variable from a reference expression
pub fn with_environment_expression(&self, name: &str, value: ReferenceExpression) -> Result> {
let mut args: HashMap = HashMap::new();
args.insert("builder".to_string(), self.handle.to_json());
@@ -6089,7 +6089,7 @@ impl ExecutableResource {
}
/// Sets an environment variable
- pub fn with_environment(&self, name: &str, value: &str) -> Result> {
+ pub fn with_environment(&self, name: &str, value: Value) -> Result> {
let mut args: HashMap = HashMap::new();
args.insert("builder".to_string(), self.handle.to_json());
args.insert("name".to_string(), serde_json::to_value(&name).unwrap_or(Value::Null));
@@ -6099,7 +6099,7 @@ impl ExecutableResource {
Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
}
- /// Adds an environment variable with a reference expression
+ /// Sets an environment variable from a reference expression
pub fn with_environment_expression(&self, name: &str, value: ReferenceExpression) -> Result> {
let mut args: HashMap = HashMap::new();
args.insert("builder".to_string(), self.handle.to_json());
@@ -8248,6 +8248,32 @@ impl IDistributedApplicationResourceEvent {
}
}
+/// Wrapper for Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue
+pub struct IExpressionValue {
+ handle: Handle,
+ client: Arc,
+}
+
+impl HasHandle for IExpressionValue {
+ fn handle(&self) -> &Handle {
+ &self.handle
+ }
+}
+
+impl IExpressionValue {
+ pub fn new(handle: Handle, client: Arc) -> Self {
+ Self { handle, client }
+ }
+
+ pub fn handle(&self) -> &Handle {
+ &self.handle
+ }
+
+ pub fn client(&self) -> &Arc {
+ &self.client
+ }
+}
+
/// Wrapper for Microsoft.Extensions.Hosting.Abstractions/Microsoft.Extensions.Hosting.IHostEnvironment
pub struct IHostEnvironment {
handle: Handle,
@@ -10315,7 +10341,7 @@ impl ProjectResource {
}
/// Sets an environment variable
- pub fn with_environment(&self, name: &str, value: &str) -> Result> {
+ pub fn with_environment(&self, name: &str, value: Value) -> Result> {
let mut args: HashMap = HashMap::new();
args.insert("builder".to_string(), self.handle.to_json());
args.insert("name".to_string(), serde_json::to_value(&name).unwrap_or(Value::Null));
@@ -10325,7 +10351,7 @@ impl ProjectResource {
Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
}
- /// Adds an environment variable with a reference expression
+ /// Sets an environment variable from a reference expression
pub fn with_environment_expression(&self, name: &str, value: ReferenceExpression) -> Result> {
let mut args: HashMap = HashMap::new();
args.insert("builder".to_string(), self.handle.to_json());
@@ -12144,7 +12170,7 @@ impl TestDatabaseResource {
}
/// Sets an environment variable
- pub fn with_environment(&self, name: &str, value: &str) -> Result> {
+ pub fn with_environment(&self, name: &str, value: Value) -> Result> {
let mut args: HashMap = HashMap::new();
args.insert("builder".to_string(), self.handle.to_json());
args.insert("name".to_string(), serde_json::to_value(&name).unwrap_or(Value::Null));
@@ -12154,7 +12180,7 @@ impl TestDatabaseResource {
Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
}
- /// Adds an environment variable with a reference expression
+ /// Sets an environment variable from a reference expression
pub fn with_environment_expression(&self, name: &str, value: ReferenceExpression) -> Result> {
let mut args: HashMap = HashMap::new();
args.insert("builder".to_string(), self.handle.to_json());
@@ -13440,7 +13466,7 @@ impl TestRedisResource {
}
/// Sets an environment variable
- pub fn with_environment(&self, name: &str, value: &str) -> Result> {
+ pub fn with_environment(&self, name: &str, value: Value) -> Result> {
let mut args: HashMap = HashMap::new();
args.insert("builder".to_string(), self.handle.to_json());
args.insert("name".to_string(), serde_json::to_value(&name).unwrap_or(Value::Null));
@@ -13450,7 +13476,7 @@ impl TestRedisResource {
Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
}
- /// Adds an environment variable with a reference expression
+ /// Sets an environment variable from a reference expression
pub fn with_environment_expression(&self, name: &str, value: ReferenceExpression) -> Result> {
let mut args: HashMap = HashMap::new();
args.insert("builder".to_string(), self.handle.to_json());
@@ -14900,7 +14926,7 @@ impl TestVaultResource {
}
/// Sets an environment variable
- pub fn with_environment(&self, name: &str, value: &str) -> Result> {
+ pub fn with_environment(&self, name: &str, value: Value) -> Result> {
let mut args: HashMap = HashMap::new();
args.insert("builder".to_string(), self.handle.to_json());
args.insert("name".to_string(), serde_json::to_value(&name).unwrap_or(Value::Null));
@@ -14910,7 +14936,7 @@ impl TestVaultResource {
Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
}
- /// Adds an environment variable with a reference expression
+ /// Sets an environment variable from a reference expression
pub fn with_environment_expression(&self, name: &str, value: ReferenceExpression) -> Result> {
let mut args: HashMap = HashMap::new();
args.insert("builder".to_string(), self.handle.to_json());
diff --git a/tests/Aspire.Hosting.CodeGeneration.Rust.Tests/Snapshots/WithOptionalStringCapability.verified.txt b/tests/Aspire.Hosting.CodeGeneration.Rust.Tests/Snapshots/WithOptionalStringCapability.verified.txt
index 368db08e88b..35d5a7b561c 100644
--- a/tests/Aspire.Hosting.CodeGeneration.Rust.Tests/Snapshots/WithOptionalStringCapability.verified.txt
+++ b/tests/Aspire.Hosting.CodeGeneration.Rust.Tests/Snapshots/WithOptionalStringCapability.verified.txt
@@ -232,14 +232,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -251,6 +273,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -264,14 +296,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -283,6 +337,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
diff --git a/tests/Aspire.Hosting.CodeGeneration.Rust.Tests/Snapshots/WithPersistenceCapability.verified.txt b/tests/Aspire.Hosting.CodeGeneration.Rust.Tests/Snapshots/WithPersistenceCapability.verified.txt
index 460608de6a3..f7461c8288c 100644
--- a/tests/Aspire.Hosting.CodeGeneration.Rust.Tests/Snapshots/WithPersistenceCapability.verified.txt
+++ b/tests/Aspire.Hosting.CodeGeneration.Rust.Tests/Snapshots/WithPersistenceCapability.verified.txt
@@ -195,14 +195,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -214,6 +236,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -227,14 +259,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -246,6 +300,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -608,14 +672,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -627,6 +713,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -640,14 +736,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -659,6 +777,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -1022,14 +1150,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -1041,6 +1191,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -1054,14 +1214,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -1073,6 +1255,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
diff --git a/tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests/Snapshots/AddTestRedisCapability.verified.txt b/tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests/Snapshots/AddTestRedisCapability.verified.txt
index 9613e46a28a..bb691ca1fe2 100644
--- a/tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests/Snapshots/AddTestRedisCapability.verified.txt
+++ b/tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests/Snapshots/AddTestRedisCapability.verified.txt
@@ -208,14 +208,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -227,6 +249,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -240,14 +272,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -259,6 +313,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
diff --git a/tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.ts b/tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.ts
index 174077be454..2fcc2bf5047 100644
--- a/tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.ts
+++ b/tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.ts
@@ -7085,7 +7085,7 @@ export class ContainerResource extends ResourceBuilderBase {
+ private async _withEnvironmentInternal(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceBuilderBase | ResourceBuilderBase | EndpointReference | EndpointReferenceExpression): Promise {
const rpcArgs: Record = { builder: this._handle, name, value };
const result = await this._client.invokeCapability(
'Aspire.Hosting/withEnvironment',
@@ -7095,7 +7095,7 @@ export class ContainerResource extends ResourceBuilderBase
}
/** Sets an environment variable */
- withEnvironment(name: string, value: string): ContainerResourcePromise {
+ withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceBuilderBase | ResourceBuilderBase | EndpointReference | EndpointReferenceExpression): ContainerResourcePromise {
return new ContainerResourcePromise(this._promise.then(obj => obj.withEnvironment(name, value)));
}
- /** Adds an environment variable with a reference expression */
+ /** Sets an environment variable from a reference expression */
withEnvironmentExpression(name: string, value: ReferenceExpression): ContainerResourcePromise {
return new ContainerResourcePromise(this._promise.then(obj => obj.withEnvironmentExpression(name, value)));
}
@@ -9071,7 +9071,7 @@ export class CSharpAppResource extends ResourceBuilderBase {
+ private async _withEnvironmentInternal(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceBuilderBase | ResourceBuilderBase | EndpointReference | EndpointReferenceExpression): Promise {
const rpcArgs: Record = { builder: this._handle, name, value };
const result = await this._client.invokeCapability(
'Aspire.Hosting/withEnvironment',
@@ -9081,7 +9081,7 @@ export class CSharpAppResource extends ResourceBuilderBase
}
/** Sets an environment variable */
- withEnvironment(name: string, value: string): CSharpAppResourcePromise {
+ withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceBuilderBase | ResourceBuilderBase | EndpointReference | EndpointReferenceExpression): CSharpAppResourcePromise {
return new CSharpAppResourcePromise(this._promise.then(obj => obj.withEnvironment(name, value)));
}
- /** Adds an environment variable with a reference expression */
+ /** Sets an environment variable from a reference expression */
withEnvironmentExpression(name: string, value: ReferenceExpression): CSharpAppResourcePromise {
return new CSharpAppResourcePromise(this._promise.then(obj => obj.withEnvironmentExpression(name, value)));
}
@@ -11086,7 +11086,7 @@ export class DotnetToolResource extends ResourceBuilderBase {
+ private async _withEnvironmentInternal(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceBuilderBase | ResourceBuilderBase | EndpointReference | EndpointReferenceExpression): Promise {
const rpcArgs: Record = { builder: this._handle, name, value };
const result = await this._client.invokeCapability(
'Aspire.Hosting/withEnvironment',
@@ -11096,7 +11096,7 @@ export class DotnetToolResource extends ResourceBuilderBase obj.withEnvironment(name, value)));
}
- /** Adds an environment variable with a reference expression */
+ /** Sets an environment variable from a reference expression */
withEnvironmentExpression(name: string, value: ReferenceExpression): DotnetToolResourcePromise {
return new DotnetToolResourcePromise(this._promise.then(obj => obj.withEnvironmentExpression(name, value)));
}
@@ -13026,7 +13026,7 @@ export class ExecutableResource extends ResourceBuilderBase {
+ private async _withEnvironmentInternal(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceBuilderBase | ResourceBuilderBase | EndpointReference | EndpointReferenceExpression): Promise {
const rpcArgs: Record = { builder: this._handle, name, value };
const result = await this._client.invokeCapability(
'Aspire.Hosting/withEnvironment',
@@ -13036,7 +13036,7 @@ export class ExecutableResource extends ResourceBuilderBase obj.withEnvironment(name, value)));
}
- /** Adds an environment variable with a reference expression */
+ /** Sets an environment variable from a reference expression */
withEnvironmentExpression(name: string, value: ReferenceExpression): ExecutableResourcePromise {
return new ExecutableResourcePromise(this._promise.then(obj => obj.withEnvironmentExpression(name, value)));
}
@@ -16921,7 +16921,7 @@ export class ProjectResource extends ResourceBuilderBase
}
/** @internal */
- private async _withEnvironmentInternal(name: string, value: string): Promise {
+ private async _withEnvironmentInternal(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceBuilderBase | ResourceBuilderBase | EndpointReference | EndpointReferenceExpression): Promise {
const rpcArgs: Record = { builder: this._handle, name, value };
const result = await this._client.invokeCapability(
'Aspire.Hosting/withEnvironment',
@@ -16931,7 +16931,7 @@ export class ProjectResource extends ResourceBuilderBase
}
/** Sets an environment variable */
- withEnvironment(name: string, value: string): ProjectResourcePromise {
+ withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceBuilderBase | ResourceBuilderBase | EndpointReference | EndpointReferenceExpression): ProjectResourcePromise {
return new ProjectResourcePromise(this._withEnvironmentInternal(name, value));
}
@@ -16945,7 +16945,7 @@ export class ProjectResource extends ResourceBuilderBase
return new ProjectResource(result, this._client);
}
- /** Adds an environment variable with a reference expression */
+ /** Sets an environment variable from a reference expression */
withEnvironmentExpression(name: string, value: ReferenceExpression): ProjectResourcePromise {
return new ProjectResourcePromise(this._withEnvironmentExpressionInternal(name, value));
}
@@ -18290,11 +18290,11 @@ export class ProjectResourcePromise implements PromiseLike {
}
/** Sets an environment variable */
- withEnvironment(name: string, value: string): ProjectResourcePromise {
+ withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceBuilderBase | ResourceBuilderBase | EndpointReference | EndpointReferenceExpression): ProjectResourcePromise {
return new ProjectResourcePromise(this._promise.then(obj => obj.withEnvironment(name, value)));
}
- /** Adds an environment variable with a reference expression */
+ /** Sets an environment variable from a reference expression */
withEnvironmentExpression(name: string, value: ReferenceExpression): ProjectResourcePromise {
return new ProjectResourcePromise(this._promise.then(obj => obj.withEnvironmentExpression(name, value)));
}
@@ -19044,7 +19044,7 @@ export class TestDatabaseResource extends ResourceBuilderBase {
+ private async _withEnvironmentInternal(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceBuilderBase | ResourceBuilderBase | EndpointReference | EndpointReferenceExpression): Promise {
const rpcArgs: Record = { builder: this._handle, name, value };
const result = await this._client.invokeCapability(
'Aspire.Hosting/withEnvironment',
@@ -19054,7 +19054,7 @@ export class TestDatabaseResource extends ResourceBuilderBase obj.withEnvironment(name, value)));
}
- /** Adds an environment variable with a reference expression */
+ /** Sets an environment variable from a reference expression */
withEnvironmentExpression(name: string, value: ReferenceExpression): TestDatabaseResourcePromise {
return new TestDatabaseResourcePromise(this._promise.then(obj => obj.withEnvironmentExpression(name, value)));
}
@@ -21241,7 +21241,7 @@ export class TestRedisResource extends ResourceBuilderBase {
+ private async _withEnvironmentInternal(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceBuilderBase | ResourceBuilderBase | EndpointReference | EndpointReferenceExpression): Promise {
const rpcArgs: Record = { builder: this._handle, name, value };
const result = await this._client.invokeCapability(
'Aspire.Hosting/withEnvironment',
@@ -21251,7 +21251,7 @@ export class TestRedisResource extends ResourceBuilderBase
}
/** Sets an environment variable */
- withEnvironment(name: string, value: string): TestRedisResourcePromise {
+ withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceBuilderBase | ResourceBuilderBase | EndpointReference | EndpointReferenceExpression): TestRedisResourcePromise {
return new TestRedisResourcePromise(this._promise.then(obj => obj.withEnvironment(name, value)));
}
- /** Adds an environment variable with a reference expression */
+ /** Sets an environment variable from a reference expression */
withEnvironmentExpression(name: string, value: ReferenceExpression): TestRedisResourcePromise {
return new TestRedisResourcePromise(this._promise.then(obj => obj.withEnvironmentExpression(name, value)));
}
@@ -23732,7 +23732,7 @@ export class TestVaultResource extends ResourceBuilderBase {
+ private async _withEnvironmentInternal(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceBuilderBase | ResourceBuilderBase | EndpointReference | EndpointReferenceExpression): Promise {
const rpcArgs: Record = { builder: this._handle, name, value };
const result = await this._client.invokeCapability(
'Aspire.Hosting/withEnvironment',
@@ -23742,7 +23742,7 @@ export class TestVaultResource extends ResourceBuilderBase
}
/** Sets an environment variable */
- withEnvironment(name: string, value: string): TestVaultResourcePromise {
+ withEnvironment(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceBuilderBase | ResourceBuilderBase | EndpointReference | EndpointReferenceExpression): TestVaultResourcePromise {
return new TestVaultResourcePromise(this._promise.then(obj => obj.withEnvironment(name, value)));
}
- /** Adds an environment variable with a reference expression */
+ /** Sets an environment variable from a reference expression */
withEnvironmentExpression(name: string, value: ReferenceExpression): TestVaultResourcePromise {
return new TestVaultResourcePromise(this._promise.then(obj => obj.withEnvironmentExpression(name, value)));
}
@@ -27294,7 +27294,7 @@ export class ResourceWithEnvironment extends ResourceBuilderBase {
+ private async _withEnvironmentInternal(name: string, value: string | ReferenceExpression | EndpointReference | ParameterResource | ResourceBuilderBase | ResourceBuilderBase | EndpointReference | EndpointReferenceExpression): Promise {
const rpcArgs: Record = { builder: this._handle, name, value };
const result = await this._client.invokeCapability(
'Aspire.Hosting/withEnvironment',
@@ -27304,7 +27304,7 @@ export class ResourceWithEnvironment extends ResourceBuilderBase obj.withEnvironment(name, value)));
}
- /** Adds an environment variable with a reference expression */
+ /** Sets an environment variable from a reference expression */
withEnvironmentExpression(name: string, value: ReferenceExpression): ResourceWithEnvironmentPromise {
return new ResourceWithEnvironmentPromise(this._promise.then(obj => obj.withEnvironmentExpression(name, value)));
}
diff --git a/tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests/Snapshots/WithOptionalStringCapability.verified.txt b/tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests/Snapshots/WithOptionalStringCapability.verified.txt
index d33fa15b474..f2e501a7914 100644
--- a/tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests/Snapshots/WithOptionalStringCapability.verified.txt
+++ b/tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests/Snapshots/WithOptionalStringCapability.verified.txt
@@ -232,14 +232,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -251,6 +273,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -264,14 +296,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -283,6 +337,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
diff --git a/tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests/Snapshots/WithPersistenceCapability.verified.txt b/tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests/Snapshots/WithPersistenceCapability.verified.txt
index 18d8b82372b..dc116508368 100644
--- a/tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests/Snapshots/WithPersistenceCapability.verified.txt
+++ b/tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests/Snapshots/WithPersistenceCapability.verified.txt
@@ -195,14 +195,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -214,6 +236,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -227,14 +259,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -246,6 +300,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -608,14 +672,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -627,6 +713,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -640,14 +736,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -659,6 +777,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -1022,14 +1150,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -1041,6 +1191,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -1054,14 +1214,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -1073,6 +1255,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
diff --git a/tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests/Snapshots/WithRedisSpecificCapability.verified.txt b/tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests/Snapshots/WithRedisSpecificCapability.verified.txt
index 257d61a8081..901afb2dbbe 100644
--- a/tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests/Snapshots/WithRedisSpecificCapability.verified.txt
+++ b/tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests/Snapshots/WithRedisSpecificCapability.verified.txt
@@ -193,14 +193,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -212,6 +234,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -225,14 +257,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -244,6 +298,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -606,14 +670,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -625,6 +711,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -638,14 +734,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -657,6 +775,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -1020,14 +1148,36 @@
IsDistributedApplication: false
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -1039,6 +1189,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,
@@ -1052,14 +1212,36 @@
]
},
{
- TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
- ClrType: IManifestExpressionProvider,
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IExpressionValue,
+ ClrType: IExpressionValue,
Category: Handle,
IsInterface: true,
IsReadOnly: false,
IsResourceBuilder: false,
IsDistributedApplicationBuilder: false,
- IsDistributedApplication: false
+ IsDistributedApplication: false,
+ ImplementedInterfaces: [
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
+ ClrType: IValueProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ }
+ ]
},
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueProvider,
@@ -1071,6 +1253,16 @@
IsDistributedApplicationBuilder: false,
IsDistributedApplication: false
},
+ {
+ TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IManifestExpressionProvider,
+ ClrType: IManifestExpressionProvider,
+ Category: Handle,
+ IsInterface: true,
+ IsReadOnly: false,
+ IsResourceBuilder: false,
+ IsDistributedApplicationBuilder: false,
+ IsDistributedApplication: false
+ },
{
TypeId: Aspire.Hosting/Aspire.Hosting.ApplicationModel.IValueWithReferences,
ClrType: IValueWithReferences,