-
Notifications
You must be signed in to change notification settings - Fork 648
Add IAzureComputeEnvironmentResource interface for Azure-backed compute #9700
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…ions Co-authored-by: davidfowl <95136+davidfowl@users.noreply.github.com>
Co-authored-by: davidfowl <95136+davidfowl@users.noreply.github.com>
IAzureComputeEnvironmentResource
interface for Azure-backed compute
@copilot don't change |
Co-authored-by: davidfowl <95136+davidfowl@users.noreply.github.com>
Reverted the manual changes to the generated API surface file in commit 43c710a. The core functionality (IAzureComputeEnvironmentResource interface and implementations) remains intact. Warning Firewall rules blocked me from connecting to one or more addressesI tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces a new interface, IAzureComputeEnvironmentResource, to clearly distinguish Azure-backed compute environments from other types, while updating resource implementations and adding unit tests to verify compatibility.
- Added the IAzureComputeEnvironmentResource interface.
- Updated AzureContainerAppEnvironmentResource and AzureAppServiceEnvironmentResource to implement the new interface.
- Extended the test suite to verify the new interface implementation.
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
File | Description |
---|---|
tests/Aspire.Hosting.Azure.Tests/AzureContainerAppsTests.cs | Added a test to ensure the Azure container app environment implements IAzureComputeEnvironmentResource. |
tests/Aspire.Hosting.Azure.Tests/AzureAppServiceTests.cs | Added a test to ensure the Azure app service environment implements IAzureComputeEnvironmentResource. |
src/Aspire.Hosting.Azure/IAzureComputeEnvironmentResource.cs | Introduced the new interface to represent Azure compute environments. |
src/Aspire.Hosting.Azure.AppService/AzureAppServiceEnvironmentResource.cs | Updated the implementation to use IAzureComputeEnvironmentResource. |
src/Aspire.Hosting.Azure.AppContainers/AzureContainerAppEnvironmentResource.cs | Updated the implementation to use IAzureComputeEnvironmentResource. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good job, robot! 🤖
This PR introduces a new
IAzureComputeEnvironmentResource
interface that extendsIComputeEnvironmentResource
to allow implementors to disambiguate between Azure and non-Azure compute environments (Docker Compose, Kubernetes, etc.).Changes Made
IAzureComputeEnvironmentResource
in theAspire.Hosting.Azure
namespaceAzureContainerAppEnvironmentResource
andAzureAppServiceEnvironmentResource
now implement the new interface instead ofIComputeEnvironmentResource
directlyIAzureComputeEnvironmentResource
extendsIComputeEnvironmentResource
, existing code continues to workAPI Design
Usage
Consumers can now distinguish between Azure and non-Azure compute environments:
Fixes #9649.
Warning
Firewall rules blocked me from connecting to one or more addresses
I tried to connect to the following addresses, but was blocked by firewall rules:
0t3vsblobprodcus362.vsblob.vsassets.io
/home/REDACTED/work/aspire/aspire/.dotnet/dotnet test tests/Aspire.Hosting.Azure.Tests/Aspire.Hosting.Azure.Tests.csproj --filter AzureContainerAppEnvironmentImplementsIAzureComputeEnvironmentResource
(dns block)7devsblobprodcus323.vsblob.vsassets.io
/home/REDACTED/work/aspire/aspire/.dotnet/dotnet test tests/Aspire.Hosting.Azure.Tests/Aspire.Hosting.Azure.Tests.csproj --filter AzureContainerAppEnvironmentImplementsIAzureComputeEnvironmentResource
(dns block)7k6vsblobprodcus337.vsblob.vsassets.io
/home/REDACTED/work/aspire/aspire/.dotnet/dotnet test tests/Aspire.Hosting.Azure.Tests/Aspire.Hosting.Azure.Tests.csproj --filter AzureContainerAppEnvironmentImplementsIAzureComputeEnvironmentResource
(dns block)dlbvsblobprodcus316.vsblob.vsassets.io
/home/REDACTED/work/aspire/aspire/.dotnet/dotnet test tests/Aspire.Hosting.Azure.Tests/Aspire.Hosting.Azure.Tests.csproj --filter AzureContainerAppEnvironmentImplementsIAzureComputeEnvironmentResource
(dns block)h6tvsblobprodcus346.vsblob.vsassets.io
/home/REDACTED/work/aspire/aspire/.dotnet/dotnet test tests/Aspire.Hosting.Azure.Tests/Aspire.Hosting.Azure.Tests.csproj --filter AzureContainerAppEnvironmentImplementsIAzureComputeEnvironmentResource
(dns block)http://168.63.129.16:80/machine/
/usr/bin/python3 -u bin/WALinuxAgent-2.13.1.1-py3.9.egg -collect-logs
(http block)i1qvsblobprodcus353.vsblob.vsassets.io
/home/REDACTED/work/aspire/aspire/.dotnet/dotnet test tests/Aspire.Hosting.Azure.Tests/Aspire.Hosting.Azure.Tests.csproj --filter AzureContainerAppEnvironmentImplementsIAzureComputeEnvironmentResource
(dns block)imzvsblobprodcus368.vsblob.vsassets.io
/home/REDACTED/work/aspire/aspire/.dotnet/dotnet test tests/Aspire.Hosting.Azure.Tests/Aspire.Hosting.Azure.Tests.csproj --filter AzureContainerAppEnvironmentImplementsIAzureComputeEnvironmentResource
(dns block)jd4vsblobprodcus366.vsblob.vsassets.io
/home/REDACTED/work/aspire/aspire/.dotnet/dotnet test tests/Aspire.Hosting.Azure.Tests/Aspire.Hosting.Azure.Tests.csproj --filter AzureContainerAppEnvironmentImplementsIAzureComputeEnvironmentResource
(dns block)kh4vsblobprodcus325.vsblob.vsassets.io
/home/REDACTED/work/aspire/aspire/.dotnet/dotnet test tests/Aspire.Hosting.Azure.Tests/Aspire.Hosting.Azure.Tests.csproj --filter AzureContainerAppEnvironmentImplementsIAzureComputeEnvironmentResource
(dns block)l49vsblobprodcus358.vsblob.vsassets.io
/home/REDACTED/work/aspire/aspire/.dotnet/dotnet test tests/Aspire.Hosting.Azure.Tests/Aspire.Hosting.Azure.Tests.csproj --filter AzureContainerAppEnvironmentImplementsIAzureComputeEnvironmentResource
(dns block)ofvvsblobprodcus315.vsblob.vsassets.io
/home/REDACTED/work/aspire/aspire/.dotnet/dotnet test tests/Aspire.Hosting.Azure.Tests/Aspire.Hosting.Azure.Tests.csproj --filter AzureContainerAppEnvironmentImplementsIAzureComputeEnvironmentResource
(dns block)p2ovsblobprodcus312.vsblob.vsassets.io
/home/REDACTED/work/aspire/aspire/.dotnet/dotnet test tests/Aspire.Hosting.Azure.Tests/Aspire.Hosting.Azure.Tests.csproj --filter AzureContainerAppEnvironmentImplementsIAzureComputeEnvironmentResource
(dns block)pe4vsblobprodcus351.vsblob.vsassets.io
/home/REDACTED/work/aspire/aspire/.dotnet/dotnet test tests/Aspire.Hosting.Azure.Tests/Aspire.Hosting.Azure.Tests.csproj --filter AzureContainerAppEnvironmentImplementsIAzureComputeEnvironmentResource
(dns block)x3yvsblobprodcus370.vsblob.vsassets.io
/home/REDACTED/work/aspire/aspire/.dotnet/dotnet test tests/Aspire.Hosting.Azure.Tests/Aspire.Hosting.Azure.Tests.csproj --filter AzureContainerAppEnvironmentImplementsIAzureComputeEnvironmentResource
(dns block)If you need me to access, download, or install something from one of these locations, you can either:
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.