diff --git a/src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppEnvironmentResource.cs b/src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppEnvironmentResource.cs index ccd76135e29..e3c48d0e18b 100644 --- a/src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppEnvironmentResource.cs +++ b/src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppEnvironmentResource.cs @@ -4,6 +4,7 @@ #pragma warning disable ASPIREPIPELINES001 #pragma warning disable ASPIREAZURE001 +using System.Diagnostics.CodeAnalysis; using Aspire.Hosting.ApplicationModel; using Aspire.Hosting.Pipelines; using Azure.Provisioning; @@ -231,7 +232,9 @@ public AzureContainerRegistryResource? ContainerRegistry ReferenceExpression IAzureContainerRegistry.ManagedIdentityId => ReferenceExpression.Create($"{ContainerRegistryManagedIdentityId}"); #pragma warning restore CS0618 // Type or member is obsolete - ReferenceExpression IComputeEnvironmentResource.GetHostAddressExpression(EndpointReference endpointReference) + /// + [Experimental("ASPIRECOMPUTE002", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")] + public ReferenceExpression GetHostAddressExpression(EndpointReference endpointReference) { var resource = endpointReference.Resource; diff --git a/src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentResource.cs b/src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentResource.cs index 16c815a74f1..59a433772f6 100644 --- a/src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentResource.cs +++ b/src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentResource.cs @@ -4,6 +4,7 @@ #pragma warning disable ASPIREPIPELINES001 #pragma warning disable ASPIREAZURE001 +using System.Diagnostics.CodeAnalysis; using System.Text; using Aspire.Hosting.ApplicationModel; using Aspire.Hosting.Azure.AppService; @@ -381,7 +382,9 @@ public AzureContainerRegistryResource? ContainerRegistry ReferenceExpression IAzureContainerRegistry.ManagedIdentityId => ReferenceExpression.Create($"{ContainerRegistryManagedIdentityId}"); #pragma warning restore CS0618 // Type or member is obsolete - ReferenceExpression IComputeEnvironmentResource.GetHostAddressExpression(EndpointReference endpointReference) + /// + [Experimental("ASPIRECOMPUTE002", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")] + public ReferenceExpression GetHostAddressExpression(EndpointReference endpointReference) { var resource = endpointReference.Resource; return ReferenceExpression.Create($"{resource.Name.ToLowerInvariant()}-{WebSiteSuffix}.azurewebsites.net"); diff --git a/src/Aspire.Hosting.Docker/DockerComposeEnvironmentResource.cs b/src/Aspire.Hosting.Docker/DockerComposeEnvironmentResource.cs index 4f7fa6dd05a..06ec7223398 100644 --- a/src/Aspire.Hosting.Docker/DockerComposeEnvironmentResource.cs +++ b/src/Aspire.Hosting.Docker/DockerComposeEnvironmentResource.cs @@ -4,6 +4,7 @@ #pragma warning disable ASPIREPIPELINES001 // Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed. #pragma warning disable ASPIREPIPELINES003 // Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed. +using System.Diagnostics.CodeAnalysis; using Aspire.Hosting.ApplicationModel; using Aspire.Hosting.Dcp.Process; using Aspire.Hosting.Docker.Resources; @@ -185,12 +186,9 @@ public DockerComposeEnvironmentResource(string name) : base(name) })); } - /// - /// Computes the host URL for the given . - /// - /// The endpoint reference to compute the host address for. - /// A representing the host address. - ReferenceExpression IComputeEnvironmentResource.GetHostAddressExpression(EndpointReference endpointReference) + /// + [Experimental("ASPIRECOMPUTE002", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")] + public ReferenceExpression GetHostAddressExpression(EndpointReference endpointReference) { var resource = endpointReference.Resource; diff --git a/src/Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.cs b/src/Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.cs index 36871ca8d96..edb0357720f 100644 --- a/src/Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.cs +++ b/src/Aspire.Hosting.Kubernetes/KubernetesEnvironmentResource.cs @@ -3,6 +3,7 @@ #pragma warning disable ASPIREPIPELINES001 // Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed. +using System.Diagnostics.CodeAnalysis; using Aspire.Hosting.ApplicationModel; using Aspire.Hosting.Kubernetes.Extensions; using Aspire.Hosting.Pipelines; @@ -99,12 +100,9 @@ public KubernetesEnvironmentResource(string name) : base(name) })); } - /// - /// Computes the host URL for the given . - /// - /// The endpoint reference to compute the host address for. - /// A representing the host address. - ReferenceExpression IComputeEnvironmentResource.GetHostAddressExpression(EndpointReference endpointReference) + /// + [Experimental("ASPIRECOMPUTE002", UrlFormat = "https://aka.ms/aspire/diagnostics/{0}")] + public ReferenceExpression GetHostAddressExpression(EndpointReference endpointReference) { var resource = endpointReference.Resource; diff --git a/tests/Aspire.Hosting.Azure.Tests/AzureAppServiceTests.cs b/tests/Aspire.Hosting.Azure.Tests/AzureAppServiceTests.cs index 23fc6d8c489..67041919ce8 100644 --- a/tests/Aspire.Hosting.Azure.Tests/AzureAppServiceTests.cs +++ b/tests/Aspire.Hosting.Azure.Tests/AzureAppServiceTests.cs @@ -754,7 +754,7 @@ public async Task GetHostAddressExpression() .AddProject("project1", launchProfileName: null) .WithHttpEndpoint(); - var endpointReferenceEx = ((IComputeEnvironmentResource)env.Resource).GetHostAddressExpression(project.GetEndpoint("http")); + var endpointReferenceEx = env.Resource.GetHostAddressExpression(project.GetEndpoint("http")); Assert.NotNull(endpointReferenceEx); Assert.Equal("project1-{0}.azurewebsites.net", endpointReferenceEx.Format); diff --git a/tests/Aspire.Hosting.Azure.Tests/AzureContainerAppsTests.cs b/tests/Aspire.Hosting.Azure.Tests/AzureContainerAppsTests.cs index a0fe44a8a1a..2ffe5d25d2f 100644 --- a/tests/Aspire.Hosting.Azure.Tests/AzureContainerAppsTests.cs +++ b/tests/Aspire.Hosting.Azure.Tests/AzureContainerAppsTests.cs @@ -2099,7 +2099,7 @@ public async Task GetHostAddressExpression() .AddProject("project1", launchProfileName: null) .WithHttpEndpoint(); - var endpointReferenceEx = ((IComputeEnvironmentResource)env.Resource).GetHostAddressExpression(project.GetEndpoint("http")); + var endpointReferenceEx = env.Resource.GetHostAddressExpression(project.GetEndpoint("http")); Assert.NotNull(endpointReferenceEx); Assert.Equal("project1.internal.{0}", endpointReferenceEx.Format); diff --git a/tests/Aspire.Hosting.Docker.Tests/DockerComposeTests.cs b/tests/Aspire.Hosting.Docker.Tests/DockerComposeTests.cs index b144728cc69..15034bb96c0 100644 --- a/tests/Aspire.Hosting.Docker.Tests/DockerComposeTests.cs +++ b/tests/Aspire.Hosting.Docker.Tests/DockerComposeTests.cs @@ -221,7 +221,7 @@ public async Task GetHostAddressExpression() .AddProject("Project1", launchProfileName: null) .WithHttpEndpoint(); - var endpointReferenceEx = ((IComputeEnvironmentResource)env.Resource).GetHostAddressExpression(project.GetEndpoint("http")); + var endpointReferenceEx = env.Resource.GetHostAddressExpression(project.GetEndpoint("http")); Assert.NotNull(endpointReferenceEx); Assert.Equal("project1", endpointReferenceEx.Format); diff --git a/tests/Aspire.Hosting.Kubernetes.Tests/KubernetesEnvironmentResourceTests.cs b/tests/Aspire.Hosting.Kubernetes.Tests/KubernetesEnvironmentResourceTests.cs index 7d061268233..68b23573eca 100644 --- a/tests/Aspire.Hosting.Kubernetes.Tests/KubernetesEnvironmentResourceTests.cs +++ b/tests/Aspire.Hosting.Kubernetes.Tests/KubernetesEnvironmentResourceTests.cs @@ -105,7 +105,7 @@ public async Task GetHostAddressExpression() .AddProject("project1", launchProfileName: null) .WithHttpEndpoint(); - var endpointReferenceEx = ((IComputeEnvironmentResource)env.Resource).GetHostAddressExpression(project.GetEndpoint("http")); + var endpointReferenceEx = env.Resource.GetHostAddressExpression(project.GetEndpoint("http")); Assert.NotNull(endpointReferenceEx); Assert.Equal("project1-service", endpointReferenceEx.Format);