Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions src/azure-cli/HISTORY.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ Release History

* [BREAKING CHANGE] Removed --failover-region parameter from manual-failover. Now it will failover to assigned geo-paired secondary region.

**Network**

* az network list-service-aliases: support list service aliases which can be used for Service Endpoint Policies

**Packaging**

* Add back edge builds for pip install
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,10 @@ def cf_virtual_network_peerings(cli_ctx, _):
return network_client_factory(cli_ctx).virtual_network_peerings


def cf_service_aliases(cli_ctx, _):
return network_client_factory(cli_ctx).available_service_aliases


def cf_traffic_manager_mgmt_profiles(cli_ctx, _):
from azure.mgmt.trafficmanager import TrafficManagerManagementClient
from azure.cli.core.commands.client_factory import get_mgmt_service_client
Expand Down
5 changes: 5 additions & 0 deletions src/azure-cli/azure/cli/command_modules/network/_help.py
Original file line number Diff line number Diff line change
Expand Up @@ -5137,3 +5137,8 @@
--resource-type vpnConnection --storage-account MyStorageAccount \\
--storage-path https://{storageAccountName}.blob.core.windows.net/{containerName}
"""

helps['network list-service-aliases'] = """
type: command
short-summary: List available service aliases in the region which can be used for Service Endpoint Policies.
"""
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
cf_express_route_circuit_connections, cf_express_route_gateways, cf_express_route_connections,
cf_express_route_ports, cf_express_route_port_locations, cf_express_route_links, cf_app_gateway_waf_policy,
cf_service_tags, cf_private_link_services, cf_private_endpoint_types, cf_peer_express_route_circuit_connections,
cf_virtual_router, cf_virtual_router_peering)
cf_virtual_router, cf_virtual_router_peering, cf_service_aliases)
from azure.cli.command_modules.network._util import (
list_network_resource_property, get_network_resource_property_entry, delete_network_resource_property_entry)
from azure.cli.command_modules.network._format import (
Expand Down Expand Up @@ -326,6 +326,12 @@ def load_command_table(self, _):
min_api='2019-08-01'
)

network_service_aliases_sdk = CliCommandType(
operations_tmpl='azure.mgmt.network.operations#AvailableServiceAliasesOperations.{}',
client_factory=cf_service_aliases,
min_api='2019-08-01'
)

network_custom = CliCommandType(operations_tmpl='azure.cli.command_modules.network.custom#{}')

# endregion
Expand All @@ -337,6 +343,7 @@ def load_command_table(self, _):

with self.command_group('network', network_service_tags_sdk) as g:
g.command('list-service-tags', 'list')
g.custom_command('list-service-aliases', 'list_service_aliases', command_type=network_service_aliases_sdk)
# endregion

# region ApplicationGateways
Expand Down
9 changes: 9 additions & 0 deletions src/azure-cli/azure/cli/command_modules/network/custom.py
Original file line number Diff line number Diff line change
Expand Up @@ -4796,3 +4796,12 @@ def update_virtual_router_peering(cmd, instance, peer_asn=None, peer_ip=None):
c.set_param('peer_ip', peer_ip)
return instance
# endregion


# region service aliases
def list_service_aliases(cmd, location, resource_group_name=None):
client = network_client_factory(cmd.cli_ctx).available_service_aliases
if resource_group_name is not None:
return client.list_by_resource_group(resource_group_name=resource_group_name, location=location)
return client.list(location=location)
# endregion
Original file line number Diff line number Diff line change
@@ -0,0 +1,190 @@
interactions:
- request:
body: null
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
CommandName:
- network service-aliases list
Connection:
- keep-alive
ParameterSetName:
- -l
User-Agent:
- python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2
azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.0.77
accept-language:
- en-US
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/centralus/availableServiceAliases?api-version=2019-09-01
response:
body:
string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"servicesAzure\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/AvailableServiceAliases/servicesAzure\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure\"\r\n },\r\n {\r\n \"name\": \"servicesAzureActiveDirectory\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureActiveDirectory\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/ActiveDirectory\"\r\n },\r\n {\r\n \"name\":
\"servicesAzureAKS\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureAKS\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/AKS\"\r\n },\r\n {\r\n \"name\": \"servicesAzureApiManagement\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureApiManagement\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/ApiManagement\"\r\n },\r\n {\r\n \"name\": \"servicesAzureBackup\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureBackup\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/Backup\"\r\n },\r\n {\r\n \"name\": \"servicesAzureBatch\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureBatch\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/Batch\"\r\n },\r\n {\r\n \"name\": \"servicesAzureDatabricks\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureDatabricks\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/Databricks\"\r\n },\r\n {\r\n \"name\": \"servicesAzureDataFactory\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureDataFactory\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/DataFactory\"\r\n },\r\n {\r\n \"name\": \"servicesAzureFirewall\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureFirewall\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/Firewall\"\r\n },\r\n {\r\n \"name\": \"servicesAzureHDI\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureHDI\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/HDI\"\r\n },\r\n {\r\n \"name\": \"servicesAzureLogicApps\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureLogicApps\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/LogicApps\"\r\n },\r\n {\r\n \"name\": \"servicesAzureManagedInstance\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureManagedInstance\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/ManagedInstance\"\r\n },\r\n {\r\n \"name\":
\"servicesAzureRedisCache\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureRedisCache\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/RedisCache\"\r\n },\r\n {\r\n \"name\": \"servicesAzureWebPI\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureWebPI\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/WebPI\"\r\n }\r\n ]\r\n}"
headers:
cache-control:
- no-cache
content-length:
- '4322'
content-type:
- application/json; charset=utf-8
date:
- Mon, 02 Dec 2019 06:50:33 GMT
expires:
- '-1'
pragma:
- no-cache
server:
- Microsoft-HTTPAPI/2.0
- Microsoft-HTTPAPI/2.0
strict-transport-security:
- max-age=31536000; includeSubDomains
transfer-encoding:
- chunked
vary:
- Accept-Encoding
x-content-type-options:
- nosniff
x-ms-arm-service-request-id:
- fd9ec1b9-6ee3-4794-aa0f-f77d597e2ea4
status:
code: 200
message: OK
- request:
body: null
headers:
Accept:
- application/json
Accept-Encoding:
- gzip, deflate
CommandName:
- network service-aliases list
Connection:
- keep-alive
ParameterSetName:
- -l -g
User-Agent:
- python/3.7.4 (Windows-10-10.0.18362-SP0) msrest/0.6.10 msrest_azure/0.6.2
azure-mgmt-network/7.0.0 Azure-SDK-For-Python AZURECLI/2.0.77
accept-language:
- en-US
method: GET
uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_network_service_aliases000001/providers/Microsoft.Network/locations/centralus/availableServiceAliases?api-version=2019-09-01
response:
body:
string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"servicesAzure\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/test_network_service_aliases000001/providers/Microsoft.Network/AvailableServiceAliases/servicesAzure\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure\"\r\n },\r\n {\r\n \"name\": \"servicesAzureActiveDirectory\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/test_network_service_aliases000001/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureActiveDirectory\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/ActiveDirectory\"\r\n },\r\n {\r\n \"name\":
\"servicesAzureAKS\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/test_network_service_aliases000001/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureAKS\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/AKS\"\r\n },\r\n {\r\n \"name\": \"servicesAzureApiManagement\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/test_network_service_aliases000001/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureApiManagement\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/ApiManagement\"\r\n },\r\n {\r\n \"name\": \"servicesAzureBackup\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/test_network_service_aliases000001/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureBackup\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/Backup\"\r\n },\r\n {\r\n \"name\": \"servicesAzureBatch\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/test_network_service_aliases000001/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureBatch\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/Batch\"\r\n },\r\n {\r\n \"name\": \"servicesAzureDatabricks\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/test_network_service_aliases000001/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureDatabricks\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/Databricks\"\r\n },\r\n {\r\n \"name\": \"servicesAzureDataFactory\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/test_network_service_aliases000001/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureDataFactory\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/DataFactory\"\r\n },\r\n {\r\n \"name\": \"servicesAzureFirewall\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/test_network_service_aliases000001/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureFirewall\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/Firewall\"\r\n },\r\n {\r\n \"name\": \"servicesAzureHDI\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/test_network_service_aliases000001/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureHDI\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/HDI\"\r\n },\r\n {\r\n \"name\": \"servicesAzureLogicApps\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/test_network_service_aliases000001/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureLogicApps\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/LogicApps\"\r\n },\r\n {\r\n \"name\": \"servicesAzureManagedInstance\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/test_network_service_aliases000001/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureManagedInstance\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/ManagedInstance\"\r\n },\r\n {\r\n \"name\":
\"servicesAzureRedisCache\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/test_network_service_aliases000001/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureRedisCache\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/RedisCache\"\r\n },\r\n {\r\n \"name\": \"servicesAzureWebPI\",\r\n
\ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroup/test_network_service_aliases000001/providers/Microsoft.Network/AvailableServiceAliases/servicesAzureWebPI\",\r\n
\ \"type\": \"Microsoft.Network/AvailableServiceAliases\",\r\n \"resourceName\":
\"/services/Azure/WebPI\"\r\n }\r\n ]\r\n}"
headers:
cache-control:
- no-cache
content-length:
- '5582'
content-type:
- application/json; charset=utf-8
date:
- Mon, 02 Dec 2019 06:50:34 GMT
expires:
- '-1'
pragma:
- no-cache
server:
- Microsoft-HTTPAPI/2.0
- Microsoft-HTTPAPI/2.0
strict-transport-security:
- max-age=31536000; includeSubDomains
transfer-encoding:
- chunked
vary:
- Accept-Encoding
x-content-type-options:
- nosniff
x-ms-arm-service-request-id:
- 31bc3a7d-c047-4268-8a6c-e489cb63dc66
status:
code: 200
message: OK
version: 1
Original file line number Diff line number Diff line change
Expand Up @@ -3271,5 +3271,16 @@ def test_network_profile(self, resource_group):
self.cmd('network profile delete -g {rg} -n dummy -y')


class NetworkServiceAliasesScenarioTest(ScenarioTest):

@ResourceGroupPreparer(name_prefix='test_network_service_aliases')
def test_network_service_aliases(self, resource_group):
self.kwargs.update({
'rg': resource_group
})
self.cmd('network list-service-aliases -l centralus')
self.cmd('network list-service-aliases -l centralus -g {rg}')


if __name__ == '__main__':
unittest.main()