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..c8779664861 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, IValueProvider, IManifestExpressionProvider, IValueWithCustomWithEnvironment
{
///
/// Gets the name of the secret.
@@ -38,4 +38,12 @@ internal sealed class AzureKeyVaultSecretReference(string secretName, AzureKeyVa
throw new InvalidOperationException($"Secret '{secretName}' not found in Key Vault '{azureKeyVaultResource.Name}'.");
}
+
+ static IResourceBuilder? IValueWithCustomWithEnvironment.TryWithEnvironment(
+ IResourceBuilder builder,
+ string name,
+ AzureKeyVaultSecretReference value)
+ {
+ return ResourceBuilderExtensions.WithEnvironment(builder, name, value);
+ }
}
diff --git a/src/Aspire.Hosting.Azure.KeyVault/AzureKeyVaultSecretResource.cs b/src/Aspire.Hosting.Azure.KeyVault/AzureKeyVaultSecretResource.cs
index 526d47dbe3a..2827061b037 100644
--- a/src/Aspire.Hosting.Azure.KeyVault/AzureKeyVaultSecretResource.cs
+++ b/src/Aspire.Hosting.Azure.KeyVault/AzureKeyVaultSecretResource.cs
@@ -15,7 +15,7 @@ namespace Aspire.Hosting.Azure;
///
[DebuggerDisplay("Type = {GetType().Name,nq}, Name = {Name}, Secret = {SecretName}")]
public class AzureKeyVaultSecretResource(string name, string secretName, AzureKeyVaultResource parent, object value)
- : Resource(name), IResourceWithParent, IAzureKeyVaultSecretReference
+ : Resource(name), IResourceWithParent, IAzureKeyVaultSecretReference, IValueWithCustomWithEnvironment
{
private readonly IAzureKeyVaultSecretReference _secret = parent.GetSecret(secretName);
@@ -53,4 +53,12 @@ public class AzureKeyVaultSecretResource(string name, string secretName, AzureKe
/// The secret value.
ValueTask IValueProvider.GetValueAsync(CancellationToken cancellationToken) =>
_secret.GetValueAsync(cancellationToken);
+
+ static IResourceBuilder? IValueWithCustomWithEnvironment.TryWithEnvironment(
+ IResourceBuilder builder,
+ string name,
+ AzureKeyVaultSecretResource value)
+ {
+ return ResourceBuilderExtensions.WithEnvironment(builder, name, value);
+ }
}
diff --git a/src/Aspire.Hosting.Azure/AzureBicepResource.cs b/src/Aspire.Hosting.Azure/AzureBicepResource.cs
index b944b8711db..0fa311eb82f 100644
--- a/src/Aspire.Hosting.Azure/AzureBicepResource.cs
+++ b/src/Aspire.Hosting.Azure/AzureBicepResource.cs
@@ -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) : IManifestExpressionProvider, IValueProvider, IValueWithReferences, IValueWithCustomWithEnvironment, IEquatable
{
///
/// Name of the output.
@@ -686,4 +686,12 @@ other is not null &&
///
public override int GetHashCode() =>
HashCode.Combine(Resource, Name);
+
+ static IResourceBuilder? IValueWithCustomWithEnvironment.TryWithEnvironment(
+ IResourceBuilder builder,
+ string name,
+ BicepOutputReference value)
+ {
+ return ResourceBuilderExtensions.WithEnvironment(builder, name, value);
+ }
}
diff --git a/src/Aspire.Hosting.Azure/AzureBicepResourceExtensions.cs b/src/Aspire.Hosting.Azure/AzureBicepResourceExtensions.cs
index feb46a28a53..61422ae126f 100644
--- a/src/Aspire.Hosting.Azure/AzureBicepResourceExtensions.cs
+++ b/src/Aspire.Hosting.Azure/AzureBicepResourceExtensions.cs
@@ -78,16 +78,11 @@ 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(ctx =>
- {
- ctx.EnvironmentVariables[name] = bicepOutputReference;
- });
+ return ResourceBuilderExtensions.WithEnvironment(builder, name, bicepOutputReference);
}
///
@@ -116,14 +111,11 @@ 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 ResourceBuilderExtensions.WithEnvironment(builder, name, secretReference);
}
///
diff --git a/src/Aspire.Hosting.Azure/IAzureKeyVaultSecretReference.cs b/src/Aspire.Hosting.Azure/IAzureKeyVaultSecretReference.cs
index d3ab69e325f..89d98fcb8a9 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 : IEnvironmentValue, 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..9460a0b2f2b 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.IEnvironmentValue [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,13 +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.IEnvironmentValue) -> 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
-Aspire.Hosting/withEnvironmentParameter(name: string, parameter: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
Aspire.Hosting/withExecutableCommand(command: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecutableResource
Aspire.Hosting/withExplicitStart() -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
Aspire.Hosting/withExternalHttpEndpoints() -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEndpoints
@@ -327,7 +441,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 +461,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/IEnvironmentValue.cs b/src/Aspire.Hosting/ApplicationModel/IEnvironmentValue.cs
new file mode 100644
index 00000000000..60bee96a945
--- /dev/null
+++ b/src/Aspire.Hosting/ApplicationModel/IEnvironmentValue.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 can be used with WithEnvironment.
+///
+///
+/// Environment values provide both the runtime value used during local execution and
+/// the manifest expression used during publish operations.
+///
+[AspireExport]
+public interface IEnvironmentValue : IValueProvider, IManifestExpressionProvider
+{
+}
diff --git a/src/Aspire.Hosting/ApplicationModel/IValueWithCustomWithEnvironment.cs b/src/Aspire.Hosting/ApplicationModel/IValueWithCustomWithEnvironment.cs
new file mode 100644
index 00000000000..f2fe074b5a3
--- /dev/null
+++ b/src/Aspire.Hosting/ApplicationModel/IValueWithCustomWithEnvironment.cs
@@ -0,0 +1,35 @@
+// Licensed to the .NET Foundation under one or more agreements.
+// The .NET Foundation licenses this file to you under the MIT license.
+
+using System.Diagnostics.CodeAnalysis;
+
+namespace Aspire.Hosting.ApplicationModel;
+
+///
+/// Defines custom WithEnvironment dispatch behavior for an environment value type.
+///
+/// The concrete value type that provides the custom dispatch behavior.
+///
+/// This contract is used by the internal ATS-visible withEnvironment dispatcher
+/// to route environment values to type-specific logic at runtime. Implementations may
+/// customize dispatch when a value needs behavior that differs from the default
+/// handling.
+///
+[Experimental("ASPIREATS001")]
+public interface IValueWithCustomWithEnvironment : IEnvironmentValue
+ where TSelf : IEnvironmentValue, IValueWithCustomWithEnvironment
+{
+ ///
+ /// Applies an environment value to using value-specific behavior.
+ ///
+ /// The destination resource builder.
+ /// The environment variable name.
+ /// The environment value.
+ /// The destination resource type.
+ /// The destination when handled; otherwise, .
+ static abstract IResourceBuilder? TryWithEnvironment(
+ IResourceBuilder builder,
+ string name,
+ TSelf value)
+ where TDestination : IResourceWithEnvironment;
+}
diff --git a/src/Aspire.Hosting/ResourceBuilderExtensions.cs b/src/Aspire.Hosting/ResourceBuilderExtensions.cs
index 3b5f0410a4a..82cf9712540 100644
--- a/src/Aspire.Hosting/ResourceBuilderExtensions.cs
+++ b/src/Aspire.Hosting/ResourceBuilderExtensions.cs
@@ -6,6 +6,7 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Security.Cryptography.X509Certificates;
+using System.Collections.Concurrent;
using Aspire.Dashboard.Model;
using Aspire.Hosting.ApplicationModel;
using Aspire.Hosting.Publishing;
@@ -22,6 +23,8 @@ namespace Aspire.Hosting;
public static class ResourceBuilderExtensions
{
private const string ConnectionStringEnvironmentName = "ConnectionStrings__";
+ private static readonly ConcurrentDictionary<(Type DestinationType, Type CustomType), MethodInfo?> s_customWithEnvironmentDispatchMethods = new();
+ private static readonly MethodInfo s_dispatchCustomWithEnvironmentMethod = typeof(ResourceBuilderExtensions).GetMethod(nameof(DispatchCustomWithEnvironment), BindingFlags.NonPublic | BindingFlags.Static)!;
private static readonly MethodInfo s_dispatchCustomWithReferenceMethod = typeof(ResourceBuilderExtensions).GetMethod(nameof(DispatchCustomWithReference), BindingFlags.NonPublic | BindingFlags.Static)!;
///
@@ -32,7 +35,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 +44,42 @@ 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(IEnvironmentValue))]
+ object value)
+ where T : IResourceWithEnvironment
+ {
+ ArgumentNullException.ThrowIfNull(builder);
+ ArgumentNullException.ThrowIfNull(name);
+ ArgumentNullException.ThrowIfNull(value);
+
+ if (TryDispatchCustomWithEnvironment(builder, name, value, out var dispatchedBuilder))
+ {
+ return dispatchedBuilder;
+ }
+
+ 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),
+ IEnvironmentValue environmentValue => builder.WithEnvironmentValue(name, environmentValue),
+ _ => 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 +120,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 +129,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
{
@@ -164,7 +203,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
{
@@ -231,7 +270,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);
@@ -254,7 +293,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 +312,27 @@ public static IResourceBuilder WithEnvironment(
});
}
+ private static IResourceBuilder WithEnvironmentValue(
+ this IResourceBuilder builder,
+ string name,
+ IEnvironmentValue 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 .
///
@@ -304,6 +364,47 @@ public static IResourceBuilder WithEnvironment(this IResourceBuild
});
}
+ private static bool TryDispatchCustomWithEnvironment(
+ IResourceBuilder builder,
+ string name,
+ object value,
+ [NotNullWhen(true)] out IResourceBuilder? dispatchedBuilder)
+ where TDestination : IResourceWithEnvironment
+ {
+ var customType = value.GetType();
+ var destinationType = typeof(TDestination);
+ var dispatchMethod = s_customWithEnvironmentDispatchMethods.GetOrAdd((destinationType, customType), key =>
+ {
+ var customWithEnvironmentInterface = key.CustomType.GetInterfaces()
+ .FirstOrDefault(i => i.IsGenericType
+ && i.GetGenericTypeDefinition() == typeof(IValueWithCustomWithEnvironment<>)
+ && i.GetGenericArguments()[0] == key.CustomType);
+
+ return customWithEnvironmentInterface is null
+ ? null
+ : s_dispatchCustomWithEnvironmentMethod.MakeGenericMethod(key.DestinationType, key.CustomType);
+ });
+
+ if (dispatchMethod is null)
+ {
+ dispatchedBuilder = null;
+ return false;
+ }
+
+ dispatchedBuilder = (IResourceBuilder?)dispatchMethod.Invoke(null, [builder, name, value]);
+ return dispatchedBuilder is not null;
+ }
+
+ private static IResourceBuilder? DispatchCustomWithEnvironment(
+ IResourceBuilder builder,
+ string name,
+ TCustom value)
+ where TDestination : IResourceWithEnvironment
+ where TCustom : IEnvironmentValue, IValueWithCustomWithEnvironment
+ {
+ return TCustom.TryWithEnvironment(builder, name, value);
+ }
+
///
/// Adds a connection property annotation to the resource being built. Any resource referencing this resource will
/// get this connection property included in its environment variables.
diff --git a/src/Aspire.Hosting/api/Aspire.Hosting.Capabilities.txt b/src/Aspire.Hosting/api/Aspire.Hosting.Capabilities.txt
index b29e6b7e0d9..d30e52f742a 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.IEnvironmentValue [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,13 +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.IEnvironmentValue) -> 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
-Aspire.Hosting/withEnvironmentParameter(name: string, parameter: Aspire.Hosting/Aspire.Hosting.ApplicationModel.ParameterResource) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEnvironment
Aspire.Hosting/withExecutableCommand(command: string) -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.ExecutableResource
Aspire.Hosting/withExplicitStart() -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource
Aspire.Hosting/withExternalHttpEndpoints() -> Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResourceWithEndpoints
@@ -299,7 +411,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 +431,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/TwoPassScanningGeneratedAspire.verified.go b/tests/Aspire.Hosting.CodeGeneration.Go.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.go
index 9c0cdfe2a7f..f6fece974db 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,20 +582,6 @@ func (s *CSharpAppResource) WithEnvironment(name string, value string) (*IResour
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentExpression adds an environment variable with a reference expression
-func (s *CSharpAppResource) WithEnvironmentExpression(name string, value *ReferenceExpression) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["value"] = SerializeValue(value)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentExpression", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
// WithEnvironmentCallback sets environment variables via callback
func (s *CSharpAppResource) WithEnvironmentCallback(callback func(...any) any) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
@@ -611,48 +597,6 @@ func (s *CSharpAppResource) WithEnvironmentCallback(callback func(...any) any) (
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentEndpoint sets an environment variable from an endpoint reference
-func (s *CSharpAppResource) WithEnvironmentEndpoint(name string, endpointReference *EndpointReference) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["endpointReference"] = SerializeValue(endpointReference)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentEndpoint", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
-// WithEnvironmentParameter sets an environment variable from a parameter resource
-func (s *CSharpAppResource) WithEnvironmentParameter(name string, parameter *ParameterResource) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["parameter"] = SerializeValue(parameter)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentParameter", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
-// WithEnvironmentConnectionString sets an environment variable from a connection string resource
-func (s *CSharpAppResource) WithEnvironmentConnectionString(envVarName string, resource *IResourceWithConnectionString) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["envVarName"] = SerializeValue(envVarName)
- reqArgs["resource"] = SerializeValue(resource)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentConnectionString", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
// WithArgs adds arguments
func (s *CSharpAppResource) WithArgs(args []string) (*IResourceWithArgs, error) {
reqArgs := map[string]any{
@@ -3663,7 +3607,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,20 +3620,6 @@ func (s *ContainerResource) WithEnvironment(name string, value string) (*IResour
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentExpression adds an environment variable with a reference expression
-func (s *ContainerResource) WithEnvironmentExpression(name string, value *ReferenceExpression) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["value"] = SerializeValue(value)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentExpression", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
// WithEnvironmentCallback sets environment variables via callback
func (s *ContainerResource) WithEnvironmentCallback(callback func(...any) any) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
@@ -3705,48 +3635,6 @@ func (s *ContainerResource) WithEnvironmentCallback(callback func(...any) any) (
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentEndpoint sets an environment variable from an endpoint reference
-func (s *ContainerResource) WithEnvironmentEndpoint(name string, endpointReference *EndpointReference) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["endpointReference"] = SerializeValue(endpointReference)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentEndpoint", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
-// WithEnvironmentParameter sets an environment variable from a parameter resource
-func (s *ContainerResource) WithEnvironmentParameter(name string, parameter *ParameterResource) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["parameter"] = SerializeValue(parameter)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentParameter", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
-// WithEnvironmentConnectionString sets an environment variable from a connection string resource
-func (s *ContainerResource) WithEnvironmentConnectionString(envVarName string, resource *IResourceWithConnectionString) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["envVarName"] = SerializeValue(envVarName)
- reqArgs["resource"] = SerializeValue(resource)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentConnectionString", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
// WithArgs adds arguments
func (s *ContainerResource) WithArgs(args []string) (*IResourceWithArgs, error) {
reqArgs := map[string]any{
@@ -5256,7 +5144,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,20 +5157,6 @@ func (s *DotnetToolResource) WithEnvironment(name string, value string) (*IResou
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentExpression adds an environment variable with a reference expression
-func (s *DotnetToolResource) WithEnvironmentExpression(name string, value *ReferenceExpression) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["value"] = SerializeValue(value)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentExpression", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
// WithEnvironmentCallback sets environment variables via callback
func (s *DotnetToolResource) WithEnvironmentCallback(callback func(...any) any) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
@@ -5298,48 +5172,6 @@ func (s *DotnetToolResource) WithEnvironmentCallback(callback func(...any) any)
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentEndpoint sets an environment variable from an endpoint reference
-func (s *DotnetToolResource) WithEnvironmentEndpoint(name string, endpointReference *EndpointReference) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["endpointReference"] = SerializeValue(endpointReference)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentEndpoint", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
-// WithEnvironmentParameter sets an environment variable from a parameter resource
-func (s *DotnetToolResource) WithEnvironmentParameter(name string, parameter *ParameterResource) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["parameter"] = SerializeValue(parameter)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentParameter", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
-// WithEnvironmentConnectionString sets an environment variable from a connection string resource
-func (s *DotnetToolResource) WithEnvironmentConnectionString(envVarName string, resource *IResourceWithConnectionString) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["envVarName"] = SerializeValue(envVarName)
- reqArgs["resource"] = SerializeValue(resource)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentConnectionString", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
// WithArgs adds arguments
func (s *DotnetToolResource) WithArgs(args []string) (*IResourceWithArgs, error) {
reqArgs := map[string]any{
@@ -6925,7 +6757,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,20 +6770,6 @@ func (s *ExecutableResource) WithEnvironment(name string, value string) (*IResou
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentExpression adds an environment variable with a reference expression
-func (s *ExecutableResource) WithEnvironmentExpression(name string, value *ReferenceExpression) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["value"] = SerializeValue(value)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentExpression", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
// WithEnvironmentCallback sets environment variables via callback
func (s *ExecutableResource) WithEnvironmentCallback(callback func(...any) any) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
@@ -6967,48 +6785,6 @@ func (s *ExecutableResource) WithEnvironmentCallback(callback func(...any) any)
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentEndpoint sets an environment variable from an endpoint reference
-func (s *ExecutableResource) WithEnvironmentEndpoint(name string, endpointReference *EndpointReference) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["endpointReference"] = SerializeValue(endpointReference)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentEndpoint", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
-// WithEnvironmentParameter sets an environment variable from a parameter resource
-func (s *ExecutableResource) WithEnvironmentParameter(name string, parameter *ParameterResource) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["parameter"] = SerializeValue(parameter)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentParameter", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
-// WithEnvironmentConnectionString sets an environment variable from a connection string resource
-func (s *ExecutableResource) WithEnvironmentConnectionString(envVarName string, resource *IResourceWithConnectionString) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["envVarName"] = SerializeValue(envVarName)
- reqArgs["resource"] = SerializeValue(resource)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentConnectionString", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
// WithArgs adds arguments
func (s *ExecutableResource) WithArgs(args []string) (*IResourceWithArgs, error) {
reqArgs := map[string]any{
@@ -9464,6 +9240,18 @@ func NewIDistributedApplicationResourceEvent(handle *Handle, client *AspireClien
}
}
+// IEnvironmentValue wraps a handle for Aspire.Hosting/Aspire.Hosting.ApplicationModel.IEnvironmentValue.
+type IEnvironmentValue struct {
+ HandleWrapperBase
+}
+
+// NewIEnvironmentValue creates a new IEnvironmentValue.
+func NewIEnvironmentValue(handle *Handle, client *AspireClient) *IEnvironmentValue {
+ return &IEnvironmentValue{
+ HandleWrapperBase: NewHandleWrapperBase(handle, client),
+ }
+}
+
// IHostEnvironment wraps a handle for Microsoft.Extensions.Hosting.Abstractions/Microsoft.Extensions.Hosting.IHostEnvironment.
type IHostEnvironment struct {
HandleWrapperBase
@@ -11564,7 +11352,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,20 +11365,6 @@ func (s *ProjectResource) WithEnvironment(name string, value string) (*IResource
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentExpression adds an environment variable with a reference expression
-func (s *ProjectResource) WithEnvironmentExpression(name string, value *ReferenceExpression) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["value"] = SerializeValue(value)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentExpression", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
// WithEnvironmentCallback sets environment variables via callback
func (s *ProjectResource) WithEnvironmentCallback(callback func(...any) any) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
@@ -11606,48 +11380,6 @@ func (s *ProjectResource) WithEnvironmentCallback(callback func(...any) any) (*I
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentEndpoint sets an environment variable from an endpoint reference
-func (s *ProjectResource) WithEnvironmentEndpoint(name string, endpointReference *EndpointReference) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["endpointReference"] = SerializeValue(endpointReference)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentEndpoint", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
-// WithEnvironmentParameter sets an environment variable from a parameter resource
-func (s *ProjectResource) WithEnvironmentParameter(name string, parameter *ParameterResource) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["parameter"] = SerializeValue(parameter)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentParameter", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
-// WithEnvironmentConnectionString sets an environment variable from a connection string resource
-func (s *ProjectResource) WithEnvironmentConnectionString(envVarName string, resource *IResourceWithConnectionString) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["envVarName"] = SerializeValue(envVarName)
- reqArgs["resource"] = SerializeValue(resource)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentConnectionString", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
// WithArgs adds arguments
func (s *ProjectResource) WithArgs(args []string) (*IResourceWithArgs, error) {
reqArgs := map[string]any{
@@ -13667,7 +13399,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,20 +13412,6 @@ func (s *TestDatabaseResource) WithEnvironment(name string, value string) (*IRes
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentExpression adds an environment variable with a reference expression
-func (s *TestDatabaseResource) WithEnvironmentExpression(name string, value *ReferenceExpression) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["value"] = SerializeValue(value)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentExpression", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
// WithEnvironmentCallback sets environment variables via callback
func (s *TestDatabaseResource) WithEnvironmentCallback(callback func(...any) any) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
@@ -13709,48 +13427,6 @@ func (s *TestDatabaseResource) WithEnvironmentCallback(callback func(...any) any
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentEndpoint sets an environment variable from an endpoint reference
-func (s *TestDatabaseResource) WithEnvironmentEndpoint(name string, endpointReference *EndpointReference) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["endpointReference"] = SerializeValue(endpointReference)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentEndpoint", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
-// WithEnvironmentParameter sets an environment variable from a parameter resource
-func (s *TestDatabaseResource) WithEnvironmentParameter(name string, parameter *ParameterResource) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["parameter"] = SerializeValue(parameter)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentParameter", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
-// WithEnvironmentConnectionString sets an environment variable from a connection string resource
-func (s *TestDatabaseResource) WithEnvironmentConnectionString(envVarName string, resource *IResourceWithConnectionString) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["envVarName"] = SerializeValue(envVarName)
- reqArgs["resource"] = SerializeValue(resource)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentConnectionString", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
// WithArgs adds arguments
func (s *TestDatabaseResource) WithArgs(args []string) (*IResourceWithArgs, error) {
reqArgs := map[string]any{
@@ -15273,7 +14949,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,20 +14962,6 @@ func (s *TestRedisResource) WithEnvironment(name string, value string) (*IResour
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentExpression adds an environment variable with a reference expression
-func (s *TestRedisResource) WithEnvironmentExpression(name string, value *ReferenceExpression) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["value"] = SerializeValue(value)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentExpression", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
// WithEnvironmentCallback sets environment variables via callback
func (s *TestRedisResource) WithEnvironmentCallback(callback func(...any) any) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
@@ -15315,48 +14977,6 @@ func (s *TestRedisResource) WithEnvironmentCallback(callback func(...any) any) (
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentEndpoint sets an environment variable from an endpoint reference
-func (s *TestRedisResource) WithEnvironmentEndpoint(name string, endpointReference *EndpointReference) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["endpointReference"] = SerializeValue(endpointReference)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentEndpoint", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
-// WithEnvironmentParameter sets an environment variable from a parameter resource
-func (s *TestRedisResource) WithEnvironmentParameter(name string, parameter *ParameterResource) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["parameter"] = SerializeValue(parameter)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentParameter", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
-// WithEnvironmentConnectionString sets an environment variable from a connection string resource
-func (s *TestRedisResource) WithEnvironmentConnectionString(envVarName string, resource *IResourceWithConnectionString) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["envVarName"] = SerializeValue(envVarName)
- reqArgs["resource"] = SerializeValue(resource)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentConnectionString", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
// WithConnectionProperty adds a connection property with a reference expression
func (s *TestRedisResource) WithConnectionProperty(name string, value *ReferenceExpression) (*IResourceWithConnectionString, error) {
reqArgs := map[string]any{
@@ -17091,7 +16711,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,20 +16724,6 @@ func (s *TestVaultResource) WithEnvironment(name string, value string) (*IResour
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentExpression adds an environment variable with a reference expression
-func (s *TestVaultResource) WithEnvironmentExpression(name string, value *ReferenceExpression) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["value"] = SerializeValue(value)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentExpression", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
// WithEnvironmentCallback sets environment variables via callback
func (s *TestVaultResource) WithEnvironmentCallback(callback func(...any) any) (*IResourceWithEnvironment, error) {
reqArgs := map[string]any{
@@ -17133,48 +16739,6 @@ func (s *TestVaultResource) WithEnvironmentCallback(callback func(...any) any) (
return result.(*IResourceWithEnvironment), nil
}
-// WithEnvironmentEndpoint sets an environment variable from an endpoint reference
-func (s *TestVaultResource) WithEnvironmentEndpoint(name string, endpointReference *EndpointReference) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["endpointReference"] = SerializeValue(endpointReference)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentEndpoint", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
-// WithEnvironmentParameter sets an environment variable from a parameter resource
-func (s *TestVaultResource) WithEnvironmentParameter(name string, parameter *ParameterResource) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["name"] = SerializeValue(name)
- reqArgs["parameter"] = SerializeValue(parameter)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentParameter", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
-// WithEnvironmentConnectionString sets an environment variable from a connection string resource
-func (s *TestVaultResource) WithEnvironmentConnectionString(envVarName string, resource *IResourceWithConnectionString) (*IResourceWithEnvironment, error) {
- reqArgs := map[string]any{
- "builder": SerializeValue(s.Handle()),
- }
- reqArgs["envVarName"] = SerializeValue(envVarName)
- reqArgs["resource"] = SerializeValue(resource)
- result, err := s.Client().InvokeCapability("Aspire.Hosting/withEnvironmentConnectionString", reqArgs)
- if err != nil {
- return nil, err
- }
- return result.(*IResourceWithEnvironment), nil
-}
-
// WithArgs adds arguments
func (s *TestVaultResource) WithArgs(args []string) (*IResourceWithArgs, error) {
reqArgs := map[string]any{
@@ -18467,6 +18031,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.IEnvironmentValue", func(h *Handle, c *AspireClient) any {
+ return NewIEnvironmentValue(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.Java.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.java b/tests/Aspire.Hosting.CodeGeneration.Java.Tests/Snapshots/TwoPassScanningGeneratedAspire.verified.java
index 38850f68c1d..52b35d7eea5 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.IEnvironmentValue", (h, c) -> new IEnvironmentValue(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,23 +1365,45 @@ public CSharpAppResource withRequiredCommand(String command, String helpLink) {
return this;
}
- /** Sets an environment variable */
public CSharpAppResource withEnvironment(String name, String value) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("value", AspireClient.serializeValue(value));
- getClient().invokeCapability("Aspire.Hosting/withEnvironment", reqArgs);
- return this;
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public CSharpAppResource withEnvironment(String name, ReferenceExpression value) {
+ return withEnvironment(name, AspireUnion.of(value));
}
- /** Adds an environment variable with a reference expression */
- public CSharpAppResource withEnvironmentExpression(String name, ReferenceExpression 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, IEnvironmentValue value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public CSharpAppResource withEnvironment(String name, HandleWrapperBase value) {
+ return withEnvironment(name, new IEnvironmentValue(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));
reqArgs.put("value", AspireClient.serializeValue(value));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentExpression", reqArgs);
+ getClient().invokeCapability("Aspire.Hosting/withEnvironment", reqArgs);
return this;
}
@@ -1400,40 +1423,6 @@ public CSharpAppResource withEnvironmentCallback(AspireAction1 reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("endpointReference", AspireClient.serializeValue(endpointReference));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentEndpoint", reqArgs);
- return this;
- }
-
- /** Sets an environment variable from a parameter resource */
- public CSharpAppResource withEnvironmentParameter(String name, ParameterResource parameter) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("parameter", AspireClient.serializeValue(parameter));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentParameter", reqArgs);
- return this;
- }
-
- /** Sets an environment variable from a connection string resource */
- public CSharpAppResource withEnvironmentConnectionString(String envVarName, IResourceWithConnectionString resource) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("envVarName", AspireClient.serializeValue(envVarName));
- reqArgs.put("resource", AspireClient.serializeValue(resource));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentConnectionString", reqArgs);
- return this;
- }
-
- public CSharpAppResource withEnvironmentConnectionString(String envVarName, ResourceBuilderBase resource) {
- return withEnvironmentConnectionString(envVarName, new IResourceWithConnectionString(resource.getHandle(), resource.getClient()));
- }
-
/** Adds arguments */
public CSharpAppResource withArgs(String[] args) {
Map reqArgs = new HashMap<>();
@@ -4643,23 +4632,45 @@ public ContainerResource withRequiredCommand(String command, String helpLink) {
return this;
}
- /** Sets an environment variable */
public ContainerResource withEnvironment(String name, String value) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("value", AspireClient.serializeValue(value));
- getClient().invokeCapability("Aspire.Hosting/withEnvironment", reqArgs);
- return this;
+ 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));
}
- /** Adds an environment variable with a reference expression */
- public ContainerResource withEnvironmentExpression(String name, ReferenceExpression 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, IEnvironmentValue value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ContainerResource withEnvironment(String name, HandleWrapperBase value) {
+ return withEnvironment(name, new IEnvironmentValue(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));
reqArgs.put("value", AspireClient.serializeValue(value));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentExpression", reqArgs);
+ getClient().invokeCapability("Aspire.Hosting/withEnvironment", reqArgs);
return this;
}
@@ -4679,40 +4690,6 @@ public ContainerResource withEnvironmentCallback(AspireAction1 reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("endpointReference", AspireClient.serializeValue(endpointReference));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentEndpoint", reqArgs);
- return this;
- }
-
- /** Sets an environment variable from a parameter resource */
- public ContainerResource withEnvironmentParameter(String name, ParameterResource parameter) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("parameter", AspireClient.serializeValue(parameter));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentParameter", reqArgs);
- return this;
- }
-
- /** Sets an environment variable from a connection string resource */
- public ContainerResource withEnvironmentConnectionString(String envVarName, IResourceWithConnectionString resource) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("envVarName", AspireClient.serializeValue(envVarName));
- reqArgs.put("resource", AspireClient.serializeValue(resource));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentConnectionString", reqArgs);
- return this;
- }
-
- public ContainerResource withEnvironmentConnectionString(String envVarName, ResourceBuilderBase resource) {
- return withEnvironmentConnectionString(envVarName, new IResourceWithConnectionString(resource.getHandle(), resource.getClient()));
- }
-
/** Adds arguments */
public ContainerResource withArgs(String[] args) {
Map reqArgs = new HashMap<>();
@@ -6293,23 +6270,45 @@ public DotnetToolResource withRequiredCommand(String command, String helpLink) {
return this;
}
- /** Sets an environment variable */
public DotnetToolResource withEnvironment(String name, String value) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("value", AspireClient.serializeValue(value));
- getClient().invokeCapability("Aspire.Hosting/withEnvironment", reqArgs);
- return this;
+ 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));
}
- /** Adds an environment variable with a reference expression */
- public DotnetToolResource withEnvironmentExpression(String name, ReferenceExpression value) {
+ public DotnetToolResource withEnvironment(String name, ResourceBuilderBase value) {
+ return withEnvironment(name, new IResourceWithConnectionString(value.getHandle(), value.getClient()));
+ }
+
+ public DotnetToolResource withEnvironment(String name, IEnvironmentValue value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public DotnetToolResource withEnvironment(String name, HandleWrapperBase value) {
+ return withEnvironment(name, new IEnvironmentValue(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));
reqArgs.put("value", AspireClient.serializeValue(value));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentExpression", reqArgs);
+ getClient().invokeCapability("Aspire.Hosting/withEnvironment", reqArgs);
return this;
}
@@ -6329,40 +6328,6 @@ public DotnetToolResource withEnvironmentCallback(AspireAction1 reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("endpointReference", AspireClient.serializeValue(endpointReference));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentEndpoint", reqArgs);
- return this;
- }
-
- /** Sets an environment variable from a parameter resource */
- public DotnetToolResource withEnvironmentParameter(String name, ParameterResource parameter) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("parameter", AspireClient.serializeValue(parameter));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentParameter", reqArgs);
- return this;
- }
-
- /** Sets an environment variable from a connection string resource */
- public DotnetToolResource withEnvironmentConnectionString(String envVarName, IResourceWithConnectionString resource) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("envVarName", AspireClient.serializeValue(envVarName));
- reqArgs.put("resource", AspireClient.serializeValue(resource));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentConnectionString", reqArgs);
- return this;
- }
-
- public DotnetToolResource withEnvironmentConnectionString(String envVarName, ResourceBuilderBase resource) {
- return withEnvironmentConnectionString(envVarName, new IResourceWithConnectionString(resource.getHandle(), resource.getClient()));
- }
-
/** Adds arguments */
public DotnetToolResource withArgs(String[] args) {
Map reqArgs = new HashMap<>();
@@ -7882,23 +7847,45 @@ public ExecutableResource withRequiredCommand(String command, String helpLink) {
return this;
}
- /** Sets an environment variable */
public ExecutableResource withEnvironment(String name, String value) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("value", AspireClient.serializeValue(value));
- getClient().invokeCapability("Aspire.Hosting/withEnvironment", reqArgs);
- return this;
+ 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()));
}
- /** Adds an environment variable with a reference expression */
- public ExecutableResource withEnvironmentExpression(String name, ReferenceExpression value) {
+ public ExecutableResource withEnvironment(String name, IEnvironmentValue value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ExecutableResource withEnvironment(String name, HandleWrapperBase value) {
+ return withEnvironment(name, new IEnvironmentValue(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));
reqArgs.put("value", AspireClient.serializeValue(value));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentExpression", reqArgs);
+ getClient().invokeCapability("Aspire.Hosting/withEnvironment", reqArgs);
return this;
}
@@ -7918,40 +7905,6 @@ public ExecutableResource withEnvironmentCallback(AspireAction1 reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("endpointReference", AspireClient.serializeValue(endpointReference));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentEndpoint", reqArgs);
- return this;
- }
-
- /** Sets an environment variable from a parameter resource */
- public ExecutableResource withEnvironmentParameter(String name, ParameterResource parameter) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("parameter", AspireClient.serializeValue(parameter));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentParameter", reqArgs);
- return this;
- }
-
- /** Sets an environment variable from a connection string resource */
- public ExecutableResource withEnvironmentConnectionString(String envVarName, IResourceWithConnectionString resource) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("envVarName", AspireClient.serializeValue(envVarName));
- reqArgs.put("resource", AspireClient.serializeValue(resource));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentConnectionString", reqArgs);
- return this;
- }
-
- public ExecutableResource withEnvironmentConnectionString(String envVarName, ResourceBuilderBase resource) {
- return withEnvironmentConnectionString(envVarName, new IResourceWithConnectionString(resource.getHandle(), resource.getClient()));
- }
-
/** Adds arguments */
public ExecutableResource withArgs(String[] args) {
Map reqArgs = new HashMap<>();
@@ -10415,6 +10368,22 @@ public class IDistributedApplicationResourceEvent extends HandleWrapperBase {
}
+// ===== IEnvironmentValue.java =====
+// IEnvironmentValue.java - GENERATED CODE - DO NOT EDIT
+
+package aspire;
+
+import java.util.*;
+import java.util.function.*;
+
+/** Wrapper for Aspire.Hosting/Aspire.Hosting.ApplicationModel.IEnvironmentValue. */
+public class IEnvironmentValue extends HandleWrapperBase {
+ IEnvironmentValue(Handle handle, AspireClient client) {
+ super(handle, client);
+ }
+
+}
+
// ===== IHostEnvironment.java =====
// IHostEnvironment.java - GENERATED CODE - DO NOT EDIT
@@ -12470,23 +12439,45 @@ public ProjectResource withRequiredCommand(String command, String helpLink) {
return this;
}
- /** Sets an environment variable */
public ProjectResource withEnvironment(String name, String value) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("value", AspireClient.serializeValue(value));
- getClient().invokeCapability("Aspire.Hosting/withEnvironment", reqArgs);
- return this;
+ 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, IEnvironmentValue value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public ProjectResource withEnvironment(String name, HandleWrapperBase value) {
+ return withEnvironment(name, new IEnvironmentValue(value.getHandle(), value.getClient()));
}
- /** Adds an environment variable with a reference expression */
- public ProjectResource withEnvironmentExpression(String name, ReferenceExpression value) {
+ /** 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));
reqArgs.put("value", AspireClient.serializeValue(value));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentExpression", reqArgs);
+ getClient().invokeCapability("Aspire.Hosting/withEnvironment", reqArgs);
return this;
}
@@ -12506,40 +12497,6 @@ public ProjectResource withEnvironmentCallback(AspireAction1 reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("endpointReference", AspireClient.serializeValue(endpointReference));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentEndpoint", reqArgs);
- return this;
- }
-
- /** Sets an environment variable from a parameter resource */
- public ProjectResource withEnvironmentParameter(String name, ParameterResource parameter) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("parameter", AspireClient.serializeValue(parameter));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentParameter", reqArgs);
- return this;
- }
-
- /** Sets an environment variable from a connection string resource */
- public ProjectResource withEnvironmentConnectionString(String envVarName, IResourceWithConnectionString resource) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("envVarName", AspireClient.serializeValue(envVarName));
- reqArgs.put("resource", AspireClient.serializeValue(resource));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentConnectionString", reqArgs);
- return this;
- }
-
- public ProjectResource withEnvironmentConnectionString(String envVarName, ResourceBuilderBase resource) {
- return withEnvironmentConnectionString(envVarName, new IResourceWithConnectionString(resource.getHandle(), resource.getClient()));
- }
-
/** Adds arguments */
public ProjectResource withArgs(String[] args) {
Map reqArgs = new HashMap<>();
@@ -14785,23 +14742,45 @@ public TestDatabaseResource withRequiredCommand(String command, String helpLink)
return this;
}
- /** Sets an environment variable */
public TestDatabaseResource withEnvironment(String name, String value) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("value", AspireClient.serializeValue(value));
- getClient().invokeCapability("Aspire.Hosting/withEnvironment", reqArgs);
- return this;
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestDatabaseResource withEnvironment(String name, ReferenceExpression value) {
+ return withEnvironment(name, AspireUnion.of(value));
}
- /** Adds an environment variable with a reference expression */
- public TestDatabaseResource withEnvironmentExpression(String name, ReferenceExpression 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, IEnvironmentValue value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestDatabaseResource withEnvironment(String name, HandleWrapperBase value) {
+ return withEnvironment(name, new IEnvironmentValue(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));
reqArgs.put("value", AspireClient.serializeValue(value));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentExpression", reqArgs);
+ getClient().invokeCapability("Aspire.Hosting/withEnvironment", reqArgs);
return this;
}
@@ -14821,40 +14800,6 @@ public TestDatabaseResource withEnvironmentCallback(AspireAction1 reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("endpointReference", AspireClient.serializeValue(endpointReference));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentEndpoint", reqArgs);
- return this;
- }
-
- /** Sets an environment variable from a parameter resource */
- public TestDatabaseResource withEnvironmentParameter(String name, ParameterResource parameter) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("parameter", AspireClient.serializeValue(parameter));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentParameter", reqArgs);
- return this;
- }
-
- /** Sets an environment variable from a connection string resource */
- public TestDatabaseResource withEnvironmentConnectionString(String envVarName, IResourceWithConnectionString resource) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("envVarName", AspireClient.serializeValue(envVarName));
- reqArgs.put("resource", AspireClient.serializeValue(resource));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentConnectionString", reqArgs);
- return this;
- }
-
- public TestDatabaseResource withEnvironmentConnectionString(String envVarName, ResourceBuilderBase resource) {
- return withEnvironmentConnectionString(envVarName, new IResourceWithConnectionString(resource.getHandle(), resource.getClient()));
- }
-
/** Adds arguments */
public TestDatabaseResource withArgs(String[] args) {
Map reqArgs = new HashMap<>();
@@ -16412,23 +16357,45 @@ public TestRedisResource withRequiredCommand(String command, String helpLink) {
return this;
}
- /** Sets an environment variable */
public TestRedisResource withEnvironment(String name, String value) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("value", AspireClient.serializeValue(value));
- getClient().invokeCapability("Aspire.Hosting/withEnvironment", reqArgs);
- return this;
+ 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, IEnvironmentValue value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestRedisResource withEnvironment(String name, HandleWrapperBase value) {
+ return withEnvironment(name, new IEnvironmentValue(value.getHandle(), value.getClient()));
}
- /** Adds an environment variable with a reference expression */
- public TestRedisResource withEnvironmentExpression(String name, ReferenceExpression value) {
+ /** 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));
reqArgs.put("value", AspireClient.serializeValue(value));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentExpression", reqArgs);
+ getClient().invokeCapability("Aspire.Hosting/withEnvironment", reqArgs);
return this;
}
@@ -16448,40 +16415,6 @@ public TestRedisResource withEnvironmentCallback(AspireAction1 reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("endpointReference", AspireClient.serializeValue(endpointReference));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentEndpoint", reqArgs);
- return this;
- }
-
- /** Sets an environment variable from a parameter resource */
- public TestRedisResource withEnvironmentParameter(String name, ParameterResource parameter) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("parameter", AspireClient.serializeValue(parameter));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentParameter", reqArgs);
- return this;
- }
-
- /** Sets an environment variable from a connection string resource */
- public TestRedisResource withEnvironmentConnectionString(String envVarName, IResourceWithConnectionString resource) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("envVarName", AspireClient.serializeValue(envVarName));
- reqArgs.put("resource", AspireClient.serializeValue(resource));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentConnectionString", reqArgs);
- return this;
- }
-
- public TestRedisResource withEnvironmentConnectionString(String envVarName, ResourceBuilderBase resource) {
- return withEnvironmentConnectionString(envVarName, new IResourceWithConnectionString(resource.getHandle(), resource.getClient()));
- }
-
/** Adds a connection property with a reference expression */
public TestRedisResource withConnectionProperty(String name, ReferenceExpression value) {
Map reqArgs = new HashMap<>();
@@ -18176,23 +18109,45 @@ public TestVaultResource withRequiredCommand(String command, String helpLink) {
return this;
}
- /** Sets an environment variable */
public TestVaultResource withEnvironment(String name, String value) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("value", AspireClient.serializeValue(value));
- getClient().invokeCapability("Aspire.Hosting/withEnvironment", reqArgs);
- return this;
+ 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));
}
- /** Adds an environment variable with a reference expression */
- public TestVaultResource withEnvironmentExpression(String name, ReferenceExpression 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, IEnvironmentValue value) {
+ return withEnvironment(name, AspireUnion.of(value));
+ }
+
+ public TestVaultResource withEnvironment(String name, HandleWrapperBase value) {
+ return withEnvironment(name, new IEnvironmentValue(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));
reqArgs.put("value", AspireClient.serializeValue(value));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentExpression", reqArgs);
+ getClient().invokeCapability("Aspire.Hosting/withEnvironment", reqArgs);
return this;
}
@@ -18212,40 +18167,6 @@ public TestVaultResource withEnvironmentCallback(AspireAction1 reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("endpointReference", AspireClient.serializeValue(endpointReference));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentEndpoint", reqArgs);
- return this;
- }
-
- /** Sets an environment variable from a parameter resource */
- public TestVaultResource withEnvironmentParameter(String name, ParameterResource parameter) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("name", AspireClient.serializeValue(name));
- reqArgs.put("parameter", AspireClient.serializeValue(parameter));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentParameter", reqArgs);
- return this;
- }
-
- /** Sets an environment variable from a connection string resource */
- public TestVaultResource withEnvironmentConnectionString(String envVarName, IResourceWithConnectionString resource) {
- Map reqArgs = new HashMap<>();
- reqArgs.put("builder", AspireClient.serializeValue(getHandle()));
- reqArgs.put("envVarName", AspireClient.serializeValue(envVarName));
- reqArgs.put("resource", AspireClient.serializeValue(resource));
- getClient().invokeCapability("Aspire.Hosting/withEnvironmentConnectionString", reqArgs);
- return this;
- }
-
- public TestVaultResource withEnvironmentConnectionString(String envVarName, ResourceBuilderBase resource) {
- return withEnvironmentConnectionString(envVarName, new IResourceWithConnectionString(resource.getHandle(), resource.getClient()));
- }
-
/** Adds arguments */
public TestVaultResource withArgs(String[] args) {
Map reqArgs = new HashMap<>();
@@ -20117,6 +20038,7 @@ public WithVolumeOptions isReadOnly(Boolean value) {
.modules/IDistributedApplicationEvent.java
.modules/IDistributedApplicationEventing.java
.modules/IDistributedApplicationResourceEvent.java
+.modules/IEnvironmentValue.java
.modules/IHostEnvironment.java
.modules/ILogger.java
.modules/ILoggerFactory.java
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..8e9aebee1e3 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,9 @@ def unsubscribe(self, subscription: DistributedApplicationEventSubscription) ->
class AbstractDistributedApplicationResourceEvent(abc.ABC):
"""Abstract base class for AbstractDistributedApplicationResourceEvent."""
+class AbstractEnvironmentValue(abc.ABC):
+ """Abstract base class for AbstractEnvironmentValue."""
+
class AbstractHostEnvironment:
"""Type class for AbstractHostEnvironment."""
@@ -4845,29 +4848,13 @@ 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 | AbstractEnvironmentValue) -> 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_endpoint(self, name: str, endpoint_reference: EndpointReference) -> typing.Self:
- """Sets an environment variable from an endpoint reference"""
-
- @abc.abstractmethod
- def with_env_parameter(self, name: str, parameter: ParameterResource) -> typing.Self:
- """Sets an environment variable from a parameter resource"""
-
- @abc.abstractmethod
- def with_env_connection_string(self, env_var_name: str, resource: AbstractResourceWithConnectionString) -> typing.Self:
- """Sets an environment variable from a connection string resource"""
-
@abc.abstractmethod
def with_reference(self, source: AbstractResource, *, connection_name: str | None = None, optional: bool = False, name: str | None = None) -> typing.Self:
"""Adds a reference to another resource"""
@@ -6049,12 +6036,8 @@ 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 | AbstractEnvironmentValue]
env_callback: typing.Callable[[EnvironmentCallbackContext], None]
- env_endpoint: tuple[str, EndpointReference]
- env_parameter: tuple[str, ParameterResource]
- env_connection_string: tuple[str, AbstractResourceWithConnectionString]
args: typing.Iterable[str]
args_callback: typing.Callable[[CommandLineArgsCallbackContext], None]
reference: AbstractResource | ReferenceParameters
@@ -6312,7 +6295,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 | AbstractEnvironmentValue) -> typing.Self:
"""Sets an environment variable"""
rpc_args: dict[str, typing.Any] = {'builder': self._handle}
rpc_args['name'] = name
@@ -6324,18 +6307,6 @@ 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"""
- rpc_args: dict[str, typing.Any] = {'builder': self._handle}
- rpc_args['name'] = name
- rpc_args['value'] = value
- result = self._client.invoke_capability(
- 'Aspire.Hosting/withEnvironmentExpression',
- 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"""
rpc_args: dict[str, typing.Any] = {'builder': self._handle}
@@ -6347,42 +6318,6 @@ def with_env_callback(self, callback: typing.Callable[[EnvironmentCallbackContex
self._handle = self._wrap_builder(result)
return self
- def with_env_endpoint(self, name: str, endpoint_reference: EndpointReference) -> typing.Self:
- """Sets an environment variable from an endpoint reference"""
- rpc_args: dict[str, typing.Any] = {'builder': self._handle}
- rpc_args['name'] = name
- rpc_args['endpointReference'] = endpoint_reference
- result = self._client.invoke_capability(
- 'Aspire.Hosting/withEnvironmentEndpoint',
- rpc_args,
- )
- self._handle = self._wrap_builder(result)
- return self
-
- def with_env_parameter(self, name: str, parameter: ParameterResource) -> typing.Self:
- """Sets an environment variable from a parameter resource"""
- rpc_args: dict[str, typing.Any] = {'builder': self._handle}
- rpc_args['name'] = name
- rpc_args['parameter'] = parameter
- result = self._client.invoke_capability(
- 'Aspire.Hosting/withEnvironmentParameter',
- rpc_args,
- )
- self._handle = self._wrap_builder(result)
- return self
-
- def with_env_connection_string(self, env_var_name: str, resource: AbstractResourceWithConnectionString) -> typing.Self:
- """Sets an environment variable from a connection string resource"""
- rpc_args: dict[str, typing.Any] = {'builder': self._handle}
- rpc_args['envVarName'] = env_var_name
- rpc_args['resource'] = resource
- result = self._client.invoke_capability(
- 'Aspire.Hosting/withEnvironmentConnectionString',
- rpc_args,
- )
- self._handle = self._wrap_builder(result)
- return self
-
def with_args(self, args: typing.Iterable[str]) -> typing.Self:
"""Adds arguments"""
rpc_args: dict[str, typing.Any] = {'builder': self._handle}
@@ -6920,21 +6855,13 @@ 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 | AbstractEnvironmentValue)):
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 | AbstractEnvironmentValue], _env)[0]
+ rpc_args["value"] = typing.cast(tuple[str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractEnvironmentValue], _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)")
- if _env_expression := kwargs.pop("env_expression", None):
- if _validate_tuple_types(_env_expression, (str, ReferenceExpression)):
- rpc_args: dict[str, typing.Any] = {"builder": handle}
- rpc_args["name"] = typing.cast(tuple[str, ReferenceExpression], _env_expression)[0]
- rpc_args["value"] = typing.cast(tuple[str, ReferenceExpression], _env_expression)[1]
- handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentExpression', rpc_args))
- else:
- raise TypeError("Invalid type for option 'env_expression'. Expected: (str, ReferenceExpression)")
+ raise TypeError("Invalid type for option 'env'. Expected: (str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractEnvironmentValue)")
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}
@@ -6942,30 +6869,6 @@ def __init__(self, handle: Handle, client: AspireClient, **kwargs: typing.Unpack
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}
- rpc_args["name"] = typing.cast(tuple[str, EndpointReference], _env_endpoint)[0]
- rpc_args["endpointReference"] = typing.cast(tuple[str, EndpointReference], _env_endpoint)[1]
- handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentEndpoint', rpc_args))
- else:
- raise TypeError("Invalid type for option 'env_endpoint'. Expected: (str, EndpointReference)")
- if _env_parameter := kwargs.pop("env_parameter", None):
- if _validate_tuple_types(_env_parameter, (str, ParameterResource)):
- rpc_args: dict[str, typing.Any] = {"builder": handle}
- rpc_args["name"] = typing.cast(tuple[str, ParameterResource], _env_parameter)[0]
- rpc_args["parameter"] = typing.cast(tuple[str, ParameterResource], _env_parameter)[1]
- handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentParameter', rpc_args))
- else:
- raise TypeError("Invalid type for option 'env_parameter'. Expected: (str, ParameterResource)")
- if _env_connection_string := kwargs.pop("env_connection_string", None):
- if _validate_tuple_types(_env_connection_string, (str, AbstractResourceWithConnectionString)):
- rpc_args: dict[str, typing.Any] = {"builder": handle}
- rpc_args["envVarName"] = typing.cast(tuple[str, AbstractResourceWithConnectionString], _env_connection_string)[0]
- rpc_args["resource"] = typing.cast(tuple[str, AbstractResourceWithConnectionString], _env_connection_string)[1]
- handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentConnectionString', rpc_args))
- else:
- raise TypeError("Invalid type for option 'env_connection_string'. Expected: (str, AbstractResourceWithConnectionString)")
if _args := kwargs.pop("args", None):
if _validate_type(_args, typing.Iterable[str]):
rpc_args: dict[str, typing.Any] = {"builder": handle}
@@ -7236,12 +7139,8 @@ 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 | AbstractEnvironmentValue]
env_callback: typing.Callable[[EnvironmentCallbackContext], None]
- env_endpoint: tuple[str, EndpointReference]
- env_parameter: tuple[str, ParameterResource]
- env_connection_string: tuple[str, AbstractResourceWithConnectionString]
args: typing.Iterable[str]
args_callback: typing.Callable[[CommandLineArgsCallbackContext], None]
reference: AbstractResource | ReferenceParameters
@@ -7336,7 +7235,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 | AbstractEnvironmentValue) -> typing.Self:
"""Sets an environment variable"""
rpc_args: dict[str, typing.Any] = {'builder': self._handle}
rpc_args['name'] = name
@@ -7348,18 +7247,6 @@ 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"""
- rpc_args: dict[str, typing.Any] = {'builder': self._handle}
- rpc_args['name'] = name
- rpc_args['value'] = value
- result = self._client.invoke_capability(
- 'Aspire.Hosting/withEnvironmentExpression',
- 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"""
rpc_args: dict[str, typing.Any] = {'builder': self._handle}
@@ -7371,42 +7258,6 @@ def with_env_callback(self, callback: typing.Callable[[EnvironmentCallbackContex
self._handle = self._wrap_builder(result)
return self
- def with_env_endpoint(self, name: str, endpoint_reference: EndpointReference) -> typing.Self:
- """Sets an environment variable from an endpoint reference"""
- rpc_args: dict[str, typing.Any] = {'builder': self._handle}
- rpc_args['name'] = name
- rpc_args['endpointReference'] = endpoint_reference
- result = self._client.invoke_capability(
- 'Aspire.Hosting/withEnvironmentEndpoint',
- rpc_args,
- )
- self._handle = self._wrap_builder(result)
- return self
-
- def with_env_parameter(self, name: str, parameter: ParameterResource) -> typing.Self:
- """Sets an environment variable from a parameter resource"""
- rpc_args: dict[str, typing.Any] = {'builder': self._handle}
- rpc_args['name'] = name
- rpc_args['parameter'] = parameter
- result = self._client.invoke_capability(
- 'Aspire.Hosting/withEnvironmentParameter',
- rpc_args,
- )
- self._handle = self._wrap_builder(result)
- return self
-
- def with_env_connection_string(self, env_var_name: str, resource: AbstractResourceWithConnectionString) -> typing.Self:
- """Sets an environment variable from a connection string resource"""
- rpc_args: dict[str, typing.Any] = {'builder': self._handle}
- rpc_args['envVarName'] = env_var_name
- rpc_args['resource'] = resource
- result = self._client.invoke_capability(
- 'Aspire.Hosting/withEnvironmentConnectionString',
- rpc_args,
- )
- self._handle = self._wrap_builder(result)
- return self
-
def with_args(self, args: typing.Iterable[str]) -> typing.Self:
"""Adds arguments"""
rpc_args: dict[str, typing.Any] = {'builder': self._handle}
@@ -7827,21 +7678,13 @@ 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 | AbstractEnvironmentValue)):
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 | AbstractEnvironmentValue], _env)[0]
+ rpc_args["value"] = typing.cast(tuple[str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractEnvironmentValue], _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)")
- if _env_expression := kwargs.pop("env_expression", None):
- if _validate_tuple_types(_env_expression, (str, ReferenceExpression)):
- rpc_args: dict[str, typing.Any] = {"builder": handle}
- rpc_args["name"] = typing.cast(tuple[str, ReferenceExpression], _env_expression)[0]
- rpc_args["value"] = typing.cast(tuple[str, ReferenceExpression], _env_expression)[1]
- handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentExpression', rpc_args))
- else:
- raise TypeError("Invalid type for option 'env_expression'. Expected: (str, ReferenceExpression)")
+ raise TypeError("Invalid type for option 'env'. Expected: (str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractEnvironmentValue)")
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}
@@ -7849,30 +7692,6 @@ def __init__(self, handle: Handle, client: AspireClient, **kwargs: typing.Unpack
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}
- rpc_args["name"] = typing.cast(tuple[str, EndpointReference], _env_endpoint)[0]
- rpc_args["endpointReference"] = typing.cast(tuple[str, EndpointReference], _env_endpoint)[1]
- handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentEndpoint', rpc_args))
- else:
- raise TypeError("Invalid type for option 'env_endpoint'. Expected: (str, EndpointReference)")
- if _env_parameter := kwargs.pop("env_parameter", None):
- if _validate_tuple_types(_env_parameter, (str, ParameterResource)):
- rpc_args: dict[str, typing.Any] = {"builder": handle}
- rpc_args["name"] = typing.cast(tuple[str, ParameterResource], _env_parameter)[0]
- rpc_args["parameter"] = typing.cast(tuple[str, ParameterResource], _env_parameter)[1]
- handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentParameter', rpc_args))
- else:
- raise TypeError("Invalid type for option 'env_parameter'. Expected: (str, ParameterResource)")
- if _env_connection_string := kwargs.pop("env_connection_string", None):
- if _validate_tuple_types(_env_connection_string, (str, AbstractResourceWithConnectionString)):
- rpc_args: dict[str, typing.Any] = {"builder": handle}
- rpc_args["envVarName"] = typing.cast(tuple[str, AbstractResourceWithConnectionString], _env_connection_string)[0]
- rpc_args["resource"] = typing.cast(tuple[str, AbstractResourceWithConnectionString], _env_connection_string)[1]
- handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentConnectionString', rpc_args))
- else:
- raise TypeError("Invalid type for option 'env_connection_string'. Expected: (str, AbstractResourceWithConnectionString)")
if _args := kwargs.pop("args", None):
if _validate_type(_args, typing.Iterable[str]):
rpc_args: dict[str, typing.Any] = {"builder": handle}
@@ -8152,12 +7971,8 @@ 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 | AbstractEnvironmentValue]
env_callback: typing.Callable[[EnvironmentCallbackContext], None]
- env_endpoint: tuple[str, EndpointReference]
- env_parameter: tuple[str, ParameterResource]
- env_connection_string: tuple[str, AbstractResourceWithConnectionString]
args: typing.Iterable[str]
args_callback: typing.Callable[[CommandLineArgsCallbackContext], None]
reference: AbstractResource | ReferenceParameters
@@ -8253,7 +8068,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 | AbstractEnvironmentValue) -> typing.Self:
"""Sets an environment variable"""
rpc_args: dict[str, typing.Any] = {'builder': self._handle}
rpc_args['name'] = name
@@ -8265,18 +8080,6 @@ 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"""
- rpc_args: dict[str, typing.Any] = {'builder': self._handle}
- rpc_args['name'] = name
- rpc_args['value'] = value
- result = self._client.invoke_capability(
- 'Aspire.Hosting/withEnvironmentExpression',
- 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"""
rpc_args: dict[str, typing.Any] = {'builder': self._handle}
@@ -8288,42 +8091,6 @@ def with_env_callback(self, callback: typing.Callable[[EnvironmentCallbackContex
self._handle = self._wrap_builder(result)
return self
- def with_env_endpoint(self, name: str, endpoint_reference: EndpointReference) -> typing.Self:
- """Sets an environment variable from an endpoint reference"""
- rpc_args: dict[str, typing.Any] = {'builder': self._handle}
- rpc_args['name'] = name
- rpc_args['endpointReference'] = endpoint_reference
- result = self._client.invoke_capability(
- 'Aspire.Hosting/withEnvironmentEndpoint',
- rpc_args,
- )
- self._handle = self._wrap_builder(result)
- return self
-
- def with_env_parameter(self, name: str, parameter: ParameterResource) -> typing.Self:
- """Sets an environment variable from a parameter resource"""
- rpc_args: dict[str, typing.Any] = {'builder': self._handle}
- rpc_args['name'] = name
- rpc_args['parameter'] = parameter
- result = self._client.invoke_capability(
- 'Aspire.Hosting/withEnvironmentParameter',
- rpc_args,
- )
- self._handle = self._wrap_builder(result)
- return self
-
- def with_env_connection_string(self, env_var_name: str, resource: AbstractResourceWithConnectionString) -> typing.Self:
- """Sets an environment variable from a connection string resource"""
- rpc_args: dict[str, typing.Any] = {'builder': self._handle}
- rpc_args['envVarName'] = env_var_name
- rpc_args['resource'] = resource
- result = self._client.invoke_capability(
- 'Aspire.Hosting/withEnvironmentConnectionString',
- rpc_args,
- )
- self._handle = self._wrap_builder(result)
- return self
-
def with_args(self, args: typing.Iterable[str]) -> typing.Self:
"""Adds arguments"""
rpc_args: dict[str, typing.Any] = {'builder': self._handle}
@@ -8733,21 +8500,13 @@ 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 | AbstractEnvironmentValue)):
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 | AbstractEnvironmentValue], _env)[0]
+ rpc_args["value"] = typing.cast(tuple[str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractEnvironmentValue], _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)")
- if _env_expression := kwargs.pop("env_expression", None):
- if _validate_tuple_types(_env_expression, (str, ReferenceExpression)):
- rpc_args: dict[str, typing.Any] = {"builder": handle}
- rpc_args["name"] = typing.cast(tuple[str, ReferenceExpression], _env_expression)[0]
- rpc_args["value"] = typing.cast(tuple[str, ReferenceExpression], _env_expression)[1]
- handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentExpression', rpc_args))
- else:
- raise TypeError("Invalid type for option 'env_expression'. Expected: (str, ReferenceExpression)")
+ raise TypeError("Invalid type for option 'env'. Expected: (str, str | ReferenceExpression | EndpointReference | ParameterResource | AbstractResourceWithConnectionString | AbstractEnvironmentValue)")
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}
@@ -8755,30 +8514,6 @@ def __init__(self, handle: Handle, client: AspireClient, **kwargs: typing.Unpack
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}
- rpc_args["name"] = typing.cast(tuple[str, EndpointReference], _env_endpoint)[0]
- rpc_args["endpointReference"] = typing.cast(tuple[str, EndpointReference], _env_endpoint)[1]
- handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentEndpoint', rpc_args))
- else:
- raise TypeError("Invalid type for option 'env_endpoint'. Expected: (str, EndpointReference)")
- if _env_parameter := kwargs.pop("env_parameter", None):
- if _validate_tuple_types(_env_parameter, (str, ParameterResource)):
- rpc_args: dict[str, typing.Any] = {"builder": handle}
- rpc_args["name"] = typing.cast(tuple[str, ParameterResource], _env_parameter)[0]
- rpc_args["parameter"] = typing.cast(tuple[str, ParameterResource], _env_parameter)[1]
- handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentParameter', rpc_args))
- else:
- raise TypeError("Invalid type for option 'env_parameter'. Expected: (str, ParameterResource)")
- if _env_connection_string := kwargs.pop("env_connection_string", None):
- if _validate_tuple_types(_env_connection_string, (str, AbstractResourceWithConnectionString)):
- rpc_args: dict[str, typing.Any] = {"builder": handle}
- rpc_args["envVarName"] = typing.cast(tuple[str, AbstractResourceWithConnectionString], _env_connection_string)[0]
- rpc_args["resource"] = typing.cast(tuple[str, AbstractResourceWithConnectionString], _env_connection_string)[1]
- handle = self._wrap_builder(client.invoke_capability('Aspire.Hosting/withEnvironmentConnectionString', rpc_args))
- else:
- raise TypeError("Invalid type for option 'env_connection_string'. Expected: (str, AbstractResourceWithConnectionString)")
if _args := kwargs.pop("args", None):
if _validate_type(_args, typing.Iterable[str]):
rpc_args: dict[str, typing.Any] = {"builder": handle}
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..6b4f11b2a84 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,17 +869,6 @@ impl CSharpAppResource {
Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
}
- /// Adds an environment variable with 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());
- args.insert("name".to_string(), serde_json::to_value(&name).unwrap_or(Value::Null));
- args.insert("value".to_string(), serde_json::to_value(&value).unwrap_or(Value::Null));
- let result = self.client.invoke_capability("Aspire.Hosting/withEnvironmentExpression", args)?;
- let handle: Handle = serde_json::from_value(result)?;
- Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
- }
-
/// Sets environment variables via callback
pub fn with_environment_callback(&self, callback: impl Fn(Vec) -> Value + Send + Sync + 'static) -> Result> {
let mut args: HashMap = HashMap::new();
@@ -891,39 +880,6 @@ impl CSharpAppResource {
Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
}
- /// Sets an environment variable from an endpoint reference
- pub fn with_environment_endpoint(&self, name: &str, endpoint_reference: &EndpointReference) -> 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));
- args.insert("endpointReference".to_string(), endpoint_reference.handle().to_json());
- let result = self.client.invoke_capability("Aspire.Hosting/withEnvironmentEndpoint", args)?;
- let handle: Handle = serde_json::from_value(result)?;
- Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
- }
-
- /// Sets an environment variable from a parameter resource
- pub fn with_environment_parameter(&self, name: &str, parameter: &ParameterResource) -> 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));
- args.insert("parameter".to_string(), parameter.handle().to_json());
- let result = self.client.invoke_capability("Aspire.Hosting/withEnvironmentParameter", args)?;
- let handle: Handle = serde_json::from_value(result)?;
- Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
- }
-
- /// Sets an environment variable from a connection string resource
- pub fn with_environment_connection_string(&self, env_var_name: &str, resource: &IResourceWithConnectionString) -> Result> {
- let mut args: HashMap = HashMap::new();
- args.insert("builder".to_string(), self.handle.to_json());
- args.insert("envVarName".to_string(), serde_json::to_value(&env_var_name).unwrap_or(Value::Null));
- args.insert("resource".to_string(), resource.handle().to_json());
- let result = self.client.invoke_capability("Aspire.Hosting/withEnvironmentConnectionString", args)?;
- let handle: Handle = serde_json::from_value(result)?;
- Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
- }
-
/// Adds arguments
pub fn with_args(&self, args: Vec) -> Result> {
let mut args: HashMap = HashMap::new();
@@ -3365,7 +3321,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,17 +3331,6 @@ impl ContainerResource {
Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
}
- /// Adds an environment variable with 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());
- args.insert("name".to_string(), serde_json::to_value(&name).unwrap_or(Value::Null));
- args.insert("value".to_string(), serde_json::to_value(&value).unwrap_or(Value::Null));
- let result = self.client.invoke_capability("Aspire.Hosting/withEnvironmentExpression", args)?;
- let handle: Handle = serde_json::from_value(result)?;
- Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
- }
-
/// Sets environment variables via callback
pub fn with_environment_callback(&self, callback: impl Fn(Vec) -> Value + Send + Sync + 'static) -> Result> {
let mut args: HashMap = HashMap::new();
@@ -3397,39 +3342,6 @@ impl ContainerResource {
Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
}
- /// Sets an environment variable from an endpoint reference
- pub fn with_environment_endpoint(&self, name: &str, endpoint_reference: &EndpointReference) -> 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));
- args.insert("endpointReference".to_string(), endpoint_reference.handle().to_json());
- let result = self.client.invoke_capability("Aspire.Hosting/withEnvironmentEndpoint", args)?;
- let handle: Handle = serde_json::from_value(result)?;
- Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
- }
-
- /// Sets an environment variable from a parameter resource
- pub fn with_environment_parameter(&self, name: &str, parameter: &ParameterResource) -> 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));
- args.insert("parameter".to_string(), parameter.handle().to_json());
- let result = self.client.invoke_capability("Aspire.Hosting/withEnvironmentParameter", args)?;
- let handle: Handle = serde_json::from_value(result)?;
- Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
- }
-
- /// Sets an environment variable from a connection string resource
- pub fn with_environment_connection_string(&self, env_var_name: &str, resource: &IResourceWithConnectionString) -> Result> {
- let mut args: HashMap = HashMap::new();
- args.insert("builder".to_string(), self.handle.to_json());
- args.insert("envVarName".to_string(), serde_json::to_value(&env_var_name).unwrap_or(Value::Null));
- args.insert("resource".to_string(), resource.handle().to_json());
- let result = self.client.invoke_capability("Aspire.Hosting/withEnvironmentConnectionString", args)?;
- let handle: Handle = serde_json::from_value(result)?;
- Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
- }
-
/// Adds arguments
pub fn with_args(&self, args: Vec) -> Result> {
let mut args: HashMap = HashMap::new();
@@ -4733,7 +4645,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,17 +4655,6 @@ impl DotnetToolResource {
Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
}
- /// Adds an environment variable with 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());
- args.insert("name".to_string(), serde_json::to_value(&name).unwrap_or(Value::Null));
- args.insert("value".to_string(), serde_json::to_value(&value).unwrap_or(Value::Null));
- let result = self.client.invoke_capability("Aspire.Hosting/withEnvironmentExpression", args)?;
- let handle: Handle = serde_json::from_value(result)?;
- Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
- }
-
/// Sets environment variables via callback
pub fn with_environment_callback(&self, callback: impl Fn(Vec) -> Value + Send + Sync + 'static) -> Result> {
let mut args: HashMap = HashMap::new();
@@ -4765,39 +4666,6 @@ impl DotnetToolResource {
Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
}
- /// Sets an environment variable from an endpoint reference
- pub fn with_environment_endpoint(&self, name: &str, endpoint_reference: &EndpointReference) -> 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));
- args.insert("endpointReference".to_string(), endpoint_reference.handle().to_json());
- let result = self.client.invoke_capability("Aspire.Hosting/withEnvironmentEndpoint", args)?;
- let handle: Handle = serde_json::from_value(result)?;
- Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
- }
-
- /// Sets an environment variable from a parameter resource
- pub fn with_environment_parameter(&self, name: &str, parameter: &ParameterResource) -> 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));
- args.insert("parameter".to_string(), parameter.handle().to_json());
- let result = self.client.invoke_capability("Aspire.Hosting/withEnvironmentParameter", args)?;
- let handle: Handle = serde_json::from_value(result)?;
- Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
- }
-
- /// Sets an environment variable from a connection string resource
- pub fn with_environment_connection_string(&self, env_var_name: &str, resource: &IResourceWithConnectionString) -> Result> {
- let mut args: HashMap = HashMap::new();
- args.insert("builder".to_string(), self.handle.to_json());
- args.insert("envVarName".to_string(), serde_json::to_value(&env_var_name).unwrap_or(Value::Null));
- args.insert("resource".to_string(), resource.handle().to_json());
- let result = self.client.invoke_capability("Aspire.Hosting/withEnvironmentConnectionString", args)?;
- let handle: Handle = serde_json::from_value(result)?;
- Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
- }
-
/// Adds arguments
pub fn with_args(&self, args: Vec) -> Result> {
let mut args: HashMap = HashMap::new();
@@ -6089,7 +5957,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,17 +5967,6 @@ impl ExecutableResource {
Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
}
- /// Adds an environment variable with 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());
- args.insert("name".to_string(), serde_json::to_value(&name).unwrap_or(Value::Null));
- args.insert("value".to_string(), serde_json::to_value(&value).unwrap_or(Value::Null));
- let result = self.client.invoke_capability("Aspire.Hosting/withEnvironmentExpression", args)?;
- let handle: Handle = serde_json::from_value(result)?;
- Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
- }
-
/// Sets environment variables via callback
pub fn with_environment_callback(&self, callback: impl Fn(Vec) -> Value + Send + Sync + 'static) -> Result> {
let mut args: HashMap = HashMap::new();
@@ -6121,39 +5978,6 @@ impl ExecutableResource {
Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
}
- /// Sets an environment variable from an endpoint reference
- pub fn with_environment_endpoint(&self, name: &str, endpoint_reference: &EndpointReference) -> 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));
- args.insert("endpointReference".to_string(), endpoint_reference.handle().to_json());
- let result = self.client.invoke_capability("Aspire.Hosting/withEnvironmentEndpoint", args)?;
- let handle: Handle = serde_json::from_value(result)?;
- Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
- }
-
- /// Sets an environment variable from a parameter resource
- pub fn with_environment_parameter(&self, name: &str, parameter: &ParameterResource) -> 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));
- args.insert("parameter".to_string(), parameter.handle().to_json());
- let result = self.client.invoke_capability("Aspire.Hosting/withEnvironmentParameter", args)?;
- let handle: Handle = serde_json::from_value(result)?;
- Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
- }
-
- /// Sets an environment variable from a connection string resource
- pub fn with_environment_connection_string(&self, env_var_name: &str, resource: &IResourceWithConnectionString) -> Result> {
- let mut args: HashMap = HashMap::new();
- args.insert("builder".to_string(), self.handle.to_json());
- args.insert("envVarName".to_string(), serde_json::to_value(&env_var_name).unwrap_or(Value::Null));
- args.insert("resource".to_string(), resource.handle().to_json());
- let result = self.client.invoke_capability("Aspire.Hosting/withEnvironmentConnectionString", args)?;
- let handle: Handle = serde_json::from_value(result)?;
- Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
- }
-
/// Adds arguments
pub fn with_args(&self, args: Vec) -> Result> {
let mut args: HashMap = HashMap::new();
@@ -8248,6 +8072,32 @@ impl IDistributedApplicationResourceEvent {
}
}
+/// Wrapper for Aspire.Hosting/Aspire.Hosting.ApplicationModel.IEnvironmentValue
+pub struct IEnvironmentValue {
+ handle: Handle,
+ client: Arc,
+}
+
+impl HasHandle for IEnvironmentValue {
+ fn handle(&self) -> &Handle {
+ &self.handle
+ }
+}
+
+impl IEnvironmentValue {
+ 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 +10165,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,17 +10175,6 @@ impl ProjectResource {
Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
}
- /// Adds an environment variable with 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());
- args.insert("name".to_string(), serde_json::to_value(&name).unwrap_or(Value::Null));
- args.insert("value".to_string(), serde_json::to_value(&value).unwrap_or(Value::Null));
- let result = self.client.invoke_capability("Aspire.Hosting/withEnvironmentExpression", args)?;
- let handle: Handle = serde_json::from_value(result)?;
- Ok(IResourceWithEnvironment::new(handle, self.client.clone()))
- }
-
/// Sets environment variables via callback
pub fn with_environment_callback(&self, callback: impl Fn(Vec