diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 3bb20ddcfd8..d21795d872a 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -23,8 +23,6 @@ jobs:
if: ${{ github.repository_owner == 'microsoft' }}
outputs:
skip_workflow: ${{ (steps.check_for_changes.outputs.no_changes == 'true' || steps.check_for_changes.outputs.only_changed == 'true') && 'true' || 'false' }}
- VERSION_SUFFIX_OVERRIDE: ${{ steps.compute_version_suffix.outputs.VERSION_SUFFIX_OVERRIDE }}
- EXTENSION_VERSION_OVERRIDE: ${{ steps.compute_version_suffix.outputs.EXTENSION_VERSION_OVERRIDE }}
steps:
- name: Checkout code
@@ -40,37 +38,11 @@ jobs:
with:
patterns_file: eng/testing/github-ci-trigger-patterns.txt
- - id: compute_version_suffix
- name: Compute version suffix for PRs
- if: ${{ github.event_name == 'pull_request' }}
- shell: pwsh
- env:
- # Use the pull request head SHA instead of GITHUB_SHA (which can be a merge commit)
- PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
- PR_NUMBER: ${{ github.event.number }}
- run: |
- Write-Host "Determining VERSION_SUFFIX_OVERRIDE (PR only step)..."
- if ([string]::IsNullOrWhiteSpace($Env:PR_HEAD_SHA)) {
- Write-Error "PR_HEAD_SHA not set; cannot compute version suffix."
- exit 1
- }
- $SHORT_SHA = $Env:PR_HEAD_SHA.Substring(0,8)
- $VERSION_SUFFIX = "/p:VersionSuffix=pr.$($Env:PR_NUMBER).g$SHORT_SHA"
- Write-Host "Computed VERSION_SUFFIX_OVERRIDE=$VERSION_SUFFIX"
- "VERSION_SUFFIX_OVERRIDE=$VERSION_SUFFIX" | Out-File -FilePath $Env:GITHUB_OUTPUT -Append -Encoding utf8
-
- $EXTENSION_VERSION = "99.0.$($Env:PR_NUMBER)"
- Write-Host "Computed EXTENSION_VERSION_OVERRIDE=$EXTENSION_VERSION"
- "EXTENSION_VERSION_OVERRIDE=$EXTENSION_VERSION" | Out-File -FilePath $Env:GITHUB_OUTPUT -Append -Encoding utf8
-
tests:
uses: ./.github/workflows/tests.yml
name: Tests
needs: [prepare_for_ci]
if: ${{ github.repository_owner == 'microsoft' && needs.prepare_for_ci.outputs.skip_workflow != 'true' }}
- with:
- versionOverrideArg: ${{ needs.prepare_for_ci.outputs.VERSION_SUFFIX_OVERRIDE }}
- extensionVersionOverride: ${{ needs.prepare_for_ci.outputs.EXTENSION_VERSION_OVERRIDE }}
# This job is used for branch protection. It fails if any of the dependent jobs failed
results:
diff --git a/.github/workflows/polyglot-validation/test-java-playground.sh b/.github/workflows/polyglot-validation/test-java-playground.sh
index c71b377d800..c06ef888ab1 100644
--- a/.github/workflows/polyglot-validation/test-java-playground.sh
+++ b/.github/workflows/polyglot-validation/test-java-playground.sh
@@ -57,10 +57,44 @@ echo ""
FAILED=()
PASSED=()
+SKIPPED=()
+
+# Packages that only produce prerelease versions (SuppressFinalPackageVersion=true) cannot be
+# restored when the build is stabilized, because aspire restore requests stable versions.
+# Skip these until the build infrastructure dynamically computes versions. See #15335.
+# The "Aspire.Hosting" entry is included because its aspire.config.json transitively depends on
+# Aspire.Hosting.Azure.Kubernetes, which is suppressed.
+SKIP_PREVIEW_ONLY=(
+ "Aspire.Hosting"
+ "Aspire.Hosting.Azure.Kusto"
+ "Aspire.Hosting.Foundry"
+ "Aspire.Hosting.Keycloak"
+ "Aspire.Hosting.Kubernetes"
+ "Aspire.Hosting.Maui"
+)
for app_dir in "${APP_DIRS[@]}"; do
integration_name="$(basename "$(dirname "$app_dir")")"
+ # Check if this integration is in the skip list
+ skip=false
+ for skip_pkg in "${SKIP_PREVIEW_ONLY[@]}"; do
+ if [ "$integration_name" = "$skip_pkg" ]; then
+ skip=true
+ break
+ fi
+ done
+
+ if [ "$skip" = true ]; then
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+ echo "Testing: $integration_name"
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+ echo " ⏭ Skipping (preview-only package, see #15335)"
+ SKIPPED+=("$integration_name")
+ echo ""
+ continue
+ fi
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Testing: $integration_name"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
@@ -104,7 +138,7 @@ done
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
-echo "Results: ${#PASSED[@]} passed, ${#FAILED[@]} failed out of ${#APP_DIRS[@]} AppHosts"
+echo "Results: ${#PASSED[@]} passed, ${#FAILED[@]} failed, ${#SKIPPED[@]} skipped out of ${#APP_DIRS[@]} AppHosts"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
if [ ${#FAILED[@]} -gt 0 ]; then
diff --git a/.github/workflows/polyglot-validation/test-python-playground.sh b/.github/workflows/polyglot-validation/test-python-playground.sh
index aa0dc30d00b..a5b73f64c2f 100755
--- a/.github/workflows/polyglot-validation/test-python-playground.sh
+++ b/.github/workflows/polyglot-validation/test-python-playground.sh
@@ -50,10 +50,44 @@ echo ""
FAILED=()
PASSED=()
+SKIPPED=()
+
+# Packages that only produce prerelease versions (SuppressFinalPackageVersion=true) cannot be
+# restored when the build is stabilized, because aspire restore requests stable versions.
+# Skip these until the build infrastructure dynamically computes versions. See #15335.
+# The "Aspire.Hosting" entry is included because its aspire.config.json transitively depends on
+# Aspire.Hosting.Azure.Kubernetes, which is suppressed.
+SKIP_PREVIEW_ONLY=(
+ "Aspire.Hosting"
+ "Aspire.Hosting.Azure.Kusto"
+ "Aspire.Hosting.Foundry"
+ "Aspire.Hosting.Keycloak"
+ "Aspire.Hosting.Kubernetes"
+ "Aspire.Hosting.Maui"
+)
for app_dir in "${APP_DIRS[@]}"; do
integration_name="$(basename "$(dirname "$app_dir")")"
+ # Check if this integration is in the skip list
+ skip=false
+ for skip_pkg in "${SKIP_PREVIEW_ONLY[@]}"; do
+ if [ "$integration_name" = "$skip_pkg" ]; then
+ skip=true
+ break
+ fi
+ done
+
+ if [ "$skip" = true ]; then
+ echo "----------------------------------------"
+ echo "Testing: $integration_name"
+ echo "----------------------------------------"
+ echo " -> Skipping (preview-only package, see #15335)"
+ SKIPPED+=("$integration_name")
+ echo ""
+ continue
+ fi
+
echo "----------------------------------------"
echo "Testing: $integration_name"
echo "----------------------------------------"
@@ -98,7 +132,7 @@ done
echo ""
echo "----------------------------------------"
-echo "Results: ${#PASSED[@]} passed, ${#FAILED[@]} failed out of ${#APP_DIRS[@]} AppHosts"
+echo "Results: ${#PASSED[@]} passed, ${#FAILED[@]} failed, ${#SKIPPED[@]} skipped out of ${#APP_DIRS[@]} AppHosts"
echo "----------------------------------------"
if [ ${#FAILED[@]} -gt 0 ]; then
diff --git a/.github/workflows/polyglot-validation/test-typescript-playground.sh b/.github/workflows/polyglot-validation/test-typescript-playground.sh
index 9a37073bcca..20f8a55945b 100644
--- a/.github/workflows/polyglot-validation/test-typescript-playground.sh
+++ b/.github/workflows/polyglot-validation/test-typescript-playground.sh
@@ -50,10 +50,42 @@ echo ""
FAILED=()
PASSED=()
+SKIPPED=()
+
+# Packages that only produce prerelease versions (SuppressFinalPackageVersion=true) cannot be
+# restored when the build is stabilized, because aspire restore requests stable versions.
+# Skip these until the build infrastructure dynamically computes versions. See #15335.
+SKIP_PREVIEW_ONLY=(
+ "Aspire.Hosting"
+ "Aspire.Hosting.Azure.Kusto"
+ "Aspire.Hosting.Foundry"
+ "Aspire.Hosting.Keycloak"
+ "Aspire.Hosting.Kubernetes"
+ "Aspire.Hosting.Maui"
+)
for app_dir in "${APP_DIRS[@]}"; do
integration_name="$(basename "$(dirname "$app_dir")")"
+ # Check if this integration is in the skip list
+ skip=false
+ for skip_pkg in "${SKIP_PREVIEW_ONLY[@]}"; do
+ if [ "$integration_name" = "$skip_pkg" ]; then
+ skip=true
+ break
+ fi
+ done
+
+ if [ "$skip" = true ]; then
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+ echo "Testing: $integration_name"
+ echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
+ echo " ⏭ Skipping (preview-only package, see #15335)"
+ SKIPPED+=("$integration_name")
+ echo ""
+ continue
+ fi
+
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo "Testing: $integration_name"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
@@ -93,7 +125,7 @@ done
echo ""
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
-echo "Results: ${#PASSED[@]} passed, ${#FAILED[@]} failed out of ${#APP_DIRS[@]} AppHosts"
+echo "Results: ${#PASSED[@]} passed, ${#FAILED[@]} failed, ${#SKIPPED[@]} skipped out of ${#APP_DIRS[@]} AppHosts"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
if [ ${#FAILED[@]} -gt 0 ]; then
diff --git a/eng/Versions.props b/eng/Versions.props
index b0841e52146..dc5befc4702 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -21,7 +21,7 @@
2.2.1
17.14.1
- false
+ true
release
diff --git a/src/Aspire.Hosting.Azure.AppConfiguration/api/Aspire.Hosting.Azure.AppConfiguration.cs b/src/Aspire.Hosting.Azure.AppConfiguration/api/Aspire.Hosting.Azure.AppConfiguration.cs
index 986ff101d18..f8b14093b9b 100644
--- a/src/Aspire.Hosting.Azure.AppConfiguration/api/Aspire.Hosting.Azure.AppConfiguration.cs
+++ b/src/Aspire.Hosting.Azure.AppConfiguration/api/Aspire.Hosting.Azure.AppConfiguration.cs
@@ -10,19 +10,19 @@ namespace Aspire.Hosting
{
public static partial class AzureAppConfigurationExtensions
{
- [AspireExport("addAzureAppConfiguration", Description = "Adds an Azure App Configuration resource")]
+ [AspireExport(Description = "Adds an Azure App Configuration resource")]
public static ApplicationModel.IResourceBuilder AddAzureAppConfiguration(this IDistributedApplicationBuilder builder, string name) { throw null; }
- [AspireExport("runAsEmulator", Description = "Configures Azure App Configuration to run with the local emulator", RunSyncOnBackgroundThread = true)]
+ [AspireExport(Description = "Configures Azure App Configuration to run with the local emulator", RunSyncOnBackgroundThread = true)]
public static ApplicationModel.IResourceBuilder RunAsEmulator(this ApplicationModel.IResourceBuilder builder, System.Action>? configureEmulator = null) { throw null; }
- [AspireExport("withDataBindMount", Description = "Adds a data bind mount for the App Configuration emulator")]
+ [AspireExport(Description = "Adds a data bind mount for the App Configuration emulator")]
public static ApplicationModel.IResourceBuilder WithDataBindMount(this ApplicationModel.IResourceBuilder builder, string? path = null) { throw null; }
- [AspireExport("withDataVolume", Description = "Adds a data volume for the App Configuration emulator")]
+ [AspireExport(Description = "Adds a data volume for the App Configuration emulator")]
public static ApplicationModel.IResourceBuilder WithDataVolume(this ApplicationModel.IResourceBuilder builder, string? name = null) { throw null; }
- [AspireExport("withHostPort", Description = "Sets the host port for the App Configuration emulator")]
+ [AspireExport(Description = "Sets the host port for the App Configuration emulator")]
public static ApplicationModel.IResourceBuilder WithHostPort(this ApplicationModel.IResourceBuilder builder, int? port) { throw null; }
[AspireExportIgnore(Reason = "AppConfigurationBuiltInRole is an Azure.Provisioning type not compatible with ATS. Use the AzureAppConfigurationRole-based overload instead.")]
@@ -40,7 +40,7 @@ public AzureAppConfigurationEmulatorResource(AzureAppConfigurationResource inner
public override ApplicationModel.ResourceAnnotationCollection Annotations { get { throw null; } }
}
- public partial class AzureAppConfigurationResource : AzureProvisioningResource, ApplicationModel.IResourceWithConnectionString, ApplicationModel.IResource, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueProvider, ApplicationModel.IValueWithReferences, ApplicationModel.IResourceWithEndpoints, IAzurePrivateEndpointTarget
+ public partial class AzureAppConfigurationResource : AzureProvisioningResource, ApplicationModel.IResourceWithConnectionString, ApplicationModel.IResource, ApplicationModel.IExpressionValue, ApplicationModel.IValueProvider, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueWithReferences, ApplicationModel.IResourceWithEndpoints, IAzurePrivateEndpointTarget
{
public AzureAppConfigurationResource(string name, System.Action configureInfrastructure) : base(default!, default!) { }
@@ -56,7 +56,7 @@ public AzureAppConfigurationResource(string name, System.Action IAzurePrivateEndpointTarget.GetPrivateDnsZoneNames() { throw null; }
System.Collections.Generic.IEnumerable IAzurePrivateEndpointTarget.GetPrivateLinkGroupIds() { throw null; }
}
diff --git a/src/Aspire.Hosting.Azure.AppContainers/api/Aspire.Hosting.Azure.AppContainers.cs b/src/Aspire.Hosting.Azure.AppContainers/api/Aspire.Hosting.Azure.AppContainers.cs
index 0808eb24501..8b5c5f80e4c 100644
--- a/src/Aspire.Hosting.Azure.AppContainers/api/Aspire.Hosting.Azure.AppContainers.cs
+++ b/src/Aspire.Hosting.Azure.AppContainers/api/Aspire.Hosting.Azure.AppContainers.cs
@@ -24,26 +24,26 @@ public static ApplicationModel.IResourceBuilder PublishAsAzureContainerApp
public static partial class AzureContainerAppExtensions
{
- [AspireExport("addAzureContainerAppEnvironment", Description = "Adds an Azure Container App Environment resource")]
+ [AspireExport(Description = "Adds an Azure Container App Environment resource")]
public static ApplicationModel.IResourceBuilder AddAzureContainerAppEnvironment(this IDistributedApplicationBuilder builder, string name) { throw null; }
[System.Obsolete("Use AddAzureContainerAppEnvironment instead. This method will be removed in a future version.")]
public static IDistributedApplicationBuilder AddAzureContainerAppsInfrastructure(this IDistributedApplicationBuilder builder) { throw null; }
- [AspireExport("withAzdResourceNaming", Description = "Configures resources to use azd naming conventions")]
+ [AspireExport(Description = "Configures resources to use azd naming conventions")]
public static ApplicationModel.IResourceBuilder WithAzdResourceNaming(this ApplicationModel.IResourceBuilder builder) { throw null; }
- [AspireExport("withAzureLogAnalyticsWorkspace", Description = "Configures the container app environment to use a specific Log Analytics Workspace")]
+ [AspireExport(Description = "Configures the container app environment to use a specific Log Analytics Workspace")]
public static ApplicationModel.IResourceBuilder WithAzureLogAnalyticsWorkspace(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder workspaceBuilder) { throw null; }
- [AspireExport("withCompactResourceNaming", Description = "Configures resources to use compact naming for length-constrained Azure resources")]
+ [AspireExport(Description = "Configures resources to use compact naming for length-constrained Azure resources")]
[System.Diagnostics.CodeAnalysis.Experimental("ASPIREACANAMING001", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")]
public static ApplicationModel.IResourceBuilder WithCompactResourceNaming(this ApplicationModel.IResourceBuilder builder) { throw null; }
- [AspireExport("withDashboard", Description = "Configures whether the Aspire dashboard is included in the container app environment")]
+ [AspireExport(Description = "Configures whether the Aspire dashboard is included in the container app environment")]
public static ApplicationModel.IResourceBuilder WithDashboard(this ApplicationModel.IResourceBuilder builder, bool enable = true) { throw null; }
- [AspireExport("withHttpsUpgrade", Description = "Configures whether HTTP endpoints are upgraded to HTTPS")]
+ [AspireExport(Description = "Configures whether HTTP endpoints are upgraded to HTTPS")]
public static ApplicationModel.IResourceBuilder WithHttpsUpgrade(this ApplicationModel.IResourceBuilder builder, bool upgrade = true) { throw null; }
}
@@ -56,21 +56,21 @@ public static ApplicationModel.IResourceBuilder PublishAsAzureContainerApp
public static partial class ContainerAppExtensions
{
- [AspireExportIgnore(Reason = "Extends ContainerApp (Azure.Provisioning type) which is not an IResourceBuilder target, so the ATS codegen cannot generate a wrapper class for it.")]
+ [AspireExport(Description = "Configures the custom domain for the container app")]
[System.Diagnostics.CodeAnalysis.Experimental("ASPIREACADOMAINS001", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")]
public static void ConfigureCustomDomain(this global::Azure.Provisioning.AppContainers.ContainerApp app, ApplicationModel.IResourceBuilder customDomain, ApplicationModel.IResourceBuilder certificateName) { }
- [AspireExport("publishAsConfiguredAzureContainerAppJob", Description = "Configures the compute resource as an Azure Container App Job with custom configuration")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal publishAsAzureContainerAppJob dispatcher export.")]
[System.Diagnostics.CodeAnalysis.Experimental("ASPIREAZURE002", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")]
public static ApplicationModel.IResourceBuilder PublishAsAzureContainerAppJob(this ApplicationModel.IResourceBuilder resource, System.Action configure)
where T : ApplicationModel.IComputeResource { throw null; }
- [AspireExport("publishAsAzureContainerAppJob", Description = "Configures the compute resource as a manually triggered Azure Container App Job")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal publishAsAzureContainerAppJob dispatcher export.")]
[System.Diagnostics.CodeAnalysis.Experimental("ASPIREAZURE002", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")]
public static ApplicationModel.IResourceBuilder PublishAsAzureContainerAppJob(this ApplicationModel.IResourceBuilder resource)
where T : ApplicationModel.IComputeResource { throw null; }
- [AspireExport("publishAsConfiguredScheduledAzureContainerAppJob", Description = "Configures the compute resource as a scheduled Azure Container App Job with custom configuration")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal publishAsScheduledAzureContainerAppJob dispatcher export.")]
[System.Diagnostics.CodeAnalysis.Experimental("ASPIREAZURE002", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")]
public static ApplicationModel.IResourceBuilder PublishAsScheduledAzureContainerAppJob(this ApplicationModel.IResourceBuilder resource, string cronExpression, System.Action? configure = null)
where T : ApplicationModel.IComputeResource { throw null; }
diff --git a/src/Aspire.Hosting.Azure.AppService/api/Aspire.Hosting.Azure.AppService.cs b/src/Aspire.Hosting.Azure.AppService/api/Aspire.Hosting.Azure.AppService.cs
index 0083327a4d4..70f515e727c 100644
--- a/src/Aspire.Hosting.Azure.AppService/api/Aspire.Hosting.Azure.AppService.cs
+++ b/src/Aspire.Hosting.Azure.AppService/api/Aspire.Hosting.Azure.AppService.cs
@@ -10,40 +10,43 @@ namespace Aspire.Hosting
{
public static partial class AzureAppServiceComputeResourceExtensions
{
- [AspireExport("publishAsAzureAppServiceWebsite", Description = "Publishes the compute resource as an Azure App Service website or deployment slot")]
+ [AspireExport(Description = "Publishes the compute resource as an Azure App Service website or deployment slot")]
public static ApplicationModel.IResourceBuilder PublishAsAzureAppServiceWebsite(this ApplicationModel.IResourceBuilder builder, System.Action? configure = null, System.Action? configureSlot = null)
where T : ApplicationModel.IComputeResource { throw null; }
- [AspireExport("skipEnvironmentVariableNameChecks", Description = "Skips Azure App Service environment variable name validation for the compute resource")]
+ [AspireExport(Description = "Skips Azure App Service environment variable name validation for the compute resource")]
public static ApplicationModel.IResourceBuilder SkipEnvironmentVariableNameChecks(this ApplicationModel.IResourceBuilder builder)
where T : ApplicationModel.IComputeResource { throw null; }
}
public static partial class AzureAppServiceEnvironmentExtensions
{
- [AspireExport("addAzureAppServiceEnvironment", Description = "Adds an Azure App Service environment resource")]
+ [AspireExport(Description = "Adds an Azure App Service environment resource")]
public static ApplicationModel.IResourceBuilder AddAzureAppServiceEnvironment(this IDistributedApplicationBuilder builder, string name) { throw null; }
- [AspireExport("withAzureApplicationInsightsLocationParameter", Description = "Enables Azure Application Insights for the Azure App Service environment using a location parameter")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal withAzureApplicationInsights dispatcher export.")]
public static ApplicationModel.IResourceBuilder WithAzureApplicationInsights(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder applicationInsightsLocation) { throw null; }
- [AspireExport("withAzureApplicationInsightsResource", Description = "Enables Azure Application Insights for the Azure App Service environment using an existing Application Insights resource")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal withAzureApplicationInsights dispatcher export.")]
public static ApplicationModel.IResourceBuilder WithAzureApplicationInsights(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder applicationInsightsBuilder) { throw null; }
- [AspireExport("withAzureApplicationInsightsLocation", Description = "Enables Azure Application Insights for the Azure App Service environment with a specific location")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal withAzureApplicationInsights dispatcher export.")]
public static ApplicationModel.IResourceBuilder WithAzureApplicationInsights(this ApplicationModel.IResourceBuilder builder, string applicationInsightsLocation) { throw null; }
- [AspireExport("withAzureApplicationInsights", Description = "Enables Azure Application Insights for the Azure App Service environment")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal withAzureApplicationInsights dispatcher export.")]
public static ApplicationModel.IResourceBuilder WithAzureApplicationInsights(this ApplicationModel.IResourceBuilder builder) { throw null; }
- [AspireExport("withDashboard", Description = "Configures whether the Aspire dashboard is included in the Azure App Service environment")]
+ [AspireExport(Description = "Configures whether the Aspire dashboard is included in the Azure App Service environment")]
public static ApplicationModel.IResourceBuilder WithDashboard(this ApplicationModel.IResourceBuilder builder, bool enable = true) { throw null; }
- [AspireExport("withDeploymentSlotParameter", Description = "Configures the deployment slot for all Azure App Services in the environment using a parameter")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal withDeploymentSlot dispatcher export.")]
public static ApplicationModel.IResourceBuilder WithDeploymentSlot(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder deploymentSlot) { throw null; }
- [AspireExport("withDeploymentSlot", Description = "Configures the deployment slot for all Azure App Services in the environment")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal withDeploymentSlot dispatcher export.")]
public static ApplicationModel.IResourceBuilder WithDeploymentSlot(this ApplicationModel.IResourceBuilder builder, string deploymentSlot) { throw null; }
+
+ [AspireExport(Description = "Configures whether HTTP endpoints are automatically upgraded to HTTPS in Azure App Service")]
+ public static ApplicationModel.IResourceBuilder WithHttpsUpgrade(this ApplicationModel.IResourceBuilder builder, bool upgrade = true) { throw null; }
}
}
diff --git a/src/Aspire.Hosting.Azure.ApplicationInsights/api/Aspire.Hosting.Azure.ApplicationInsights.cs b/src/Aspire.Hosting.Azure.ApplicationInsights/api/Aspire.Hosting.Azure.ApplicationInsights.cs
index 1aa5c7d0b4c..bb7c10c034a 100644
--- a/src/Aspire.Hosting.Azure.ApplicationInsights/api/Aspire.Hosting.Azure.ApplicationInsights.cs
+++ b/src/Aspire.Hosting.Azure.ApplicationInsights/api/Aspire.Hosting.Azure.ApplicationInsights.cs
@@ -13,10 +13,10 @@ public static partial class AzureApplicationInsightsExtensions
[AspireExportIgnore(Reason = "logAnalyticsWorkspace parameter cannot be made optional in ATS. Use the single-parameter overload with WithLogAnalyticsWorkspace instead.")]
public static ApplicationModel.IResourceBuilder AddAzureApplicationInsights(this IDistributedApplicationBuilder builder, string name, ApplicationModel.IResourceBuilder? logAnalyticsWorkspace) { throw null; }
- [AspireExport("addAzureApplicationInsights", Description = "Adds an Azure Application Insights resource")]
+ [AspireExport(Description = "Adds an Azure Application Insights resource")]
public static ApplicationModel.IResourceBuilder AddAzureApplicationInsights(this IDistributedApplicationBuilder builder, string name) { throw null; }
- [AspireExport("withLogAnalyticsWorkspace", Description = "Configures the Application Insights resource to use a Log Analytics Workspace")]
+ [AspireExport(Description = "Configures the Application Insights resource to use a Log Analytics Workspace")]
public static ApplicationModel.IResourceBuilder WithLogAnalyticsWorkspace(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder logAnalyticsWorkspace) { throw null; }
[AspireExportIgnore(Reason = "BicepOutputReference is not ATS-compatible. Use the IResourceBuilder overload instead.")]
@@ -26,7 +26,7 @@ public static partial class AzureApplicationInsightsExtensions
namespace Aspire.Hosting.Azure
{
- public partial class AzureApplicationInsightsResource : AzureProvisioningResource, ApplicationModel.IResourceWithConnectionString, ApplicationModel.IResource, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueProvider, ApplicationModel.IValueWithReferences
+ public partial class AzureApplicationInsightsResource : AzureProvisioningResource, ApplicationModel.IResourceWithConnectionString, ApplicationModel.IResource, ApplicationModel.IExpressionValue, ApplicationModel.IValueProvider, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueWithReferences
{
public AzureApplicationInsightsResource(string name, System.Action configureInfrastructure) : base(default!, default!) { }
diff --git a/src/Aspire.Hosting.Azure.CognitiveServices/api/Aspire.Hosting.Azure.CognitiveServices.cs b/src/Aspire.Hosting.Azure.CognitiveServices/api/Aspire.Hosting.Azure.CognitiveServices.cs
index 6b3d40eb2ff..76d3034a168 100644
--- a/src/Aspire.Hosting.Azure.CognitiveServices/api/Aspire.Hosting.Azure.CognitiveServices.cs
+++ b/src/Aspire.Hosting.Azure.CognitiveServices/api/Aspire.Hosting.Azure.CognitiveServices.cs
@@ -10,17 +10,17 @@ namespace Aspire.Hosting
{
public static partial class AzureOpenAIExtensions
{
- [AspireExport("addAzureOpenAI", Description = "Adds an Azure OpenAI resource")]
+ [AspireExport(Description = "Adds an Azure OpenAI resource")]
public static ApplicationModel.IResourceBuilder AddAzureOpenAI(this IDistributedApplicationBuilder builder, string name) { throw null; }
[AspireExportIgnore(Reason = "Obsolete API that accepts AzureOpenAIDeployment which is not ATS-compatible.")]
[System.Obsolete("AddDeployment taking an AzureOpenAIDeployment is deprecated. Please the AddDeployment overload that returns an AzureOpenAIDeploymentResource instead.")]
public static ApplicationModel.IResourceBuilder AddDeployment(this ApplicationModel.IResourceBuilder builder, ApplicationModel.AzureOpenAIDeployment deployment) { throw null; }
- [AspireExport("addDeployment", Description = "Adds an Azure OpenAI deployment resource")]
+ [AspireExport(Description = "Adds an Azure OpenAI deployment resource")]
public static ApplicationModel.IResourceBuilder AddDeployment(this ApplicationModel.IResourceBuilder builder, string name, string modelName, string modelVersion) { throw null; }
- [AspireExport("withProperties", Description = "Configures properties of an Azure OpenAI deployment", RunSyncOnBackgroundThread = true)]
+ [AspireExport(Description = "Configures properties of an Azure OpenAI deployment", RunSyncOnBackgroundThread = true)]
public static ApplicationModel.IResourceBuilder WithProperties(this ApplicationModel.IResourceBuilder builder, System.Action configure) { throw null; }
[AspireExportIgnore(Reason = "CognitiveServicesBuiltInRole is an Azure.Provisioning type not compatible with ATS. Use the enum-based overload instead.")]
@@ -48,7 +48,7 @@ public AzureOpenAIDeployment(string name, string modelName, string modelVersion,
}
[AspireExport(ExposeProperties = true)]
- public partial class AzureOpenAIDeploymentResource : Resource, IResourceWithParent, IResourceWithParent, IResource, IResourceWithConnectionString, IManifestExpressionProvider, IValueProvider, IValueWithReferences
+ public partial class AzureOpenAIDeploymentResource : Resource, IResourceWithParent, IResourceWithParent, IResource, IResourceWithConnectionString, IExpressionValue, IValueProvider, IManifestExpressionProvider, IValueWithReferences
{
public AzureOpenAIDeploymentResource(string name, string modelName, string modelVersion, AzureOpenAIResource parent) : base(default!) { }
@@ -70,7 +70,7 @@ public AzureOpenAIDeploymentResource(string name, string modelName, string model
}
[AspireExport]
- public partial class AzureOpenAIResource : Azure.AzureProvisioningResource, IResourceWithConnectionString, IResource, IManifestExpressionProvider, IValueProvider, IValueWithReferences
+ public partial class AzureOpenAIResource : Azure.AzureProvisioningResource, IResourceWithConnectionString, IResource, IExpressionValue, IValueProvider, IManifestExpressionProvider, IValueWithReferences, Azure.IAzurePrivateEndpointTarget, Azure.IAzureNspAssociationTarget
{
public AzureOpenAIResource(string name, System.Action configureInfrastructure) : base(default!, default!) { }
@@ -83,6 +83,8 @@ public AzureOpenAIResource(string name, System.Action> IResourceWithConnectionString.GetConnectionProperties() { throw null; }
+
+ System.Collections.Generic.IEnumerable Azure.IAzurePrivateEndpointTarget.GetPrivateDnsZoneNames() { throw null; }
+
+ System.Collections.Generic.IEnumerable Azure.IAzurePrivateEndpointTarget.GetPrivateLinkGroupIds() { throw null; }
}
}
\ No newline at end of file
diff --git a/src/Aspire.Hosting.Azure.ContainerRegistry/api/Aspire.Hosting.Azure.ContainerRegistry.cs b/src/Aspire.Hosting.Azure.ContainerRegistry/api/Aspire.Hosting.Azure.ContainerRegistry.cs
index b82ee52224b..07f6901c4d4 100644
--- a/src/Aspire.Hosting.Azure.ContainerRegistry/api/Aspire.Hosting.Azure.ContainerRegistry.cs
+++ b/src/Aspire.Hosting.Azure.ContainerRegistry/api/Aspire.Hosting.Azure.ContainerRegistry.cs
@@ -10,10 +10,10 @@ namespace Aspire.Hosting
{
public static partial class AzureContainerRegistryExtensions
{
- [AspireExport("addAzureContainerRegistry", Description = "Adds an Azure Container Registry resource to the distributed application model.")]
+ [AspireExport(Description = "Adds an Azure Container Registry resource to the distributed application model.")]
public static ApplicationModel.IResourceBuilder AddAzureContainerRegistry(this IDistributedApplicationBuilder builder, string name) { throw null; }
- [AspireExport("getAzureContainerRegistry", Description = "Gets the Azure Container Registry associated with a compute environment resource.")]
+ [AspireExport(Description = "Gets the Azure Container Registry associated with a compute environment resource.")]
public static ApplicationModel.IResourceBuilder GetAzureContainerRegistry(this ApplicationModel.IResourceBuilder builder)
where T : ApplicationModel.IResource, Azure.IAzureComputeEnvironmentResource { throw null; }
@@ -21,7 +21,7 @@ public static partial class AzureContainerRegistryExtensions
public static ApplicationModel.IResourceBuilder WithAzureContainerRegistry(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder registryBuilder)
where T : ApplicationModel.IResource, ApplicationModel.IComputeEnvironmentResource { throw null; }
- [AspireExport("withPurgeTask", Description = "Configures a purge task for the Azure Container Registry resource.")]
+ [AspireExport(Description = "Configures a purge task for the Azure Container Registry resource.")]
public static ApplicationModel.IResourceBuilder WithPurgeTask(this ApplicationModel.IResourceBuilder builder, string schedule, string? filter = null, System.TimeSpan? ago = null, int keep = 3, string? taskName = null) { throw null; }
[AspireExportIgnore(Reason = "ContainerRegistryBuiltInRole is an Azure.Provisioning type not compatible with ATS. Use the AzureContainerRegistryRole-based overload instead.")]
@@ -32,7 +32,7 @@ public static ApplicationModel.IResourceBuilder WithRoleAssignments(this A
namespace Aspire.Hosting.Azure
{
- public partial class AzureContainerRegistryResource : AzureProvisioningResource, IAzureContainerRegistryResource, ApplicationModel.IContainerRegistry, ApplicationModel.IAzureResource, ApplicationModel.IResource
+ public partial class AzureContainerRegistryResource : AzureProvisioningResource, IAzureContainerRegistryResource, ApplicationModel.IContainerRegistry, ApplicationModel.IAzureResource, ApplicationModel.IResource, IAzurePrivateEndpointTarget
{
public AzureContainerRegistryResource(string name, System.Action configureInfrastructure) : base(default!, default!) { }
@@ -40,10 +40,16 @@ public AzureContainerRegistryResource(string name, System.Action IAzurePrivateEndpointTarget.GetPrivateDnsZoneNames() { throw null; }
+
+ System.Collections.Generic.IEnumerable IAzurePrivateEndpointTarget.GetPrivateLinkGroupIds() { throw null; }
}
}
\ No newline at end of file
diff --git a/src/Aspire.Hosting.Azure.CosmosDB/api/Aspire.Hosting.Azure.CosmosDB.cs b/src/Aspire.Hosting.Azure.CosmosDB/api/Aspire.Hosting.Azure.CosmosDB.cs
index 4f1bce0d96b..ea286c206be 100644
--- a/src/Aspire.Hosting.Azure.CosmosDB/api/Aspire.Hosting.Azure.CosmosDB.cs
+++ b/src/Aspire.Hosting.Azure.CosmosDB/api/Aspire.Hosting.Azure.CosmosDB.cs
@@ -8,7 +8,7 @@
//------------------------------------------------------------------------------
namespace Aspire.Hosting
{
- public partial class AzureCosmosDBResource : Azure.AzureProvisioningResource, ApplicationModel.IResourceWithConnectionString, ApplicationModel.IResource, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueProvider, ApplicationModel.IValueWithReferences, ApplicationModel.IResourceWithEndpoints, Azure.IResourceWithAzureFunctionsConfig, Azure.IAzurePrivateEndpointTarget
+ public partial class AzureCosmosDBResource : Azure.AzureProvisioningResource, ApplicationModel.IResourceWithConnectionString, ApplicationModel.IResource, ApplicationModel.IExpressionValue, ApplicationModel.IValueProvider, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueWithReferences, ApplicationModel.IResourceWithEndpoints, Azure.IResourceWithAzureFunctionsConfig, Azure.IAzurePrivateEndpointTarget, Azure.IAzureNspAssociationTarget
{
public AzureCosmosDBResource(string name, System.Action configureInfrastructure) : base(default!, default!) { }
@@ -39,7 +39,7 @@ public override void AddRoleAssignments(Azure.IAddRoleAssignmentsContext roleAss
System.Collections.Generic.IEnumerable> ApplicationModel.IResourceWithConnectionString.GetConnectionProperties() { throw null; }
- string Azure.IAzurePrivateEndpointTarget.GetPrivateDnsZoneName() { throw null; }
+ System.Collections.Generic.IEnumerable Azure.IAzurePrivateEndpointTarget.GetPrivateDnsZoneNames() { throw null; }
System.Collections.Generic.IEnumerable Azure.IAzurePrivateEndpointTarget.GetPrivateLinkGroupIds() { throw null; }
@@ -48,49 +48,49 @@ void Azure.IResourceWithAzureFunctionsConfig.ApplyAzureFunctionsConfiguration(Sy
public static partial class AzureCosmosExtensions
{
- [AspireExport("addAzureCosmosDB", Description = "Adds an Azure Cosmos DB resource")]
+ [AspireExport(Description = "Adds an Azure Cosmos DB resource")]
public static ApplicationModel.IResourceBuilder AddAzureCosmosDB(this IDistributedApplicationBuilder builder, string name) { throw null; }
- [AspireExport("addContainerWithPartitionKeyPaths", Description = "Adds an Azure Cosmos DB container resource with hierarchical partition keys")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal addContainer dispatcher export.")]
public static ApplicationModel.IResourceBuilder AddContainer(this ApplicationModel.IResourceBuilder builder, string name, System.Collections.Generic.IEnumerable partitionKeyPaths, string? containerName = null) { throw null; }
- [AspireExport("addContainer", Description = "Adds an Azure Cosmos DB container resource")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal addContainer dispatcher export.")]
public static ApplicationModel.IResourceBuilder AddContainer(this ApplicationModel.IResourceBuilder builder, string name, string partitionKeyPath, string? containerName = null) { throw null; }
- [AspireExport("addCosmosDatabase", Description = "Adds an Azure Cosmos DB database resource")]
+ [AspireExport(Description = "Adds an Azure Cosmos DB database resource")]
public static ApplicationModel.IResourceBuilder AddCosmosDatabase(this ApplicationModel.IResourceBuilder builder, string name, string? databaseName = null) { throw null; }
[AspireExportIgnore(Reason = "Obsolete API with incorrect return type. Use AddCosmosDatabase instead.")]
[System.Obsolete("This method is obsolete because it has the wrong return type and will be removed in a future version. Use AddCosmosDatabase instead to add a Cosmos DB database.")]
public static ApplicationModel.IResourceBuilder AddDatabase(this ApplicationModel.IResourceBuilder builder, string databaseName) { throw null; }
- [AspireExport("runAsEmulator", Description = "Configures the Azure Cosmos DB resource to run using the local emulator", RunSyncOnBackgroundThread = true)]
+ [AspireExport(Description = "Configures the Azure Cosmos DB resource to run using the local emulator", RunSyncOnBackgroundThread = true)]
public static ApplicationModel.IResourceBuilder RunAsEmulator(this ApplicationModel.IResourceBuilder builder, System.Action>? configureContainer = null) { throw null; }
- [AspireExport("runAsPreviewEmulator", Description = "Configures the Azure Cosmos DB resource to run using the preview emulator", RunSyncOnBackgroundThread = true)]
+ [AspireExport(Description = "Configures the Azure Cosmos DB resource to run using the preview emulator", RunSyncOnBackgroundThread = true)]
[System.Diagnostics.CodeAnalysis.Experimental("ASPIRECOSMOSDB001", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")]
public static ApplicationModel.IResourceBuilder RunAsPreviewEmulator(this ApplicationModel.IResourceBuilder builder, System.Action>? configureContainer = null) { throw null; }
- [AspireExport("withAccessKeyAuthenticationWithKeyVault", Description = "Configures Azure Cosmos DB access key authentication using a specified Azure Key Vault resource")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal withAccessKeyAuthentication dispatcher export.")]
public static ApplicationModel.IResourceBuilder WithAccessKeyAuthentication(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder keyVaultBuilder) { throw null; }
- [AspireExport("withAccessKeyAuthentication", Description = "Configures Azure Cosmos DB to use access key authentication")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal withAccessKeyAuthentication dispatcher export.")]
public static ApplicationModel.IResourceBuilder WithAccessKeyAuthentication(this ApplicationModel.IResourceBuilder builder) { throw null; }
- [AspireExport("withDataExplorer", Description = "Exposes the Data Explorer endpoint for the preview emulator")]
+ [AspireExport(Description = "Exposes the Data Explorer endpoint for the preview emulator")]
[System.Diagnostics.CodeAnalysis.Experimental("ASPIRECOSMOSDB001", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")]
public static ApplicationModel.IResourceBuilder WithDataExplorer(this ApplicationModel.IResourceBuilder builder, int? port = null) { throw null; }
- [AspireExport("withDataVolume", Description = "Adds a named volume for the data folder to an Azure Cosmos DB emulator resource")]
+ [AspireExport(Description = "Adds a named volume for the data folder to an Azure Cosmos DB emulator resource")]
public static ApplicationModel.IResourceBuilder WithDataVolume(this ApplicationModel.IResourceBuilder builder, string? name = null) { throw null; }
- [AspireExport("withDefaultAzureSku", Description = "Configures Azure Cosmos DB to use the default Azure SKU")]
+ [AspireExport(Description = "Configures Azure Cosmos DB to use the default Azure SKU")]
public static ApplicationModel.IResourceBuilder WithDefaultAzureSku(this ApplicationModel.IResourceBuilder builder) { throw null; }
- [AspireExport("withGatewayPort", Description = "Sets the host port for the Cosmos DB emulator gateway endpoint")]
+ [AspireExport(Description = "Sets the host port for the Cosmos DB emulator gateway endpoint")]
public static ApplicationModel.IResourceBuilder WithGatewayPort(this ApplicationModel.IResourceBuilder builder, int? port) { throw null; }
- [AspireExport("withPartitionCount", Description = "Sets the partition count for the Azure Cosmos DB emulator")]
+ [AspireExport(Description = "Sets the partition count for the Azure Cosmos DB emulator")]
public static ApplicationModel.IResourceBuilder WithPartitionCount(this ApplicationModel.IResourceBuilder builder, int count) { throw null; }
}
}
@@ -98,7 +98,7 @@ public static partial class AzureCosmosExtensions
namespace Aspire.Hosting.Azure
{
[System.Diagnostics.DebuggerDisplay("Type = {GetType().Name,nq}, Name = {Name}, Container = {ContainerName}")]
- public partial class AzureCosmosDBContainerResource : ApplicationModel.Resource, ApplicationModel.IResourceWithParent, ApplicationModel.IResourceWithParent, ApplicationModel.IResource, ApplicationModel.IResourceWithConnectionString, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueProvider, ApplicationModel.IValueWithReferences, IResourceWithAzureFunctionsConfig
+ public partial class AzureCosmosDBContainerResource : ApplicationModel.Resource, ApplicationModel.IResourceWithParent, ApplicationModel.IResourceWithParent, ApplicationModel.IResource, ApplicationModel.IResourceWithConnectionString, ApplicationModel.IExpressionValue, ApplicationModel.IValueProvider, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueWithReferences, IResourceWithAzureFunctionsConfig
{
public AzureCosmosDBContainerResource(string name, string containerName, System.Collections.Generic.IEnumerable partitionKeyPaths, AzureCosmosDBDatabaseResource parent) : base(default!) { }
@@ -122,7 +122,7 @@ void IResourceWithAzureFunctionsConfig.ApplyAzureFunctionsConfiguration(System.C
}
[System.Diagnostics.DebuggerDisplay("Type = {GetType().Name,nq}, Name = {Name}, Database = {DatabaseName}")]
- public partial class AzureCosmosDBDatabaseResource : ApplicationModel.Resource, ApplicationModel.IResourceWithParent, ApplicationModel.IResourceWithParent, ApplicationModel.IResource, ApplicationModel.IResourceWithConnectionString, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueProvider, ApplicationModel.IValueWithReferences, IResourceWithAzureFunctionsConfig
+ public partial class AzureCosmosDBDatabaseResource : ApplicationModel.Resource, ApplicationModel.IResourceWithParent, ApplicationModel.IResourceWithParent, ApplicationModel.IResource, ApplicationModel.IResourceWithConnectionString, ApplicationModel.IExpressionValue, ApplicationModel.IValueProvider, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueWithReferences, IResourceWithAzureFunctionsConfig
{
public AzureCosmosDBDatabaseResource(string name, string databaseName, AzureCosmosDBResource parent) : base(default!) { }
diff --git a/src/Aspire.Hosting.Azure.EventHubs/api/Aspire.Hosting.Azure.EventHubs.cs b/src/Aspire.Hosting.Azure.EventHubs/api/Aspire.Hosting.Azure.EventHubs.cs
index 590f0619c00..7cdf5fd6d4a 100644
--- a/src/Aspire.Hosting.Azure.EventHubs/api/Aspire.Hosting.Azure.EventHubs.cs
+++ b/src/Aspire.Hosting.Azure.EventHubs/api/Aspire.Hosting.Azure.EventHubs.cs
@@ -10,25 +10,25 @@ namespace Aspire.Hosting
{
public static partial class AzureEventHubsExtensions
{
- [AspireExport("addAzureEventHubs", Description = "Adds an Azure Event Hubs namespace resource")]
+ [AspireExport(Description = "Adds an Azure Event Hubs namespace resource")]
public static ApplicationModel.IResourceBuilder AddAzureEventHubs(this IDistributedApplicationBuilder builder, string name) { throw null; }
- [AspireExport("addConsumerGroup", Description = "Adds an Azure Event Hub consumer group resource")]
+ [AspireExport(Description = "Adds an Azure Event Hub consumer group resource")]
public static ApplicationModel.IResourceBuilder AddConsumerGroup(this ApplicationModel.IResourceBuilder builder, string name, string? groupName = null) { throw null; }
[System.Obsolete("This method is obsolete because it has the wrong return type and will be removed in a future version. Use AddHub instead to add an Azure Event Hub.")]
public static ApplicationModel.IResourceBuilder AddEventHub(this ApplicationModel.IResourceBuilder builder, string name) { throw null; }
- [AspireExport("addHub", Description = "Adds an Azure Event Hub resource")]
+ [AspireExport(Description = "Adds an Azure Event Hub resource")]
public static ApplicationModel.IResourceBuilder AddHub(this ApplicationModel.IResourceBuilder builder, string name, string? hubName = null) { throw null; }
- [AspireExport("runAsEmulator", Description = "Configures the Azure Event Hubs resource to run with the local emulator", RunSyncOnBackgroundThread = true)]
+ [AspireExport(Description = "Configures the Azure Event Hubs resource to run with the local emulator", RunSyncOnBackgroundThread = true)]
public static ApplicationModel.IResourceBuilder RunAsEmulator(this ApplicationModel.IResourceBuilder builder, System.Action>? configureContainer = null) { throw null; }
[AspireExportIgnore(Reason = "Action callbacks are not ATS-compatible.")]
public static ApplicationModel.IResourceBuilder WithConfiguration(this ApplicationModel.IResourceBuilder builder, System.Action configJson) { throw null; }
- [AspireExport("withConfigurationFile", Description = "Sets the emulator configuration file path")]
+ [AspireExport(Description = "Sets the emulator configuration file path")]
public static ApplicationModel.IResourceBuilder WithConfigurationFile(this ApplicationModel.IResourceBuilder builder, string path) { throw null; }
[System.Obsolete("This method is obsolete because it doesn't work as intended and will be removed in a future version.")]
@@ -40,10 +40,10 @@ public static partial class AzureEventHubsExtensions
[System.Obsolete("Use WithHostPort instead.")]
public static ApplicationModel.IResourceBuilder WithGatewayPort(this ApplicationModel.IResourceBuilder builder, int? port) { throw null; }
- [AspireExport("withHostPort", Description = "Sets the host port for the Event Hubs emulator endpoint")]
+ [AspireExport(Description = "Sets the host port for the Event Hubs emulator endpoint")]
public static ApplicationModel.IResourceBuilder WithHostPort(this ApplicationModel.IResourceBuilder builder, int? port) { throw null; }
- [AspireExport("withProperties", Description = "Configures properties of an Azure Event Hub", RunSyncOnBackgroundThread = true)]
+ [AspireExport(Description = "Configures properties of an Azure Event Hub", RunSyncOnBackgroundThread = true)]
public static ApplicationModel.IResourceBuilder WithProperties(this ApplicationModel.IResourceBuilder builder, System.Action configure) { throw null; }
[AspireExportIgnore(Reason = "EventHubsBuiltInRole is an Azure.Provisioning type not compatible with ATS. Use the AzureEventHubsRole-based overload instead.")]
@@ -55,7 +55,7 @@ public static ApplicationModel.IResourceBuilder WithRoleAssignments(this A
namespace Aspire.Hosting.Azure
{
[System.Diagnostics.DebuggerDisplay("Type = {GetType().Name,nq}, Name = {Name}, ConsumerGroup = {ConsumerGroupName}")]
- public partial class AzureEventHubConsumerGroupResource : ApplicationModel.Resource, ApplicationModel.IResourceWithParent, ApplicationModel.IResourceWithParent, ApplicationModel.IResource, ApplicationModel.IResourceWithConnectionString, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueProvider, ApplicationModel.IValueWithReferences, IResourceWithAzureFunctionsConfig
+ public partial class AzureEventHubConsumerGroupResource : ApplicationModel.Resource, ApplicationModel.IResourceWithParent, ApplicationModel.IResourceWithParent, ApplicationModel.IResource, ApplicationModel.IResourceWithConnectionString, ApplicationModel.IExpressionValue, ApplicationModel.IValueProvider, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueWithReferences, IResourceWithAzureFunctionsConfig
{
public AzureEventHubConsumerGroupResource(string name, string consumerGroupName, AzureEventHubResource parent) : base(default!) { }
@@ -72,7 +72,7 @@ void IResourceWithAzureFunctionsConfig.ApplyAzureFunctionsConfiguration(System.C
[System.Diagnostics.DebuggerDisplay("Type = {GetType().Name,nq}, Name = {Name}, Hub = {HubName}")]
[AspireExport(ExposeProperties = true)]
- public partial class AzureEventHubResource : ApplicationModel.Resource, ApplicationModel.IResourceWithParent, ApplicationModel.IResourceWithParent, ApplicationModel.IResource, ApplicationModel.IResourceWithConnectionString, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueProvider, ApplicationModel.IValueWithReferences, IResourceWithAzureFunctionsConfig
+ public partial class AzureEventHubResource : ApplicationModel.Resource, ApplicationModel.IResourceWithParent, ApplicationModel.IResourceWithParent, ApplicationModel.IResource, ApplicationModel.IResourceWithConnectionString, ApplicationModel.IExpressionValue, ApplicationModel.IValueProvider, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueWithReferences, IResourceWithAzureFunctionsConfig
{
public AzureEventHubResource(string name, string hubName, AzureEventHubsResource parent) : base(default!) { }
@@ -99,7 +99,7 @@ public AzureEventHubsEmulatorResource(AzureEventHubsResource innerResource) : ba
}
[AspireExport]
- public partial class AzureEventHubsResource : AzureProvisioningResource, ApplicationModel.IResourceWithConnectionString, ApplicationModel.IResource, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueProvider, ApplicationModel.IValueWithReferences, ApplicationModel.IResourceWithEndpoints, IResourceWithAzureFunctionsConfig, IAzurePrivateEndpointTarget
+ public partial class AzureEventHubsResource : AzureProvisioningResource, ApplicationModel.IResourceWithConnectionString, ApplicationModel.IResource, ApplicationModel.IExpressionValue, ApplicationModel.IValueProvider, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueWithReferences, ApplicationModel.IResourceWithEndpoints, IResourceWithAzureFunctionsConfig, IAzurePrivateEndpointTarget, IAzureNspAssociationTarget
{
public AzureEventHubsResource(string name, System.Action configureInfrastructure) : base(default!, default!) { }
@@ -123,7 +123,7 @@ public AzureEventHubsResource(string name, System.Action> ApplicationModel.IResourceWithConnectionString.GetConnectionProperties() { throw null; }
- string IAzurePrivateEndpointTarget.GetPrivateDnsZoneName() { throw null; }
+ System.Collections.Generic.IEnumerable IAzurePrivateEndpointTarget.GetPrivateDnsZoneNames() { throw null; }
System.Collections.Generic.IEnumerable IAzurePrivateEndpointTarget.GetPrivateLinkGroupIds() { throw null; }
diff --git a/src/Aspire.Hosting.Azure.FrontDoor/api/Aspire.Hosting.Azure.FrontDoor.cs b/src/Aspire.Hosting.Azure.FrontDoor/api/Aspire.Hosting.Azure.FrontDoor.cs
new file mode 100644
index 00000000000..1a15edd0751
--- /dev/null
+++ b/src/Aspire.Hosting.Azure.FrontDoor/api/Aspire.Hosting.Azure.FrontDoor.cs
@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+namespace Aspire.Hosting
+{
+ public static partial class AzureFrontDoorExtensions
+ {
+ [AspireExport(Description = "Adds an Azure Front Door resource")]
+ public static ApplicationModel.IResourceBuilder AddAzureFrontDoor(this IDistributedApplicationBuilder builder, string name) { throw null; }
+
+ [AspireExport(Description = "Adds an origin (backend) to the Azure Front Door resource")]
+ public static ApplicationModel.IResourceBuilder WithOrigin(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder resource)
+ where T : ApplicationModel.IComputeResource, ApplicationModel.IResourceWithEndpoints { throw null; }
+ }
+}
+
+namespace Aspire.Hosting.Azure
+{
+ public partial class AzureFrontDoorResource : AzureProvisioningResource
+ {
+ public AzureFrontDoorResource(string name, System.Action configureInfrastructure) : base(default!, default!) { }
+
+ public BicepOutputReference GetEndpointUrl(string originResourceName) { throw null; }
+ }
+}
\ No newline at end of file
diff --git a/src/Aspire.Hosting.Azure.Functions/api/Aspire.Hosting.Azure.Functions.cs b/src/Aspire.Hosting.Azure.Functions/api/Aspire.Hosting.Azure.Functions.cs
index b4a7a62d725..5c69bc50633 100644
--- a/src/Aspire.Hosting.Azure.Functions/api/Aspire.Hosting.Azure.Functions.cs
+++ b/src/Aspire.Hosting.Azure.Functions/api/Aspire.Hosting.Azure.Functions.cs
@@ -10,20 +10,51 @@ namespace Aspire.Hosting
{
public static partial class AzureFunctionsProjectResourceExtensions
{
- [AspireExport("addAzureFunctionsProject", Description = "Adds an Azure Functions project to the distributed application")]
+ [AspireExport(Description = "Adds an Azure Functions project to the distributed application")]
public static ApplicationModel.IResourceBuilder AddAzureFunctionsProject(this IDistributedApplicationBuilder builder, string name, string projectPath) { throw null; }
[AspireExportIgnore(Reason = "TProject : IProjectMetadata is a .NET-specific generic constraint not compatible with ATS. Use the project path overload instead.")]
public static ApplicationModel.IResourceBuilder AddAzureFunctionsProject(this IDistributedApplicationBuilder builder, string name)
where TProject : IProjectMetadata, new() { throw null; }
- [AspireExport("withHostStorage", Description = "Configures the Azure Functions project to use specified Azure Storage as host storage")]
+ [AspireExport(Description = "Configures the Azure Functions project to use specified Azure Storage as host storage")]
public static ApplicationModel.IResourceBuilder WithHostStorage(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder storage) { throw null; }
[AspireExportIgnore(Reason = "IResourceWithAzureFunctionsConfig is an internal interface constraint not compatible with ATS.")]
public static ApplicationModel.IResourceBuilder WithReference(this ApplicationModel.IResourceBuilder destination, ApplicationModel.IResourceBuilder source, string? connectionName = null)
where TSource : ApplicationModel.IResourceWithConnectionString, Azure.IResourceWithAzureFunctionsConfig { throw null; }
}
+
+ public static partial class DurableTaskResourceExtensions
+ {
+ [AspireExport(Description = "Adds a Durable Task scheduler resource to the distributed application.")]
+ [System.Diagnostics.CodeAnalysis.Experimental("ASPIREDURABLETASK001", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")]
+ public static ApplicationModel.IResourceBuilder AddDurableTaskScheduler(this IDistributedApplicationBuilder builder, string name) { throw null; }
+
+ [AspireExport(Description = "Adds a Durable Task hub resource associated with the scheduler.")]
+ [System.Diagnostics.CodeAnalysis.Experimental("ASPIREDURABLETASK001", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")]
+ public static ApplicationModel.IResourceBuilder AddTaskHub(this ApplicationModel.IResourceBuilder builder, string name) { throw null; }
+
+ [AspireExport(Description = "Configures the Durable Task scheduler to run using the local emulator.", RunSyncOnBackgroundThread = true)]
+ [System.Diagnostics.CodeAnalysis.Experimental("ASPIREDURABLETASK001", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")]
+ public static ApplicationModel.IResourceBuilder RunAsEmulator(this ApplicationModel.IResourceBuilder builder, System.Action>? configureContainer = null) { throw null; }
+
+ [AspireExportIgnore(Reason = "Polyglot export is via RunAsExistingCore which accepts both string and parameter resource inputs.")]
+ [System.Diagnostics.CodeAnalysis.Experimental("ASPIREDURABLETASK001", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")]
+ public static ApplicationModel.IResourceBuilder RunAsExisting(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder connectionString) { throw null; }
+
+ [AspireExportIgnore(Reason = "Polyglot export is via RunAsExistingCore which accepts both string and parameter resource inputs.")]
+ [System.Diagnostics.CodeAnalysis.Experimental("ASPIREDURABLETASK001", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")]
+ public static ApplicationModel.IResourceBuilder RunAsExisting(this ApplicationModel.IResourceBuilder builder, string connectionString) { throw null; }
+
+ [AspireExportIgnore(Reason = "Polyglot export is via WithTaskHubNameCore which accepts both string and parameter resource inputs.")]
+ [System.Diagnostics.CodeAnalysis.Experimental("ASPIREDURABLETASK001", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")]
+ public static ApplicationModel.IResourceBuilder WithTaskHubName(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder taskHubName) { throw null; }
+
+ [AspireExportIgnore(Reason = "Polyglot export is via WithTaskHubNameCore which accepts both string and parameter resource inputs.")]
+ [System.Diagnostics.CodeAnalysis.Experimental("ASPIREDURABLETASK001", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")]
+ public static ApplicationModel.IResourceBuilder WithTaskHubName(this ApplicationModel.IResourceBuilder builder, string taskHubName) { throw null; }
+ }
}
namespace Aspire.Hosting.Azure
@@ -34,4 +65,40 @@ public AzureFunctionsProjectResource(string name) : base(default!) { }
static ApplicationModel.IResourceBuilder? ApplicationModel.IResourceWithCustomWithReference.TryWithReference(ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder source, string? connectionName, bool optional, string? name) { throw null; }
}
+}
+
+namespace Aspire.Hosting.Azure.DurableTask
+{
+ [AspireExport(ExposeProperties = true)]
+ [System.Diagnostics.CodeAnalysis.Experimental("ASPIREDURABLETASK001", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")]
+ public sealed partial class DurableTaskHubResource : ApplicationModel.Resource, ApplicationModel.IResourceWithConnectionString, ApplicationModel.IResource, ApplicationModel.IExpressionValue, ApplicationModel.IValueProvider, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueWithReferences, ApplicationModel.IResourceWithParent, ApplicationModel.IResourceWithParent, IResourceWithAzureFunctionsConfig
+ {
+ public DurableTaskHubResource(string name, DurableTaskSchedulerResource scheduler) : base(default!) { }
+
+ public ApplicationModel.ReferenceExpression ConnectionStringExpression { get { throw null; } }
+
+ public DurableTaskSchedulerResource Parent { get { throw null; } }
+
+ public ApplicationModel.ReferenceExpression TaskHubName { get { throw null; } }
+
+ void IResourceWithAzureFunctionsConfig.ApplyAzureFunctionsConfiguration(System.Collections.Generic.IDictionary target, string connectionName) { }
+ }
+
+ [System.Diagnostics.CodeAnalysis.Experimental("ASPIREDURABLETASK001", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")]
+ public sealed partial class DurableTaskSchedulerEmulatorResource : ApplicationModel.ContainerResource
+ {
+ public DurableTaskSchedulerEmulatorResource(DurableTaskSchedulerResource scheduler) : base(default!, default) { }
+
+ public override ApplicationModel.ResourceAnnotationCollection Annotations { get { throw null; } }
+ }
+
+ [System.Diagnostics.CodeAnalysis.Experimental("ASPIREDURABLETASK001", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")]
+ public sealed partial class DurableTaskSchedulerResource : ApplicationModel.Resource, ApplicationModel.IResourceWithEndpoints, ApplicationModel.IResource, ApplicationModel.IResourceWithConnectionString, ApplicationModel.IExpressionValue, ApplicationModel.IValueProvider, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueWithReferences
+ {
+ public DurableTaskSchedulerResource(string name) : base(default!) { }
+
+ public ApplicationModel.ReferenceExpression ConnectionStringExpression { get { throw null; } }
+
+ public bool IsEmulator { get { throw null; } }
+ }
}
\ No newline at end of file
diff --git a/src/Aspire.Hosting.Azure.KeyVault/api/Aspire.Hosting.Azure.KeyVault.cs b/src/Aspire.Hosting.Azure.KeyVault/api/Aspire.Hosting.Azure.KeyVault.cs
index 6985bcb7ae6..8b2928d3438 100644
--- a/src/Aspire.Hosting.Azure.KeyVault/api/Aspire.Hosting.Azure.KeyVault.cs
+++ b/src/Aspire.Hosting.Azure.KeyVault/api/Aspire.Hosting.Azure.KeyVault.cs
@@ -10,28 +10,28 @@ namespace Aspire.Hosting
{
public static partial class AzureKeyVaultResourceExtensions
{
- [AspireExport("addAzureKeyVault", Description = "Adds an Azure Key Vault resource")]
+ [AspireExport(Description = "Adds an Azure Key Vault resource")]
public static ApplicationModel.IResourceBuilder AddAzureKeyVault(this IDistributedApplicationBuilder builder, string name) { throw null; }
- [AspireExport("addSecret", Description = "Adds a secret to the Azure Key Vault from a parameter resource")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal addSecret dispatcher export.")]
public static ApplicationModel.IResourceBuilder AddSecret(this ApplicationModel.IResourceBuilder builder, string name, ApplicationModel.IResourceBuilder parameterResource) { throw null; }
[AspireExportIgnore(Reason = "Raw ParameterResource overload; use the IResourceBuilder variant instead.")]
public static ApplicationModel.IResourceBuilder AddSecret(this ApplicationModel.IResourceBuilder builder, string name, ApplicationModel.ParameterResource parameterResource) { throw null; }
- [AspireExport("addSecretFromExpression", Description = "Adds a secret to the Azure Key Vault from a reference expression")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal addSecret dispatcher export.")]
public static ApplicationModel.IResourceBuilder AddSecret(this ApplicationModel.IResourceBuilder builder, string name, ApplicationModel.ReferenceExpression value) { throw null; }
- [AspireExport("addSecretWithName", Description = "Adds a named secret to the Azure Key Vault from a parameter resource")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal addSecret dispatcher export.")]
public static ApplicationModel.IResourceBuilder AddSecret(this ApplicationModel.IResourceBuilder builder, string name, string secretName, ApplicationModel.IResourceBuilder parameterResource) { throw null; }
[AspireExportIgnore(Reason = "Raw ParameterResource overload; use the IResourceBuilder variant instead.")]
public static ApplicationModel.IResourceBuilder AddSecret(this ApplicationModel.IResourceBuilder builder, string name, string secretName, ApplicationModel.ParameterResource parameterResource) { throw null; }
- [AspireExport("addSecretWithNameFromExpression", Description = "Adds a named secret to the Azure Key Vault from a reference expression")]
+ [AspireExportIgnore(Reason = "Polyglot app hosts use the internal addSecret dispatcher export.")]
public static ApplicationModel.IResourceBuilder AddSecret(this ApplicationModel.IResourceBuilder builder, string name, string secretName, ApplicationModel.ReferenceExpression value) { throw null; }
- [AspireExport("getSecret", Description = "Gets a secret reference from the Azure Key Vault")]
+ [AspireExport(Description = "Gets a secret reference from the Azure Key Vault")]
public static Azure.IAzureKeyVaultSecretReference GetSecret(this ApplicationModel.IResourceBuilder builder, string secretName) { throw null; }
[AspireExportIgnore(Reason = "KeyVaultBuiltInRole is an Azure.Provisioning type not compatible with ATS. Use the AzureKeyVaultRole-based overload instead.")]
@@ -42,7 +42,7 @@ public static ApplicationModel.IResourceBuilder WithRoleAssignments(this A
namespace Aspire.Hosting.Azure
{
- public partial class AzureKeyVaultResource : AzureProvisioningResource, ApplicationModel.IResourceWithEndpoints, ApplicationModel.IResource, ApplicationModel.IResourceWithConnectionString, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueProvider, ApplicationModel.IValueWithReferences, IAzureKeyVaultResource, ApplicationModel.IAzureResource, IAzurePrivateEndpointTarget
+ public partial class AzureKeyVaultResource : AzureProvisioningResource, ApplicationModel.IResourceWithEndpoints, ApplicationModel.IResource, ApplicationModel.IResourceWithConnectionString, ApplicationModel.IExpressionValue, ApplicationModel.IValueProvider, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueWithReferences, IAzureKeyVaultResource, ApplicationModel.IAzureResource, IAzurePrivateEndpointTarget, IAzureNspAssociationTarget
{
public AzureKeyVaultResource(string name, System.Action configureInfrastructure) : base(default!, default!) { }
@@ -66,7 +66,7 @@ public AzureKeyVaultResource(string name, System.Action> ApplicationModel.IResourceWithConnectionString.GetConnectionProperties() { throw null; }
- string IAzurePrivateEndpointTarget.GetPrivateDnsZoneName() { throw null; }
+ System.Collections.Generic.IEnumerable IAzurePrivateEndpointTarget.GetPrivateDnsZoneNames() { throw null; }
System.Collections.Generic.IEnumerable IAzurePrivateEndpointTarget.GetPrivateLinkGroupIds() { throw null; }
@@ -76,7 +76,7 @@ public AzureKeyVaultResource(string name, System.Action, ApplicationModel.IResourceWithParent, ApplicationModel.IResource, IAzureKeyVaultSecretReference, ApplicationModel.IValueProvider, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueWithReferences
+ public partial class AzureKeyVaultSecretResource : ApplicationModel.Resource, ApplicationModel.IResourceWithParent, ApplicationModel.IResourceWithParent, ApplicationModel.IResource, IAzureKeyVaultSecretReference, ApplicationModel.IExpressionValue, ApplicationModel.IValueProvider, ApplicationModel.IManifestExpressionProvider, ApplicationModel.IValueWithReferences
{
public AzureKeyVaultSecretResource(string name, string secretName, AzureKeyVaultResource parent, object value) : base(default!) { }
diff --git a/src/Aspire.Hosting.Azure.Kubernetes/api/Aspire.Hosting.Azure.Kubernetes.cs b/src/Aspire.Hosting.Azure.Kubernetes/api/Aspire.Hosting.Azure.Kubernetes.cs
new file mode 100644
index 00000000000..3821951feeb
--- /dev/null
+++ b/src/Aspire.Hosting.Azure.Kubernetes/api/Aspire.Hosting.Azure.Kubernetes.cs
@@ -0,0 +1,3513 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+namespace Aspire.Hosting
+{
+ public static partial class AzureKubernetesEnvironmentExtensions
+ {
+ [AspireExport(Description = "Adds an Azure Kubernetes Service environment resource")]
+ public static ApplicationModel.IResourceBuilder AddAzureKubernetesEnvironment(this IDistributedApplicationBuilder builder, string name) { throw null; }
+
+ [AspireExport(Description = "Adds a node pool to the AKS cluster")]
+ public static ApplicationModel.IResourceBuilder AddNodePool(this ApplicationModel.IResourceBuilder builder, string name, string vmSize = "Standard_D2s_v5", int minCount = 1, int maxCount = 3) { throw null; }
+
+ [AspireExport(Description = "Configures the AKS environment to use a specific container registry")]
+ public static ApplicationModel.IResourceBuilder WithContainerRegistry(this ApplicationModel.IResourceBuilder builder, ApplicationModel.IResourceBuilder registry) { throw null; }
+
+ [AspireExport(Description = "Configures the AKS cluster to use a VNet subnet")]
+ public static ApplicationModel.IResourceBuilder WithSubnet(this ApplicationModel.IResourceBuilder