diff --git a/azure-mgmt-network/azure/mgmt/network/network_management_client.py b/azure-mgmt-network/azure/mgmt/network/network_management_client.py index 5b744456bf90..c32f7f5fac40 100644 --- a/azure-mgmt-network/azure/mgmt/network/network_management_client.py +++ b/azure-mgmt-network/azure/mgmt/network/network_management_client.py @@ -2142,6 +2142,19 @@ def packet_captures(self): raise NotImplementedError("APIVersion {} is not available".format(api_version)) return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property + def peer_express_route_circuit_connections(self): + """Instance depends on the API version: + + * 2018-12-01: :class:`PeerExpressRouteCircuitConnectionsOperations` + """ + api_version = self._get_api_version('peer_express_route_circuit_connections') + if api_version == '2018-12-01': + from .v2018_12_01.operations import PeerExpressRouteCircuitConnectionsOperations as OperationClass + else: + raise NotImplementedError("APIVersion {} is not available".format(api_version)) + return OperationClass(self._client, self.config, Serializer(self._models_dict(api_version)), Deserializer(self._models_dict(api_version))) + @property def public_ip_addresses(self): """Instance depends on the API version: diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/__init__.py b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/__init__.py index c37b92c48793..9cbfd72c0fc7 100644 --- a/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/__init__.py +++ b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/__init__.py @@ -110,6 +110,7 @@ from .express_route_circuit_stats_py3 import ExpressRouteCircuitStats from .express_route_connection_id_py3 import ExpressRouteConnectionId from .express_route_circuit_connection_py3 import ExpressRouteCircuitConnection + from .peer_express_route_circuit_connection_py3 import PeerExpressRouteCircuitConnection from .express_route_circuit_peering_py3 import ExpressRouteCircuitPeering from .route_filter_py3 import RouteFilter from .ipv6_express_route_circuit_peering_config_py3 import Ipv6ExpressRouteCircuitPeeringConfig @@ -397,6 +398,7 @@ from .express_route_circuit_stats import ExpressRouteCircuitStats from .express_route_connection_id import ExpressRouteConnectionId from .express_route_circuit_connection import ExpressRouteCircuitConnection + from .peer_express_route_circuit_connection import PeerExpressRouteCircuitConnection from .express_route_circuit_peering import ExpressRouteCircuitPeering from .route_filter import RouteFilter from .ipv6_express_route_circuit_peering_config import Ipv6ExpressRouteCircuitPeeringConfig @@ -594,6 +596,7 @@ from .express_route_circuit_authorization_paged import ExpressRouteCircuitAuthorizationPaged from .express_route_circuit_peering_paged import ExpressRouteCircuitPeeringPaged from .express_route_circuit_connection_paged import ExpressRouteCircuitConnectionPaged +from .peer_express_route_circuit_connection_paged import PeerExpressRouteCircuitConnectionPaged from .express_route_circuit_paged import ExpressRouteCircuitPaged from .express_route_service_provider_paged import ExpressRouteServiceProviderPaged from .express_route_cross_connection_paged import ExpressRouteCrossConnectionPaged @@ -844,6 +847,7 @@ 'ExpressRouteCircuitStats', 'ExpressRouteConnectionId', 'ExpressRouteCircuitConnection', + 'PeerExpressRouteCircuitConnection', 'ExpressRouteCircuitPeering', 'RouteFilter', 'Ipv6ExpressRouteCircuitPeeringConfig', @@ -1041,6 +1045,7 @@ 'ExpressRouteCircuitAuthorizationPaged', 'ExpressRouteCircuitPeeringPaged', 'ExpressRouteCircuitConnectionPaged', + 'PeerExpressRouteCircuitConnectionPaged', 'ExpressRouteCircuitPaged', 'ExpressRouteServiceProviderPaged', 'ExpressRouteCrossConnectionPaged', diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/express_route_circuit.py b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/express_route_circuit.py index b0b7bd3ac799..8809ca53673f 100644 --- a/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/express_route_circuit.py +++ b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/express_route_circuit.py @@ -72,6 +72,8 @@ class ExpressRouteCircuit(Resource): :type gateway_manager_etag: str :param allow_global_reach: Flag to enable Global Reach on the circuit. :type allow_global_reach: bool + :param global_reach_enabled: Flag denoting Global reach status. + :type global_reach_enabled: bool :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. :vartype etag: str @@ -105,6 +107,7 @@ class ExpressRouteCircuit(Resource): 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, 'allow_global_reach': {'key': 'properties.allowGlobalReach', 'type': 'bool'}, + 'global_reach_enabled': {'key': 'properties.globalReachEnabled', 'type': 'bool'}, 'etag': {'key': 'etag', 'type': 'str'}, } @@ -125,4 +128,5 @@ def __init__(self, **kwargs): self.provisioning_state = kwargs.get('provisioning_state', None) self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) self.allow_global_reach = kwargs.get('allow_global_reach', None) + self.global_reach_enabled = kwargs.get('global_reach_enabled', None) self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/express_route_circuit_peering.py b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/express_route_circuit_peering.py index cf51791180a4..b085f402546f 100644 --- a/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/express_route_circuit_peering.py +++ b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/express_route_circuit_peering.py @@ -70,6 +70,10 @@ class ExpressRouteCircuitPeering(SubResource): Private Peering for this circuit. :type connections: list[~azure.mgmt.network.v2018_12_01.models.ExpressRouteCircuitConnection] + :ivar peered_connections: The list of peered circuit connections + associated with Azure Private Peering for this circuit. + :vartype peered_connections: + list[~azure.mgmt.network.v2018_12_01.models.PeerExpressRouteCircuitConnection] :param name: Gets name of the resource that is unique within a resource group. This name can be used to access the resource. :type name: str @@ -80,6 +84,7 @@ class ExpressRouteCircuitPeering(SubResource): _validation = { 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, + 'peered_connections': {'readonly': True}, 'etag': {'readonly': True}, } @@ -104,6 +109,7 @@ class ExpressRouteCircuitPeering(SubResource): 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, 'express_route_connection': {'key': 'properties.expressRouteConnection', 'type': 'ExpressRouteConnectionId'}, 'connections': {'key': 'properties.connections', 'type': '[ExpressRouteCircuitConnection]'}, + 'peered_connections': {'key': 'properties.peeredConnections', 'type': '[PeerExpressRouteCircuitConnection]'}, 'name': {'key': 'name', 'type': 'str'}, 'etag': {'key': 'etag', 'type': 'str'}, } @@ -129,5 +135,6 @@ def __init__(self, **kwargs): self.ipv6_peering_config = kwargs.get('ipv6_peering_config', None) self.express_route_connection = kwargs.get('express_route_connection', None) self.connections = kwargs.get('connections', None) + self.peered_connections = None self.name = kwargs.get('name', None) self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/express_route_circuit_peering_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/express_route_circuit_peering_py3.py index d0d78f677887..adbcd76b45f8 100644 --- a/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/express_route_circuit_peering_py3.py +++ b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/express_route_circuit_peering_py3.py @@ -70,6 +70,10 @@ class ExpressRouteCircuitPeering(SubResource): Private Peering for this circuit. :type connections: list[~azure.mgmt.network.v2018_12_01.models.ExpressRouteCircuitConnection] + :ivar peered_connections: The list of peered circuit connections + associated with Azure Private Peering for this circuit. + :vartype peered_connections: + list[~azure.mgmt.network.v2018_12_01.models.PeerExpressRouteCircuitConnection] :param name: Gets name of the resource that is unique within a resource group. This name can be used to access the resource. :type name: str @@ -80,6 +84,7 @@ class ExpressRouteCircuitPeering(SubResource): _validation = { 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, + 'peered_connections': {'readonly': True}, 'etag': {'readonly': True}, } @@ -104,6 +109,7 @@ class ExpressRouteCircuitPeering(SubResource): 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, 'express_route_connection': {'key': 'properties.expressRouteConnection', 'type': 'ExpressRouteConnectionId'}, 'connections': {'key': 'properties.connections', 'type': '[ExpressRouteCircuitConnection]'}, + 'peered_connections': {'key': 'properties.peeredConnections', 'type': '[PeerExpressRouteCircuitConnection]'}, 'name': {'key': 'name', 'type': 'str'}, 'etag': {'key': 'etag', 'type': 'str'}, } @@ -129,5 +135,6 @@ def __init__(self, *, id: str=None, peering_type=None, state=None, azure_asn: in self.ipv6_peering_config = ipv6_peering_config self.express_route_connection = express_route_connection self.connections = connections + self.peered_connections = None self.name = name self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/express_route_circuit_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/express_route_circuit_py3.py index d15dad480ad2..c40bcf6737fc 100644 --- a/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/express_route_circuit_py3.py +++ b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/express_route_circuit_py3.py @@ -72,6 +72,8 @@ class ExpressRouteCircuit(Resource): :type gateway_manager_etag: str :param allow_global_reach: Flag to enable Global Reach on the circuit. :type allow_global_reach: bool + :param global_reach_enabled: Flag denoting Global reach status. + :type global_reach_enabled: bool :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. :vartype etag: str @@ -105,10 +107,11 @@ class ExpressRouteCircuit(Resource): 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, 'allow_global_reach': {'key': 'properties.allowGlobalReach', 'type': 'bool'}, + 'global_reach_enabled': {'key': 'properties.globalReachEnabled', 'type': 'bool'}, 'etag': {'key': 'etag', 'type': 'str'}, } - def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, allow_classic_operations: bool=None, circuit_provisioning_state: str=None, service_provider_provisioning_state=None, authorizations=None, peerings=None, service_key: str=None, service_provider_notes: str=None, service_provider_properties=None, express_route_port=None, bandwidth_in_gbps: float=None, provisioning_state: str=None, gateway_manager_etag: str=None, allow_global_reach: bool=None, **kwargs) -> None: + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, allow_classic_operations: bool=None, circuit_provisioning_state: str=None, service_provider_provisioning_state=None, authorizations=None, peerings=None, service_key: str=None, service_provider_notes: str=None, service_provider_properties=None, express_route_port=None, bandwidth_in_gbps: float=None, provisioning_state: str=None, gateway_manager_etag: str=None, allow_global_reach: bool=None, global_reach_enabled: bool=None, **kwargs) -> None: super(ExpressRouteCircuit, self).__init__(id=id, location=location, tags=tags, **kwargs) self.sku = sku self.allow_classic_operations = allow_classic_operations @@ -125,4 +128,5 @@ def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, all self.provisioning_state = provisioning_state self.gateway_manager_etag = gateway_manager_etag self.allow_global_reach = allow_global_reach + self.global_reach_enabled = global_reach_enabled self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/peer_express_route_circuit_connection.py b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/peer_express_route_circuit_connection.py new file mode 100644 index 000000000000..00cad269be1b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/peer_express_route_circuit_connection.py @@ -0,0 +1,87 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .sub_resource import SubResource + + +class PeerExpressRouteCircuitConnection(SubResource): + """Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering + resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param express_route_circuit_peering: Reference to Express Route Circuit + Private Peering Resource of the circuit. + :type express_route_circuit_peering: + ~azure.mgmt.network.v2018_12_01.models.SubResource + :param peer_express_route_circuit_peering: Reference to Express Route + Circuit Private Peering Resource of the peered circuit. + :type peer_express_route_circuit_peering: + ~azure.mgmt.network.v2018_12_01.models.SubResource + :param address_prefix: /29 IP address space to carve out Customer + addresses for tunnels. + :type address_prefix: str + :ivar circuit_connection_status: Express Route Circuit Connection State. + Possible values are: 'Connected' and 'Disconnected'. Possible values + include: 'Connected', 'Connecting', 'Disconnected' + :vartype circuit_connection_status: str or + ~azure.mgmt.network.v2018_12_01.models.CircuitConnectionStatus + :param connection_name: The name of the express route circuit connection + resource. + :type connection_name: str + :param auth_resource_guid: The resource guid of the authorization used for + the express route circuit connection. + :type auth_resource_guid: str + :ivar provisioning_state: Provisioning state of the peer express route + circuit connection resource. Possible values are: 'Succeeded', 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param name: Gets name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'circuit_connection_status': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, + 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, + 'connection_name': {'key': 'properties.connectionName', 'type': 'str'}, + 'auth_resource_guid': {'key': 'properties.authResourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PeerExpressRouteCircuitConnection, self).__init__(**kwargs) + self.express_route_circuit_peering = kwargs.get('express_route_circuit_peering', None) + self.peer_express_route_circuit_peering = kwargs.get('peer_express_route_circuit_peering', None) + self.address_prefix = kwargs.get('address_prefix', None) + self.circuit_connection_status = None + self.connection_name = kwargs.get('connection_name', None) + self.auth_resource_guid = kwargs.get('auth_resource_guid', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/peer_express_route_circuit_connection_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/peer_express_route_circuit_connection_paged.py new file mode 100644 index 000000000000..ed871b37d565 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/peer_express_route_circuit_connection_paged.py @@ -0,0 +1,27 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from msrest.paging import Paged + + +class PeerExpressRouteCircuitConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`PeerExpressRouteCircuitConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PeerExpressRouteCircuitConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(PeerExpressRouteCircuitConnectionPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/peer_express_route_circuit_connection_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/peer_express_route_circuit_connection_py3.py new file mode 100644 index 000000000000..cd93948e6bcc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/models/peer_express_route_circuit_connection_py3.py @@ -0,0 +1,87 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +from .sub_resource_py3 import SubResource + + +class PeerExpressRouteCircuitConnection(SubResource): + """Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering + resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param express_route_circuit_peering: Reference to Express Route Circuit + Private Peering Resource of the circuit. + :type express_route_circuit_peering: + ~azure.mgmt.network.v2018_12_01.models.SubResource + :param peer_express_route_circuit_peering: Reference to Express Route + Circuit Private Peering Resource of the peered circuit. + :type peer_express_route_circuit_peering: + ~azure.mgmt.network.v2018_12_01.models.SubResource + :param address_prefix: /29 IP address space to carve out Customer + addresses for tunnels. + :type address_prefix: str + :ivar circuit_connection_status: Express Route Circuit Connection State. + Possible values are: 'Connected' and 'Disconnected'. Possible values + include: 'Connected', 'Connecting', 'Disconnected' + :vartype circuit_connection_status: str or + ~azure.mgmt.network.v2018_12_01.models.CircuitConnectionStatus + :param connection_name: The name of the express route circuit connection + resource. + :type connection_name: str + :param auth_resource_guid: The resource guid of the authorization used for + the express route circuit connection. + :type auth_resource_guid: str + :ivar provisioning_state: Provisioning state of the peer express route + circuit connection resource. Possible values are: 'Succeeded', 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param name: Gets name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'circuit_connection_status': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, + 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, + 'connection_name': {'key': 'properties.connectionName', 'type': 'str'}, + 'auth_resource_guid': {'key': 'properties.authResourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, express_route_circuit_peering=None, peer_express_route_circuit_peering=None, address_prefix: str=None, connection_name: str=None, auth_resource_guid: str=None, name: str=None, **kwargs) -> None: + super(PeerExpressRouteCircuitConnection, self).__init__(id=id, **kwargs) + self.express_route_circuit_peering = express_route_circuit_peering + self.peer_express_route_circuit_peering = peer_express_route_circuit_peering + self.address_prefix = address_prefix + self.circuit_connection_status = None + self.connection_name = connection_name + self.auth_resource_guid = auth_resource_guid + self.provisioning_state = None + self.name = name + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_12_01/network_management_client.py b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/network_management_client.py index 6fc7a88ee1a4..4cdb5a4b70f6 100644 --- a/azure-mgmt-network/azure/mgmt/network/v2018_12_01/network_management_client.py +++ b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/network_management_client.py @@ -30,6 +30,7 @@ from .operations.express_route_circuit_authorizations_operations import ExpressRouteCircuitAuthorizationsOperations from .operations.express_route_circuit_peerings_operations import ExpressRouteCircuitPeeringsOperations from .operations.express_route_circuit_connections_operations import ExpressRouteCircuitConnectionsOperations +from .operations.peer_express_route_circuit_connections_operations import PeerExpressRouteCircuitConnectionsOperations from .operations.express_route_circuits_operations import ExpressRouteCircuitsOperations from .operations.express_route_service_providers_operations import ExpressRouteServiceProvidersOperations from .operations.express_route_cross_connections_operations import ExpressRouteCrossConnectionsOperations @@ -153,6 +154,8 @@ class NetworkManagementClient(SDKClient): :vartype express_route_circuit_peerings: azure.mgmt.network.v2018_12_01.operations.ExpressRouteCircuitPeeringsOperations :ivar express_route_circuit_connections: ExpressRouteCircuitConnections operations :vartype express_route_circuit_connections: azure.mgmt.network.v2018_12_01.operations.ExpressRouteCircuitConnectionsOperations + :ivar peer_express_route_circuit_connections: PeerExpressRouteCircuitConnections operations + :vartype peer_express_route_circuit_connections: azure.mgmt.network.v2018_12_01.operations.PeerExpressRouteCircuitConnectionsOperations :ivar express_route_circuits: ExpressRouteCircuits operations :vartype express_route_circuits: azure.mgmt.network.v2018_12_01.operations.ExpressRouteCircuitsOperations :ivar express_route_service_providers: ExpressRouteServiceProviders operations @@ -310,6 +313,8 @@ def __init__( self._client, self.config, self._serialize, self._deserialize) self.express_route_circuit_connections = ExpressRouteCircuitConnectionsOperations( self._client, self.config, self._serialize, self._deserialize) + self.peer_express_route_circuit_connections = PeerExpressRouteCircuitConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) self.express_route_circuits = ExpressRouteCircuitsOperations( self._client, self.config, self._serialize, self._deserialize) self.express_route_service_providers = ExpressRouteServiceProvidersOperations( diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_12_01/operations/__init__.py b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/operations/__init__.py index b870ae757b80..659c0f4f2b88 100644 --- a/azure-mgmt-network/azure/mgmt/network/v2018_12_01/operations/__init__.py +++ b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/operations/__init__.py @@ -21,6 +21,7 @@ from .express_route_circuit_authorizations_operations import ExpressRouteCircuitAuthorizationsOperations from .express_route_circuit_peerings_operations import ExpressRouteCircuitPeeringsOperations from .express_route_circuit_connections_operations import ExpressRouteCircuitConnectionsOperations +from .peer_express_route_circuit_connections_operations import PeerExpressRouteCircuitConnectionsOperations from .express_route_circuits_operations import ExpressRouteCircuitsOperations from .express_route_service_providers_operations import ExpressRouteServiceProvidersOperations from .express_route_cross_connections_operations import ExpressRouteCrossConnectionsOperations @@ -91,6 +92,7 @@ 'ExpressRouteCircuitAuthorizationsOperations', 'ExpressRouteCircuitPeeringsOperations', 'ExpressRouteCircuitConnectionsOperations', + 'PeerExpressRouteCircuitConnectionsOperations', 'ExpressRouteCircuitsOperations', 'ExpressRouteServiceProvidersOperations', 'ExpressRouteCrossConnectionsOperations', diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_12_01/operations/peer_express_route_circuit_connections_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/operations/peer_express_route_circuit_connections_operations.py new file mode 100644 index 000000000000..3b5596491b1c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_12_01/operations/peer_express_route_circuit_connections_operations.py @@ -0,0 +1,185 @@ +# coding=utf-8 +# -------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See License.txt in the project root for +# license information. +# +# Code generated by Microsoft (R) AutoRest Code Generator. +# Changes may cause incorrect behavior and will be lost if the code is +# regenerated. +# -------------------------------------------------------------------------- + +import uuid +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError + +from .. import models + + +class PeerExpressRouteCircuitConnectionsOperations(object): + """PeerExpressRouteCircuitConnectionsOperations operations. + + :param client: Client for service requests. + :param config: Configuration of service client. + :param serializer: An object model serializer. + :param deserializer: An object model deserializer. + :ivar api_version: Client API version. Constant value: "2018-12-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-12-01" + + self.config = config + + def get( + self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified Peer Express Route Circuit Connection from the + specified express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the express route circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param connection_name: The name of the peer express route circuit + connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: PeerExpressRouteCircuitConnection or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2018_12_01.models.PeerExpressRouteCircuitConnection + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('PeerExpressRouteCircuitConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections/{connectionName}'} + + def list( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): + """Gets all global reach peer connections associated with a private + peering in an express route circuit. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param circuit_name: The name of the circuit. + :type circuit_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: returns the direct response alongside the + deserialized response + :param operation_config: :ref:`Operation configuration + overrides`. + :return: An iterator like instance of + PeerExpressRouteCircuitConnection + :rtype: + ~azure.mgmt.network.v2018_12_01.models.PeerExpressRouteCircuitConnectionPaged[~azure.mgmt.network.v2018_12_01.models.PeerExpressRouteCircuitConnection] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'circuitName': self._serialize.url("circuit_name", circuit_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str') + } + url = self._client.format_url(url, **path_format_arguments) + + # Construct parameters + query_parameters = {} + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Accept'] = 'application/json' + if self.config.generate_client_request_id: + header_parameters['x-ms-client-request-id'] = str(uuid.uuid1()) + if custom_headers: + header_parameters.update(custom_headers) + if self.config.accept_language is not None: + header_parameters['accept-language'] = self._serialize.header("self.config.accept_language", self.config.accept_language, 'str') + + # Construct and send request + request = self._client.get(url, query_parameters, header_parameters) + response = self._client.send(request, stream=False, **operation_config) + + if response.status_code not in [200]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + return response + + # Deserialize response + deserialized = models.PeerExpressRouteCircuitConnectionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PeerExpressRouteCircuitConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/peerConnections'}