diff --git a/azure-mgmt-datamigration/tests/test_mgmt_datamigration.py b/azure-mgmt-datamigration/tests/test_mgmt_datamigration.py index fcfea742425a..bf82ee5201b3 100644 --- a/azure-mgmt-datamigration/tests/test_mgmt_datamigration.py +++ b/azure-mgmt-datamigration/tests/test_mgmt_datamigration.py @@ -45,23 +45,24 @@ def test_datamigration(self, resource_group): self.assertTrue(name_availability.name_available) # DMS requires a real vnet plus subnet - vnet_creation_async = self.network_sdk_client.virtual_networks.create_or_update( - resource_group.name, - vnet_name, - { - 'location': self.location_name, - 'address_space': { - 'address_prefixes': ['10.0.0.0/16'] + if self.is_live: + vnet_creation_async = self.network_sdk_client.virtual_networks.create_or_update( + resource_group.name, + vnet_name, + { + 'location': self.location_name, + 'address_space': { + 'address_prefixes': ['10.0.0.0/16'] + } } - } - ) - vnet_creation_async.wait() - self.network_sdk_client.subnets.create_or_update( - resource_group.name, - vnet_name, - 'subnet1', - {'address_prefix': '10.0.0.0/24'} - ).wait() + ) + vnet_creation_async.wait() + self.network_sdk_client.subnets.create_or_update( + resource_group.name, + vnet_name, + 'subnet1', + {'address_prefix': '10.0.0.0/24'} + ).wait() # create the service params_create_service = DataMigrationService( diff --git a/azure-mgmt-network/HISTORY.rst b/azure-mgmt-network/HISTORY.rst index 07a732a53732..0bc55f3f0d82 100644 --- a/azure-mgmt-network/HISTORY.rst +++ b/azure-mgmt-network/HISTORY.rst @@ -3,6 +3,39 @@ Release History =============== +2.0.0 (2018-07-27) +++++++++++++++++++ + +**Features** + +- Supports now 2018-06-01 and 2018-04-01. 2018-06-01 is the new default. +- Client class can be used as a context manager to keep the underlying HTTP session open for performance + +**Features starting 2018-04-01** + +- Model FlowLogInformation has a new parameter flow_analytics_configuration +- Model ApplicationGateway has a new parameter enable_fips +- Model ApplicationGateway has a new parameter autoscale_configuration +- Model ApplicationGateway has a new parameter zones +- Model ConnectionSharedKey has a new parameter id +- Added operation group HubVirtualNetworkConnectionsOperations +- Added operation group AzureFirewallsOperations +- Added operation group VirtualHubsOperations +- Added operation group VpnGatewaysOperations +- Added operation group VpnSitesOperations +- Added operation group VirtualWANsOperations +- Added operation group VpnSitesConfigurationOperations +- Added operation group VpnConnectionsOperations + +**Breaking changes starting 2018-04-01** + +- Operation VirtualNetworkGatewayConnectionsOperations.set_shared_key has a new parameter "id" +- Operation DdosProtectionPlansOperations.create_or_update parameter "parameters" has been flatten to "tags/location" + +**Breaking changes starting 2018-06-01** + +- The new class VpnConnection introduced in 2018-04-01 renamed "connection_bandwidth" to "connection_bandwidth_in_mbps" + 2.0.0rc3 (2018-06-14) +++++++++++++++++++++ diff --git a/azure-mgmt-network/README.rst b/azure-mgmt-network/README.rst index 14f82eb61803..316d56c6614f 100644 --- a/azure-mgmt-network/README.rst +++ b/azure-mgmt-network/README.rst @@ -6,7 +6,7 @@ This is the Microsoft Azure Network Management Client Library. Azure Resource Manager (ARM) is the next generation of management APIs that replace the old Azure Service Management (ASM). -This package has been tested with Python 2.7, 3.4, 3.5 and 3.6. +This package has been tested with Python 2.7, 3.4, 3.5, 3.6 and 3.7. For the older Azure Service Management (ASM) libraries, see `azure-servicemanagement-legacy `__ library. diff --git a/azure-mgmt-network/azure/mgmt/network/models.py b/azure-mgmt-network/azure/mgmt/network/models.py index 4e8fd4f2326e..56d82efc4d57 100644 --- a/azure-mgmt-network/azure/mgmt/network/models.py +++ b/azure-mgmt-network/azure/mgmt/network/models.py @@ -4,4 +4,4 @@ # Licensed under the MIT License. See License.txt in the project root for # license information. # -------------------------------------------------------------------------- -from .v2017_10_01.models import * \ No newline at end of file +from .v2018_06_01.models import * \ No newline at end of file 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 d83039d7bffe..b0f3dad9f39c 100644 --- a/azure-mgmt-network/azure/mgmt/network/network_management_client.py +++ b/azure-mgmt-network/azure/mgmt/network/network_management_client.py @@ -9,7 +9,7 @@ # regenerated. # -------------------------------------------------------------------------- -from msrest.service_client import ServiceClient +from msrest.service_client import SDKClient from msrest import Serializer, Deserializer from msrestazure import AzureConfiguration @@ -33,8 +33,7 @@ class NetworkManagementClientConfiguration(AzureConfiguration): :param str base_url: Service URL """ - def __init__( - self, credentials, subscription_id, base_url=None): + def __init__(self, credentials, subscription_id, base_url=None): if credentials is None: raise ValueError("Parameter 'credentials' must not be None.") @@ -52,7 +51,7 @@ def __init__( self.subscription_id = subscription_id -class NetworkManagementClient(MultiApiClientMixin): +class NetworkManagementClient(MultiApiClientMixin, SDKClient): """Network Client This ready contains multiple API versions, to help you deal with all Azure clouds @@ -60,7 +59,7 @@ class NetworkManagementClient(MultiApiClientMixin): By default, uses latest API version available on public Azure. For production, you should stick a particular api-version and/or profile. The profile sets a mapping between the operation group and an API version. - The api-version parameter sets the default API version if the operation + The api-version parameter sets the default API version if the operation group is not described in the profile. :ivar config: Configuration for client. @@ -80,7 +79,7 @@ class NetworkManagementClient(MultiApiClientMixin): :type profile: azure.profiles.KnownProfiles """ - DEFAULT_API_VERSION = '2018-02-01' + DEFAULT_API_VERSION = '2018-06-01' _PROFILE_TAG = "azure.mgmt.network.NetworkManagementClient" LATEST_PROFILE = ProfileDefinition({ _PROFILE_TAG: { @@ -90,17 +89,14 @@ class NetworkManagementClient(MultiApiClientMixin): ) def __init__(self, credentials, subscription_id, api_version=None, base_url=None, profile=KnownProfiles.default): + self.config = NetworkManagementClientConfiguration(credentials, subscription_id, base_url) super(NetworkManagementClient, self).__init__( - credentials=credentials, - subscription_id=subscription_id, + credentials, + self.config, api_version=api_version, - base_url=base_url, profile=profile ) - self.config = NetworkManagementClientConfiguration(credentials, subscription_id, base_url) - self._client = ServiceClient(self.config.credentials, self.config) - def check_dns_name_availability( self, location, domain_name_label, custom_headers=None, raw=False, **operation_config): """Checks whether a domain name in the cloudapp.azure.com zone is @@ -127,7 +123,11 @@ def check_dns_name_availability( :raises: :class:`CloudError` """ api_version = self._get_api_version('check_dns_name_availability') - if api_version == '2018-02-01': + if api_version == '2018-06-01': + from .v2018_06_01 import NetworkManagementClient as ClientClass + elif api_version == '2018-04-01': + from .v2018_04_01 import NetworkManagementClient as ClientClass + elif api_version == '2018-02-01': from .v2018_02_01 import NetworkManagementClient as ClientClass elif api_version == '2018-01-01': from .v2018_01_01 import NetworkManagementClient as ClientClass @@ -179,6 +179,8 @@ def models(cls, api_version=DEFAULT_API_VERSION): * 2017-11-01: :mod:`v2017_11_01.models` * 2018-01-01: :mod:`v2018_01_01.models` * 2018-02-01: :mod:`v2018_02_01.models` + * 2018-04-01: :mod:`v2018_04_01.models` + * 2018-06-01: :mod:`v2018_06_01.models` """ if api_version == '2015-06-15': from .v2015_06_15 import models @@ -213,8 +215,14 @@ def models(cls, api_version=DEFAULT_API_VERSION): elif api_version == '2018-02-01': from .v2018_02_01 import models return models + elif api_version == '2018-04-01': + from .v2018_04_01 import models + return models + elif api_version == '2018-06-01': + from .v2018_06_01 import models + return models raise NotImplementedError("APIVersion {} is not available".format(api_version)) - + @property def application_gateways(self): """Instance depends on the API version: @@ -230,6 +238,8 @@ def application_gateways(self): * 2017-11-01: :class:`ApplicationGatewaysOperations` * 2018-01-01: :class:`ApplicationGatewaysOperations` * 2018-02-01: :class:`ApplicationGatewaysOperations` + * 2018-04-01: :class:`ApplicationGatewaysOperations` + * 2018-06-01: :class:`ApplicationGatewaysOperations` """ api_version = self._get_api_version('application_gateways') if api_version == '2015-06-15': @@ -254,6 +264,10 @@ def application_gateways(self): from .v2018_01_01.operations import ApplicationGatewaysOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ApplicationGatewaysOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ApplicationGatewaysOperations 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))) @@ -267,6 +281,8 @@ def application_security_groups(self): * 2017-11-01: :class:`ApplicationSecurityGroupsOperations` * 2018-01-01: :class:`ApplicationSecurityGroupsOperations` * 2018-02-01: :class:`ApplicationSecurityGroupsOperations` + * 2018-04-01: :class:`ApplicationSecurityGroupsOperations` + * 2018-06-01: :class:`ApplicationSecurityGroupsOperations` """ api_version = self._get_api_version('application_security_groups') if api_version == '2017-09-01': @@ -279,6 +295,10 @@ def application_security_groups(self): from .v2018_01_01.operations import ApplicationSecurityGroupsOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ApplicationSecurityGroupsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ApplicationSecurityGroupsOperations 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))) @@ -294,6 +314,8 @@ def available_endpoint_services(self): * 2017-11-01: :class:`AvailableEndpointServicesOperations` * 2018-01-01: :class:`AvailableEndpointServicesOperations` * 2018-02-01: :class:`AvailableEndpointServicesOperations` + * 2018-04-01: :class:`AvailableEndpointServicesOperations` + * 2018-06-01: :class:`AvailableEndpointServicesOperations` """ api_version = self._get_api_version('available_endpoint_services') if api_version == '2017-06-01': @@ -310,6 +332,26 @@ def available_endpoint_services(self): from .v2018_01_01.operations import AvailableEndpointServicesOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import AvailableEndpointServicesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import AvailableEndpointServicesOperations 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 azure_firewalls(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`AzureFirewallsOperations` + * 2018-06-01: :class:`AzureFirewallsOperations` + """ + api_version = self._get_api_version('azure_firewalls') + if api_version == '2018-04-01': + from .v2018_04_01.operations import AzureFirewallsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import AzureFirewallsOperations 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))) @@ -327,6 +369,8 @@ def bgp_service_communities(self): * 2017-11-01: :class:`BgpServiceCommunitiesOperations` * 2018-01-01: :class:`BgpServiceCommunitiesOperations` * 2018-02-01: :class:`BgpServiceCommunitiesOperations` + * 2018-04-01: :class:`BgpServiceCommunitiesOperations` + * 2018-06-01: :class:`BgpServiceCommunitiesOperations` """ api_version = self._get_api_version('bgp_service_communities') if api_version == '2016-12-01': @@ -347,6 +391,10 @@ def bgp_service_communities(self): from .v2018_01_01.operations import BgpServiceCommunitiesOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import BgpServiceCommunitiesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import BgpServiceCommunitiesOperations 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))) @@ -359,6 +407,8 @@ def connection_monitors(self): * 2017-11-01: :class:`ConnectionMonitorsOperations` * 2018-01-01: :class:`ConnectionMonitorsOperations` * 2018-02-01: :class:`ConnectionMonitorsOperations` + * 2018-04-01: :class:`ConnectionMonitorsOperations` + * 2018-06-01: :class:`ConnectionMonitorsOperations` """ api_version = self._get_api_version('connection_monitors') if api_version == '2017-10-01': @@ -369,6 +419,10 @@ def connection_monitors(self): from .v2018_01_01.operations import ConnectionMonitorsOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ConnectionMonitorsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ConnectionMonitorsOperations 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))) @@ -378,10 +432,16 @@ def ddos_protection_plans(self): """Instance depends on the API version: * 2018-02-01: :class:`DdosProtectionPlansOperations` + * 2018-04-01: :class:`DdosProtectionPlansOperations` + * 2018-06-01: :class:`DdosProtectionPlansOperations` """ api_version = self._get_api_version('ddos_protection_plans') if api_version == '2018-02-01': from .v2018_02_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import DdosProtectionPlansOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import DdosProtectionPlansOperations 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))) @@ -397,6 +457,8 @@ def default_security_rules(self): * 2017-11-01: :class:`DefaultSecurityRulesOperations` * 2018-01-01: :class:`DefaultSecurityRulesOperations` * 2018-02-01: :class:`DefaultSecurityRulesOperations` + * 2018-04-01: :class:`DefaultSecurityRulesOperations` + * 2018-06-01: :class:`DefaultSecurityRulesOperations` """ api_version = self._get_api_version('default_security_rules') if api_version == '2017-06-01': @@ -413,6 +475,10 @@ def default_security_rules(self): from .v2018_01_01.operations import DefaultSecurityRulesOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import DefaultSecurityRulesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import DefaultSecurityRulesOperations 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))) @@ -432,6 +498,8 @@ def express_route_circuit_authorizations(self): * 2017-11-01: :class:`ExpressRouteCircuitAuthorizationsOperations` * 2018-01-01: :class:`ExpressRouteCircuitAuthorizationsOperations` * 2018-02-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2018-04-01: :class:`ExpressRouteCircuitAuthorizationsOperations` + * 2018-06-01: :class:`ExpressRouteCircuitAuthorizationsOperations` """ api_version = self._get_api_version('express_route_circuit_authorizations') if api_version == '2015-06-15': @@ -456,6 +524,10 @@ def express_route_circuit_authorizations(self): from .v2018_01_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteCircuitAuthorizationsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteCircuitAuthorizationsOperations 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))) @@ -465,10 +537,16 @@ def express_route_circuit_connections(self): """Instance depends on the API version: * 2018-02-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2018-04-01: :class:`ExpressRouteCircuitConnectionsOperations` + * 2018-06-01: :class:`ExpressRouteCircuitConnectionsOperations` """ api_version = self._get_api_version('express_route_circuit_connections') if api_version == '2018-02-01': from .v2018_02_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteCircuitConnectionsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteCircuitConnectionsOperations 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))) @@ -488,6 +566,8 @@ def express_route_circuit_peerings(self): * 2017-11-01: :class:`ExpressRouteCircuitPeeringsOperations` * 2018-01-01: :class:`ExpressRouteCircuitPeeringsOperations` * 2018-02-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2018-04-01: :class:`ExpressRouteCircuitPeeringsOperations` + * 2018-06-01: :class:`ExpressRouteCircuitPeeringsOperations` """ api_version = self._get_api_version('express_route_circuit_peerings') if api_version == '2015-06-15': @@ -512,6 +592,10 @@ def express_route_circuit_peerings(self): from .v2018_01_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteCircuitPeeringsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteCircuitPeeringsOperations 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))) @@ -531,6 +615,8 @@ def express_route_circuits(self): * 2017-11-01: :class:`ExpressRouteCircuitsOperations` * 2018-01-01: :class:`ExpressRouteCircuitsOperations` * 2018-02-01: :class:`ExpressRouteCircuitsOperations` + * 2018-04-01: :class:`ExpressRouteCircuitsOperations` + * 2018-06-01: :class:`ExpressRouteCircuitsOperations` """ api_version = self._get_api_version('express_route_circuits') if api_version == '2015-06-15': @@ -555,6 +641,10 @@ def express_route_circuits(self): from .v2018_01_01.operations import ExpressRouteCircuitsOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteCircuitsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteCircuitsOperations 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))) @@ -564,10 +654,16 @@ def express_route_cross_connection_peerings(self): """Instance depends on the API version: * 2018-02-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2018-04-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` + * 2018-06-01: :class:`ExpressRouteCrossConnectionPeeringsOperations` """ api_version = self._get_api_version('express_route_cross_connection_peerings') if api_version == '2018-02-01': from .v2018_02_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteCrossConnectionPeeringsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteCrossConnectionPeeringsOperations 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))) @@ -577,10 +673,16 @@ def express_route_cross_connections(self): """Instance depends on the API version: * 2018-02-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2018-04-01: :class:`ExpressRouteCrossConnectionsOperations` + * 2018-06-01: :class:`ExpressRouteCrossConnectionsOperations` """ api_version = self._get_api_version('express_route_cross_connections') if api_version == '2018-02-01': from .v2018_02_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteCrossConnectionsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteCrossConnectionsOperations 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))) @@ -600,6 +702,8 @@ def express_route_service_providers(self): * 2017-11-01: :class:`ExpressRouteServiceProvidersOperations` * 2018-01-01: :class:`ExpressRouteServiceProvidersOperations` * 2018-02-01: :class:`ExpressRouteServiceProvidersOperations` + * 2018-04-01: :class:`ExpressRouteServiceProvidersOperations` + * 2018-06-01: :class:`ExpressRouteServiceProvidersOperations` """ api_version = self._get_api_version('express_route_service_providers') if api_version == '2015-06-15': @@ -624,6 +728,26 @@ def express_route_service_providers(self): from .v2018_01_01.operations import ExpressRouteServiceProvidersOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import ExpressRouteServiceProvidersOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import ExpressRouteServiceProvidersOperations 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 hub_virtual_network_connections(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`HubVirtualNetworkConnectionsOperations` + * 2018-06-01: :class:`HubVirtualNetworkConnectionsOperations` + """ + api_version = self._get_api_version('hub_virtual_network_connections') + if api_version == '2018-04-01': + from .v2018_04_01.operations import HubVirtualNetworkConnectionsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import HubVirtualNetworkConnectionsOperations 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))) @@ -639,6 +763,8 @@ def inbound_nat_rules(self): * 2017-11-01: :class:`InboundNatRulesOperations` * 2018-01-01: :class:`InboundNatRulesOperations` * 2018-02-01: :class:`InboundNatRulesOperations` + * 2018-04-01: :class:`InboundNatRulesOperations` + * 2018-06-01: :class:`InboundNatRulesOperations` """ api_version = self._get_api_version('inbound_nat_rules') if api_version == '2017-06-01': @@ -655,6 +781,10 @@ def inbound_nat_rules(self): from .v2018_01_01.operations import InboundNatRulesOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import InboundNatRulesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import InboundNatRulesOperations 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))) @@ -670,6 +800,8 @@ def load_balancer_backend_address_pools(self): * 2017-11-01: :class:`LoadBalancerBackendAddressPoolsOperations` * 2018-01-01: :class:`LoadBalancerBackendAddressPoolsOperations` * 2018-02-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2018-04-01: :class:`LoadBalancerBackendAddressPoolsOperations` + * 2018-06-01: :class:`LoadBalancerBackendAddressPoolsOperations` """ api_version = self._get_api_version('load_balancer_backend_address_pools') if api_version == '2017-06-01': @@ -686,6 +818,10 @@ def load_balancer_backend_address_pools(self): from .v2018_01_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LoadBalancerBackendAddressPoolsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LoadBalancerBackendAddressPoolsOperations 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))) @@ -701,6 +837,8 @@ def load_balancer_frontend_ip_configurations(self): * 2017-11-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` * 2018-01-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` * 2018-02-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2018-04-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` + * 2018-06-01: :class:`LoadBalancerFrontendIPConfigurationsOperations` """ api_version = self._get_api_version('load_balancer_frontend_ip_configurations') if api_version == '2017-06-01': @@ -717,6 +855,10 @@ def load_balancer_frontend_ip_configurations(self): from .v2018_01_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LoadBalancerFrontendIPConfigurationsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LoadBalancerFrontendIPConfigurationsOperations 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))) @@ -732,6 +874,8 @@ def load_balancer_load_balancing_rules(self): * 2017-11-01: :class:`LoadBalancerLoadBalancingRulesOperations` * 2018-01-01: :class:`LoadBalancerLoadBalancingRulesOperations` * 2018-02-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2018-04-01: :class:`LoadBalancerLoadBalancingRulesOperations` + * 2018-06-01: :class:`LoadBalancerLoadBalancingRulesOperations` """ api_version = self._get_api_version('load_balancer_load_balancing_rules') if api_version == '2017-06-01': @@ -748,6 +892,10 @@ def load_balancer_load_balancing_rules(self): from .v2018_01_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LoadBalancerLoadBalancingRulesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LoadBalancerLoadBalancingRulesOperations 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))) @@ -763,6 +911,8 @@ def load_balancer_network_interfaces(self): * 2017-11-01: :class:`LoadBalancerNetworkInterfacesOperations` * 2018-01-01: :class:`LoadBalancerNetworkInterfacesOperations` * 2018-02-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2018-04-01: :class:`LoadBalancerNetworkInterfacesOperations` + * 2018-06-01: :class:`LoadBalancerNetworkInterfacesOperations` """ api_version = self._get_api_version('load_balancer_network_interfaces') if api_version == '2017-06-01': @@ -779,6 +929,10 @@ def load_balancer_network_interfaces(self): from .v2018_01_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LoadBalancerNetworkInterfacesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LoadBalancerNetworkInterfacesOperations 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))) @@ -794,6 +948,8 @@ def load_balancer_probes(self): * 2017-11-01: :class:`LoadBalancerProbesOperations` * 2018-01-01: :class:`LoadBalancerProbesOperations` * 2018-02-01: :class:`LoadBalancerProbesOperations` + * 2018-04-01: :class:`LoadBalancerProbesOperations` + * 2018-06-01: :class:`LoadBalancerProbesOperations` """ api_version = self._get_api_version('load_balancer_probes') if api_version == '2017-06-01': @@ -810,6 +966,10 @@ def load_balancer_probes(self): from .v2018_01_01.operations import LoadBalancerProbesOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LoadBalancerProbesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LoadBalancerProbesOperations 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))) @@ -829,6 +989,8 @@ def load_balancers(self): * 2017-11-01: :class:`LoadBalancersOperations` * 2018-01-01: :class:`LoadBalancersOperations` * 2018-02-01: :class:`LoadBalancersOperations` + * 2018-04-01: :class:`LoadBalancersOperations` + * 2018-06-01: :class:`LoadBalancersOperations` """ api_version = self._get_api_version('load_balancers') if api_version == '2015-06-15': @@ -853,6 +1015,10 @@ def load_balancers(self): from .v2018_01_01.operations import LoadBalancersOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LoadBalancersOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LoadBalancersOperations 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))) @@ -872,6 +1038,8 @@ def local_network_gateways(self): * 2017-11-01: :class:`LocalNetworkGatewaysOperations` * 2018-01-01: :class:`LocalNetworkGatewaysOperations` * 2018-02-01: :class:`LocalNetworkGatewaysOperations` + * 2018-04-01: :class:`LocalNetworkGatewaysOperations` + * 2018-06-01: :class:`LocalNetworkGatewaysOperations` """ api_version = self._get_api_version('local_network_gateways') if api_version == '2015-06-15': @@ -896,6 +1064,10 @@ def local_network_gateways(self): from .v2018_01_01.operations import LocalNetworkGatewaysOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import LocalNetworkGatewaysOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import LocalNetworkGatewaysOperations 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))) @@ -911,6 +1083,8 @@ def network_interface_ip_configurations(self): * 2017-11-01: :class:`NetworkInterfaceIPConfigurationsOperations` * 2018-01-01: :class:`NetworkInterfaceIPConfigurationsOperations` * 2018-02-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2018-04-01: :class:`NetworkInterfaceIPConfigurationsOperations` + * 2018-06-01: :class:`NetworkInterfaceIPConfigurationsOperations` """ api_version = self._get_api_version('network_interface_ip_configurations') if api_version == '2017-06-01': @@ -927,6 +1101,10 @@ def network_interface_ip_configurations(self): from .v2018_01_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import NetworkInterfaceIPConfigurationsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import NetworkInterfaceIPConfigurationsOperations 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))) @@ -942,6 +1120,8 @@ def network_interface_load_balancers(self): * 2017-11-01: :class:`NetworkInterfaceLoadBalancersOperations` * 2018-01-01: :class:`NetworkInterfaceLoadBalancersOperations` * 2018-02-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2018-04-01: :class:`NetworkInterfaceLoadBalancersOperations` + * 2018-06-01: :class:`NetworkInterfaceLoadBalancersOperations` """ api_version = self._get_api_version('network_interface_load_balancers') if api_version == '2017-06-01': @@ -958,6 +1138,10 @@ def network_interface_load_balancers(self): from .v2018_01_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import NetworkInterfaceLoadBalancersOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import NetworkInterfaceLoadBalancersOperations 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))) @@ -977,6 +1161,8 @@ def network_interfaces(self): * 2017-11-01: :class:`NetworkInterfacesOperations` * 2018-01-01: :class:`NetworkInterfacesOperations` * 2018-02-01: :class:`NetworkInterfacesOperations` + * 2018-04-01: :class:`NetworkInterfacesOperations` + * 2018-06-01: :class:`NetworkInterfacesOperations` """ api_version = self._get_api_version('network_interfaces') if api_version == '2015-06-15': @@ -1001,6 +1187,10 @@ def network_interfaces(self): from .v2018_01_01.operations import NetworkInterfacesOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import NetworkInterfacesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import NetworkInterfacesOperations 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))) @@ -1020,6 +1210,8 @@ def network_security_groups(self): * 2017-11-01: :class:`NetworkSecurityGroupsOperations` * 2018-01-01: :class:`NetworkSecurityGroupsOperations` * 2018-02-01: :class:`NetworkSecurityGroupsOperations` + * 2018-04-01: :class:`NetworkSecurityGroupsOperations` + * 2018-06-01: :class:`NetworkSecurityGroupsOperations` """ api_version = self._get_api_version('network_security_groups') if api_version == '2015-06-15': @@ -1044,6 +1236,10 @@ def network_security_groups(self): from .v2018_01_01.operations import NetworkSecurityGroupsOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import NetworkSecurityGroupsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import NetworkSecurityGroupsOperations 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))) @@ -1062,6 +1258,8 @@ def network_watchers(self): * 2017-11-01: :class:`NetworkWatchersOperations` * 2018-01-01: :class:`NetworkWatchersOperations` * 2018-02-01: :class:`NetworkWatchersOperations` + * 2018-04-01: :class:`NetworkWatchersOperations` + * 2018-06-01: :class:`NetworkWatchersOperations` """ api_version = self._get_api_version('network_watchers') if api_version == '2016-09-01': @@ -1084,6 +1282,10 @@ def network_watchers(self): from .v2018_01_01.operations import NetworkWatchersOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import NetworkWatchersOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import NetworkWatchersOperations 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))) @@ -1097,6 +1299,8 @@ def operations(self): * 2017-11-01: :class:`Operations` * 2018-01-01: :class:`Operations` * 2018-02-01: :class:`Operations` + * 2018-04-01: :class:`Operations` + * 2018-06-01: :class:`Operations` """ api_version = self._get_api_version('operations') if api_version == '2017-09-01': @@ -1109,6 +1313,10 @@ def operations(self): from .v2018_01_01.operations import Operations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import Operations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import Operations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import Operations 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))) @@ -1127,6 +1335,8 @@ def packet_captures(self): * 2017-11-01: :class:`PacketCapturesOperations` * 2018-01-01: :class:`PacketCapturesOperations` * 2018-02-01: :class:`PacketCapturesOperations` + * 2018-04-01: :class:`PacketCapturesOperations` + * 2018-06-01: :class:`PacketCapturesOperations` """ api_version = self._get_api_version('packet_captures') if api_version == '2016-09-01': @@ -1149,6 +1359,10 @@ def packet_captures(self): from .v2018_01_01.operations import PacketCapturesOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import PacketCapturesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import PacketCapturesOperations 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))) @@ -1168,6 +1382,8 @@ def public_ip_addresses(self): * 2017-11-01: :class:`PublicIPAddressesOperations` * 2018-01-01: :class:`PublicIPAddressesOperations` * 2018-02-01: :class:`PublicIPAddressesOperations` + * 2018-04-01: :class:`PublicIPAddressesOperations` + * 2018-06-01: :class:`PublicIPAddressesOperations` """ api_version = self._get_api_version('public_ip_addresses') if api_version == '2015-06-15': @@ -1192,6 +1408,10 @@ def public_ip_addresses(self): from .v2018_01_01.operations import PublicIPAddressesOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import PublicIPAddressesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import PublicIPAddressesOperations 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))) @@ -1209,6 +1429,8 @@ def route_filter_rules(self): * 2017-11-01: :class:`RouteFilterRulesOperations` * 2018-01-01: :class:`RouteFilterRulesOperations` * 2018-02-01: :class:`RouteFilterRulesOperations` + * 2018-04-01: :class:`RouteFilterRulesOperations` + * 2018-06-01: :class:`RouteFilterRulesOperations` """ api_version = self._get_api_version('route_filter_rules') if api_version == '2016-12-01': @@ -1229,6 +1451,10 @@ def route_filter_rules(self): from .v2018_01_01.operations import RouteFilterRulesOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import RouteFilterRulesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import RouteFilterRulesOperations 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))) @@ -1246,6 +1472,8 @@ def route_filters(self): * 2017-11-01: :class:`RouteFiltersOperations` * 2018-01-01: :class:`RouteFiltersOperations` * 2018-02-01: :class:`RouteFiltersOperations` + * 2018-04-01: :class:`RouteFiltersOperations` + * 2018-06-01: :class:`RouteFiltersOperations` """ api_version = self._get_api_version('route_filters') if api_version == '2016-12-01': @@ -1266,6 +1494,10 @@ def route_filters(self): from .v2018_01_01.operations import RouteFiltersOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import RouteFiltersOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import RouteFiltersOperations 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))) @@ -1285,6 +1517,8 @@ def route_tables(self): * 2017-11-01: :class:`RouteTablesOperations` * 2018-01-01: :class:`RouteTablesOperations` * 2018-02-01: :class:`RouteTablesOperations` + * 2018-04-01: :class:`RouteTablesOperations` + * 2018-06-01: :class:`RouteTablesOperations` """ api_version = self._get_api_version('route_tables') if api_version == '2015-06-15': @@ -1309,6 +1543,10 @@ def route_tables(self): from .v2018_01_01.operations import RouteTablesOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import RouteTablesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import RouteTablesOperations 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))) @@ -1328,6 +1566,8 @@ def routes(self): * 2017-11-01: :class:`RoutesOperations` * 2018-01-01: :class:`RoutesOperations` * 2018-02-01: :class:`RoutesOperations` + * 2018-04-01: :class:`RoutesOperations` + * 2018-06-01: :class:`RoutesOperations` """ api_version = self._get_api_version('routes') if api_version == '2015-06-15': @@ -1352,6 +1592,10 @@ def routes(self): from .v2018_01_01.operations import RoutesOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import RoutesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import RoutesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import RoutesOperations 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))) @@ -1371,6 +1615,8 @@ def security_rules(self): * 2017-11-01: :class:`SecurityRulesOperations` * 2018-01-01: :class:`SecurityRulesOperations` * 2018-02-01: :class:`SecurityRulesOperations` + * 2018-04-01: :class:`SecurityRulesOperations` + * 2018-06-01: :class:`SecurityRulesOperations` """ api_version = self._get_api_version('security_rules') if api_version == '2015-06-15': @@ -1395,6 +1641,10 @@ def security_rules(self): from .v2018_01_01.operations import SecurityRulesOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import SecurityRulesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import SecurityRulesOperations 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))) @@ -1414,6 +1664,8 @@ def subnets(self): * 2017-11-01: :class:`SubnetsOperations` * 2018-01-01: :class:`SubnetsOperations` * 2018-02-01: :class:`SubnetsOperations` + * 2018-04-01: :class:`SubnetsOperations` + * 2018-06-01: :class:`SubnetsOperations` """ api_version = self._get_api_version('subnets') if api_version == '2015-06-15': @@ -1438,6 +1690,10 @@ def subnets(self): from .v2018_01_01.operations import SubnetsOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import SubnetsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import SubnetsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import SubnetsOperations 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))) @@ -1457,6 +1713,8 @@ def usages(self): * 2017-11-01: :class:`UsagesOperations` * 2018-01-01: :class:`UsagesOperations` * 2018-02-01: :class:`UsagesOperations` + * 2018-04-01: :class:`UsagesOperations` + * 2018-06-01: :class:`UsagesOperations` """ api_version = self._get_api_version('usages') if api_version == '2015-06-15': @@ -1481,6 +1739,26 @@ def usages(self): from .v2018_01_01.operations import UsagesOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import UsagesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import UsagesOperations 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 virtual_hubs(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`VirtualHubsOperations` + * 2018-06-01: :class:`VirtualHubsOperations` + """ + api_version = self._get_api_version('virtual_hubs') + if api_version == '2018-04-01': + from .v2018_04_01.operations import VirtualHubsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VirtualHubsOperations 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))) @@ -1500,6 +1778,8 @@ def virtual_network_gateway_connections(self): * 2017-11-01: :class:`VirtualNetworkGatewayConnectionsOperations` * 2018-01-01: :class:`VirtualNetworkGatewayConnectionsOperations` * 2018-02-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2018-04-01: :class:`VirtualNetworkGatewayConnectionsOperations` + * 2018-06-01: :class:`VirtualNetworkGatewayConnectionsOperations` """ api_version = self._get_api_version('virtual_network_gateway_connections') if api_version == '2015-06-15': @@ -1524,6 +1804,10 @@ def virtual_network_gateway_connections(self): from .v2018_01_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import VirtualNetworkGatewayConnectionsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VirtualNetworkGatewayConnectionsOperations 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))) @@ -1543,6 +1827,8 @@ def virtual_network_gateways(self): * 2017-11-01: :class:`VirtualNetworkGatewaysOperations` * 2018-01-01: :class:`VirtualNetworkGatewaysOperations` * 2018-02-01: :class:`VirtualNetworkGatewaysOperations` + * 2018-04-01: :class:`VirtualNetworkGatewaysOperations` + * 2018-06-01: :class:`VirtualNetworkGatewaysOperations` """ api_version = self._get_api_version('virtual_network_gateways') if api_version == '2015-06-15': @@ -1567,6 +1853,10 @@ def virtual_network_gateways(self): from .v2018_01_01.operations import VirtualNetworkGatewaysOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import VirtualNetworkGatewaysOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VirtualNetworkGatewaysOperations 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))) @@ -1585,6 +1875,8 @@ def virtual_network_peerings(self): * 2017-11-01: :class:`VirtualNetworkPeeringsOperations` * 2018-01-01: :class:`VirtualNetworkPeeringsOperations` * 2018-02-01: :class:`VirtualNetworkPeeringsOperations` + * 2018-04-01: :class:`VirtualNetworkPeeringsOperations` + * 2018-06-01: :class:`VirtualNetworkPeeringsOperations` """ api_version = self._get_api_version('virtual_network_peerings') if api_version == '2016-09-01': @@ -1607,6 +1899,10 @@ def virtual_network_peerings(self): from .v2018_01_01.operations import VirtualNetworkPeeringsOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import VirtualNetworkPeeringsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VirtualNetworkPeeringsOperations 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))) @@ -1626,6 +1922,8 @@ def virtual_networks(self): * 2017-11-01: :class:`VirtualNetworksOperations` * 2018-01-01: :class:`VirtualNetworksOperations` * 2018-02-01: :class:`VirtualNetworksOperations` + * 2018-04-01: :class:`VirtualNetworksOperations` + * 2018-06-01: :class:`VirtualNetworksOperations` """ api_version = self._get_api_version('virtual_networks') if api_version == '2015-06-15': @@ -1650,6 +1948,90 @@ def virtual_networks(self): from .v2018_01_01.operations import VirtualNetworksOperations as OperationClass elif api_version == '2018-02-01': from .v2018_02_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2018-04-01': + from .v2018_04_01.operations import VirtualNetworksOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VirtualNetworksOperations 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 virtual_wa_ns(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`VirtualWANsOperations` + * 2018-06-01: :class:`VirtualWANsOperations` + """ + api_version = self._get_api_version('virtual_wa_ns') + if api_version == '2018-04-01': + from .v2018_04_01.operations import VirtualWANsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VirtualWANsOperations 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 vpn_connections(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`VpnConnectionsOperations` + * 2018-06-01: :class:`VpnConnectionsOperations` + """ + api_version = self._get_api_version('vpn_connections') + if api_version == '2018-04-01': + from .v2018_04_01.operations import VpnConnectionsOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VpnConnectionsOperations 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 vpn_gateways(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`VpnGatewaysOperations` + * 2018-06-01: :class:`VpnGatewaysOperations` + """ + api_version = self._get_api_version('vpn_gateways') + if api_version == '2018-04-01': + from .v2018_04_01.operations import VpnGatewaysOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VpnGatewaysOperations 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 vpn_sites(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`VpnSitesOperations` + * 2018-06-01: :class:`VpnSitesOperations` + """ + api_version = self._get_api_version('vpn_sites') + if api_version == '2018-04-01': + from .v2018_04_01.operations import VpnSitesOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VpnSitesOperations 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 vpn_sites_configuration(self): + """Instance depends on the API version: + + * 2018-04-01: :class:`VpnSitesConfigurationOperations` + * 2018-06-01: :class:`VpnSitesConfigurationOperations` + """ + api_version = self._get_api_version('vpn_sites_configuration') + if api_version == '2018-04-01': + from .v2018_04_01.operations import VpnSitesConfigurationOperations as OperationClass + elif api_version == '2018-06-01': + from .v2018_06_01.operations import VpnSitesConfigurationOperations 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))) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/__init__.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/__init__.py new file mode 100644 index 000000000000..2a2f032f38aa --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/__init__.py @@ -0,0 +1,18 @@ +# 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 .network_management_client import NetworkManagementClient +from .version import VERSION + +__all__ = ['NetworkManagementClient'] + +__version__ = VERSION + diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/__init__.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/__init__.py new file mode 100644 index 000000000000..5dbefcc0eb66 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/__init__.py @@ -0,0 +1,910 @@ +# 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. +# -------------------------------------------------------------------------- + +try: + from .sub_resource_py3 import SubResource + from .azure_firewall_ip_configuration_py3 import AzureFirewallIPConfiguration + from .azure_firewall_rc_action_py3 import AzureFirewallRCAction + from .azure_firewall_application_rule_protocol_py3 import AzureFirewallApplicationRuleProtocol + from .azure_firewall_application_rule_py3 import AzureFirewallApplicationRule + from .azure_firewall_application_rule_collection_py3 import AzureFirewallApplicationRuleCollection + from .azure_firewall_network_rule_py3 import AzureFirewallNetworkRule + from .azure_firewall_network_rule_collection_py3 import AzureFirewallNetworkRuleCollection + from .azure_firewall_py3 import AzureFirewall + from .resource_py3 import Resource + from .backend_address_pool_py3 import BackendAddressPool + from .inbound_nat_rule_py3 import InboundNatRule + from .application_security_group_py3 import ApplicationSecurityGroup + from .security_rule_py3 import SecurityRule + from .network_interface_dns_settings_py3 import NetworkInterfaceDnsSettings + from .network_interface_py3 import NetworkInterface + from .network_security_group_py3 import NetworkSecurityGroup + from .route_py3 import Route + from .route_table_py3 import RouteTable + from .service_endpoint_properties_format_py3 import ServiceEndpointPropertiesFormat + from .public_ip_address_sku_py3 import PublicIPAddressSku + from .public_ip_address_dns_settings_py3 import PublicIPAddressDnsSettings + from .ip_tag_py3 import IpTag + from .public_ip_address_py3 import PublicIPAddress + from .ip_configuration_py3 import IPConfiguration + from .resource_navigation_link_py3 import ResourceNavigationLink + from .subnet_py3 import Subnet + from .network_interface_ip_configuration_py3 import NetworkInterfaceIPConfiguration + from .application_gateway_backend_address_py3 import ApplicationGatewayBackendAddress + from .application_gateway_backend_address_pool_py3 import ApplicationGatewayBackendAddressPool + from .application_gateway_connection_draining_py3 import ApplicationGatewayConnectionDraining + from .application_gateway_backend_http_settings_py3 import ApplicationGatewayBackendHttpSettings + from .application_gateway_backend_health_server_py3 import ApplicationGatewayBackendHealthServer + from .application_gateway_backend_health_http_settings_py3 import ApplicationGatewayBackendHealthHttpSettings + from .application_gateway_backend_health_pool_py3 import ApplicationGatewayBackendHealthPool + from .application_gateway_backend_health_py3 import ApplicationGatewayBackendHealth + from .application_gateway_sku_py3 import ApplicationGatewaySku + from .application_gateway_ssl_policy_py3 import ApplicationGatewaySslPolicy + from .application_gateway_ip_configuration_py3 import ApplicationGatewayIPConfiguration + from .application_gateway_authentication_certificate_py3 import ApplicationGatewayAuthenticationCertificate + from .application_gateway_ssl_certificate_py3 import ApplicationGatewaySslCertificate + from .application_gateway_frontend_ip_configuration_py3 import ApplicationGatewayFrontendIPConfiguration + from .application_gateway_frontend_port_py3 import ApplicationGatewayFrontendPort + from .application_gateway_http_listener_py3 import ApplicationGatewayHttpListener + from .application_gateway_path_rule_py3 import ApplicationGatewayPathRule + from .application_gateway_probe_health_response_match_py3 import ApplicationGatewayProbeHealthResponseMatch + from .application_gateway_probe_py3 import ApplicationGatewayProbe + from .application_gateway_request_routing_rule_py3 import ApplicationGatewayRequestRoutingRule + from .application_gateway_redirect_configuration_py3 import ApplicationGatewayRedirectConfiguration + from .application_gateway_url_path_map_py3 import ApplicationGatewayUrlPathMap + from .application_gateway_firewall_disabled_rule_group_py3 import ApplicationGatewayFirewallDisabledRuleGroup + from .application_gateway_web_application_firewall_configuration_py3 import ApplicationGatewayWebApplicationFirewallConfiguration + from .application_gateway_autoscale_bounds_py3 import ApplicationGatewayAutoscaleBounds + from .application_gateway_autoscale_configuration_py3 import ApplicationGatewayAutoscaleConfiguration + from .application_gateway_py3 import ApplicationGateway + from .application_gateway_firewall_rule_py3 import ApplicationGatewayFirewallRule + from .application_gateway_firewall_rule_group_py3 import ApplicationGatewayFirewallRuleGroup + from .application_gateway_firewall_rule_set_py3 import ApplicationGatewayFirewallRuleSet + from .application_gateway_available_waf_rule_sets_result_py3 import ApplicationGatewayAvailableWafRuleSetsResult + from .application_gateway_available_ssl_options_py3 import ApplicationGatewayAvailableSslOptions + from .application_gateway_ssl_predefined_policy_py3 import ApplicationGatewaySslPredefinedPolicy + from .tags_object_py3 import TagsObject + from .dns_name_availability_result_py3 import DnsNameAvailabilityResult + from .ddos_protection_plan_py3 import DdosProtectionPlan + from .endpoint_service_result_py3 import EndpointServiceResult + from .express_route_circuit_authorization_py3 import ExpressRouteCircuitAuthorization + from .express_route_circuit_peering_config_py3 import ExpressRouteCircuitPeeringConfig + from .route_filter_rule_py3 import RouteFilterRule + from .express_route_circuit_stats_py3 import ExpressRouteCircuitStats + from .express_route_circuit_connection_py3 import ExpressRouteCircuitConnection + from .express_route_circuit_peering_py3 import ExpressRouteCircuitPeering + from .route_filter_py3 import RouteFilter + from .ipv6_express_route_circuit_peering_config_py3 import Ipv6ExpressRouteCircuitPeeringConfig + from .express_route_circuit_sku_py3 import ExpressRouteCircuitSku + from .express_route_circuit_service_provider_properties_py3 import ExpressRouteCircuitServiceProviderProperties + from .express_route_circuit_py3 import ExpressRouteCircuit + from .express_route_circuit_arp_table_py3 import ExpressRouteCircuitArpTable + from .express_route_circuits_arp_table_list_result_py3 import ExpressRouteCircuitsArpTableListResult + from .express_route_circuit_routes_table_py3 import ExpressRouteCircuitRoutesTable + from .express_route_circuits_routes_table_list_result_py3 import ExpressRouteCircuitsRoutesTableListResult + from .express_route_circuit_routes_table_summary_py3 import ExpressRouteCircuitRoutesTableSummary + from .express_route_circuits_routes_table_summary_list_result_py3 import ExpressRouteCircuitsRoutesTableSummaryListResult + from .express_route_service_provider_bandwidths_offered_py3 import ExpressRouteServiceProviderBandwidthsOffered + from .express_route_service_provider_py3 import ExpressRouteServiceProvider + from .express_route_cross_connection_routes_table_summary_py3 import ExpressRouteCrossConnectionRoutesTableSummary + from .express_route_cross_connections_routes_table_summary_list_result_py3 import ExpressRouteCrossConnectionsRoutesTableSummaryListResult + from .express_route_circuit_reference_py3 import ExpressRouteCircuitReference + from .express_route_cross_connection_peering_py3 import ExpressRouteCrossConnectionPeering + from .express_route_cross_connection_py3 import ExpressRouteCrossConnection + from .load_balancer_sku_py3 import LoadBalancerSku + from .frontend_ip_configuration_py3 import FrontendIPConfiguration + from .load_balancing_rule_py3 import LoadBalancingRule + from .probe_py3 import Probe + from .inbound_nat_pool_py3 import InboundNatPool + from .outbound_nat_rule_py3 import OutboundNatRule + from .load_balancer_py3 import LoadBalancer + from .error_details_py3 import ErrorDetails + from .error_py3 import Error, ErrorException + from .azure_async_operation_result_py3 import AzureAsyncOperationResult + from .effective_network_security_group_association_py3 import EffectiveNetworkSecurityGroupAssociation + from .effective_network_security_rule_py3 import EffectiveNetworkSecurityRule + from .effective_network_security_group_py3 import EffectiveNetworkSecurityGroup + from .effective_network_security_group_list_result_py3 import EffectiveNetworkSecurityGroupListResult + from .effective_route_py3 import EffectiveRoute + from .effective_route_list_result_py3 import EffectiveRouteListResult + from .network_watcher_py3 import NetworkWatcher + from .topology_parameters_py3 import TopologyParameters + from .topology_association_py3 import TopologyAssociation + from .topology_resource_py3 import TopologyResource + from .topology_py3 import Topology + from .verification_ip_flow_parameters_py3 import VerificationIPFlowParameters + from .verification_ip_flow_result_py3 import VerificationIPFlowResult + from .next_hop_parameters_py3 import NextHopParameters + from .next_hop_result_py3 import NextHopResult + from .security_group_view_parameters_py3 import SecurityGroupViewParameters + from .network_interface_association_py3 import NetworkInterfaceAssociation + from .subnet_association_py3 import SubnetAssociation + from .security_rule_associations_py3 import SecurityRuleAssociations + from .security_group_network_interface_py3 import SecurityGroupNetworkInterface + from .security_group_view_result_py3 import SecurityGroupViewResult + from .packet_capture_storage_location_py3 import PacketCaptureStorageLocation + from .packet_capture_filter_py3 import PacketCaptureFilter + from .packet_capture_parameters_py3 import PacketCaptureParameters + from .packet_capture_py3 import PacketCapture + from .packet_capture_result_py3 import PacketCaptureResult + from .packet_capture_query_status_result_py3 import PacketCaptureQueryStatusResult + from .troubleshooting_parameters_py3 import TroubleshootingParameters + from .query_troubleshooting_parameters_py3 import QueryTroubleshootingParameters + from .troubleshooting_recommended_actions_py3 import TroubleshootingRecommendedActions + from .troubleshooting_details_py3 import TroubleshootingDetails + from .troubleshooting_result_py3 import TroubleshootingResult + from .retention_policy_parameters_py3 import RetentionPolicyParameters + from .flow_log_status_parameters_py3 import FlowLogStatusParameters + from .traffic_analytics_configuration_properties_py3 import TrafficAnalyticsConfigurationProperties + from .traffic_analytics_properties_py3 import TrafficAnalyticsProperties + from .flow_log_information_py3 import FlowLogInformation + from .connectivity_source_py3 import ConnectivitySource + from .connectivity_destination_py3 import ConnectivityDestination + from .http_header_py3 import HTTPHeader + from .http_configuration_py3 import HTTPConfiguration + from .protocol_configuration_py3 import ProtocolConfiguration + from .connectivity_parameters_py3 import ConnectivityParameters + from .connectivity_issue_py3 import ConnectivityIssue + from .connectivity_hop_py3 import ConnectivityHop + from .connectivity_information_py3 import ConnectivityInformation + from .azure_reachability_report_location_py3 import AzureReachabilityReportLocation + from .azure_reachability_report_parameters_py3 import AzureReachabilityReportParameters + from .azure_reachability_report_latency_info_py3 import AzureReachabilityReportLatencyInfo + from .azure_reachability_report_item_py3 import AzureReachabilityReportItem + from .azure_reachability_report_py3 import AzureReachabilityReport + from .available_providers_list_parameters_py3 import AvailableProvidersListParameters + from .available_providers_list_city_py3 import AvailableProvidersListCity + from .available_providers_list_state_py3 import AvailableProvidersListState + from .available_providers_list_country_py3 import AvailableProvidersListCountry + from .available_providers_list_py3 import AvailableProvidersList + from .connection_monitor_source_py3 import ConnectionMonitorSource + from .connection_monitor_destination_py3 import ConnectionMonitorDestination + from .connection_monitor_parameters_py3 import ConnectionMonitorParameters + from .connection_monitor_py3 import ConnectionMonitor + from .connection_monitor_result_py3 import ConnectionMonitorResult + from .connection_state_snapshot_py3 import ConnectionStateSnapshot + from .connection_monitor_query_result_py3 import ConnectionMonitorQueryResult + from .operation_display_py3 import OperationDisplay + from .availability_py3 import Availability + from .dimension_py3 import Dimension + from .metric_specification_py3 import MetricSpecification + from .log_specification_py3 import LogSpecification + from .operation_properties_format_service_specification_py3 import OperationPropertiesFormatServiceSpecification + from .operation_py3 import Operation + from .patch_route_filter_rule_py3 import PatchRouteFilterRule + from .patch_route_filter_py3 import PatchRouteFilter + from .bgp_community_py3 import BGPCommunity + from .bgp_service_community_py3 import BgpServiceCommunity + from .usage_name_py3 import UsageName + from .usage_py3 import Usage + from .address_space_py3 import AddressSpace + from .virtual_network_peering_py3 import VirtualNetworkPeering + from .dhcp_options_py3 import DhcpOptions + from .virtual_network_py3 import VirtualNetwork + from .ip_address_availability_result_py3 import IPAddressAvailabilityResult + from .virtual_network_usage_name_py3 import VirtualNetworkUsageName + from .virtual_network_usage_py3 import VirtualNetworkUsage + from .virtual_network_gateway_ip_configuration_py3 import VirtualNetworkGatewayIPConfiguration + from .virtual_network_gateway_sku_py3 import VirtualNetworkGatewaySku + from .vpn_client_root_certificate_py3 import VpnClientRootCertificate + from .vpn_client_revoked_certificate_py3 import VpnClientRevokedCertificate + from .ipsec_policy_py3 import IpsecPolicy + from .vpn_client_configuration_py3 import VpnClientConfiguration + from .bgp_settings_py3 import BgpSettings + from .bgp_peer_status_py3 import BgpPeerStatus + from .gateway_route_py3 import GatewayRoute + from .virtual_network_gateway_py3 import VirtualNetworkGateway + from .vpn_client_parameters_py3 import VpnClientParameters + from .bgp_peer_status_list_result_py3 import BgpPeerStatusListResult + from .gateway_route_list_result_py3 import GatewayRouteListResult + from .tunnel_connection_health_py3 import TunnelConnectionHealth + from .local_network_gateway_py3 import LocalNetworkGateway + from .virtual_network_gateway_connection_py3 import VirtualNetworkGatewayConnection + from .connection_reset_shared_key_py3 import ConnectionResetSharedKey + from .connection_shared_key_py3 import ConnectionSharedKey + from .vpn_client_ipsec_parameters_py3 import VpnClientIPsecParameters + from .virtual_network_connection_gateway_reference_py3 import VirtualNetworkConnectionGatewayReference + from .virtual_network_gateway_connection_list_entity_py3 import VirtualNetworkGatewayConnectionListEntity + from .vpn_device_script_parameters_py3 import VpnDeviceScriptParameters + from .virtual_wan_py3 import VirtualWAN + from .device_properties_py3 import DeviceProperties + from .vpn_site_py3 import VpnSite + from .get_vpn_sites_configuration_request_py3 import GetVpnSitesConfigurationRequest + from .hub_virtual_network_connection_py3 import HubVirtualNetworkConnection + from .virtual_hub_py3 import VirtualHub + from .vpn_connection_py3 import VpnConnection + from .policies_py3 import Policies + from .vpn_gateway_py3 import VpnGateway + from .vpn_site_id_py3 import VpnSiteId +except (SyntaxError, ImportError): + from .sub_resource import SubResource + from .azure_firewall_ip_configuration import AzureFirewallIPConfiguration + from .azure_firewall_rc_action import AzureFirewallRCAction + from .azure_firewall_application_rule_protocol import AzureFirewallApplicationRuleProtocol + from .azure_firewall_application_rule import AzureFirewallApplicationRule + from .azure_firewall_application_rule_collection import AzureFirewallApplicationRuleCollection + from .azure_firewall_network_rule import AzureFirewallNetworkRule + from .azure_firewall_network_rule_collection import AzureFirewallNetworkRuleCollection + from .azure_firewall import AzureFirewall + from .resource import Resource + from .backend_address_pool import BackendAddressPool + from .inbound_nat_rule import InboundNatRule + from .application_security_group import ApplicationSecurityGroup + from .security_rule import SecurityRule + from .network_interface_dns_settings import NetworkInterfaceDnsSettings + from .network_interface import NetworkInterface + from .network_security_group import NetworkSecurityGroup + from .route import Route + from .route_table import RouteTable + from .service_endpoint_properties_format import ServiceEndpointPropertiesFormat + from .public_ip_address_sku import PublicIPAddressSku + from .public_ip_address_dns_settings import PublicIPAddressDnsSettings + from .ip_tag import IpTag + from .public_ip_address import PublicIPAddress + from .ip_configuration import IPConfiguration + from .resource_navigation_link import ResourceNavigationLink + from .subnet import Subnet + from .network_interface_ip_configuration import NetworkInterfaceIPConfiguration + from .application_gateway_backend_address import ApplicationGatewayBackendAddress + from .application_gateway_backend_address_pool import ApplicationGatewayBackendAddressPool + from .application_gateway_connection_draining import ApplicationGatewayConnectionDraining + from .application_gateway_backend_http_settings import ApplicationGatewayBackendHttpSettings + from .application_gateway_backend_health_server import ApplicationGatewayBackendHealthServer + from .application_gateway_backend_health_http_settings import ApplicationGatewayBackendHealthHttpSettings + from .application_gateway_backend_health_pool import ApplicationGatewayBackendHealthPool + from .application_gateway_backend_health import ApplicationGatewayBackendHealth + from .application_gateway_sku import ApplicationGatewaySku + from .application_gateway_ssl_policy import ApplicationGatewaySslPolicy + from .application_gateway_ip_configuration import ApplicationGatewayIPConfiguration + from .application_gateway_authentication_certificate import ApplicationGatewayAuthenticationCertificate + from .application_gateway_ssl_certificate import ApplicationGatewaySslCertificate + from .application_gateway_frontend_ip_configuration import ApplicationGatewayFrontendIPConfiguration + from .application_gateway_frontend_port import ApplicationGatewayFrontendPort + from .application_gateway_http_listener import ApplicationGatewayHttpListener + from .application_gateway_path_rule import ApplicationGatewayPathRule + from .application_gateway_probe_health_response_match import ApplicationGatewayProbeHealthResponseMatch + from .application_gateway_probe import ApplicationGatewayProbe + from .application_gateway_request_routing_rule import ApplicationGatewayRequestRoutingRule + from .application_gateway_redirect_configuration import ApplicationGatewayRedirectConfiguration + from .application_gateway_url_path_map import ApplicationGatewayUrlPathMap + from .application_gateway_firewall_disabled_rule_group import ApplicationGatewayFirewallDisabledRuleGroup + from .application_gateway_web_application_firewall_configuration import ApplicationGatewayWebApplicationFirewallConfiguration + from .application_gateway_autoscale_bounds import ApplicationGatewayAutoscaleBounds + from .application_gateway_autoscale_configuration import ApplicationGatewayAutoscaleConfiguration + from .application_gateway import ApplicationGateway + from .application_gateway_firewall_rule import ApplicationGatewayFirewallRule + from .application_gateway_firewall_rule_group import ApplicationGatewayFirewallRuleGroup + from .application_gateway_firewall_rule_set import ApplicationGatewayFirewallRuleSet + from .application_gateway_available_waf_rule_sets_result import ApplicationGatewayAvailableWafRuleSetsResult + from .application_gateway_available_ssl_options import ApplicationGatewayAvailableSslOptions + from .application_gateway_ssl_predefined_policy import ApplicationGatewaySslPredefinedPolicy + from .tags_object import TagsObject + from .dns_name_availability_result import DnsNameAvailabilityResult + from .ddos_protection_plan import DdosProtectionPlan + from .endpoint_service_result import EndpointServiceResult + from .express_route_circuit_authorization import ExpressRouteCircuitAuthorization + from .express_route_circuit_peering_config import ExpressRouteCircuitPeeringConfig + from .route_filter_rule import RouteFilterRule + from .express_route_circuit_stats import ExpressRouteCircuitStats + from .express_route_circuit_connection import ExpressRouteCircuitConnection + from .express_route_circuit_peering import ExpressRouteCircuitPeering + from .route_filter import RouteFilter + from .ipv6_express_route_circuit_peering_config import Ipv6ExpressRouteCircuitPeeringConfig + from .express_route_circuit_sku import ExpressRouteCircuitSku + from .express_route_circuit_service_provider_properties import ExpressRouteCircuitServiceProviderProperties + from .express_route_circuit import ExpressRouteCircuit + from .express_route_circuit_arp_table import ExpressRouteCircuitArpTable + from .express_route_circuits_arp_table_list_result import ExpressRouteCircuitsArpTableListResult + from .express_route_circuit_routes_table import ExpressRouteCircuitRoutesTable + from .express_route_circuits_routes_table_list_result import ExpressRouteCircuitsRoutesTableListResult + from .express_route_circuit_routes_table_summary import ExpressRouteCircuitRoutesTableSummary + from .express_route_circuits_routes_table_summary_list_result import ExpressRouteCircuitsRoutesTableSummaryListResult + from .express_route_service_provider_bandwidths_offered import ExpressRouteServiceProviderBandwidthsOffered + from .express_route_service_provider import ExpressRouteServiceProvider + from .express_route_cross_connection_routes_table_summary import ExpressRouteCrossConnectionRoutesTableSummary + from .express_route_cross_connections_routes_table_summary_list_result import ExpressRouteCrossConnectionsRoutesTableSummaryListResult + from .express_route_circuit_reference import ExpressRouteCircuitReference + from .express_route_cross_connection_peering import ExpressRouteCrossConnectionPeering + from .express_route_cross_connection import ExpressRouteCrossConnection + from .load_balancer_sku import LoadBalancerSku + from .frontend_ip_configuration import FrontendIPConfiguration + from .load_balancing_rule import LoadBalancingRule + from .probe import Probe + from .inbound_nat_pool import InboundNatPool + from .outbound_nat_rule import OutboundNatRule + from .load_balancer import LoadBalancer + from .error_details import ErrorDetails + from .error import Error, ErrorException + from .azure_async_operation_result import AzureAsyncOperationResult + from .effective_network_security_group_association import EffectiveNetworkSecurityGroupAssociation + from .effective_network_security_rule import EffectiveNetworkSecurityRule + from .effective_network_security_group import EffectiveNetworkSecurityGroup + from .effective_network_security_group_list_result import EffectiveNetworkSecurityGroupListResult + from .effective_route import EffectiveRoute + from .effective_route_list_result import EffectiveRouteListResult + from .network_watcher import NetworkWatcher + from .topology_parameters import TopologyParameters + from .topology_association import TopologyAssociation + from .topology_resource import TopologyResource + from .topology import Topology + from .verification_ip_flow_parameters import VerificationIPFlowParameters + from .verification_ip_flow_result import VerificationIPFlowResult + from .next_hop_parameters import NextHopParameters + from .next_hop_result import NextHopResult + from .security_group_view_parameters import SecurityGroupViewParameters + from .network_interface_association import NetworkInterfaceAssociation + from .subnet_association import SubnetAssociation + from .security_rule_associations import SecurityRuleAssociations + from .security_group_network_interface import SecurityGroupNetworkInterface + from .security_group_view_result import SecurityGroupViewResult + from .packet_capture_storage_location import PacketCaptureStorageLocation + from .packet_capture_filter import PacketCaptureFilter + from .packet_capture_parameters import PacketCaptureParameters + from .packet_capture import PacketCapture + from .packet_capture_result import PacketCaptureResult + from .packet_capture_query_status_result import PacketCaptureQueryStatusResult + from .troubleshooting_parameters import TroubleshootingParameters + from .query_troubleshooting_parameters import QueryTroubleshootingParameters + from .troubleshooting_recommended_actions import TroubleshootingRecommendedActions + from .troubleshooting_details import TroubleshootingDetails + from .troubleshooting_result import TroubleshootingResult + from .retention_policy_parameters import RetentionPolicyParameters + from .flow_log_status_parameters import FlowLogStatusParameters + from .traffic_analytics_configuration_properties import TrafficAnalyticsConfigurationProperties + from .traffic_analytics_properties import TrafficAnalyticsProperties + from .flow_log_information import FlowLogInformation + from .connectivity_source import ConnectivitySource + from .connectivity_destination import ConnectivityDestination + from .http_header import HTTPHeader + from .http_configuration import HTTPConfiguration + from .protocol_configuration import ProtocolConfiguration + from .connectivity_parameters import ConnectivityParameters + from .connectivity_issue import ConnectivityIssue + from .connectivity_hop import ConnectivityHop + from .connectivity_information import ConnectivityInformation + from .azure_reachability_report_location import AzureReachabilityReportLocation + from .azure_reachability_report_parameters import AzureReachabilityReportParameters + from .azure_reachability_report_latency_info import AzureReachabilityReportLatencyInfo + from .azure_reachability_report_item import AzureReachabilityReportItem + from .azure_reachability_report import AzureReachabilityReport + from .available_providers_list_parameters import AvailableProvidersListParameters + from .available_providers_list_city import AvailableProvidersListCity + from .available_providers_list_state import AvailableProvidersListState + from .available_providers_list_country import AvailableProvidersListCountry + from .available_providers_list import AvailableProvidersList + from .connection_monitor_source import ConnectionMonitorSource + from .connection_monitor_destination import ConnectionMonitorDestination + from .connection_monitor_parameters import ConnectionMonitorParameters + from .connection_monitor import ConnectionMonitor + from .connection_monitor_result import ConnectionMonitorResult + from .connection_state_snapshot import ConnectionStateSnapshot + from .connection_monitor_query_result import ConnectionMonitorQueryResult + from .operation_display import OperationDisplay + from .availability import Availability + from .dimension import Dimension + from .metric_specification import MetricSpecification + from .log_specification import LogSpecification + from .operation_properties_format_service_specification import OperationPropertiesFormatServiceSpecification + from .operation import Operation + from .patch_route_filter_rule import PatchRouteFilterRule + from .patch_route_filter import PatchRouteFilter + from .bgp_community import BGPCommunity + from .bgp_service_community import BgpServiceCommunity + from .usage_name import UsageName + from .usage import Usage + from .address_space import AddressSpace + from .virtual_network_peering import VirtualNetworkPeering + from .dhcp_options import DhcpOptions + from .virtual_network import VirtualNetwork + from .ip_address_availability_result import IPAddressAvailabilityResult + from .virtual_network_usage_name import VirtualNetworkUsageName + from .virtual_network_usage import VirtualNetworkUsage + from .virtual_network_gateway_ip_configuration import VirtualNetworkGatewayIPConfiguration + from .virtual_network_gateway_sku import VirtualNetworkGatewaySku + from .vpn_client_root_certificate import VpnClientRootCertificate + from .vpn_client_revoked_certificate import VpnClientRevokedCertificate + from .ipsec_policy import IpsecPolicy + from .vpn_client_configuration import VpnClientConfiguration + from .bgp_settings import BgpSettings + from .bgp_peer_status import BgpPeerStatus + from .gateway_route import GatewayRoute + from .virtual_network_gateway import VirtualNetworkGateway + from .vpn_client_parameters import VpnClientParameters + from .bgp_peer_status_list_result import BgpPeerStatusListResult + from .gateway_route_list_result import GatewayRouteListResult + from .tunnel_connection_health import TunnelConnectionHealth + from .local_network_gateway import LocalNetworkGateway + from .virtual_network_gateway_connection import VirtualNetworkGatewayConnection + from .connection_reset_shared_key import ConnectionResetSharedKey + from .connection_shared_key import ConnectionSharedKey + from .vpn_client_ipsec_parameters import VpnClientIPsecParameters + from .virtual_network_connection_gateway_reference import VirtualNetworkConnectionGatewayReference + from .virtual_network_gateway_connection_list_entity import VirtualNetworkGatewayConnectionListEntity + from .vpn_device_script_parameters import VpnDeviceScriptParameters + from .virtual_wan import VirtualWAN + from .device_properties import DeviceProperties + from .vpn_site import VpnSite + from .get_vpn_sites_configuration_request import GetVpnSitesConfigurationRequest + from .hub_virtual_network_connection import HubVirtualNetworkConnection + from .virtual_hub import VirtualHub + from .vpn_connection import VpnConnection + from .policies import Policies + from .vpn_gateway import VpnGateway + from .vpn_site_id import VpnSiteId +from .azure_firewall_paged import AzureFirewallPaged +from .application_gateway_paged import ApplicationGatewayPaged +from .application_gateway_ssl_predefined_policy_paged import ApplicationGatewaySslPredefinedPolicyPaged +from .application_security_group_paged import ApplicationSecurityGroupPaged +from .ddos_protection_plan_paged import DdosProtectionPlanPaged +from .endpoint_service_result_paged import EndpointServiceResultPaged +from .express_route_circuit_authorization_paged import ExpressRouteCircuitAuthorizationPaged +from .express_route_circuit_peering_paged import ExpressRouteCircuitPeeringPaged +from .express_route_circuit_paged import ExpressRouteCircuitPaged +from .express_route_service_provider_paged import ExpressRouteServiceProviderPaged +from .express_route_cross_connection_paged import ExpressRouteCrossConnectionPaged +from .express_route_cross_connection_peering_paged import ExpressRouteCrossConnectionPeeringPaged +from .load_balancer_paged import LoadBalancerPaged +from .backend_address_pool_paged import BackendAddressPoolPaged +from .frontend_ip_configuration_paged import FrontendIPConfigurationPaged +from .inbound_nat_rule_paged import InboundNatRulePaged +from .load_balancing_rule_paged import LoadBalancingRulePaged +from .network_interface_paged import NetworkInterfacePaged +from .probe_paged import ProbePaged +from .network_interface_ip_configuration_paged import NetworkInterfaceIPConfigurationPaged +from .network_security_group_paged import NetworkSecurityGroupPaged +from .security_rule_paged import SecurityRulePaged +from .network_watcher_paged import NetworkWatcherPaged +from .packet_capture_result_paged import PacketCaptureResultPaged +from .connection_monitor_result_paged import ConnectionMonitorResultPaged +from .operation_paged import OperationPaged +from .public_ip_address_paged import PublicIPAddressPaged +from .route_filter_paged import RouteFilterPaged +from .route_filter_rule_paged import RouteFilterRulePaged +from .route_table_paged import RouteTablePaged +from .route_paged import RoutePaged +from .bgp_service_community_paged import BgpServiceCommunityPaged +from .usage_paged import UsagePaged +from .virtual_network_paged import VirtualNetworkPaged +from .virtual_network_usage_paged import VirtualNetworkUsagePaged +from .subnet_paged import SubnetPaged +from .virtual_network_peering_paged import VirtualNetworkPeeringPaged +from .virtual_network_gateway_paged import VirtualNetworkGatewayPaged +from .virtual_network_gateway_connection_list_entity_paged import VirtualNetworkGatewayConnectionListEntityPaged +from .virtual_network_gateway_connection_paged import VirtualNetworkGatewayConnectionPaged +from .local_network_gateway_paged import LocalNetworkGatewayPaged +from .virtual_wan_paged import VirtualWANPaged +from .vpn_site_paged import VpnSitePaged +from .virtual_hub_paged import VirtualHubPaged +from .hub_virtual_network_connection_paged import HubVirtualNetworkConnectionPaged +from .vpn_gateway_paged import VpnGatewayPaged +from .vpn_connection_paged import VpnConnectionPaged +from .network_management_client_enums import ( + ProvisioningState, + AzureFirewallRCActionType, + AzureFirewallApplicationRuleProtocolType, + AzureFirewallNetworkRuleProtocol, + TransportProtocol, + IPAllocationMethod, + IPVersion, + SecurityRuleProtocol, + SecurityRuleAccess, + SecurityRuleDirection, + RouteNextHopType, + PublicIPAddressSkuName, + ApplicationGatewayProtocol, + ApplicationGatewayCookieBasedAffinity, + ApplicationGatewayBackendHealthServerHealth, + ApplicationGatewaySkuName, + ApplicationGatewayTier, + ApplicationGatewaySslProtocol, + ApplicationGatewaySslPolicyType, + ApplicationGatewaySslPolicyName, + ApplicationGatewaySslCipherSuite, + ApplicationGatewayRequestRoutingRuleType, + ApplicationGatewayRedirectType, + ApplicationGatewayOperationalState, + ApplicationGatewayFirewallMode, + AuthorizationUseStatus, + ExpressRouteCircuitPeeringAdvertisedPublicPrefixState, + Access, + ExpressRoutePeeringType, + ExpressRoutePeeringState, + CircuitConnectionStatus, + ExpressRouteCircuitPeeringState, + ExpressRouteCircuitSkuTier, + ExpressRouteCircuitSkuFamily, + ServiceProviderProvisioningState, + LoadBalancerSkuName, + LoadDistribution, + ProbeProtocol, + NetworkOperationStatus, + EffectiveSecurityRuleProtocol, + EffectiveRouteSource, + EffectiveRouteState, + AssociationType, + Direction, + IpFlowProtocol, + NextHopType, + PcProtocol, + PcStatus, + PcError, + Protocol, + HTTPMethod, + Origin, + Severity, + IssueType, + ConnectionStatus, + ConnectionMonitorSourceStatus, + ConnectionState, + EvaluationState, + VirtualNetworkPeeringState, + VirtualNetworkGatewayType, + VpnType, + VirtualNetworkGatewaySkuName, + VirtualNetworkGatewaySkuTier, + VpnClientProtocol, + IpsecEncryption, + IpsecIntegrity, + IkeEncryption, + IkeIntegrity, + DhGroup, + PfsGroup, + BgpPeerState, + ProcessorArchitecture, + AuthenticationMethod, + VirtualNetworkGatewayConnectionStatus, + VirtualNetworkGatewayConnectionType, + VpnConnectionStatus, + TunnelConnectionStatus, + HubVirtualNetworkConnectionStatus, +) + +__all__ = [ + 'SubResource', + 'AzureFirewallIPConfiguration', + 'AzureFirewallRCAction', + 'AzureFirewallApplicationRuleProtocol', + 'AzureFirewallApplicationRule', + 'AzureFirewallApplicationRuleCollection', + 'AzureFirewallNetworkRule', + 'AzureFirewallNetworkRuleCollection', + 'AzureFirewall', + 'Resource', + 'BackendAddressPool', + 'InboundNatRule', + 'ApplicationSecurityGroup', + 'SecurityRule', + 'NetworkInterfaceDnsSettings', + 'NetworkInterface', + 'NetworkSecurityGroup', + 'Route', + 'RouteTable', + 'ServiceEndpointPropertiesFormat', + 'PublicIPAddressSku', + 'PublicIPAddressDnsSettings', + 'IpTag', + 'PublicIPAddress', + 'IPConfiguration', + 'ResourceNavigationLink', + 'Subnet', + 'NetworkInterfaceIPConfiguration', + 'ApplicationGatewayBackendAddress', + 'ApplicationGatewayBackendAddressPool', + 'ApplicationGatewayConnectionDraining', + 'ApplicationGatewayBackendHttpSettings', + 'ApplicationGatewayBackendHealthServer', + 'ApplicationGatewayBackendHealthHttpSettings', + 'ApplicationGatewayBackendHealthPool', + 'ApplicationGatewayBackendHealth', + 'ApplicationGatewaySku', + 'ApplicationGatewaySslPolicy', + 'ApplicationGatewayIPConfiguration', + 'ApplicationGatewayAuthenticationCertificate', + 'ApplicationGatewaySslCertificate', + 'ApplicationGatewayFrontendIPConfiguration', + 'ApplicationGatewayFrontendPort', + 'ApplicationGatewayHttpListener', + 'ApplicationGatewayPathRule', + 'ApplicationGatewayProbeHealthResponseMatch', + 'ApplicationGatewayProbe', + 'ApplicationGatewayRequestRoutingRule', + 'ApplicationGatewayRedirectConfiguration', + 'ApplicationGatewayUrlPathMap', + 'ApplicationGatewayFirewallDisabledRuleGroup', + 'ApplicationGatewayWebApplicationFirewallConfiguration', + 'ApplicationGatewayAutoscaleBounds', + 'ApplicationGatewayAutoscaleConfiguration', + 'ApplicationGateway', + 'ApplicationGatewayFirewallRule', + 'ApplicationGatewayFirewallRuleGroup', + 'ApplicationGatewayFirewallRuleSet', + 'ApplicationGatewayAvailableWafRuleSetsResult', + 'ApplicationGatewayAvailableSslOptions', + 'ApplicationGatewaySslPredefinedPolicy', + 'TagsObject', + 'DnsNameAvailabilityResult', + 'DdosProtectionPlan', + 'EndpointServiceResult', + 'ExpressRouteCircuitAuthorization', + 'ExpressRouteCircuitPeeringConfig', + 'RouteFilterRule', + 'ExpressRouteCircuitStats', + 'ExpressRouteCircuitConnection', + 'ExpressRouteCircuitPeering', + 'RouteFilter', + 'Ipv6ExpressRouteCircuitPeeringConfig', + 'ExpressRouteCircuitSku', + 'ExpressRouteCircuitServiceProviderProperties', + 'ExpressRouteCircuit', + 'ExpressRouteCircuitArpTable', + 'ExpressRouteCircuitsArpTableListResult', + 'ExpressRouteCircuitRoutesTable', + 'ExpressRouteCircuitsRoutesTableListResult', + 'ExpressRouteCircuitRoutesTableSummary', + 'ExpressRouteCircuitsRoutesTableSummaryListResult', + 'ExpressRouteServiceProviderBandwidthsOffered', + 'ExpressRouteServiceProvider', + 'ExpressRouteCrossConnectionRoutesTableSummary', + 'ExpressRouteCrossConnectionsRoutesTableSummaryListResult', + 'ExpressRouteCircuitReference', + 'ExpressRouteCrossConnectionPeering', + 'ExpressRouteCrossConnection', + 'LoadBalancerSku', + 'FrontendIPConfiguration', + 'LoadBalancingRule', + 'Probe', + 'InboundNatPool', + 'OutboundNatRule', + 'LoadBalancer', + 'ErrorDetails', + 'Error', 'ErrorException', + 'AzureAsyncOperationResult', + 'EffectiveNetworkSecurityGroupAssociation', + 'EffectiveNetworkSecurityRule', + 'EffectiveNetworkSecurityGroup', + 'EffectiveNetworkSecurityGroupListResult', + 'EffectiveRoute', + 'EffectiveRouteListResult', + 'NetworkWatcher', + 'TopologyParameters', + 'TopologyAssociation', + 'TopologyResource', + 'Topology', + 'VerificationIPFlowParameters', + 'VerificationIPFlowResult', + 'NextHopParameters', + 'NextHopResult', + 'SecurityGroupViewParameters', + 'NetworkInterfaceAssociation', + 'SubnetAssociation', + 'SecurityRuleAssociations', + 'SecurityGroupNetworkInterface', + 'SecurityGroupViewResult', + 'PacketCaptureStorageLocation', + 'PacketCaptureFilter', + 'PacketCaptureParameters', + 'PacketCapture', + 'PacketCaptureResult', + 'PacketCaptureQueryStatusResult', + 'TroubleshootingParameters', + 'QueryTroubleshootingParameters', + 'TroubleshootingRecommendedActions', + 'TroubleshootingDetails', + 'TroubleshootingResult', + 'RetentionPolicyParameters', + 'FlowLogStatusParameters', + 'TrafficAnalyticsConfigurationProperties', + 'TrafficAnalyticsProperties', + 'FlowLogInformation', + 'ConnectivitySource', + 'ConnectivityDestination', + 'HTTPHeader', + 'HTTPConfiguration', + 'ProtocolConfiguration', + 'ConnectivityParameters', + 'ConnectivityIssue', + 'ConnectivityHop', + 'ConnectivityInformation', + 'AzureReachabilityReportLocation', + 'AzureReachabilityReportParameters', + 'AzureReachabilityReportLatencyInfo', + 'AzureReachabilityReportItem', + 'AzureReachabilityReport', + 'AvailableProvidersListParameters', + 'AvailableProvidersListCity', + 'AvailableProvidersListState', + 'AvailableProvidersListCountry', + 'AvailableProvidersList', + 'ConnectionMonitorSource', + 'ConnectionMonitorDestination', + 'ConnectionMonitorParameters', + 'ConnectionMonitor', + 'ConnectionMonitorResult', + 'ConnectionStateSnapshot', + 'ConnectionMonitorQueryResult', + 'OperationDisplay', + 'Availability', + 'Dimension', + 'MetricSpecification', + 'LogSpecification', + 'OperationPropertiesFormatServiceSpecification', + 'Operation', + 'PatchRouteFilterRule', + 'PatchRouteFilter', + 'BGPCommunity', + 'BgpServiceCommunity', + 'UsageName', + 'Usage', + 'AddressSpace', + 'VirtualNetworkPeering', + 'DhcpOptions', + 'VirtualNetwork', + 'IPAddressAvailabilityResult', + 'VirtualNetworkUsageName', + 'VirtualNetworkUsage', + 'VirtualNetworkGatewayIPConfiguration', + 'VirtualNetworkGatewaySku', + 'VpnClientRootCertificate', + 'VpnClientRevokedCertificate', + 'IpsecPolicy', + 'VpnClientConfiguration', + 'BgpSettings', + 'BgpPeerStatus', + 'GatewayRoute', + 'VirtualNetworkGateway', + 'VpnClientParameters', + 'BgpPeerStatusListResult', + 'GatewayRouteListResult', + 'TunnelConnectionHealth', + 'LocalNetworkGateway', + 'VirtualNetworkGatewayConnection', + 'ConnectionResetSharedKey', + 'ConnectionSharedKey', + 'VpnClientIPsecParameters', + 'VirtualNetworkConnectionGatewayReference', + 'VirtualNetworkGatewayConnectionListEntity', + 'VpnDeviceScriptParameters', + 'VirtualWAN', + 'DeviceProperties', + 'VpnSite', + 'GetVpnSitesConfigurationRequest', + 'HubVirtualNetworkConnection', + 'VirtualHub', + 'VpnConnection', + 'Policies', + 'VpnGateway', + 'VpnSiteId', + 'AzureFirewallPaged', + 'ApplicationGatewayPaged', + 'ApplicationGatewaySslPredefinedPolicyPaged', + 'ApplicationSecurityGroupPaged', + 'DdosProtectionPlanPaged', + 'EndpointServiceResultPaged', + 'ExpressRouteCircuitAuthorizationPaged', + 'ExpressRouteCircuitPeeringPaged', + 'ExpressRouteCircuitPaged', + 'ExpressRouteServiceProviderPaged', + 'ExpressRouteCrossConnectionPaged', + 'ExpressRouteCrossConnectionPeeringPaged', + 'LoadBalancerPaged', + 'BackendAddressPoolPaged', + 'FrontendIPConfigurationPaged', + 'InboundNatRulePaged', + 'LoadBalancingRulePaged', + 'NetworkInterfacePaged', + 'ProbePaged', + 'NetworkInterfaceIPConfigurationPaged', + 'NetworkSecurityGroupPaged', + 'SecurityRulePaged', + 'NetworkWatcherPaged', + 'PacketCaptureResultPaged', + 'ConnectionMonitorResultPaged', + 'OperationPaged', + 'PublicIPAddressPaged', + 'RouteFilterPaged', + 'RouteFilterRulePaged', + 'RouteTablePaged', + 'RoutePaged', + 'BgpServiceCommunityPaged', + 'UsagePaged', + 'VirtualNetworkPaged', + 'VirtualNetworkUsagePaged', + 'SubnetPaged', + 'VirtualNetworkPeeringPaged', + 'VirtualNetworkGatewayPaged', + 'VirtualNetworkGatewayConnectionListEntityPaged', + 'VirtualNetworkGatewayConnectionPaged', + 'LocalNetworkGatewayPaged', + 'VirtualWANPaged', + 'VpnSitePaged', + 'VirtualHubPaged', + 'HubVirtualNetworkConnectionPaged', + 'VpnGatewayPaged', + 'VpnConnectionPaged', + 'ProvisioningState', + 'AzureFirewallRCActionType', + 'AzureFirewallApplicationRuleProtocolType', + 'AzureFirewallNetworkRuleProtocol', + 'TransportProtocol', + 'IPAllocationMethod', + 'IPVersion', + 'SecurityRuleProtocol', + 'SecurityRuleAccess', + 'SecurityRuleDirection', + 'RouteNextHopType', + 'PublicIPAddressSkuName', + 'ApplicationGatewayProtocol', + 'ApplicationGatewayCookieBasedAffinity', + 'ApplicationGatewayBackendHealthServerHealth', + 'ApplicationGatewaySkuName', + 'ApplicationGatewayTier', + 'ApplicationGatewaySslProtocol', + 'ApplicationGatewaySslPolicyType', + 'ApplicationGatewaySslPolicyName', + 'ApplicationGatewaySslCipherSuite', + 'ApplicationGatewayRequestRoutingRuleType', + 'ApplicationGatewayRedirectType', + 'ApplicationGatewayOperationalState', + 'ApplicationGatewayFirewallMode', + 'AuthorizationUseStatus', + 'ExpressRouteCircuitPeeringAdvertisedPublicPrefixState', + 'Access', + 'ExpressRoutePeeringType', + 'ExpressRoutePeeringState', + 'CircuitConnectionStatus', + 'ExpressRouteCircuitPeeringState', + 'ExpressRouteCircuitSkuTier', + 'ExpressRouteCircuitSkuFamily', + 'ServiceProviderProvisioningState', + 'LoadBalancerSkuName', + 'LoadDistribution', + 'ProbeProtocol', + 'NetworkOperationStatus', + 'EffectiveSecurityRuleProtocol', + 'EffectiveRouteSource', + 'EffectiveRouteState', + 'AssociationType', + 'Direction', + 'IpFlowProtocol', + 'NextHopType', + 'PcProtocol', + 'PcStatus', + 'PcError', + 'Protocol', + 'HTTPMethod', + 'Origin', + 'Severity', + 'IssueType', + 'ConnectionStatus', + 'ConnectionMonitorSourceStatus', + 'ConnectionState', + 'EvaluationState', + 'VirtualNetworkPeeringState', + 'VirtualNetworkGatewayType', + 'VpnType', + 'VirtualNetworkGatewaySkuName', + 'VirtualNetworkGatewaySkuTier', + 'VpnClientProtocol', + 'IpsecEncryption', + 'IpsecIntegrity', + 'IkeEncryption', + 'IkeIntegrity', + 'DhGroup', + 'PfsGroup', + 'BgpPeerState', + 'ProcessorArchitecture', + 'AuthenticationMethod', + 'VirtualNetworkGatewayConnectionStatus', + 'VirtualNetworkGatewayConnectionType', + 'VpnConnectionStatus', + 'TunnelConnectionStatus', + 'HubVirtualNetworkConnectionStatus', +] diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/address_space.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/address_space.py new file mode 100644 index 000000000000..fbf42c9e0ade --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/address_space.py @@ -0,0 +1,30 @@ +# 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.serialization import Model + + +class AddressSpace(Model): + """AddressSpace contains an array of IP address ranges that can be used by + subnets of the virtual network. + + :param address_prefixes: A list of address blocks reserved for this + virtual network in CIDR notation. + :type address_prefixes: list[str] + """ + + _attribute_map = { + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AddressSpace, self).__init__(**kwargs) + self.address_prefixes = kwargs.get('address_prefixes', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/address_space_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/address_space_py3.py new file mode 100644 index 000000000000..9794cc805efa --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/address_space_py3.py @@ -0,0 +1,30 @@ +# 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.serialization import Model + + +class AddressSpace(Model): + """AddressSpace contains an array of IP address ranges that can be used by + subnets of the virtual network. + + :param address_prefixes: A list of address blocks reserved for this + virtual network in CIDR notation. + :type address_prefixes: list[str] + """ + + _attribute_map = { + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + } + + def __init__(self, *, address_prefixes=None, **kwargs) -> None: + super(AddressSpace, self).__init__(**kwargs) + self.address_prefixes = address_prefixes diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway.py new file mode 100644 index 000000000000..c2f24cf1e840 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway.py @@ -0,0 +1,173 @@ +# 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 .resource import Resource + + +class ApplicationGateway(Resource): + """Application gateway resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: SKU of the application gateway resource. + :type sku: ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySku + :param ssl_policy: SSL policy of the application gateway resource. + :type ssl_policy: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslPolicy + :ivar operational_state: Operational state of the application gateway + resource. Possible values include: 'Stopped', 'Starting', 'Running', + 'Stopping' + :vartype operational_state: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayOperationalState + :param gateway_ip_configurations: Subnets of application the gateway + resource. + :type gateway_ip_configurations: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayIPConfiguration] + :param authentication_certificates: Authentication certificates of the + application gateway resource. + :type authentication_certificates: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayAuthenticationCertificate] + :param ssl_certificates: SSL certificates of the application gateway + resource. + :type ssl_certificates: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslCertificate] + :param frontend_ip_configurations: Frontend IP addresses of the + application gateway resource. + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFrontendIPConfiguration] + :param frontend_ports: Frontend ports of the application gateway resource. + :type frontend_ports: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFrontendPort] + :param probes: Probes of the application gateway resource. + :type probes: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayProbe] + :param backend_address_pools: Backend address pool of the application + gateway resource. + :type backend_address_pools: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendAddressPool] + :param backend_http_settings_collection: Backend http settings of the + application gateway resource. + :type backend_http_settings_collection: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendHttpSettings] + :param http_listeners: Http listeners of the application gateway resource. + :type http_listeners: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayHttpListener] + :param url_path_maps: URL path map of the application gateway resource. + :type url_path_maps: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayUrlPathMap] + :param request_routing_rules: Request routing rules of the application + gateway resource. + :type request_routing_rules: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayRequestRoutingRule] + :param redirect_configurations: Redirect configurations of the application + gateway resource. + :type redirect_configurations: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayRedirectConfiguration] + :param web_application_firewall_configuration: Web application firewall + configuration. + :type web_application_firewall_configuration: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayWebApplicationFirewallConfiguration + :param enable_http2: Whether HTTP2 is enabled on the application gateway + resource. + :type enable_http2: bool + :param enable_fips: Whether FIPS is enabled on the application gateway + resource. + :type enable_fips: bool + :param autoscale_configuration: Autoscale Configuration. + :type autoscale_configuration: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayAutoscaleConfiguration + :param resource_guid: Resource GUID property of the application gateway + resource. + :type resource_guid: str + :param provisioning_state: Provisioning state of the application gateway + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param zones: A list of availability zones denoting where the resource + needs to come from. + :type zones: list[str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'operational_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, + 'ssl_policy': {'key': 'properties.sslPolicy', 'type': 'ApplicationGatewaySslPolicy'}, + 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, + 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, + 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[ApplicationGatewayAuthenticationCertificate]'}, + 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, + 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, + 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, + 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, + 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, + 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, + 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, + 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, + 'redirect_configurations': {'key': 'properties.redirectConfigurations', 'type': '[ApplicationGatewayRedirectConfiguration]'}, + 'web_application_firewall_configuration': {'key': 'properties.webApplicationFirewallConfiguration', 'type': 'ApplicationGatewayWebApplicationFirewallConfiguration'}, + 'enable_http2': {'key': 'properties.enableHttp2', 'type': 'bool'}, + 'enable_fips': {'key': 'properties.enableFips', 'type': 'bool'}, + 'autoscale_configuration': {'key': 'properties.autoscaleConfiguration', 'type': 'ApplicationGatewayAutoscaleConfiguration'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGateway, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.ssl_policy = kwargs.get('ssl_policy', None) + self.operational_state = None + self.gateway_ip_configurations = kwargs.get('gateway_ip_configurations', None) + self.authentication_certificates = kwargs.get('authentication_certificates', None) + self.ssl_certificates = kwargs.get('ssl_certificates', None) + self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) + self.frontend_ports = kwargs.get('frontend_ports', None) + self.probes = kwargs.get('probes', None) + self.backend_address_pools = kwargs.get('backend_address_pools', None) + self.backend_http_settings_collection = kwargs.get('backend_http_settings_collection', None) + self.http_listeners = kwargs.get('http_listeners', None) + self.url_path_maps = kwargs.get('url_path_maps', None) + self.request_routing_rules = kwargs.get('request_routing_rules', None) + self.redirect_configurations = kwargs.get('redirect_configurations', None) + self.web_application_firewall_configuration = kwargs.get('web_application_firewall_configuration', None) + self.enable_http2 = kwargs.get('enable_http2', None) + self.enable_fips = kwargs.get('enable_fips', None) + self.autoscale_configuration = kwargs.get('autoscale_configuration', None) + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = kwargs.get('etag', None) + self.zones = kwargs.get('zones', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_authentication_certificate.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_authentication_certificate.py new file mode 100644 index 000000000000..3b766e657c6b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_authentication_certificate.py @@ -0,0 +1,51 @@ +# 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 ApplicationGatewayAuthenticationCertificate(SubResource): + """Authentication certificates of an application gateway. + + :param id: Resource ID. + :type id: str + :param data: Certificate public data. + :type data: str + :param provisioning_state: Provisioning state of the authentication + certificate resource. Possible values are: 'Updating', 'Deleting', and + 'Failed'. + :type provisioning_state: str + :param name: Name of the authentication certificate that is unique within + an Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'data': {'key': 'properties.data', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayAuthenticationCertificate, self).__init__(**kwargs) + self.data = kwargs.get('data', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_authentication_certificate_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_authentication_certificate_py3.py new file mode 100644 index 000000000000..d0c7f378884b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_authentication_certificate_py3.py @@ -0,0 +1,51 @@ +# 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 ApplicationGatewayAuthenticationCertificate(SubResource): + """Authentication certificates of an application gateway. + + :param id: Resource ID. + :type id: str + :param data: Certificate public data. + :type data: str + :param provisioning_state: Provisioning state of the authentication + certificate resource. Possible values are: 'Updating', 'Deleting', and + 'Failed'. + :type provisioning_state: str + :param name: Name of the authentication certificate that is unique within + an Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'data': {'key': 'properties.data', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, data: str=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayAuthenticationCertificate, self).__init__(id=id, **kwargs) + self.data = data + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_autoscale_bounds.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_autoscale_bounds.py new file mode 100644 index 000000000000..f36b8744e511 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_autoscale_bounds.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class ApplicationGatewayAutoscaleBounds(Model): + """Application Gateway autoscale bounds on number of Application Gateway + instance. + + All required parameters must be populated in order to send to Azure. + + :param min: Required. Lower bound on number of Application Gateway + instances. + :type min: int + :param max: Required. Upper bound on number of Application Gateway + instances. + :type max: int + """ + + _validation = { + 'min': {'required': True}, + 'max': {'required': True}, + } + + _attribute_map = { + 'min': {'key': 'min', 'type': 'int'}, + 'max': {'key': 'max', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayAutoscaleBounds, self).__init__(**kwargs) + self.min = kwargs.get('min', None) + self.max = kwargs.get('max', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_autoscale_bounds_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_autoscale_bounds_py3.py new file mode 100644 index 000000000000..fd93bf10f8f2 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_autoscale_bounds_py3.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class ApplicationGatewayAutoscaleBounds(Model): + """Application Gateway autoscale bounds on number of Application Gateway + instance. + + All required parameters must be populated in order to send to Azure. + + :param min: Required. Lower bound on number of Application Gateway + instances. + :type min: int + :param max: Required. Upper bound on number of Application Gateway + instances. + :type max: int + """ + + _validation = { + 'min': {'required': True}, + 'max': {'required': True}, + } + + _attribute_map = { + 'min': {'key': 'min', 'type': 'int'}, + 'max': {'key': 'max', 'type': 'int'}, + } + + def __init__(self, *, min: int, max: int, **kwargs) -> None: + super(ApplicationGatewayAutoscaleBounds, self).__init__(**kwargs) + self.min = min + self.max = max diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_autoscale_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_autoscale_configuration.py new file mode 100644 index 000000000000..299ca8d18e14 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_autoscale_configuration.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class ApplicationGatewayAutoscaleConfiguration(Model): + """Application Gateway autoscale configuration. + + All required parameters must be populated in order to send to Azure. + + :param bounds: Required. Autoscale bounds + :type bounds: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayAutoscaleBounds + """ + + _validation = { + 'bounds': {'required': True}, + } + + _attribute_map = { + 'bounds': {'key': 'bounds', 'type': 'ApplicationGatewayAutoscaleBounds'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayAutoscaleConfiguration, self).__init__(**kwargs) + self.bounds = kwargs.get('bounds', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_autoscale_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_autoscale_configuration_py3.py new file mode 100644 index 000000000000..9e36b1f504f5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_autoscale_configuration_py3.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class ApplicationGatewayAutoscaleConfiguration(Model): + """Application Gateway autoscale configuration. + + All required parameters must be populated in order to send to Azure. + + :param bounds: Required. Autoscale bounds + :type bounds: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayAutoscaleBounds + """ + + _validation = { + 'bounds': {'required': True}, + } + + _attribute_map = { + 'bounds': {'key': 'bounds', 'type': 'ApplicationGatewayAutoscaleBounds'}, + } + + def __init__(self, *, bounds, **kwargs) -> None: + super(ApplicationGatewayAutoscaleConfiguration, self).__init__(**kwargs) + self.bounds = bounds diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_available_ssl_options.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_available_ssl_options.py new file mode 100644 index 000000000000..1bf2e08926b0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_available_ssl_options.py @@ -0,0 +1,70 @@ +# 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 .resource import Resource + + +class ApplicationGatewayAvailableSslOptions(Resource): + """Response for ApplicationGatewayAvailableSslOptions API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param predefined_policies: List of available Ssl predefined policy. + :type predefined_policies: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param default_policy: Name of the Ssl predefined policy applied by + default to application gateway. Possible values include: + 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', + 'AppGwSslPolicy20170401S' + :type default_policy: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslPolicyName + :param available_cipher_suites: List of available Ssl cipher suites. + :type available_cipher_suites: list[str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslCipherSuite] + :param available_protocols: List of available Ssl protocols. + :type available_protocols: list[str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslProtocol] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'predefined_policies': {'key': 'properties.predefinedPolicies', 'type': '[SubResource]'}, + 'default_policy': {'key': 'properties.defaultPolicy', 'type': 'str'}, + 'available_cipher_suites': {'key': 'properties.availableCipherSuites', 'type': '[str]'}, + 'available_protocols': {'key': 'properties.availableProtocols', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayAvailableSslOptions, self).__init__(**kwargs) + self.predefined_policies = kwargs.get('predefined_policies', None) + self.default_policy = kwargs.get('default_policy', None) + self.available_cipher_suites = kwargs.get('available_cipher_suites', None) + self.available_protocols = kwargs.get('available_protocols', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_available_ssl_options_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_available_ssl_options_py3.py new file mode 100644 index 000000000000..17ed43d7f164 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_available_ssl_options_py3.py @@ -0,0 +1,70 @@ +# 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 .resource_py3 import Resource + + +class ApplicationGatewayAvailableSslOptions(Resource): + """Response for ApplicationGatewayAvailableSslOptions API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param predefined_policies: List of available Ssl predefined policy. + :type predefined_policies: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param default_policy: Name of the Ssl predefined policy applied by + default to application gateway. Possible values include: + 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', + 'AppGwSslPolicy20170401S' + :type default_policy: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslPolicyName + :param available_cipher_suites: List of available Ssl cipher suites. + :type available_cipher_suites: list[str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslCipherSuite] + :param available_protocols: List of available Ssl protocols. + :type available_protocols: list[str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslProtocol] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'predefined_policies': {'key': 'properties.predefinedPolicies', 'type': '[SubResource]'}, + 'default_policy': {'key': 'properties.defaultPolicy', 'type': 'str'}, + 'available_cipher_suites': {'key': 'properties.availableCipherSuites', 'type': '[str]'}, + 'available_protocols': {'key': 'properties.availableProtocols', 'type': '[str]'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, predefined_policies=None, default_policy=None, available_cipher_suites=None, available_protocols=None, **kwargs) -> None: + super(ApplicationGatewayAvailableSslOptions, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.predefined_policies = predefined_policies + self.default_policy = default_policy + self.available_cipher_suites = available_cipher_suites + self.available_protocols = available_protocols diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_available_waf_rule_sets_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_available_waf_rule_sets_result.py new file mode 100644 index 000000000000..84b0ed83b883 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_available_waf_rule_sets_result.py @@ -0,0 +1,29 @@ +# 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.serialization import Model + + +class ApplicationGatewayAvailableWafRuleSetsResult(Model): + """Response for ApplicationGatewayAvailableWafRuleSets API service call. + + :param value: The list of application gateway rule sets. + :type value: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFirewallRuleSet] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ApplicationGatewayFirewallRuleSet]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayAvailableWafRuleSetsResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_available_waf_rule_sets_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_available_waf_rule_sets_result_py3.py new file mode 100644 index 000000000000..c64583c119fc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_available_waf_rule_sets_result_py3.py @@ -0,0 +1,29 @@ +# 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.serialization import Model + + +class ApplicationGatewayAvailableWafRuleSetsResult(Model): + """Response for ApplicationGatewayAvailableWafRuleSets API service call. + + :param value: The list of application gateway rule sets. + :type value: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFirewallRuleSet] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ApplicationGatewayFirewallRuleSet]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(ApplicationGatewayAvailableWafRuleSetsResult, self).__init__(**kwargs) + self.value = value diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_address.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_address.py new file mode 100644 index 000000000000..e7a61fe1705c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_address.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class ApplicationGatewayBackendAddress(Model): + """Backend address of an application gateway. + + :param fqdn: Fully qualified domain name (FQDN). + :type fqdn: str + :param ip_address: IP address + :type ip_address: str + """ + + _attribute_map = { + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) + self.fqdn = kwargs.get('fqdn', None) + self.ip_address = kwargs.get('ip_address', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_address_pool.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_address_pool.py new file mode 100644 index 000000000000..f2f33a723429 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_address_pool.py @@ -0,0 +1,57 @@ +# 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 ApplicationGatewayBackendAddressPool(SubResource): + """Backend Address Pool of an application gateway. + + :param id: Resource ID. + :type id: str + :param backend_ip_configurations: Collection of references to IPs defined + in network interfaces. + :type backend_ip_configurations: + list[~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfiguration] + :param backend_addresses: Backend addresses + :type backend_addresses: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendAddress] + :param provisioning_state: Provisioning state of the backend address pool + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the backend address pool that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendAddressPool, self).__init__(**kwargs) + self.backend_ip_configurations = kwargs.get('backend_ip_configurations', None) + self.backend_addresses = kwargs.get('backend_addresses', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_address_pool_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_address_pool_py3.py new file mode 100644 index 000000000000..b090b707730c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_address_pool_py3.py @@ -0,0 +1,57 @@ +# 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 ApplicationGatewayBackendAddressPool(SubResource): + """Backend Address Pool of an application gateway. + + :param id: Resource ID. + :type id: str + :param backend_ip_configurations: Collection of references to IPs defined + in network interfaces. + :type backend_ip_configurations: + list[~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfiguration] + :param backend_addresses: Backend addresses + :type backend_addresses: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendAddress] + :param provisioning_state: Provisioning state of the backend address pool + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the backend address pool that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, backend_ip_configurations=None, backend_addresses=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayBackendAddressPool, self).__init__(id=id, **kwargs) + self.backend_ip_configurations = backend_ip_configurations + self.backend_addresses = backend_addresses + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_address_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_address_py3.py new file mode 100644 index 000000000000..d18e476244d8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_address_py3.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class ApplicationGatewayBackendAddress(Model): + """Backend address of an application gateway. + + :param fqdn: Fully qualified domain name (FQDN). + :type fqdn: str + :param ip_address: IP address + :type ip_address: str + """ + + _attribute_map = { + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + } + + def __init__(self, *, fqdn: str=None, ip_address: str=None, **kwargs) -> None: + super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) + self.fqdn = fqdn + self.ip_address = ip_address diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health.py new file mode 100644 index 000000000000..5da5fd86d517 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health.py @@ -0,0 +1,29 @@ +# 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.serialization import Model + + +class ApplicationGatewayBackendHealth(Model): + """List of ApplicationGatewayBackendHealthPool resources. + + :param backend_address_pools: + :type backend_address_pools: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendHealthPool] + """ + + _attribute_map = { + 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[ApplicationGatewayBackendHealthPool]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHealth, self).__init__(**kwargs) + self.backend_address_pools = kwargs.get('backend_address_pools', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_http_settings.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_http_settings.py new file mode 100644 index 000000000000..97d7b657571d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_http_settings.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class ApplicationGatewayBackendHealthHttpSettings(Model): + """Application gateway BackendHealthHttp settings. + + :param backend_http_settings: Reference of an + ApplicationGatewayBackendHttpSettings resource. + :type backend_http_settings: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendHttpSettings + :param servers: List of ApplicationGatewayBackendHealthServer resources. + :type servers: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendHealthServer] + """ + + _attribute_map = { + 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'ApplicationGatewayBackendHttpSettings'}, + 'servers': {'key': 'servers', 'type': '[ApplicationGatewayBackendHealthServer]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHealthHttpSettings, self).__init__(**kwargs) + self.backend_http_settings = kwargs.get('backend_http_settings', None) + self.servers = kwargs.get('servers', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_http_settings_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_http_settings_py3.py new file mode 100644 index 000000000000..db6e9677fba7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_http_settings_py3.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class ApplicationGatewayBackendHealthHttpSettings(Model): + """Application gateway BackendHealthHttp settings. + + :param backend_http_settings: Reference of an + ApplicationGatewayBackendHttpSettings resource. + :type backend_http_settings: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendHttpSettings + :param servers: List of ApplicationGatewayBackendHealthServer resources. + :type servers: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendHealthServer] + """ + + _attribute_map = { + 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'ApplicationGatewayBackendHttpSettings'}, + 'servers': {'key': 'servers', 'type': '[ApplicationGatewayBackendHealthServer]'}, + } + + def __init__(self, *, backend_http_settings=None, servers=None, **kwargs) -> None: + super(ApplicationGatewayBackendHealthHttpSettings, self).__init__(**kwargs) + self.backend_http_settings = backend_http_settings + self.servers = servers diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_pool.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_pool.py new file mode 100644 index 000000000000..57a32efd79c1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_pool.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class ApplicationGatewayBackendHealthPool(Model): + """Application gateway BackendHealth pool. + + :param backend_address_pool: Reference of an + ApplicationGatewayBackendAddressPool resource. + :type backend_address_pool: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendAddressPool + :param backend_http_settings_collection: List of + ApplicationGatewayBackendHealthHttpSettings resources. + :type backend_http_settings_collection: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendHealthHttpSettings] + """ + + _attribute_map = { + 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, + 'backend_http_settings_collection': {'key': 'backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHealthHttpSettings]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHealthPool, self).__init__(**kwargs) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.backend_http_settings_collection = kwargs.get('backend_http_settings_collection', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_pool_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_pool_py3.py new file mode 100644 index 000000000000..a409442cecff --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_pool_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class ApplicationGatewayBackendHealthPool(Model): + """Application gateway BackendHealth pool. + + :param backend_address_pool: Reference of an + ApplicationGatewayBackendAddressPool resource. + :type backend_address_pool: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendAddressPool + :param backend_http_settings_collection: List of + ApplicationGatewayBackendHealthHttpSettings resources. + :type backend_http_settings_collection: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendHealthHttpSettings] + """ + + _attribute_map = { + 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, + 'backend_http_settings_collection': {'key': 'backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHealthHttpSettings]'}, + } + + def __init__(self, *, backend_address_pool=None, backend_http_settings_collection=None, **kwargs) -> None: + super(ApplicationGatewayBackendHealthPool, self).__init__(**kwargs) + self.backend_address_pool = backend_address_pool + self.backend_http_settings_collection = backend_http_settings_collection diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_py3.py new file mode 100644 index 000000000000..e392ed0f3cd8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_py3.py @@ -0,0 +1,29 @@ +# 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.serialization import Model + + +class ApplicationGatewayBackendHealth(Model): + """List of ApplicationGatewayBackendHealthPool resources. + + :param backend_address_pools: + :type backend_address_pools: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendHealthPool] + """ + + _attribute_map = { + 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[ApplicationGatewayBackendHealthPool]'}, + } + + def __init__(self, *, backend_address_pools=None, **kwargs) -> None: + super(ApplicationGatewayBackendHealth, self).__init__(**kwargs) + self.backend_address_pools = backend_address_pools diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_server.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_server.py new file mode 100644 index 000000000000..3be041c7765c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_server.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class ApplicationGatewayBackendHealthServer(Model): + """Application gateway backendhealth http settings. + + :param address: IP address or FQDN of backend server. + :type address: str + :param ip_configuration: Reference of IP configuration of backend server. + :type ip_configuration: + ~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfiguration + :param health: Health of backend server. Possible values include: + 'Unknown', 'Up', 'Down', 'Partial', 'Draining' + :type health: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendHealthServerHealth + """ + + _attribute_map = { + 'address': {'key': 'address', 'type': 'str'}, + 'ip_configuration': {'key': 'ipConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'health': {'key': 'health', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHealthServer, self).__init__(**kwargs) + self.address = kwargs.get('address', None) + self.ip_configuration = kwargs.get('ip_configuration', None) + self.health = kwargs.get('health', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_server_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_server_py3.py new file mode 100644 index 000000000000..fdbaa7cfe11c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_health_server_py3.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class ApplicationGatewayBackendHealthServer(Model): + """Application gateway backendhealth http settings. + + :param address: IP address or FQDN of backend server. + :type address: str + :param ip_configuration: Reference of IP configuration of backend server. + :type ip_configuration: + ~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfiguration + :param health: Health of backend server. Possible values include: + 'Unknown', 'Up', 'Down', 'Partial', 'Draining' + :type health: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendHealthServerHealth + """ + + _attribute_map = { + 'address': {'key': 'address', 'type': 'str'}, + 'ip_configuration': {'key': 'ipConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'health': {'key': 'health', 'type': 'str'}, + } + + def __init__(self, *, address: str=None, ip_configuration=None, health=None, **kwargs) -> None: + super(ApplicationGatewayBackendHealthServer, self).__init__(**kwargs) + self.address = address + self.ip_configuration = ip_configuration + self.health = health diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_http_settings.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_http_settings.py new file mode 100644 index 000000000000..50a4351af3f0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_http_settings.py @@ -0,0 +1,109 @@ +# 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 ApplicationGatewayBackendHttpSettings(SubResource): + """Backend address pool settings of an application gateway. + + :param id: Resource ID. + :type id: str + :param port: The destination port on the backend. + :type port: int + :param protocol: The protocol used to communicate with the backend. + Possible values are 'Http' and 'Https'. Possible values include: 'Http', + 'Https' + :type protocol: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayProtocol + :param cookie_based_affinity: Cookie based affinity. Possible values + include: 'Enabled', 'Disabled' + :type cookie_based_affinity: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayCookieBasedAffinity + :param request_timeout: Request timeout in seconds. Application Gateway + will fail the request if response is not received within RequestTimeout. + Acceptable values are from 1 second to 86400 seconds. + :type request_timeout: int + :param probe: Probe resource of an application gateway. + :type probe: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param authentication_certificates: Array of references to application + gateway authentication certificates. + :type authentication_certificates: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param connection_draining: Connection draining of the backend http + settings resource. + :type connection_draining: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayConnectionDraining + :param host_name: Host header to be sent to the backend servers. + :type host_name: str + :param pick_host_name_from_backend_address: Whether to pick host header + should be picked from the host name of the backend server. Default value + is false. + :type pick_host_name_from_backend_address: bool + :param affinity_cookie_name: Cookie name to use for the affinity cookie. + :type affinity_cookie_name: str + :param probe_enabled: Whether the probe is enabled. Default value is + false. + :type probe_enabled: bool + :param path: Path which should be used as a prefix for all HTTP requests. + Null means no path will be prefixed. Default value is null. + :type path: str + :param provisioning_state: Provisioning state of the backend http settings + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the backend http settings that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, + 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, + 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, + 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[SubResource]'}, + 'connection_draining': {'key': 'properties.connectionDraining', 'type': 'ApplicationGatewayConnectionDraining'}, + 'host_name': {'key': 'properties.hostName', 'type': 'str'}, + 'pick_host_name_from_backend_address': {'key': 'properties.pickHostNameFromBackendAddress', 'type': 'bool'}, + 'affinity_cookie_name': {'key': 'properties.affinityCookieName', 'type': 'str'}, + 'probe_enabled': {'key': 'properties.probeEnabled', 'type': 'bool'}, + 'path': {'key': 'properties.path', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHttpSettings, self).__init__(**kwargs) + self.port = kwargs.get('port', None) + self.protocol = kwargs.get('protocol', None) + self.cookie_based_affinity = kwargs.get('cookie_based_affinity', None) + self.request_timeout = kwargs.get('request_timeout', None) + self.probe = kwargs.get('probe', None) + self.authentication_certificates = kwargs.get('authentication_certificates', None) + self.connection_draining = kwargs.get('connection_draining', None) + self.host_name = kwargs.get('host_name', None) + self.pick_host_name_from_backend_address = kwargs.get('pick_host_name_from_backend_address', None) + self.affinity_cookie_name = kwargs.get('affinity_cookie_name', None) + self.probe_enabled = kwargs.get('probe_enabled', None) + self.path = kwargs.get('path', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_http_settings_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_http_settings_py3.py new file mode 100644 index 000000000000..5904e7ce515a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_backend_http_settings_py3.py @@ -0,0 +1,109 @@ +# 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 ApplicationGatewayBackendHttpSettings(SubResource): + """Backend address pool settings of an application gateway. + + :param id: Resource ID. + :type id: str + :param port: The destination port on the backend. + :type port: int + :param protocol: The protocol used to communicate with the backend. + Possible values are 'Http' and 'Https'. Possible values include: 'Http', + 'Https' + :type protocol: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayProtocol + :param cookie_based_affinity: Cookie based affinity. Possible values + include: 'Enabled', 'Disabled' + :type cookie_based_affinity: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayCookieBasedAffinity + :param request_timeout: Request timeout in seconds. Application Gateway + will fail the request if response is not received within RequestTimeout. + Acceptable values are from 1 second to 86400 seconds. + :type request_timeout: int + :param probe: Probe resource of an application gateway. + :type probe: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param authentication_certificates: Array of references to application + gateway authentication certificates. + :type authentication_certificates: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param connection_draining: Connection draining of the backend http + settings resource. + :type connection_draining: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayConnectionDraining + :param host_name: Host header to be sent to the backend servers. + :type host_name: str + :param pick_host_name_from_backend_address: Whether to pick host header + should be picked from the host name of the backend server. Default value + is false. + :type pick_host_name_from_backend_address: bool + :param affinity_cookie_name: Cookie name to use for the affinity cookie. + :type affinity_cookie_name: str + :param probe_enabled: Whether the probe is enabled. Default value is + false. + :type probe_enabled: bool + :param path: Path which should be used as a prefix for all HTTP requests. + Null means no path will be prefixed. Default value is null. + :type path: str + :param provisioning_state: Provisioning state of the backend http settings + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the backend http settings that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, + 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, + 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, + 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[SubResource]'}, + 'connection_draining': {'key': 'properties.connectionDraining', 'type': 'ApplicationGatewayConnectionDraining'}, + 'host_name': {'key': 'properties.hostName', 'type': 'str'}, + 'pick_host_name_from_backend_address': {'key': 'properties.pickHostNameFromBackendAddress', 'type': 'bool'}, + 'affinity_cookie_name': {'key': 'properties.affinityCookieName', 'type': 'str'}, + 'probe_enabled': {'key': 'properties.probeEnabled', 'type': 'bool'}, + 'path': {'key': 'properties.path', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, port: int=None, protocol=None, cookie_based_affinity=None, request_timeout: int=None, probe=None, authentication_certificates=None, connection_draining=None, host_name: str=None, pick_host_name_from_backend_address: bool=None, affinity_cookie_name: str=None, probe_enabled: bool=None, path: str=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayBackendHttpSettings, self).__init__(id=id, **kwargs) + self.port = port + self.protocol = protocol + self.cookie_based_affinity = cookie_based_affinity + self.request_timeout = request_timeout + self.probe = probe + self.authentication_certificates = authentication_certificates + self.connection_draining = connection_draining + self.host_name = host_name + self.pick_host_name_from_backend_address = pick_host_name_from_backend_address + self.affinity_cookie_name = affinity_cookie_name + self.probe_enabled = probe_enabled + self.path = path + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_connection_draining.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_connection_draining.py new file mode 100644 index 000000000000..531b3cb05dd3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_connection_draining.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class ApplicationGatewayConnectionDraining(Model): + """Connection draining allows open connections to a backend server to be + active for a specified time after the backend server got removed from the + configuration. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Whether connection draining is enabled or not. + :type enabled: bool + :param drain_timeout_in_sec: Required. The number of seconds connection + draining is active. Acceptable values are from 1 second to 3600 seconds. + :type drain_timeout_in_sec: int + """ + + _validation = { + 'enabled': {'required': True}, + 'drain_timeout_in_sec': {'required': True, 'maximum': 3600, 'minimum': 1}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'drain_timeout_in_sec': {'key': 'drainTimeoutInSec', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayConnectionDraining, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.drain_timeout_in_sec = kwargs.get('drain_timeout_in_sec', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_connection_draining_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_connection_draining_py3.py new file mode 100644 index 000000000000..c46fb01cae72 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_connection_draining_py3.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class ApplicationGatewayConnectionDraining(Model): + """Connection draining allows open connections to a backend server to be + active for a specified time after the backend server got removed from the + configuration. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Whether connection draining is enabled or not. + :type enabled: bool + :param drain_timeout_in_sec: Required. The number of seconds connection + draining is active. Acceptable values are from 1 second to 3600 seconds. + :type drain_timeout_in_sec: int + """ + + _validation = { + 'enabled': {'required': True}, + 'drain_timeout_in_sec': {'required': True, 'maximum': 3600, 'minimum': 1}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'drain_timeout_in_sec': {'key': 'drainTimeoutInSec', 'type': 'int'}, + } + + def __init__(self, *, enabled: bool, drain_timeout_in_sec: int, **kwargs) -> None: + super(ApplicationGatewayConnectionDraining, self).__init__(**kwargs) + self.enabled = enabled + self.drain_timeout_in_sec = drain_timeout_in_sec diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_disabled_rule_group.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_disabled_rule_group.py new file mode 100644 index 000000000000..085ae3d78c5c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_disabled_rule_group.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class ApplicationGatewayFirewallDisabledRuleGroup(Model): + """Allows to disable rules within a rule group or an entire rule group. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. The name of the rule group that will be + disabled. + :type rule_group_name: str + :param rules: The list of rules that will be disabled. If null, all rules + of the rule group will be disabled. + :type rules: list[int] + """ + + _validation = { + 'rule_group_name': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[int]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFirewallDisabledRuleGroup, self).__init__(**kwargs) + self.rule_group_name = kwargs.get('rule_group_name', None) + self.rules = kwargs.get('rules', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_disabled_rule_group_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_disabled_rule_group_py3.py new file mode 100644 index 000000000000..44ac696b801c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_disabled_rule_group_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class ApplicationGatewayFirewallDisabledRuleGroup(Model): + """Allows to disable rules within a rule group or an entire rule group. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. The name of the rule group that will be + disabled. + :type rule_group_name: str + :param rules: The list of rules that will be disabled. If null, all rules + of the rule group will be disabled. + :type rules: list[int] + """ + + _validation = { + 'rule_group_name': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[int]'}, + } + + def __init__(self, *, rule_group_name: str, rules=None, **kwargs) -> None: + super(ApplicationGatewayFirewallDisabledRuleGroup, self).__init__(**kwargs) + self.rule_group_name = rule_group_name + self.rules = rules diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_rule.py new file mode 100644 index 000000000000..661b0d146e16 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_rule.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class ApplicationGatewayFirewallRule(Model): + """A web application firewall rule. + + All required parameters must be populated in order to send to Azure. + + :param rule_id: Required. The identifier of the web application firewall + rule. + :type rule_id: int + :param description: The description of the web application firewall rule. + :type description: str + """ + + _validation = { + 'rule_id': {'required': True}, + } + + _attribute_map = { + 'rule_id': {'key': 'ruleId', 'type': 'int'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFirewallRule, self).__init__(**kwargs) + self.rule_id = kwargs.get('rule_id', None) + self.description = kwargs.get('description', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_rule_group.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_rule_group.py new file mode 100644 index 000000000000..ccce56fea44c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_rule_group.py @@ -0,0 +1,47 @@ +# 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.serialization import Model + + +class ApplicationGatewayFirewallRuleGroup(Model): + """A web application firewall rule group. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. The name of the web application firewall + rule group. + :type rule_group_name: str + :param description: The description of the web application firewall rule + group. + :type description: str + :param rules: Required. The rules of the web application firewall rule + group. + :type rules: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFirewallRule] + """ + + _validation = { + 'rule_group_name': {'required': True}, + 'rules': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[ApplicationGatewayFirewallRule]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFirewallRuleGroup, self).__init__(**kwargs) + self.rule_group_name = kwargs.get('rule_group_name', None) + self.description = kwargs.get('description', None) + self.rules = kwargs.get('rules', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_rule_group_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_rule_group_py3.py new file mode 100644 index 000000000000..640c30010fd4 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_rule_group_py3.py @@ -0,0 +1,47 @@ +# 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.serialization import Model + + +class ApplicationGatewayFirewallRuleGroup(Model): + """A web application firewall rule group. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. The name of the web application firewall + rule group. + :type rule_group_name: str + :param description: The description of the web application firewall rule + group. + :type description: str + :param rules: Required. The rules of the web application firewall rule + group. + :type rules: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFirewallRule] + """ + + _validation = { + 'rule_group_name': {'required': True}, + 'rules': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[ApplicationGatewayFirewallRule]'}, + } + + def __init__(self, *, rule_group_name: str, rules, description: str=None, **kwargs) -> None: + super(ApplicationGatewayFirewallRuleGroup, self).__init__(**kwargs) + self.rule_group_name = rule_group_name + self.description = description + self.rules = rules diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_rule_py3.py new file mode 100644 index 000000000000..e332fbd16853 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_rule_py3.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class ApplicationGatewayFirewallRule(Model): + """A web application firewall rule. + + All required parameters must be populated in order to send to Azure. + + :param rule_id: Required. The identifier of the web application firewall + rule. + :type rule_id: int + :param description: The description of the web application firewall rule. + :type description: str + """ + + _validation = { + 'rule_id': {'required': True}, + } + + _attribute_map = { + 'rule_id': {'key': 'ruleId', 'type': 'int'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, rule_id: int, description: str=None, **kwargs) -> None: + super(ApplicationGatewayFirewallRule, self).__init__(**kwargs) + self.rule_id = rule_id + self.description = description diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_rule_set.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_rule_set.py new file mode 100644 index 000000000000..e243bcf5ba5c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_rule_set.py @@ -0,0 +1,73 @@ +# 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 .resource import Resource + + +class ApplicationGatewayFirewallRuleSet(Resource): + """A web application firewall rule set. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param provisioning_state: The provisioning state of the web application + firewall rule set. + :type provisioning_state: str + :param rule_set_type: Required. The type of the web application firewall + rule set. + :type rule_set_type: str + :param rule_set_version: Required. The version of the web application + firewall rule set type. + :type rule_set_version: str + :param rule_groups: Required. The rule groups of the web application + firewall rule set. + :type rule_groups: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFirewallRuleGroup] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + 'rule_groups': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, + 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ApplicationGatewayFirewallRuleGroup]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFirewallRuleSet, self).__init__(**kwargs) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.rule_set_type = kwargs.get('rule_set_type', None) + self.rule_set_version = kwargs.get('rule_set_version', None) + self.rule_groups = kwargs.get('rule_groups', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_rule_set_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_rule_set_py3.py new file mode 100644 index 000000000000..e9e3a5ff3cae --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_firewall_rule_set_py3.py @@ -0,0 +1,73 @@ +# 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 .resource_py3 import Resource + + +class ApplicationGatewayFirewallRuleSet(Resource): + """A web application firewall rule set. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param provisioning_state: The provisioning state of the web application + firewall rule set. + :type provisioning_state: str + :param rule_set_type: Required. The type of the web application firewall + rule set. + :type rule_set_type: str + :param rule_set_version: Required. The version of the web application + firewall rule set type. + :type rule_set_version: str + :param rule_groups: Required. The rule groups of the web application + firewall rule set. + :type rule_groups: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFirewallRuleGroup] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + 'rule_groups': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, + 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ApplicationGatewayFirewallRuleGroup]'}, + } + + def __init__(self, *, rule_set_type: str, rule_set_version: str, rule_groups, id: str=None, location: str=None, tags=None, provisioning_state: str=None, **kwargs) -> None: + super(ApplicationGatewayFirewallRuleSet, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.provisioning_state = provisioning_state + self.rule_set_type = rule_set_type + self.rule_set_version = rule_set_version + self.rule_groups = rule_groups diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_frontend_ip_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_frontend_ip_configuration.py new file mode 100644 index 000000000000..55a095e36c1e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_frontend_ip_configuration.py @@ -0,0 +1,66 @@ +# 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 ApplicationGatewayFrontendIPConfiguration(SubResource): + """Frontend IP configuration of an application gateway. + + :param id: Resource ID. + :type id: str + :param private_ip_address: PrivateIPAddress of the network interface IP + Configuration. + :type private_ip_address: str + :param private_ip_allocation_method: PrivateIP allocation method. Possible + values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2018_04_01.models.IPAllocationMethod + :param subnet: Reference of the subnet resource. + :type subnet: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param public_ip_address: Reference of the PublicIP resource. + :type public_ip_address: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param provisioning_state: Provisioning state of the public IP resource. + Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the frontend IP configuration that is unique within + an Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFrontendIPConfiguration, self).__init__(**kwargs) + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_frontend_ip_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_frontend_ip_configuration_py3.py new file mode 100644 index 000000000000..0eb1d1ff6419 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_frontend_ip_configuration_py3.py @@ -0,0 +1,66 @@ +# 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 ApplicationGatewayFrontendIPConfiguration(SubResource): + """Frontend IP configuration of an application gateway. + + :param id: Resource ID. + :type id: str + :param private_ip_address: PrivateIPAddress of the network interface IP + Configuration. + :type private_ip_address: str + :param private_ip_allocation_method: PrivateIP allocation method. Possible + values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2018_04_01.models.IPAllocationMethod + :param subnet: Reference of the subnet resource. + :type subnet: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param public_ip_address: Reference of the PublicIP resource. + :type public_ip_address: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param provisioning_state: Provisioning state of the public IP resource. + Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the frontend IP configuration that is unique within + an Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayFrontendIPConfiguration, self).__init__(id=id, **kwargs) + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.subnet = subnet + self.public_ip_address = public_ip_address + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_frontend_port.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_frontend_port.py new file mode 100644 index 000000000000..b245c950f3ed --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_frontend_port.py @@ -0,0 +1,50 @@ +# 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 ApplicationGatewayFrontendPort(SubResource): + """Frontend port of an application gateway. + + :param id: Resource ID. + :type id: str + :param port: Frontend port + :type port: int + :param provisioning_state: Provisioning state of the frontend port + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the frontend port that is unique within an + Application Gateway + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFrontendPort, self).__init__(**kwargs) + self.port = kwargs.get('port', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_frontend_port_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_frontend_port_py3.py new file mode 100644 index 000000000000..a6bd3f7a3606 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_frontend_port_py3.py @@ -0,0 +1,50 @@ +# 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 ApplicationGatewayFrontendPort(SubResource): + """Frontend port of an application gateway. + + :param id: Resource ID. + :type id: str + :param port: Frontend port + :type port: int + :param provisioning_state: Provisioning state of the frontend port + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the frontend port that is unique within an + Application Gateway + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, port: int=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayFrontendPort, self).__init__(id=id, **kwargs) + self.port = port + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_http_listener.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_http_listener.py new file mode 100644 index 000000000000..3926e5a3d297 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_http_listener.py @@ -0,0 +1,76 @@ +# 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 ApplicationGatewayHttpListener(SubResource): + """Http listener of an application gateway. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: Frontend IP configuration resource of an + application gateway. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param frontend_port: Frontend port resource of an application gateway. + :type frontend_port: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param protocol: Protocol of the HTTP listener. Possible values are 'Http' + and 'Https'. Possible values include: 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayProtocol + :param host_name: Host name of HTTP listener. + :type host_name: str + :param ssl_certificate: SSL certificate resource of an application + gateway. + :type ssl_certificate: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param require_server_name_indication: Applicable only if protocol is + https. Enables SNI for multi-hosting. + :type require_server_name_indication: bool + :param provisioning_state: Provisioning state of the HTTP listener + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the HTTP listener that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'host_name': {'key': 'properties.hostName', 'type': 'str'}, + 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, + 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayHttpListener, self).__init__(**kwargs) + self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) + self.frontend_port = kwargs.get('frontend_port', None) + self.protocol = kwargs.get('protocol', None) + self.host_name = kwargs.get('host_name', None) + self.ssl_certificate = kwargs.get('ssl_certificate', None) + self.require_server_name_indication = kwargs.get('require_server_name_indication', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_http_listener_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_http_listener_py3.py new file mode 100644 index 000000000000..e461f393ec90 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_http_listener_py3.py @@ -0,0 +1,76 @@ +# 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 ApplicationGatewayHttpListener(SubResource): + """Http listener of an application gateway. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: Frontend IP configuration resource of an + application gateway. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param frontend_port: Frontend port resource of an application gateway. + :type frontend_port: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param protocol: Protocol of the HTTP listener. Possible values are 'Http' + and 'Https'. Possible values include: 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayProtocol + :param host_name: Host name of HTTP listener. + :type host_name: str + :param ssl_certificate: SSL certificate resource of an application + gateway. + :type ssl_certificate: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param require_server_name_indication: Applicable only if protocol is + https. Enables SNI for multi-hosting. + :type require_server_name_indication: bool + :param provisioning_state: Provisioning state of the HTTP listener + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the HTTP listener that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'host_name': {'key': 'properties.hostName', 'type': 'str'}, + 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, + 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, frontend_ip_configuration=None, frontend_port=None, protocol=None, host_name: str=None, ssl_certificate=None, require_server_name_indication: bool=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayHttpListener, self).__init__(id=id, **kwargs) + self.frontend_ip_configuration = frontend_ip_configuration + self.frontend_port = frontend_port + self.protocol = protocol + self.host_name = host_name + self.ssl_certificate = ssl_certificate + self.require_server_name_indication = require_server_name_indication + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ip_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ip_configuration.py new file mode 100644 index 000000000000..da7b34e54331 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ip_configuration.py @@ -0,0 +1,53 @@ +# 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 ApplicationGatewayIPConfiguration(SubResource): + """IP configuration of an application gateway. Currently 1 public and 1 + private IP configuration is allowed. + + :param id: Resource ID. + :type id: str + :param subnet: Reference of the subnet resource. A subnet from where + application gateway gets its private address. + :type subnet: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param provisioning_state: Provisioning state of the application gateway + subnet resource. Possible values are: 'Updating', 'Deleting', and + 'Failed'. + :type provisioning_state: str + :param name: Name of the IP configuration that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayIPConfiguration, self).__init__(**kwargs) + self.subnet = kwargs.get('subnet', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ip_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ip_configuration_py3.py new file mode 100644 index 000000000000..2ed336e18556 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ip_configuration_py3.py @@ -0,0 +1,53 @@ +# 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 ApplicationGatewayIPConfiguration(SubResource): + """IP configuration of an application gateway. Currently 1 public and 1 + private IP configuration is allowed. + + :param id: Resource ID. + :type id: str + :param subnet: Reference of the subnet resource. A subnet from where + application gateway gets its private address. + :type subnet: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param provisioning_state: Provisioning state of the application gateway + subnet resource. Possible values are: 'Updating', 'Deleting', and + 'Failed'. + :type provisioning_state: str + :param name: Name of the IP configuration that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, subnet=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayIPConfiguration, self).__init__(id=id, **kwargs) + self.subnet = subnet + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_paged.py new file mode 100644 index 000000000000..b3c1dd8097b1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_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 ApplicationGatewayPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApplicationGateway ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApplicationGateway]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationGatewayPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_path_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_path_rule.py new file mode 100644 index 000000000000..b59998191ea5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_path_rule.py @@ -0,0 +1,68 @@ +# 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 ApplicationGatewayPathRule(SubResource): + """Path rule of URL path map of an application gateway. + + :param id: Resource ID. + :type id: str + :param paths: Path rules of URL path map. + :type paths: list[str] + :param backend_address_pool: Backend address pool resource of URL path map + path rule. + :type backend_address_pool: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param backend_http_settings: Backend http settings resource of URL path + map path rule. + :type backend_http_settings: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param redirect_configuration: Redirect configuration resource of URL path + map path rule. + :type redirect_configuration: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param provisioning_state: Path rule of URL path map resource. Possible + values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the path rule that is unique within an Application + Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'paths': {'key': 'properties.paths', 'type': '[str]'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, + 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayPathRule, self).__init__(**kwargs) + self.paths = kwargs.get('paths', None) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.backend_http_settings = kwargs.get('backend_http_settings', None) + self.redirect_configuration = kwargs.get('redirect_configuration', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_path_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_path_rule_py3.py new file mode 100644 index 000000000000..7cd23897bcbe --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_path_rule_py3.py @@ -0,0 +1,68 @@ +# 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 ApplicationGatewayPathRule(SubResource): + """Path rule of URL path map of an application gateway. + + :param id: Resource ID. + :type id: str + :param paths: Path rules of URL path map. + :type paths: list[str] + :param backend_address_pool: Backend address pool resource of URL path map + path rule. + :type backend_address_pool: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param backend_http_settings: Backend http settings resource of URL path + map path rule. + :type backend_http_settings: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param redirect_configuration: Redirect configuration resource of URL path + map path rule. + :type redirect_configuration: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param provisioning_state: Path rule of URL path map resource. Possible + values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the path rule that is unique within an Application + Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'paths': {'key': 'properties.paths', 'type': '[str]'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, + 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, paths=None, backend_address_pool=None, backend_http_settings=None, redirect_configuration=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayPathRule, self).__init__(id=id, **kwargs) + self.paths = paths + self.backend_address_pool = backend_address_pool + self.backend_http_settings = backend_http_settings + self.redirect_configuration = redirect_configuration + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_probe.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_probe.py new file mode 100644 index 000000000000..af4918b62d1b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_probe.py @@ -0,0 +1,94 @@ +# 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 ApplicationGatewayProbe(SubResource): + """Probe of the application gateway. + + :param id: Resource ID. + :type id: str + :param protocol: The protocol used for the probe. Possible values are + 'Http' and 'Https'. Possible values include: 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayProtocol + :param host: Host name to send the probe to. + :type host: str + :param path: Relative path of probe. Valid path starts from '/'. Probe is + sent to ://: + :type path: str + :param interval: The probing interval in seconds. This is the time + interval between two consecutive probes. Acceptable values are from 1 + second to 86400 seconds. + :type interval: int + :param timeout: the probe timeout in seconds. Probe marked as failed if + valid response is not received with this timeout period. Acceptable values + are from 1 second to 86400 seconds. + :type timeout: int + :param unhealthy_threshold: The probe retry count. Backend server is + marked down after consecutive probe failure count reaches + UnhealthyThreshold. Acceptable values are from 1 second to 20. + :type unhealthy_threshold: int + :param pick_host_name_from_backend_http_settings: Whether the host header + should be picked from the backend http settings. Default value is false. + :type pick_host_name_from_backend_http_settings: bool + :param min_servers: Minimum number of servers that are always marked + healthy. Default value is 0. + :type min_servers: int + :param match: Criterion for classifying a healthy probe response. + :type match: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayProbeHealthResponseMatch + :param provisioning_state: Provisioning state of the backend http settings + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the probe that is unique within an Application + Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'host': {'key': 'properties.host', 'type': 'str'}, + 'path': {'key': 'properties.path', 'type': 'str'}, + 'interval': {'key': 'properties.interval', 'type': 'int'}, + 'timeout': {'key': 'properties.timeout', 'type': 'int'}, + 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, + 'pick_host_name_from_backend_http_settings': {'key': 'properties.pickHostNameFromBackendHttpSettings', 'type': 'bool'}, + 'min_servers': {'key': 'properties.minServers', 'type': 'int'}, + 'match': {'key': 'properties.match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayProbe, self).__init__(**kwargs) + self.protocol = kwargs.get('protocol', None) + self.host = kwargs.get('host', None) + self.path = kwargs.get('path', None) + self.interval = kwargs.get('interval', None) + self.timeout = kwargs.get('timeout', None) + self.unhealthy_threshold = kwargs.get('unhealthy_threshold', None) + self.pick_host_name_from_backend_http_settings = kwargs.get('pick_host_name_from_backend_http_settings', None) + self.min_servers = kwargs.get('min_servers', None) + self.match = kwargs.get('match', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_probe_health_response_match.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_probe_health_response_match.py new file mode 100644 index 000000000000..b439b9677f8b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_probe_health_response_match.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class ApplicationGatewayProbeHealthResponseMatch(Model): + """Application gateway probe health response match. + + :param body: Body that must be contained in the health response. Default + value is empty. + :type body: str + :param status_codes: Allowed ranges of healthy status codes. Default range + of healthy status codes is 200-399. + :type status_codes: list[str] + """ + + _attribute_map = { + 'body': {'key': 'body', 'type': 'str'}, + 'status_codes': {'key': 'statusCodes', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayProbeHealthResponseMatch, self).__init__(**kwargs) + self.body = kwargs.get('body', None) + self.status_codes = kwargs.get('status_codes', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_probe_health_response_match_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_probe_health_response_match_py3.py new file mode 100644 index 000000000000..6ed2ee8c04ed --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_probe_health_response_match_py3.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class ApplicationGatewayProbeHealthResponseMatch(Model): + """Application gateway probe health response match. + + :param body: Body that must be contained in the health response. Default + value is empty. + :type body: str + :param status_codes: Allowed ranges of healthy status codes. Default range + of healthy status codes is 200-399. + :type status_codes: list[str] + """ + + _attribute_map = { + 'body': {'key': 'body', 'type': 'str'}, + 'status_codes': {'key': 'statusCodes', 'type': '[str]'}, + } + + def __init__(self, *, body: str=None, status_codes=None, **kwargs) -> None: + super(ApplicationGatewayProbeHealthResponseMatch, self).__init__(**kwargs) + self.body = body + self.status_codes = status_codes diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_probe_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_probe_py3.py new file mode 100644 index 000000000000..8f9b403f34a8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_probe_py3.py @@ -0,0 +1,94 @@ +# 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 ApplicationGatewayProbe(SubResource): + """Probe of the application gateway. + + :param id: Resource ID. + :type id: str + :param protocol: The protocol used for the probe. Possible values are + 'Http' and 'Https'. Possible values include: 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayProtocol + :param host: Host name to send the probe to. + :type host: str + :param path: Relative path of probe. Valid path starts from '/'. Probe is + sent to ://: + :type path: str + :param interval: The probing interval in seconds. This is the time + interval between two consecutive probes. Acceptable values are from 1 + second to 86400 seconds. + :type interval: int + :param timeout: the probe timeout in seconds. Probe marked as failed if + valid response is not received with this timeout period. Acceptable values + are from 1 second to 86400 seconds. + :type timeout: int + :param unhealthy_threshold: The probe retry count. Backend server is + marked down after consecutive probe failure count reaches + UnhealthyThreshold. Acceptable values are from 1 second to 20. + :type unhealthy_threshold: int + :param pick_host_name_from_backend_http_settings: Whether the host header + should be picked from the backend http settings. Default value is false. + :type pick_host_name_from_backend_http_settings: bool + :param min_servers: Minimum number of servers that are always marked + healthy. Default value is 0. + :type min_servers: int + :param match: Criterion for classifying a healthy probe response. + :type match: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayProbeHealthResponseMatch + :param provisioning_state: Provisioning state of the backend http settings + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the probe that is unique within an Application + Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'host': {'key': 'properties.host', 'type': 'str'}, + 'path': {'key': 'properties.path', 'type': 'str'}, + 'interval': {'key': 'properties.interval', 'type': 'int'}, + 'timeout': {'key': 'properties.timeout', 'type': 'int'}, + 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, + 'pick_host_name_from_backend_http_settings': {'key': 'properties.pickHostNameFromBackendHttpSettings', 'type': 'bool'}, + 'min_servers': {'key': 'properties.minServers', 'type': 'int'}, + 'match': {'key': 'properties.match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, protocol=None, host: str=None, path: str=None, interval: int=None, timeout: int=None, unhealthy_threshold: int=None, pick_host_name_from_backend_http_settings: bool=None, min_servers: int=None, match=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayProbe, self).__init__(id=id, **kwargs) + self.protocol = protocol + self.host = host + self.path = path + self.interval = interval + self.timeout = timeout + self.unhealthy_threshold = unhealthy_threshold + self.pick_host_name_from_backend_http_settings = pick_host_name_from_backend_http_settings + self.min_servers = min_servers + self.match = match + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_py3.py new file mode 100644 index 000000000000..dbc4ce38e34f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_py3.py @@ -0,0 +1,173 @@ +# 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 .resource_py3 import Resource + + +class ApplicationGateway(Resource): + """Application gateway resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: SKU of the application gateway resource. + :type sku: ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySku + :param ssl_policy: SSL policy of the application gateway resource. + :type ssl_policy: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslPolicy + :ivar operational_state: Operational state of the application gateway + resource. Possible values include: 'Stopped', 'Starting', 'Running', + 'Stopping' + :vartype operational_state: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayOperationalState + :param gateway_ip_configurations: Subnets of application the gateway + resource. + :type gateway_ip_configurations: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayIPConfiguration] + :param authentication_certificates: Authentication certificates of the + application gateway resource. + :type authentication_certificates: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayAuthenticationCertificate] + :param ssl_certificates: SSL certificates of the application gateway + resource. + :type ssl_certificates: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslCertificate] + :param frontend_ip_configurations: Frontend IP addresses of the + application gateway resource. + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFrontendIPConfiguration] + :param frontend_ports: Frontend ports of the application gateway resource. + :type frontend_ports: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFrontendPort] + :param probes: Probes of the application gateway resource. + :type probes: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayProbe] + :param backend_address_pools: Backend address pool of the application + gateway resource. + :type backend_address_pools: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendAddressPool] + :param backend_http_settings_collection: Backend http settings of the + application gateway resource. + :type backend_http_settings_collection: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendHttpSettings] + :param http_listeners: Http listeners of the application gateway resource. + :type http_listeners: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayHttpListener] + :param url_path_maps: URL path map of the application gateway resource. + :type url_path_maps: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayUrlPathMap] + :param request_routing_rules: Request routing rules of the application + gateway resource. + :type request_routing_rules: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayRequestRoutingRule] + :param redirect_configurations: Redirect configurations of the application + gateway resource. + :type redirect_configurations: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayRedirectConfiguration] + :param web_application_firewall_configuration: Web application firewall + configuration. + :type web_application_firewall_configuration: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayWebApplicationFirewallConfiguration + :param enable_http2: Whether HTTP2 is enabled on the application gateway + resource. + :type enable_http2: bool + :param enable_fips: Whether FIPS is enabled on the application gateway + resource. + :type enable_fips: bool + :param autoscale_configuration: Autoscale Configuration. + :type autoscale_configuration: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayAutoscaleConfiguration + :param resource_guid: Resource GUID property of the application gateway + resource. + :type resource_guid: str + :param provisioning_state: Provisioning state of the application gateway + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param zones: A list of availability zones denoting where the resource + needs to come from. + :type zones: list[str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'operational_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, + 'ssl_policy': {'key': 'properties.sslPolicy', 'type': 'ApplicationGatewaySslPolicy'}, + 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, + 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, + 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[ApplicationGatewayAuthenticationCertificate]'}, + 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, + 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, + 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, + 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, + 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, + 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, + 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, + 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, + 'redirect_configurations': {'key': 'properties.redirectConfigurations', 'type': '[ApplicationGatewayRedirectConfiguration]'}, + 'web_application_firewall_configuration': {'key': 'properties.webApplicationFirewallConfiguration', 'type': 'ApplicationGatewayWebApplicationFirewallConfiguration'}, + 'enable_http2': {'key': 'properties.enableHttp2', 'type': 'bool'}, + 'enable_fips': {'key': 'properties.enableFips', 'type': 'bool'}, + 'autoscale_configuration': {'key': 'properties.autoscaleConfiguration', 'type': 'ApplicationGatewayAutoscaleConfiguration'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, ssl_policy=None, gateway_ip_configurations=None, authentication_certificates=None, ssl_certificates=None, frontend_ip_configurations=None, frontend_ports=None, probes=None, backend_address_pools=None, backend_http_settings_collection=None, http_listeners=None, url_path_maps=None, request_routing_rules=None, redirect_configurations=None, web_application_firewall_configuration=None, enable_http2: bool=None, enable_fips: bool=None, autoscale_configuration=None, resource_guid: str=None, provisioning_state: str=None, etag: str=None, zones=None, **kwargs) -> None: + super(ApplicationGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.ssl_policy = ssl_policy + self.operational_state = None + self.gateway_ip_configurations = gateway_ip_configurations + self.authentication_certificates = authentication_certificates + self.ssl_certificates = ssl_certificates + self.frontend_ip_configurations = frontend_ip_configurations + self.frontend_ports = frontend_ports + self.probes = probes + self.backend_address_pools = backend_address_pools + self.backend_http_settings_collection = backend_http_settings_collection + self.http_listeners = http_listeners + self.url_path_maps = url_path_maps + self.request_routing_rules = request_routing_rules + self.redirect_configurations = redirect_configurations + self.web_application_firewall_configuration = web_application_firewall_configuration + self.enable_http2 = enable_http2 + self.enable_fips = enable_fips + self.autoscale_configuration = autoscale_configuration + self.resource_guid = resource_guid + self.provisioning_state = provisioning_state + self.etag = etag + self.zones = zones diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_redirect_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_redirect_configuration.py new file mode 100644 index 000000000000..51b004780203 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_redirect_configuration.py @@ -0,0 +1,81 @@ +# 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 ApplicationGatewayRedirectConfiguration(SubResource): + """Redirect configuration of an application gateway. + + :param id: Resource ID. + :type id: str + :param redirect_type: Supported http redirection types - Permanent, + Temporary, Found, SeeOther. Possible values include: 'Permanent', 'Found', + 'SeeOther', 'Temporary' + :type redirect_type: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayRedirectType + :param target_listener: Reference to a listener to redirect the request + to. + :type target_listener: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param target_url: Url to redirect the request to. + :type target_url: str + :param include_path: Include path in the redirected url. + :type include_path: bool + :param include_query_string: Include query string in the redirected url. + :type include_query_string: bool + :param request_routing_rules: Request routing specifying redirect + configuration. + :type request_routing_rules: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param url_path_maps: Url path maps specifying default redirect + configuration. + :type url_path_maps: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param path_rules: Path rules specifying redirect configuration. + :type path_rules: list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param name: Name of the redirect configuration that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'redirect_type': {'key': 'properties.redirectType', 'type': 'str'}, + 'target_listener': {'key': 'properties.targetListener', 'type': 'SubResource'}, + 'target_url': {'key': 'properties.targetUrl', 'type': 'str'}, + 'include_path': {'key': 'properties.includePath', 'type': 'bool'}, + 'include_query_string': {'key': 'properties.includeQueryString', 'type': 'bool'}, + 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[SubResource]'}, + 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[SubResource]'}, + 'path_rules': {'key': 'properties.pathRules', 'type': '[SubResource]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayRedirectConfiguration, self).__init__(**kwargs) + self.redirect_type = kwargs.get('redirect_type', None) + self.target_listener = kwargs.get('target_listener', None) + self.target_url = kwargs.get('target_url', None) + self.include_path = kwargs.get('include_path', None) + self.include_query_string = kwargs.get('include_query_string', None) + self.request_routing_rules = kwargs.get('request_routing_rules', None) + self.url_path_maps = kwargs.get('url_path_maps', None) + self.path_rules = kwargs.get('path_rules', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_redirect_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_redirect_configuration_py3.py new file mode 100644 index 000000000000..b8d8e643dbea --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_redirect_configuration_py3.py @@ -0,0 +1,81 @@ +# 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 ApplicationGatewayRedirectConfiguration(SubResource): + """Redirect configuration of an application gateway. + + :param id: Resource ID. + :type id: str + :param redirect_type: Supported http redirection types - Permanent, + Temporary, Found, SeeOther. Possible values include: 'Permanent', 'Found', + 'SeeOther', 'Temporary' + :type redirect_type: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayRedirectType + :param target_listener: Reference to a listener to redirect the request + to. + :type target_listener: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param target_url: Url to redirect the request to. + :type target_url: str + :param include_path: Include path in the redirected url. + :type include_path: bool + :param include_query_string: Include query string in the redirected url. + :type include_query_string: bool + :param request_routing_rules: Request routing specifying redirect + configuration. + :type request_routing_rules: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param url_path_maps: Url path maps specifying default redirect + configuration. + :type url_path_maps: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param path_rules: Path rules specifying redirect configuration. + :type path_rules: list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param name: Name of the redirect configuration that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'redirect_type': {'key': 'properties.redirectType', 'type': 'str'}, + 'target_listener': {'key': 'properties.targetListener', 'type': 'SubResource'}, + 'target_url': {'key': 'properties.targetUrl', 'type': 'str'}, + 'include_path': {'key': 'properties.includePath', 'type': 'bool'}, + 'include_query_string': {'key': 'properties.includeQueryString', 'type': 'bool'}, + 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[SubResource]'}, + 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[SubResource]'}, + 'path_rules': {'key': 'properties.pathRules', 'type': '[SubResource]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, redirect_type=None, target_listener=None, target_url: str=None, include_path: bool=None, include_query_string: bool=None, request_routing_rules=None, url_path_maps=None, path_rules=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayRedirectConfiguration, self).__init__(id=id, **kwargs) + self.redirect_type = redirect_type + self.target_listener = target_listener + self.target_url = target_url + self.include_path = include_path + self.include_query_string = include_query_string + self.request_routing_rules = request_routing_rules + self.url_path_maps = url_path_maps + self.path_rules = path_rules + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_request_routing_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_request_routing_rule.py new file mode 100644 index 000000000000..3ccc550356a6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_request_routing_rule.py @@ -0,0 +1,78 @@ +# 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 ApplicationGatewayRequestRoutingRule(SubResource): + """Request routing rule of an application gateway. + + :param id: Resource ID. + :type id: str + :param rule_type: Rule type. Possible values include: 'Basic', + 'PathBasedRouting' + :type rule_type: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayRequestRoutingRuleType + :param backend_address_pool: Backend address pool resource of the + application gateway. + :type backend_address_pool: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param backend_http_settings: Backend http settings resource of the + application gateway. + :type backend_http_settings: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param http_listener: Http listener resource of the application gateway. + :type http_listener: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param url_path_map: URL path map resource of the application gateway. + :type url_path_map: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param redirect_configuration: Redirect configuration resource of the + application gateway. + :type redirect_configuration: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param provisioning_state: Provisioning state of the request routing rule + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the request routing rule that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, + 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, + 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, + 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayRequestRoutingRule, self).__init__(**kwargs) + self.rule_type = kwargs.get('rule_type', None) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.backend_http_settings = kwargs.get('backend_http_settings', None) + self.http_listener = kwargs.get('http_listener', None) + self.url_path_map = kwargs.get('url_path_map', None) + self.redirect_configuration = kwargs.get('redirect_configuration', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_request_routing_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_request_routing_rule_py3.py new file mode 100644 index 000000000000..36cf2186cb65 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_request_routing_rule_py3.py @@ -0,0 +1,78 @@ +# 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 ApplicationGatewayRequestRoutingRule(SubResource): + """Request routing rule of an application gateway. + + :param id: Resource ID. + :type id: str + :param rule_type: Rule type. Possible values include: 'Basic', + 'PathBasedRouting' + :type rule_type: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayRequestRoutingRuleType + :param backend_address_pool: Backend address pool resource of the + application gateway. + :type backend_address_pool: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param backend_http_settings: Backend http settings resource of the + application gateway. + :type backend_http_settings: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param http_listener: Http listener resource of the application gateway. + :type http_listener: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param url_path_map: URL path map resource of the application gateway. + :type url_path_map: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param redirect_configuration: Redirect configuration resource of the + application gateway. + :type redirect_configuration: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param provisioning_state: Provisioning state of the request routing rule + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the request routing rule that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, + 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, + 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, + 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, rule_type=None, backend_address_pool=None, backend_http_settings=None, http_listener=None, url_path_map=None, redirect_configuration=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayRequestRoutingRule, self).__init__(id=id, **kwargs) + self.rule_type = rule_type + self.backend_address_pool = backend_address_pool + self.backend_http_settings = backend_http_settings + self.http_listener = http_listener + self.url_path_map = url_path_map + self.redirect_configuration = redirect_configuration + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_sku.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_sku.py new file mode 100644 index 000000000000..cc268344a1b6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_sku.py @@ -0,0 +1,41 @@ +# 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.serialization import Model + + +class ApplicationGatewaySku(Model): + """SKU of an application gateway. + + :param name: Name of an application gateway SKU. Possible values include: + 'Standard_Small', 'Standard_Medium', 'Standard_Large', 'WAF_Medium', + 'WAF_Large', 'Standard_v2', 'WAF_v2' + :type name: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySkuName + :param tier: Tier of an application gateway. Possible values include: + 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' + :type tier: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayTier + :param capacity: Capacity (instance count) of an application gateway. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewaySku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.capacity = kwargs.get('capacity', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_sku_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_sku_py3.py new file mode 100644 index 000000000000..4cf49b120469 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_sku_py3.py @@ -0,0 +1,41 @@ +# 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.serialization import Model + + +class ApplicationGatewaySku(Model): + """SKU of an application gateway. + + :param name: Name of an application gateway SKU. Possible values include: + 'Standard_Small', 'Standard_Medium', 'Standard_Large', 'WAF_Medium', + 'WAF_Large', 'Standard_v2', 'WAF_v2' + :type name: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySkuName + :param tier: Tier of an application gateway. Possible values include: + 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' + :type tier: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayTier + :param capacity: Capacity (instance count) of an application gateway. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, *, name=None, tier=None, capacity: int=None, **kwargs) -> None: + super(ApplicationGatewaySku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.capacity = capacity diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_certificate.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_certificate.py new file mode 100644 index 000000000000..20c9614fe87e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_certificate.py @@ -0,0 +1,61 @@ +# 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 ApplicationGatewaySslCertificate(SubResource): + """SSL certificates of an application gateway. + + :param id: Resource ID. + :type id: str + :param data: Base-64 encoded pfx certificate. Only applicable in PUT + Request. + :type data: str + :param password: Password for the pfx file specified in data. Only + applicable in PUT request. + :type password: str + :param public_cert_data: Base-64 encoded Public cert data corresponding to + pfx specified in data. Only applicable in GET request. + :type public_cert_data: str + :param provisioning_state: Provisioning state of the SSL certificate + resource Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the SSL certificate that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'data': {'key': 'properties.data', 'type': 'str'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewaySslCertificate, self).__init__(**kwargs) + self.data = kwargs.get('data', None) + self.password = kwargs.get('password', None) + self.public_cert_data = kwargs.get('public_cert_data', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_certificate_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_certificate_py3.py new file mode 100644 index 000000000000..4ed572592e87 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_certificate_py3.py @@ -0,0 +1,61 @@ +# 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 ApplicationGatewaySslCertificate(SubResource): + """SSL certificates of an application gateway. + + :param id: Resource ID. + :type id: str + :param data: Base-64 encoded pfx certificate. Only applicable in PUT + Request. + :type data: str + :param password: Password for the pfx file specified in data. Only + applicable in PUT request. + :type password: str + :param public_cert_data: Base-64 encoded Public cert data corresponding to + pfx specified in data. Only applicable in GET request. + :type public_cert_data: str + :param provisioning_state: Provisioning state of the SSL certificate + resource Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the SSL certificate that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'data': {'key': 'properties.data', 'type': 'str'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, data: str=None, password: str=None, public_cert_data: str=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewaySslCertificate, self).__init__(id=id, **kwargs) + self.data = data + self.password = password + self.public_cert_data = public_cert_data + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_policy.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_policy.py new file mode 100644 index 000000000000..aba981623b27 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_policy.py @@ -0,0 +1,56 @@ +# 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.serialization import Model + + +class ApplicationGatewaySslPolicy(Model): + """Application Gateway Ssl policy. + + :param disabled_ssl_protocols: Ssl protocols to be disabled on application + gateway. + :type disabled_ssl_protocols: list[str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslProtocol] + :param policy_type: Type of Ssl Policy. Possible values include: + 'Predefined', 'Custom' + :type policy_type: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslPolicyType + :param policy_name: Name of Ssl predefined policy. Possible values + include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', + 'AppGwSslPolicy20170401S' + :type policy_name: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslPolicyName + :param cipher_suites: Ssl cipher suites to be enabled in the specified + order to application gateway. + :type cipher_suites: list[str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslCipherSuite] + :param min_protocol_version: Minimum version of Ssl protocol to be + supported on application gateway. Possible values include: 'TLSv1_0', + 'TLSv1_1', 'TLSv1_2' + :type min_protocol_version: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslProtocol + """ + + _attribute_map = { + 'disabled_ssl_protocols': {'key': 'disabledSslProtocols', 'type': '[str]'}, + 'policy_type': {'key': 'policyType', 'type': 'str'}, + 'policy_name': {'key': 'policyName', 'type': 'str'}, + 'cipher_suites': {'key': 'cipherSuites', 'type': '[str]'}, + 'min_protocol_version': {'key': 'minProtocolVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewaySslPolicy, self).__init__(**kwargs) + self.disabled_ssl_protocols = kwargs.get('disabled_ssl_protocols', None) + self.policy_type = kwargs.get('policy_type', None) + self.policy_name = kwargs.get('policy_name', None) + self.cipher_suites = kwargs.get('cipher_suites', None) + self.min_protocol_version = kwargs.get('min_protocol_version', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_policy_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_policy_py3.py new file mode 100644 index 000000000000..018d9290f8a0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_policy_py3.py @@ -0,0 +1,56 @@ +# 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.serialization import Model + + +class ApplicationGatewaySslPolicy(Model): + """Application Gateway Ssl policy. + + :param disabled_ssl_protocols: Ssl protocols to be disabled on application + gateway. + :type disabled_ssl_protocols: list[str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslProtocol] + :param policy_type: Type of Ssl Policy. Possible values include: + 'Predefined', 'Custom' + :type policy_type: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslPolicyType + :param policy_name: Name of Ssl predefined policy. Possible values + include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', + 'AppGwSslPolicy20170401S' + :type policy_name: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslPolicyName + :param cipher_suites: Ssl cipher suites to be enabled in the specified + order to application gateway. + :type cipher_suites: list[str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslCipherSuite] + :param min_protocol_version: Minimum version of Ssl protocol to be + supported on application gateway. Possible values include: 'TLSv1_0', + 'TLSv1_1', 'TLSv1_2' + :type min_protocol_version: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslProtocol + """ + + _attribute_map = { + 'disabled_ssl_protocols': {'key': 'disabledSslProtocols', 'type': '[str]'}, + 'policy_type': {'key': 'policyType', 'type': 'str'}, + 'policy_name': {'key': 'policyName', 'type': 'str'}, + 'cipher_suites': {'key': 'cipherSuites', 'type': '[str]'}, + 'min_protocol_version': {'key': 'minProtocolVersion', 'type': 'str'}, + } + + def __init__(self, *, disabled_ssl_protocols=None, policy_type=None, policy_name=None, cipher_suites=None, min_protocol_version=None, **kwargs) -> None: + super(ApplicationGatewaySslPolicy, self).__init__(**kwargs) + self.disabled_ssl_protocols = disabled_ssl_protocols + self.policy_type = policy_type + self.policy_name = policy_name + self.cipher_suites = cipher_suites + self.min_protocol_version = min_protocol_version diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_predefined_policy.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_predefined_policy.py new file mode 100644 index 000000000000..6414aaf0747a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_predefined_policy.py @@ -0,0 +1,44 @@ +# 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 ApplicationGatewaySslPredefinedPolicy(SubResource): + """An Ssl predefined policy. + + :param id: Resource ID. + :type id: str + :param name: Name of the Ssl predefined policy. + :type name: str + :param cipher_suites: Ssl cipher suites to be enabled in the specified + order for application gateway. + :type cipher_suites: list[str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslCipherSuite] + :param min_protocol_version: Minimum version of Ssl protocol to be + supported on application gateway. Possible values include: 'TLSv1_0', + 'TLSv1_1', 'TLSv1_2' + :type min_protocol_version: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslProtocol + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'cipher_suites': {'key': 'properties.cipherSuites', 'type': '[str]'}, + 'min_protocol_version': {'key': 'properties.minProtocolVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewaySslPredefinedPolicy, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.cipher_suites = kwargs.get('cipher_suites', None) + self.min_protocol_version = kwargs.get('min_protocol_version', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_predefined_policy_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_predefined_policy_paged.py new file mode 100644 index 000000000000..a1e58ea42c38 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_predefined_policy_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 ApplicationGatewaySslPredefinedPolicyPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApplicationGatewaySslPredefinedPolicy ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApplicationGatewaySslPredefinedPolicy]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationGatewaySslPredefinedPolicyPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_predefined_policy_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_predefined_policy_py3.py new file mode 100644 index 000000000000..f00364ce203e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_ssl_predefined_policy_py3.py @@ -0,0 +1,44 @@ +# 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 ApplicationGatewaySslPredefinedPolicy(SubResource): + """An Ssl predefined policy. + + :param id: Resource ID. + :type id: str + :param name: Name of the Ssl predefined policy. + :type name: str + :param cipher_suites: Ssl cipher suites to be enabled in the specified + order for application gateway. + :type cipher_suites: list[str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslCipherSuite] + :param min_protocol_version: Minimum version of Ssl protocol to be + supported on application gateway. Possible values include: 'TLSv1_0', + 'TLSv1_1', 'TLSv1_2' + :type min_protocol_version: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslProtocol + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'cipher_suites': {'key': 'properties.cipherSuites', 'type': '[str]'}, + 'min_protocol_version': {'key': 'properties.minProtocolVersion', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, name: str=None, cipher_suites=None, min_protocol_version=None, **kwargs) -> None: + super(ApplicationGatewaySslPredefinedPolicy, self).__init__(id=id, **kwargs) + self.name = name + self.cipher_suites = cipher_suites + self.min_protocol_version = min_protocol_version diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_url_path_map.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_url_path_map.py new file mode 100644 index 000000000000..6b010ae627c9 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_url_path_map.py @@ -0,0 +1,70 @@ +# 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 ApplicationGatewayUrlPathMap(SubResource): + """UrlPathMaps give a url path to the backend mapping information for + PathBasedRouting. + + :param id: Resource ID. + :type id: str + :param default_backend_address_pool: Default backend address pool resource + of URL path map. + :type default_backend_address_pool: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param default_backend_http_settings: Default backend http settings + resource of URL path map. + :type default_backend_http_settings: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param default_redirect_configuration: Default redirect configuration + resource of URL path map. + :type default_redirect_configuration: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param path_rules: Path rule of URL path map resource. + :type path_rules: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayPathRule] + :param provisioning_state: Provisioning state of the backend http settings + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the URL path map that is unique within an Application + Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, + 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, + 'default_redirect_configuration': {'key': 'properties.defaultRedirectConfiguration', 'type': 'SubResource'}, + 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayUrlPathMap, self).__init__(**kwargs) + self.default_backend_address_pool = kwargs.get('default_backend_address_pool', None) + self.default_backend_http_settings = kwargs.get('default_backend_http_settings', None) + self.default_redirect_configuration = kwargs.get('default_redirect_configuration', None) + self.path_rules = kwargs.get('path_rules', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_url_path_map_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_url_path_map_py3.py new file mode 100644 index 000000000000..5484759e31cc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_url_path_map_py3.py @@ -0,0 +1,70 @@ +# 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 ApplicationGatewayUrlPathMap(SubResource): + """UrlPathMaps give a url path to the backend mapping information for + PathBasedRouting. + + :param id: Resource ID. + :type id: str + :param default_backend_address_pool: Default backend address pool resource + of URL path map. + :type default_backend_address_pool: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param default_backend_http_settings: Default backend http settings + resource of URL path map. + :type default_backend_http_settings: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param default_redirect_configuration: Default redirect configuration + resource of URL path map. + :type default_redirect_configuration: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param path_rules: Path rule of URL path map resource. + :type path_rules: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayPathRule] + :param provisioning_state: Provisioning state of the backend http settings + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the URL path map that is unique within an Application + Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, + 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, + 'default_redirect_configuration': {'key': 'properties.defaultRedirectConfiguration', 'type': 'SubResource'}, + 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, default_backend_address_pool=None, default_backend_http_settings=None, default_redirect_configuration=None, path_rules=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayUrlPathMap, self).__init__(id=id, **kwargs) + self.default_backend_address_pool = default_backend_address_pool + self.default_backend_http_settings = default_backend_http_settings + self.default_redirect_configuration = default_redirect_configuration + self.path_rules = path_rules + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_web_application_firewall_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_web_application_firewall_configuration.py new file mode 100644 index 000000000000..40e337058de5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_web_application_firewall_configuration.py @@ -0,0 +1,67 @@ +# 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.serialization import Model + + +class ApplicationGatewayWebApplicationFirewallConfiguration(Model): + """Application gateway web application firewall configuration. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Whether the web application firewall is enabled + or not. + :type enabled: bool + :param firewall_mode: Required. Web application firewall mode. Possible + values include: 'Detection', 'Prevention' + :type firewall_mode: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFirewallMode + :param rule_set_type: Required. The type of the web application firewall + rule set. Possible values are: 'OWASP'. + :type rule_set_type: str + :param rule_set_version: Required. The version of the rule set type. + :type rule_set_version: str + :param disabled_rule_groups: The disabled rule groups. + :type disabled_rule_groups: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFirewallDisabledRuleGroup] + :param request_body_check: Whether allow WAF to check request Body. + :type request_body_check: bool + :param max_request_body_size: Maxium request body size for WAF. + :type max_request_body_size: int + """ + + _validation = { + 'enabled': {'required': True}, + 'firewall_mode': {'required': True}, + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + 'max_request_body_size': {'maximum': 128, 'minimum': 8}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'firewall_mode': {'key': 'firewallMode', 'type': 'str'}, + 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, + 'disabled_rule_groups': {'key': 'disabledRuleGroups', 'type': '[ApplicationGatewayFirewallDisabledRuleGroup]'}, + 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, + 'max_request_body_size': {'key': 'maxRequestBodySize', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayWebApplicationFirewallConfiguration, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.firewall_mode = kwargs.get('firewall_mode', None) + self.rule_set_type = kwargs.get('rule_set_type', None) + self.rule_set_version = kwargs.get('rule_set_version', None) + self.disabled_rule_groups = kwargs.get('disabled_rule_groups', None) + self.request_body_check = kwargs.get('request_body_check', None) + self.max_request_body_size = kwargs.get('max_request_body_size', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_web_application_firewall_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_web_application_firewall_configuration_py3.py new file mode 100644 index 000000000000..669925bfa527 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_gateway_web_application_firewall_configuration_py3.py @@ -0,0 +1,67 @@ +# 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.serialization import Model + + +class ApplicationGatewayWebApplicationFirewallConfiguration(Model): + """Application gateway web application firewall configuration. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Whether the web application firewall is enabled + or not. + :type enabled: bool + :param firewall_mode: Required. Web application firewall mode. Possible + values include: 'Detection', 'Prevention' + :type firewall_mode: str or + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFirewallMode + :param rule_set_type: Required. The type of the web application firewall + rule set. Possible values are: 'OWASP'. + :type rule_set_type: str + :param rule_set_version: Required. The version of the rule set type. + :type rule_set_version: str + :param disabled_rule_groups: The disabled rule groups. + :type disabled_rule_groups: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFirewallDisabledRuleGroup] + :param request_body_check: Whether allow WAF to check request Body. + :type request_body_check: bool + :param max_request_body_size: Maxium request body size for WAF. + :type max_request_body_size: int + """ + + _validation = { + 'enabled': {'required': True}, + 'firewall_mode': {'required': True}, + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + 'max_request_body_size': {'maximum': 128, 'minimum': 8}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'firewall_mode': {'key': 'firewallMode', 'type': 'str'}, + 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, + 'disabled_rule_groups': {'key': 'disabledRuleGroups', 'type': '[ApplicationGatewayFirewallDisabledRuleGroup]'}, + 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, + 'max_request_body_size': {'key': 'maxRequestBodySize', 'type': 'int'}, + } + + def __init__(self, *, enabled: bool, firewall_mode, rule_set_type: str, rule_set_version: str, disabled_rule_groups=None, request_body_check: bool=None, max_request_body_size: int=None, **kwargs) -> None: + super(ApplicationGatewayWebApplicationFirewallConfiguration, self).__init__(**kwargs) + self.enabled = enabled + self.firewall_mode = firewall_mode + self.rule_set_type = rule_set_type + self.rule_set_version = rule_set_version + self.disabled_rule_groups = disabled_rule_groups + self.request_body_check = request_body_check + self.max_request_body_size = max_request_body_size diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_security_group.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_security_group.py new file mode 100644 index 000000000000..1372f778ae62 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_security_group.py @@ -0,0 +1,68 @@ +# 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 .resource import Resource + + +class ApplicationSecurityGroup(Resource): + """An application security group in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar resource_guid: The resource GUID property of the application + security group resource. It uniquely identifies a resource, even if the + user changes its name or migrate the resource across subscriptions or + resource groups. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the application + security group resource. Possible values are: 'Succeeded', 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationSecurityGroup, self).__init__(**kwargs) + self.resource_guid = None + self.provisioning_state = None + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_security_group_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_security_group_paged.py new file mode 100644 index 000000000000..0f1d1e577086 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_security_group_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 ApplicationSecurityGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApplicationSecurityGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApplicationSecurityGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationSecurityGroupPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_security_group_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_security_group_py3.py new file mode 100644 index 000000000000..fba3b3a222a5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/application_security_group_py3.py @@ -0,0 +1,68 @@ +# 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 .resource_py3 import Resource + + +class ApplicationSecurityGroup(Resource): + """An application security group in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar resource_guid: The resource GUID property of the application + security group resource. It uniquely identifies a resource, even if the + user changes its name or migrate the resource across subscriptions or + resource groups. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the application + security group resource. Possible values are: 'Succeeded', 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: + super(ApplicationSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.resource_guid = None + self.provisioning_state = None + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/availability.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/availability.py new file mode 100644 index 000000000000..16b7cfa04955 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/availability.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class Availability(Model): + """Availability of the metric. + + :param time_grain: The time grain of the availability. + :type time_grain: str + :param retention: The retention of the availability. + :type retention: str + :param blob_duration: Duration of the availability blob. + :type blob_duration: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Availability, self).__init__(**kwargs) + self.time_grain = kwargs.get('time_grain', None) + self.retention = kwargs.get('retention', None) + self.blob_duration = kwargs.get('blob_duration', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/availability_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/availability_py3.py new file mode 100644 index 000000000000..874d8878184f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/availability_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class Availability(Model): + """Availability of the metric. + + :param time_grain: The time grain of the availability. + :type time_grain: str + :param retention: The retention of the availability. + :type retention: str + :param blob_duration: Duration of the availability blob. + :type blob_duration: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, *, time_grain: str=None, retention: str=None, blob_duration: str=None, **kwargs) -> None: + super(Availability, self).__init__(**kwargs) + self.time_grain = time_grain + self.retention = retention + self.blob_duration = blob_duration diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list.py new file mode 100644 index 000000000000..5931493de952 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class AvailableProvidersList(Model): + """List of available countries with details. + + All required parameters must be populated in order to send to Azure. + + :param countries: Required. List of available countries. + :type countries: + list[~azure.mgmt.network.v2018_04_01.models.AvailableProvidersListCountry] + """ + + _validation = { + 'countries': {'required': True}, + } + + _attribute_map = { + 'countries': {'key': 'countries', 'type': '[AvailableProvidersListCountry]'}, + } + + def __init__(self, **kwargs): + super(AvailableProvidersList, self).__init__(**kwargs) + self.countries = kwargs.get('countries', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_city.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_city.py new file mode 100644 index 000000000000..5f9aa271b981 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_city.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class AvailableProvidersListCity(Model): + """City or town details. + + :param city_name: The city or town name. + :type city_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + """ + + _attribute_map = { + 'city_name': {'key': 'cityName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AvailableProvidersListCity, self).__init__(**kwargs) + self.city_name = kwargs.get('city_name', None) + self.providers = kwargs.get('providers', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_city_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_city_py3.py new file mode 100644 index 000000000000..888aa46a7cfc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_city_py3.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class AvailableProvidersListCity(Model): + """City or town details. + + :param city_name: The city or town name. + :type city_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + """ + + _attribute_map = { + 'city_name': {'key': 'cityName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + } + + def __init__(self, *, city_name: str=None, providers=None, **kwargs) -> None: + super(AvailableProvidersListCity, self).__init__(**kwargs) + self.city_name = city_name + self.providers = providers diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_country.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_country.py new file mode 100644 index 000000000000..b1757429cfdd --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_country.py @@ -0,0 +1,37 @@ +# 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.serialization import Model + + +class AvailableProvidersListCountry(Model): + """Country details. + + :param country_name: The country name. + :type country_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + :param states: List of available states in the country. + :type states: + list[~azure.mgmt.network.v2018_04_01.models.AvailableProvidersListState] + """ + + _attribute_map = { + 'country_name': {'key': 'countryName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'states': {'key': 'states', 'type': '[AvailableProvidersListState]'}, + } + + def __init__(self, **kwargs): + super(AvailableProvidersListCountry, self).__init__(**kwargs) + self.country_name = kwargs.get('country_name', None) + self.providers = kwargs.get('providers', None) + self.states = kwargs.get('states', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_country_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_country_py3.py new file mode 100644 index 000000000000..c58fbf92e224 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_country_py3.py @@ -0,0 +1,37 @@ +# 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.serialization import Model + + +class AvailableProvidersListCountry(Model): + """Country details. + + :param country_name: The country name. + :type country_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + :param states: List of available states in the country. + :type states: + list[~azure.mgmt.network.v2018_04_01.models.AvailableProvidersListState] + """ + + _attribute_map = { + 'country_name': {'key': 'countryName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'states': {'key': 'states', 'type': '[AvailableProvidersListState]'}, + } + + def __init__(self, *, country_name: str=None, providers=None, states=None, **kwargs) -> None: + super(AvailableProvidersListCountry, self).__init__(**kwargs) + self.country_name = country_name + self.providers = providers + self.states = states diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_parameters.py new file mode 100644 index 000000000000..152b3b787c2b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_parameters.py @@ -0,0 +1,41 @@ +# 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.serialization import Model + + +class AvailableProvidersListParameters(Model): + """Constraints that determine the list of available Internet service + providers. + + :param azure_locations: A list of Azure regions. + :type azure_locations: list[str] + :param country: The country for available providers list. + :type country: str + :param state: The state for available providers list. + :type state: str + :param city: The city or town for available providers list. + :type city: str + """ + + _attribute_map = { + 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, + 'country': {'key': 'country', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AvailableProvidersListParameters, self).__init__(**kwargs) + self.azure_locations = kwargs.get('azure_locations', None) + self.country = kwargs.get('country', None) + self.state = kwargs.get('state', None) + self.city = kwargs.get('city', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_parameters_py3.py new file mode 100644 index 000000000000..d5c541a7fcb6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_parameters_py3.py @@ -0,0 +1,41 @@ +# 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.serialization import Model + + +class AvailableProvidersListParameters(Model): + """Constraints that determine the list of available Internet service + providers. + + :param azure_locations: A list of Azure regions. + :type azure_locations: list[str] + :param country: The country for available providers list. + :type country: str + :param state: The state for available providers list. + :type state: str + :param city: The city or town for available providers list. + :type city: str + """ + + _attribute_map = { + 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, + 'country': {'key': 'country', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + } + + def __init__(self, *, azure_locations=None, country: str=None, state: str=None, city: str=None, **kwargs) -> None: + super(AvailableProvidersListParameters, self).__init__(**kwargs) + self.azure_locations = azure_locations + self.country = country + self.state = state + self.city = city diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_py3.py new file mode 100644 index 000000000000..c58910119714 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_py3.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class AvailableProvidersList(Model): + """List of available countries with details. + + All required parameters must be populated in order to send to Azure. + + :param countries: Required. List of available countries. + :type countries: + list[~azure.mgmt.network.v2018_04_01.models.AvailableProvidersListCountry] + """ + + _validation = { + 'countries': {'required': True}, + } + + _attribute_map = { + 'countries': {'key': 'countries', 'type': '[AvailableProvidersListCountry]'}, + } + + def __init__(self, *, countries, **kwargs) -> None: + super(AvailableProvidersList, self).__init__(**kwargs) + self.countries = countries diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_state.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_state.py new file mode 100644 index 000000000000..cd79147c8415 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_state.py @@ -0,0 +1,37 @@ +# 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.serialization import Model + + +class AvailableProvidersListState(Model): + """State details. + + :param state_name: The state name. + :type state_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + :param cities: List of available cities or towns in the state. + :type cities: + list[~azure.mgmt.network.v2018_04_01.models.AvailableProvidersListCity] + """ + + _attribute_map = { + 'state_name': {'key': 'stateName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'cities': {'key': 'cities', 'type': '[AvailableProvidersListCity]'}, + } + + def __init__(self, **kwargs): + super(AvailableProvidersListState, self).__init__(**kwargs) + self.state_name = kwargs.get('state_name', None) + self.providers = kwargs.get('providers', None) + self.cities = kwargs.get('cities', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_state_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_state_py3.py new file mode 100644 index 000000000000..eab82ba355b8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/available_providers_list_state_py3.py @@ -0,0 +1,37 @@ +# 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.serialization import Model + + +class AvailableProvidersListState(Model): + """State details. + + :param state_name: The state name. + :type state_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + :param cities: List of available cities or towns in the state. + :type cities: + list[~azure.mgmt.network.v2018_04_01.models.AvailableProvidersListCity] + """ + + _attribute_map = { + 'state_name': {'key': 'stateName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'cities': {'key': 'cities', 'type': '[AvailableProvidersListCity]'}, + } + + def __init__(self, *, state_name: str=None, providers=None, cities=None, **kwargs) -> None: + super(AvailableProvidersListState, self).__init__(**kwargs) + self.state_name = state_name + self.providers = providers + self.cities = cities diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_async_operation_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_async_operation_result.py new file mode 100644 index 000000000000..381ec5f6cb4b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_async_operation_result.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class AzureAsyncOperationResult(Model): + """The response body contains the status of the specified asynchronous + operation, indicating whether it has succeeded, is in progress, or has + failed. Note that this status is distinct from the HTTP status code + returned for the Get Operation Status operation itself. If the asynchronous + operation succeeded, the response body includes the HTTP status code for + the successful request. If the asynchronous operation failed, the response + body includes the HTTP status code for the failed request and error + information regarding the failure. + + :param status: Status of the Azure async operation. Possible values are: + 'InProgress', 'Succeeded', and 'Failed'. Possible values include: + 'InProgress', 'Succeeded', 'Failed' + :type status: str or + ~azure.mgmt.network.v2018_04_01.models.NetworkOperationStatus + :param error: + :type error: ~azure.mgmt.network.v2018_04_01.models.Error + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + } + + def __init__(self, **kwargs): + super(AzureAsyncOperationResult, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.error = kwargs.get('error', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_async_operation_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_async_operation_result_py3.py new file mode 100644 index 000000000000..130455fb831b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_async_operation_result_py3.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class AzureAsyncOperationResult(Model): + """The response body contains the status of the specified asynchronous + operation, indicating whether it has succeeded, is in progress, or has + failed. Note that this status is distinct from the HTTP status code + returned for the Get Operation Status operation itself. If the asynchronous + operation succeeded, the response body includes the HTTP status code for + the successful request. If the asynchronous operation failed, the response + body includes the HTTP status code for the failed request and error + information regarding the failure. + + :param status: Status of the Azure async operation. Possible values are: + 'InProgress', 'Succeeded', and 'Failed'. Possible values include: + 'InProgress', 'Succeeded', 'Failed' + :type status: str or + ~azure.mgmt.network.v2018_04_01.models.NetworkOperationStatus + :param error: + :type error: ~azure.mgmt.network.v2018_04_01.models.Error + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + } + + def __init__(self, *, status=None, error=None, **kwargs) -> None: + super(AzureAsyncOperationResult, self).__init__(**kwargs) + self.status = status + self.error = error diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall.py new file mode 100644 index 000000000000..d2edd16c810c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall.py @@ -0,0 +1,76 @@ +# 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 .resource import Resource + + +class AzureFirewall(Resource): + """Azure Firewall resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param application_rule_collections: Collection of application rule + collections used by a Azure Firewall. + :type application_rule_collections: + list[~azure.mgmt.network.v2018_04_01.models.AzureFirewallApplicationRuleCollection] + :param network_rule_collections: Collection of network rule collections + used by a Azure Firewall. + :type network_rule_collections: + list[~azure.mgmt.network.v2018_04_01.models.AzureFirewallNetworkRuleCollection] + :param ip_configurations: IP configuration of the Azure Firewall resource. + :type ip_configurations: + list[~azure.mgmt.network.v2018_04_01.models.AzureFirewallIPConfiguration] + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'application_rule_collections': {'key': 'properties.applicationRuleCollections', 'type': '[AzureFirewallApplicationRuleCollection]'}, + 'network_rule_collections': {'key': 'properties.networkRuleCollections', 'type': '[AzureFirewallNetworkRuleCollection]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[AzureFirewallIPConfiguration]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewall, self).__init__(**kwargs) + self.application_rule_collections = kwargs.get('application_rule_collections', None) + self.network_rule_collections = kwargs.get('network_rule_collections', None) + self.ip_configurations = kwargs.get('ip_configurations', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_application_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_application_rule.py new file mode 100644 index 000000000000..5cd5bfd06f95 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_application_rule.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class AzureFirewallApplicationRule(Model): + """Properties of an application rule. + + :param name: Name of the application rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param protocols: Array of ApplicationRuleProtocols. + :type protocols: + list[~azure.mgmt.network.v2018_04_01.models.AzureFirewallApplicationRuleProtocol] + :param target_urls: List of URLs for this rule. + :type target_urls: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'protocols': {'key': 'protocols', 'type': '[AzureFirewallApplicationRuleProtocol]'}, + 'target_urls': {'key': 'targetUrls', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallApplicationRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.source_addresses = kwargs.get('source_addresses', None) + self.protocols = kwargs.get('protocols', None) + self.target_urls = kwargs.get('target_urls', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_application_rule_collection.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_application_rule_collection.py new file mode 100644 index 000000000000..18331e0b4c83 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_application_rule_collection.py @@ -0,0 +1,64 @@ +# 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 AzureFirewallApplicationRuleCollection(SubResource): + """Application rule collection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the application rule collection resource. + :type priority: int + :param action: The action type of a rule collection + :type action: ~azure.mgmt.network.v2018_04_01.models.AzureFirewallRCAction + :param rules: Collection of rules used by a application rule collection. + :type rules: + list[~azure.mgmt.network.v2018_04_01.models.AzureFirewallApplicationRule] + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :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: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, + 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallApplicationRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallApplicationRuleCollection, self).__init__(**kwargs) + self.priority = kwargs.get('priority', None) + self.action = kwargs.get('action', None) + self.rules = kwargs.get('rules', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_application_rule_collection_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_application_rule_collection_py3.py new file mode 100644 index 000000000000..e1bd04b48184 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_application_rule_collection_py3.py @@ -0,0 +1,64 @@ +# 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 AzureFirewallApplicationRuleCollection(SubResource): + """Application rule collection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the application rule collection resource. + :type priority: int + :param action: The action type of a rule collection + :type action: ~azure.mgmt.network.v2018_04_01.models.AzureFirewallRCAction + :param rules: Collection of rules used by a application rule collection. + :type rules: + list[~azure.mgmt.network.v2018_04_01.models.AzureFirewallApplicationRule] + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :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: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, + 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallApplicationRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, priority: int=None, action=None, rules=None, provisioning_state=None, name: str=None, **kwargs) -> None: + super(AzureFirewallApplicationRuleCollection, self).__init__(id=id, **kwargs) + self.priority = priority + self.action = action + self.rules = rules + self.provisioning_state = provisioning_state + self.name = name + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_application_rule_protocol.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_application_rule_protocol.py new file mode 100644 index 000000000000..4a6c5cf456c0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_application_rule_protocol.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class AzureFirewallApplicationRuleProtocol(Model): + """Properties of the application rule protocol. + + :param protocol_type: Protocol type. Possible values include: 'Http', + 'Https' + :type protocol_type: str or + ~azure.mgmt.network.v2018_04_01.models.AzureFirewallApplicationRuleProtocolType + :param port: Port number for the protocol, cannot be greater than 64000. + This field is optional. + :type port: int + """ + + _validation = { + 'port': {'maximum': 64000, 'minimum': 0}, + } + + _attribute_map = { + 'protocol_type': {'key': 'protocolType', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallApplicationRuleProtocol, self).__init__(**kwargs) + self.protocol_type = kwargs.get('protocol_type', None) + self.port = kwargs.get('port', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_application_rule_protocol_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_application_rule_protocol_py3.py new file mode 100644 index 000000000000..635d6e0f3943 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_application_rule_protocol_py3.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class AzureFirewallApplicationRuleProtocol(Model): + """Properties of the application rule protocol. + + :param protocol_type: Protocol type. Possible values include: 'Http', + 'Https' + :type protocol_type: str or + ~azure.mgmt.network.v2018_04_01.models.AzureFirewallApplicationRuleProtocolType + :param port: Port number for the protocol, cannot be greater than 64000. + This field is optional. + :type port: int + """ + + _validation = { + 'port': {'maximum': 64000, 'minimum': 0}, + } + + _attribute_map = { + 'protocol_type': {'key': 'protocolType', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, protocol_type=None, port: int=None, **kwargs) -> None: + super(AzureFirewallApplicationRuleProtocol, self).__init__(**kwargs) + self.protocol_type = protocol_type + self.port = port diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_application_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_application_rule_py3.py new file mode 100644 index 000000000000..f8484cc9b43e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_application_rule_py3.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class AzureFirewallApplicationRule(Model): + """Properties of an application rule. + + :param name: Name of the application rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param protocols: Array of ApplicationRuleProtocols. + :type protocols: + list[~azure.mgmt.network.v2018_04_01.models.AzureFirewallApplicationRuleProtocol] + :param target_urls: List of URLs for this rule. + :type target_urls: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'protocols': {'key': 'protocols', 'type': '[AzureFirewallApplicationRuleProtocol]'}, + 'target_urls': {'key': 'targetUrls', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, description: str=None, source_addresses=None, protocols=None, target_urls=None, **kwargs) -> None: + super(AzureFirewallApplicationRule, self).__init__(**kwargs) + self.name = name + self.description = description + self.source_addresses = source_addresses + self.protocols = protocols + self.target_urls = target_urls diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_ip_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_ip_configuration.py new file mode 100644 index 000000000000..151603972d82 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_ip_configuration.py @@ -0,0 +1,65 @@ +# 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 AzureFirewallIPConfiguration(SubResource): + """IP configuration of an Azure Firewall. + + :param id: Resource ID. + :type id: str + :param private_ip_address: The Firewall Internal Load Balancer IP to be + used as the next hop in User Defined Routes. + :type private_ip_address: str + :param subnet: Reference of the subnet resource. This resource must be + named 'AzureFirewallSubnet'. + :type subnet: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param internal_public_ip_address: Reference of the PublicIP resource. + This field is a mandatory input. + :type internal_public_ip_address: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param public_ip_address: Reference of the PublicIP resource. This field + is populated in the output. + :type public_ip_address: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'internal_public_ip_address': {'key': 'properties.internalPublicIpAddress', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallIPConfiguration, self).__init__(**kwargs) + self.private_ip_address = kwargs.get('private_ip_address', None) + self.subnet = kwargs.get('subnet', None) + self.internal_public_ip_address = kwargs.get('internal_public_ip_address', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_ip_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_ip_configuration_py3.py new file mode 100644 index 000000000000..5a33ef194082 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_ip_configuration_py3.py @@ -0,0 +1,65 @@ +# 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 AzureFirewallIPConfiguration(SubResource): + """IP configuration of an Azure Firewall. + + :param id: Resource ID. + :type id: str + :param private_ip_address: The Firewall Internal Load Balancer IP to be + used as the next hop in User Defined Routes. + :type private_ip_address: str + :param subnet: Reference of the subnet resource. This resource must be + named 'AzureFirewallSubnet'. + :type subnet: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param internal_public_ip_address: Reference of the PublicIP resource. + This field is a mandatory input. + :type internal_public_ip_address: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param public_ip_address: Reference of the PublicIP resource. This field + is populated in the output. + :type public_ip_address: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'internal_public_ip_address': {'key': 'properties.internalPublicIpAddress', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_ip_address: str=None, subnet=None, internal_public_ip_address=None, public_ip_address=None, provisioning_state=None, name: str=None, etag: str=None, **kwargs) -> None: + super(AzureFirewallIPConfiguration, self).__init__(id=id, **kwargs) + self.private_ip_address = private_ip_address + self.subnet = subnet + self.internal_public_ip_address = internal_public_ip_address + self.public_ip_address = public_ip_address + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_network_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_network_rule.py new file mode 100644 index 000000000000..da751fbfb8bb --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_network_rule.py @@ -0,0 +1,49 @@ +# 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.serialization import Model + + +class AzureFirewallNetworkRule(Model): + """Properties of the network rule. + + :param name: Name of the network rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param protocols: Array of AzureFirewallNetworkRuleProtocols. + :type protocols: list[str or + ~azure.mgmt.network.v2018_04_01.models.AzureFirewallNetworkRuleProtocol] + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses. + :type destination_addresses: list[str] + :param destination_ports: List of destination ports. + :type destination_ports: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'protocols': {'key': 'protocols', 'type': '[str]'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallNetworkRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.protocols = kwargs.get('protocols', None) + self.source_addresses = kwargs.get('source_addresses', None) + self.destination_addresses = kwargs.get('destination_addresses', None) + self.destination_ports = kwargs.get('destination_ports', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_network_rule_collection.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_network_rule_collection.py new file mode 100644 index 000000000000..3b34385d686f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_network_rule_collection.py @@ -0,0 +1,64 @@ +# 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 AzureFirewallNetworkRuleCollection(SubResource): + """Network rule collection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the network rule collection resource. + :type priority: int + :param action: The action type of a rule collection + :type action: ~azure.mgmt.network.v2018_04_01.models.AzureFirewallRCAction + :param rules: Collection of rules used by a network rule collection. + :type rules: + list[~azure.mgmt.network.v2018_04_01.models.AzureFirewallNetworkRule] + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :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: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, + 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNetworkRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallNetworkRuleCollection, self).__init__(**kwargs) + self.priority = kwargs.get('priority', None) + self.action = kwargs.get('action', None) + self.rules = kwargs.get('rules', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_network_rule_collection_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_network_rule_collection_py3.py new file mode 100644 index 000000000000..fbe18bfc02d3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_network_rule_collection_py3.py @@ -0,0 +1,64 @@ +# 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 AzureFirewallNetworkRuleCollection(SubResource): + """Network rule collection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the network rule collection resource. + :type priority: int + :param action: The action type of a rule collection + :type action: ~azure.mgmt.network.v2018_04_01.models.AzureFirewallRCAction + :param rules: Collection of rules used by a network rule collection. + :type rules: + list[~azure.mgmt.network.v2018_04_01.models.AzureFirewallNetworkRule] + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :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: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, + 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNetworkRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, priority: int=None, action=None, rules=None, provisioning_state=None, name: str=None, **kwargs) -> None: + super(AzureFirewallNetworkRuleCollection, self).__init__(id=id, **kwargs) + self.priority = priority + self.action = action + self.rules = rules + self.provisioning_state = provisioning_state + self.name = name + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_network_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_network_rule_py3.py new file mode 100644 index 000000000000..47a246f6d1bc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_network_rule_py3.py @@ -0,0 +1,49 @@ +# 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.serialization import Model + + +class AzureFirewallNetworkRule(Model): + """Properties of the network rule. + + :param name: Name of the network rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param protocols: Array of AzureFirewallNetworkRuleProtocols. + :type protocols: list[str or + ~azure.mgmt.network.v2018_04_01.models.AzureFirewallNetworkRuleProtocol] + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses. + :type destination_addresses: list[str] + :param destination_ports: List of destination ports. + :type destination_ports: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'protocols': {'key': 'protocols', 'type': '[str]'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, description: str=None, protocols=None, source_addresses=None, destination_addresses=None, destination_ports=None, **kwargs) -> None: + super(AzureFirewallNetworkRule, self).__init__(**kwargs) + self.name = name + self.description = description + self.protocols = protocols + self.source_addresses = source_addresses + self.destination_addresses = destination_addresses + self.destination_ports = destination_ports diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_paged.py new file mode 100644 index 000000000000..109d7f1f0553 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_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 AzureFirewallPaged(Paged): + """ + A paging container for iterating over a list of :class:`AzureFirewall ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AzureFirewall]'} + } + + def __init__(self, *args, **kwargs): + + super(AzureFirewallPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_py3.py new file mode 100644 index 000000000000..3e0a259e81d0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_py3.py @@ -0,0 +1,76 @@ +# 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 .resource_py3 import Resource + + +class AzureFirewall(Resource): + """Azure Firewall resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param application_rule_collections: Collection of application rule + collections used by a Azure Firewall. + :type application_rule_collections: + list[~azure.mgmt.network.v2018_04_01.models.AzureFirewallApplicationRuleCollection] + :param network_rule_collections: Collection of network rule collections + used by a Azure Firewall. + :type network_rule_collections: + list[~azure.mgmt.network.v2018_04_01.models.AzureFirewallNetworkRuleCollection] + :param ip_configurations: IP configuration of the Azure Firewall resource. + :type ip_configurations: + list[~azure.mgmt.network.v2018_04_01.models.AzureFirewallIPConfiguration] + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'application_rule_collections': {'key': 'properties.applicationRuleCollections', 'type': '[AzureFirewallApplicationRuleCollection]'}, + 'network_rule_collections': {'key': 'properties.networkRuleCollections', 'type': '[AzureFirewallNetworkRuleCollection]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[AzureFirewallIPConfiguration]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, application_rule_collections=None, network_rule_collections=None, ip_configurations=None, provisioning_state=None, **kwargs) -> None: + super(AzureFirewall, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.application_rule_collections = application_rule_collections + self.network_rule_collections = network_rule_collections + self.ip_configurations = ip_configurations + self.provisioning_state = provisioning_state + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_rc_action.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_rc_action.py new file mode 100644 index 000000000000..a94d88d5a9da --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_rc_action.py @@ -0,0 +1,29 @@ +# 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.serialization import Model + + +class AzureFirewallRCAction(Model): + """Properties of the AzureFirewallRCAction. + + :param type: The type of action. Possible values include: 'Allow', 'Deny' + :type type: str or + ~azure.mgmt.network.v2018_04_01.models.AzureFirewallRCActionType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallRCAction, self).__init__(**kwargs) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_rc_action_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_rc_action_py3.py new file mode 100644 index 000000000000..62c776457a0c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_firewall_rc_action_py3.py @@ -0,0 +1,29 @@ +# 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.serialization import Model + + +class AzureFirewallRCAction(Model): + """Properties of the AzureFirewallRCAction. + + :param type: The type of action. Possible values include: 'Allow', 'Deny' + :type type: str or + ~azure.mgmt.network.v2018_04_01.models.AzureFirewallRCActionType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(AzureFirewallRCAction, self).__init__(**kwargs) + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report.py new file mode 100644 index 000000000000..2a55d5114f45 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report.py @@ -0,0 +1,48 @@ +# 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.serialization import Model + + +class AzureReachabilityReport(Model): + """Azure reachability report details. + + All required parameters must be populated in order to send to Azure. + + :param aggregation_level: Required. The aggregation level of Azure + reachability report. Can be Country, State or City. + :type aggregation_level: str + :param provider_location: Required. + :type provider_location: + ~azure.mgmt.network.v2018_04_01.models.AzureReachabilityReportLocation + :param reachability_report: Required. List of Azure reachability report + items. + :type reachability_report: + list[~azure.mgmt.network.v2018_04_01.models.AzureReachabilityReportItem] + """ + + _validation = { + 'aggregation_level': {'required': True}, + 'provider_location': {'required': True}, + 'reachability_report': {'required': True}, + } + + _attribute_map = { + 'aggregation_level': {'key': 'aggregationLevel', 'type': 'str'}, + 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, + 'reachability_report': {'key': 'reachabilityReport', 'type': '[AzureReachabilityReportItem]'}, + } + + def __init__(self, **kwargs): + super(AzureReachabilityReport, self).__init__(**kwargs) + self.aggregation_level = kwargs.get('aggregation_level', None) + self.provider_location = kwargs.get('provider_location', None) + self.reachability_report = kwargs.get('reachability_report', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_item.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_item.py new file mode 100644 index 000000000000..4b104930219c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_item.py @@ -0,0 +1,37 @@ +# 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.serialization import Model + + +class AzureReachabilityReportItem(Model): + """Azure reachability report details for a given provider location. + + :param provider: The Internet service provider. + :type provider: str + :param azure_location: The Azure region. + :type azure_location: str + :param latencies: List of latency details for each of the time series. + :type latencies: + list[~azure.mgmt.network.v2018_04_01.models.AzureReachabilityReportLatencyInfo] + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'azure_location': {'key': 'azureLocation', 'type': 'str'}, + 'latencies': {'key': 'latencies', 'type': '[AzureReachabilityReportLatencyInfo]'}, + } + + def __init__(self, **kwargs): + super(AzureReachabilityReportItem, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.azure_location = kwargs.get('azure_location', None) + self.latencies = kwargs.get('latencies', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_item_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_item_py3.py new file mode 100644 index 000000000000..a173e598e8c6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_item_py3.py @@ -0,0 +1,37 @@ +# 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.serialization import Model + + +class AzureReachabilityReportItem(Model): + """Azure reachability report details for a given provider location. + + :param provider: The Internet service provider. + :type provider: str + :param azure_location: The Azure region. + :type azure_location: str + :param latencies: List of latency details for each of the time series. + :type latencies: + list[~azure.mgmt.network.v2018_04_01.models.AzureReachabilityReportLatencyInfo] + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'azure_location': {'key': 'azureLocation', 'type': 'str'}, + 'latencies': {'key': 'latencies', 'type': '[AzureReachabilityReportLatencyInfo]'}, + } + + def __init__(self, *, provider: str=None, azure_location: str=None, latencies=None, **kwargs) -> None: + super(AzureReachabilityReportItem, self).__init__(**kwargs) + self.provider = provider + self.azure_location = azure_location + self.latencies = latencies diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_latency_info.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_latency_info.py new file mode 100644 index 000000000000..e5f77641a138 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_latency_info.py @@ -0,0 +1,37 @@ +# 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.serialization import Model + + +class AzureReachabilityReportLatencyInfo(Model): + """Details on latency for a time series. + + :param time_stamp: The time stamp. + :type time_stamp: datetime + :param score: The relative latency score between 1 and 100, higher values + indicating a faster connection. + :type score: int + """ + + _validation = { + 'score': {'maximum': 100, 'minimum': 1}, + } + + _attribute_map = { + 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, + 'score': {'key': 'score', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(AzureReachabilityReportLatencyInfo, self).__init__(**kwargs) + self.time_stamp = kwargs.get('time_stamp', None) + self.score = kwargs.get('score', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_latency_info_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_latency_info_py3.py new file mode 100644 index 000000000000..dd9d8fda369c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_latency_info_py3.py @@ -0,0 +1,37 @@ +# 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.serialization import Model + + +class AzureReachabilityReportLatencyInfo(Model): + """Details on latency for a time series. + + :param time_stamp: The time stamp. + :type time_stamp: datetime + :param score: The relative latency score between 1 and 100, higher values + indicating a faster connection. + :type score: int + """ + + _validation = { + 'score': {'maximum': 100, 'minimum': 1}, + } + + _attribute_map = { + 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, + 'score': {'key': 'score', 'type': 'int'}, + } + + def __init__(self, *, time_stamp=None, score: int=None, **kwargs) -> None: + super(AzureReachabilityReportLatencyInfo, self).__init__(**kwargs) + self.time_stamp = time_stamp + self.score = score diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_location.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_location.py new file mode 100644 index 000000000000..76c132e89575 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_location.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class AzureReachabilityReportLocation(Model): + """Parameters that define a geographic location. + + All required parameters must be populated in order to send to Azure. + + :param country: Required. The name of the country. + :type country: str + :param state: The name of the state. + :type state: str + :param city: The name of the city or town. + :type city: str + """ + + _validation = { + 'country': {'required': True}, + } + + _attribute_map = { + 'country': {'key': 'country', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureReachabilityReportLocation, self).__init__(**kwargs) + self.country = kwargs.get('country', None) + self.state = kwargs.get('state', None) + self.city = kwargs.get('city', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_location_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_location_py3.py new file mode 100644 index 000000000000..1db868eab46f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_location_py3.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class AzureReachabilityReportLocation(Model): + """Parameters that define a geographic location. + + All required parameters must be populated in order to send to Azure. + + :param country: Required. The name of the country. + :type country: str + :param state: The name of the state. + :type state: str + :param city: The name of the city or town. + :type city: str + """ + + _validation = { + 'country': {'required': True}, + } + + _attribute_map = { + 'country': {'key': 'country', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + } + + def __init__(self, *, country: str, state: str=None, city: str=None, **kwargs) -> None: + super(AzureReachabilityReportLocation, self).__init__(**kwargs) + self.country = country + self.state = state + self.city = city diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_parameters.py new file mode 100644 index 000000000000..eb70dffe20c6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_parameters.py @@ -0,0 +1,54 @@ +# 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.serialization import Model + + +class AzureReachabilityReportParameters(Model): + """Geographic and time constraints for Azure reachability report. + + All required parameters must be populated in order to send to Azure. + + :param provider_location: Required. + :type provider_location: + ~azure.mgmt.network.v2018_04_01.models.AzureReachabilityReportLocation + :param providers: List of Internet service providers. + :type providers: list[str] + :param azure_locations: Optional Azure regions to scope the query to. + :type azure_locations: list[str] + :param start_time: Required. The start time for the Azure reachability + report. + :type start_time: datetime + :param end_time: Required. The end time for the Azure reachability report. + :type end_time: datetime + """ + + _validation = { + 'provider_location': {'required': True}, + 'start_time': {'required': True}, + 'end_time': {'required': True}, + } + + _attribute_map = { + 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(AzureReachabilityReportParameters, self).__init__(**kwargs) + self.provider_location = kwargs.get('provider_location', None) + self.providers = kwargs.get('providers', None) + self.azure_locations = kwargs.get('azure_locations', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_parameters_py3.py new file mode 100644 index 000000000000..26eb47fa0f13 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_parameters_py3.py @@ -0,0 +1,54 @@ +# 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.serialization import Model + + +class AzureReachabilityReportParameters(Model): + """Geographic and time constraints for Azure reachability report. + + All required parameters must be populated in order to send to Azure. + + :param provider_location: Required. + :type provider_location: + ~azure.mgmt.network.v2018_04_01.models.AzureReachabilityReportLocation + :param providers: List of Internet service providers. + :type providers: list[str] + :param azure_locations: Optional Azure regions to scope the query to. + :type azure_locations: list[str] + :param start_time: Required. The start time for the Azure reachability + report. + :type start_time: datetime + :param end_time: Required. The end time for the Azure reachability report. + :type end_time: datetime + """ + + _validation = { + 'provider_location': {'required': True}, + 'start_time': {'required': True}, + 'end_time': {'required': True}, + } + + _attribute_map = { + 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + } + + def __init__(self, *, provider_location, start_time, end_time, providers=None, azure_locations=None, **kwargs) -> None: + super(AzureReachabilityReportParameters, self).__init__(**kwargs) + self.provider_location = provider_location + self.providers = providers + self.azure_locations = azure_locations + self.start_time = start_time + self.end_time = end_time diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_py3.py new file mode 100644 index 000000000000..9801d97bc74e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/azure_reachability_report_py3.py @@ -0,0 +1,48 @@ +# 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.serialization import Model + + +class AzureReachabilityReport(Model): + """Azure reachability report details. + + All required parameters must be populated in order to send to Azure. + + :param aggregation_level: Required. The aggregation level of Azure + reachability report. Can be Country, State or City. + :type aggregation_level: str + :param provider_location: Required. + :type provider_location: + ~azure.mgmt.network.v2018_04_01.models.AzureReachabilityReportLocation + :param reachability_report: Required. List of Azure reachability report + items. + :type reachability_report: + list[~azure.mgmt.network.v2018_04_01.models.AzureReachabilityReportItem] + """ + + _validation = { + 'aggregation_level': {'required': True}, + 'provider_location': {'required': True}, + 'reachability_report': {'required': True}, + } + + _attribute_map = { + 'aggregation_level': {'key': 'aggregationLevel', 'type': 'str'}, + 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, + 'reachability_report': {'key': 'reachabilityReport', 'type': '[AzureReachabilityReportItem]'}, + } + + def __init__(self, *, aggregation_level: str, provider_location, reachability_report, **kwargs) -> None: + super(AzureReachabilityReport, self).__init__(**kwargs) + self.aggregation_level = aggregation_level + self.provider_location = provider_location + self.reachability_report = reachability_report diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/backend_address_pool.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/backend_address_pool.py new file mode 100644 index 000000000000..88014062ef7e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/backend_address_pool.py @@ -0,0 +1,69 @@ +# 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 BackendAddressPool(SubResource): + """Pool of backend IP addresses. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar backend_ip_configurations: Gets collection of references to IP + addresses defined in network interfaces. + :vartype backend_ip_configurations: + list[~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfiguration] + :ivar load_balancing_rules: Gets load balancing rules that use this + backend address pool. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :ivar outbound_nat_rule: Gets outbound rules that use this backend address + pool. + :vartype outbound_nat_rule: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param provisioning_state: Get provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type 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 + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'backend_ip_configurations': {'readonly': True}, + 'load_balancing_rules': {'readonly': True}, + 'outbound_nat_rule': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'outbound_nat_rule': {'key': 'properties.outboundNatRule', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BackendAddressPool, self).__init__(**kwargs) + self.backend_ip_configurations = None + self.load_balancing_rules = None + self.outbound_nat_rule = None + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/backend_address_pool_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/backend_address_pool_paged.py new file mode 100644 index 000000000000..5ab591ffc5fa --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/backend_address_pool_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 BackendAddressPoolPaged(Paged): + """ + A paging container for iterating over a list of :class:`BackendAddressPool ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BackendAddressPool]'} + } + + def __init__(self, *args, **kwargs): + + super(BackendAddressPoolPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/backend_address_pool_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/backend_address_pool_py3.py new file mode 100644 index 000000000000..942e0c42eebd --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/backend_address_pool_py3.py @@ -0,0 +1,69 @@ +# 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 BackendAddressPool(SubResource): + """Pool of backend IP addresses. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar backend_ip_configurations: Gets collection of references to IP + addresses defined in network interfaces. + :vartype backend_ip_configurations: + list[~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfiguration] + :ivar load_balancing_rules: Gets load balancing rules that use this + backend address pool. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :ivar outbound_nat_rule: Gets outbound rules that use this backend address + pool. + :vartype outbound_nat_rule: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param provisioning_state: Get provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type 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 + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'backend_ip_configurations': {'readonly': True}, + 'load_balancing_rules': {'readonly': True}, + 'outbound_nat_rule': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'outbound_nat_rule': {'key': 'properties.outboundNatRule', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(BackendAddressPool, self).__init__(id=id, **kwargs) + self.backend_ip_configurations = None + self.load_balancing_rules = None + self.outbound_nat_rule = None + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_community.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_community.py new file mode 100644 index 000000000000..472a170e9ceb --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_community.py @@ -0,0 +1,52 @@ +# 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.serialization import Model + + +class BGPCommunity(Model): + """Contains bgp community information offered in Service Community resources. + + :param service_supported_region: The region which the service support. + e.g. For O365, region is Global. + :type service_supported_region: str + :param community_name: The name of the bgp community. e.g. Skype. + :type community_name: str + :param community_value: The value of the bgp community. For more + information: + https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. + :type community_value: str + :param community_prefixes: The prefixes that the bgp community contains. + :type community_prefixes: list[str] + :param is_authorized_to_use: Customer is authorized to use bgp community + or not. + :type is_authorized_to_use: bool + :param service_group: The service group of the bgp community contains. + :type service_group: str + """ + + _attribute_map = { + 'service_supported_region': {'key': 'serviceSupportedRegion', 'type': 'str'}, + 'community_name': {'key': 'communityName', 'type': 'str'}, + 'community_value': {'key': 'communityValue', 'type': 'str'}, + 'community_prefixes': {'key': 'communityPrefixes', 'type': '[str]'}, + 'is_authorized_to_use': {'key': 'isAuthorizedToUse', 'type': 'bool'}, + 'service_group': {'key': 'serviceGroup', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BGPCommunity, self).__init__(**kwargs) + self.service_supported_region = kwargs.get('service_supported_region', None) + self.community_name = kwargs.get('community_name', None) + self.community_value = kwargs.get('community_value', None) + self.community_prefixes = kwargs.get('community_prefixes', None) + self.is_authorized_to_use = kwargs.get('is_authorized_to_use', None) + self.service_group = kwargs.get('service_group', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_community_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_community_py3.py new file mode 100644 index 000000000000..86b740c84404 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_community_py3.py @@ -0,0 +1,52 @@ +# 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.serialization import Model + + +class BGPCommunity(Model): + """Contains bgp community information offered in Service Community resources. + + :param service_supported_region: The region which the service support. + e.g. For O365, region is Global. + :type service_supported_region: str + :param community_name: The name of the bgp community. e.g. Skype. + :type community_name: str + :param community_value: The value of the bgp community. For more + information: + https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. + :type community_value: str + :param community_prefixes: The prefixes that the bgp community contains. + :type community_prefixes: list[str] + :param is_authorized_to_use: Customer is authorized to use bgp community + or not. + :type is_authorized_to_use: bool + :param service_group: The service group of the bgp community contains. + :type service_group: str + """ + + _attribute_map = { + 'service_supported_region': {'key': 'serviceSupportedRegion', 'type': 'str'}, + 'community_name': {'key': 'communityName', 'type': 'str'}, + 'community_value': {'key': 'communityValue', 'type': 'str'}, + 'community_prefixes': {'key': 'communityPrefixes', 'type': '[str]'}, + 'is_authorized_to_use': {'key': 'isAuthorizedToUse', 'type': 'bool'}, + 'service_group': {'key': 'serviceGroup', 'type': 'str'}, + } + + def __init__(self, *, service_supported_region: str=None, community_name: str=None, community_value: str=None, community_prefixes=None, is_authorized_to_use: bool=None, service_group: str=None, **kwargs) -> None: + super(BGPCommunity, self).__init__(**kwargs) + self.service_supported_region = service_supported_region + self.community_name = community_name + self.community_value = community_value + self.community_prefixes = community_prefixes + self.is_authorized_to_use = is_authorized_to_use + self.service_group = service_group diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_peer_status.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_peer_status.py new file mode 100644 index 000000000000..b4f01f3a7fcc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_peer_status.py @@ -0,0 +1,71 @@ +# 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.serialization import Model + + +class BgpPeerStatus(Model): + """BGP peer status details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar local_address: The virtual network gateway's local address + :vartype local_address: str + :ivar neighbor: The remote BGP peer + :vartype neighbor: str + :ivar asn: The autonomous system number of the remote BGP peer + :vartype asn: int + :ivar state: The BGP peer state. Possible values include: 'Unknown', + 'Stopped', 'Idle', 'Connecting', 'Connected' + :vartype state: str or ~azure.mgmt.network.v2018_04_01.models.BgpPeerState + :ivar connected_duration: For how long the peering has been up + :vartype connected_duration: str + :ivar routes_received: The number of routes learned from this peer + :vartype routes_received: long + :ivar messages_sent: The number of BGP messages sent + :vartype messages_sent: long + :ivar messages_received: The number of BGP messages received + :vartype messages_received: long + """ + + _validation = { + 'local_address': {'readonly': True}, + 'neighbor': {'readonly': True}, + 'asn': {'readonly': True}, + 'state': {'readonly': True}, + 'connected_duration': {'readonly': True}, + 'routes_received': {'readonly': True}, + 'messages_sent': {'readonly': True}, + 'messages_received': {'readonly': True}, + } + + _attribute_map = { + 'local_address': {'key': 'localAddress', 'type': 'str'}, + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'asn': {'key': 'asn', 'type': 'int'}, + 'state': {'key': 'state', 'type': 'str'}, + 'connected_duration': {'key': 'connectedDuration', 'type': 'str'}, + 'routes_received': {'key': 'routesReceived', 'type': 'long'}, + 'messages_sent': {'key': 'messagesSent', 'type': 'long'}, + 'messages_received': {'key': 'messagesReceived', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(BgpPeerStatus, self).__init__(**kwargs) + self.local_address = None + self.neighbor = None + self.asn = None + self.state = None + self.connected_duration = None + self.routes_received = None + self.messages_sent = None + self.messages_received = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_peer_status_list_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_peer_status_list_result.py new file mode 100644 index 000000000000..bed5afe5b736 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_peer_status_list_result.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class BgpPeerStatusListResult(Model): + """Response for list BGP peer status API service call. + + :param value: List of BGP peers + :type value: list[~azure.mgmt.network.v2018_04_01.models.BgpPeerStatus] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BgpPeerStatus]'}, + } + + def __init__(self, **kwargs): + super(BgpPeerStatusListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_peer_status_list_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_peer_status_list_result_py3.py new file mode 100644 index 000000000000..41a1353a95c3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_peer_status_list_result_py3.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class BgpPeerStatusListResult(Model): + """Response for list BGP peer status API service call. + + :param value: List of BGP peers + :type value: list[~azure.mgmt.network.v2018_04_01.models.BgpPeerStatus] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BgpPeerStatus]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(BgpPeerStatusListResult, self).__init__(**kwargs) + self.value = value diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_peer_status_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_peer_status_py3.py new file mode 100644 index 000000000000..ad320477a949 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_peer_status_py3.py @@ -0,0 +1,71 @@ +# 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.serialization import Model + + +class BgpPeerStatus(Model): + """BGP peer status details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar local_address: The virtual network gateway's local address + :vartype local_address: str + :ivar neighbor: The remote BGP peer + :vartype neighbor: str + :ivar asn: The autonomous system number of the remote BGP peer + :vartype asn: int + :ivar state: The BGP peer state. Possible values include: 'Unknown', + 'Stopped', 'Idle', 'Connecting', 'Connected' + :vartype state: str or ~azure.mgmt.network.v2018_04_01.models.BgpPeerState + :ivar connected_duration: For how long the peering has been up + :vartype connected_duration: str + :ivar routes_received: The number of routes learned from this peer + :vartype routes_received: long + :ivar messages_sent: The number of BGP messages sent + :vartype messages_sent: long + :ivar messages_received: The number of BGP messages received + :vartype messages_received: long + """ + + _validation = { + 'local_address': {'readonly': True}, + 'neighbor': {'readonly': True}, + 'asn': {'readonly': True}, + 'state': {'readonly': True}, + 'connected_duration': {'readonly': True}, + 'routes_received': {'readonly': True}, + 'messages_sent': {'readonly': True}, + 'messages_received': {'readonly': True}, + } + + _attribute_map = { + 'local_address': {'key': 'localAddress', 'type': 'str'}, + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'asn': {'key': 'asn', 'type': 'int'}, + 'state': {'key': 'state', 'type': 'str'}, + 'connected_duration': {'key': 'connectedDuration', 'type': 'str'}, + 'routes_received': {'key': 'routesReceived', 'type': 'long'}, + 'messages_sent': {'key': 'messagesSent', 'type': 'long'}, + 'messages_received': {'key': 'messagesReceived', 'type': 'long'}, + } + + def __init__(self, **kwargs) -> None: + super(BgpPeerStatus, self).__init__(**kwargs) + self.local_address = None + self.neighbor = None + self.asn = None + self.state = None + self.connected_duration = None + self.routes_received = None + self.messages_sent = None + self.messages_received = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_service_community.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_service_community.py new file mode 100644 index 000000000000..8c5761075822 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_service_community.py @@ -0,0 +1,56 @@ +# 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 .resource import Resource + + +class BgpServiceCommunity(Resource): + """Service Community Properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param service_name: The name of the bgp community. e.g. Skype. + :type service_name: str + :param bgp_communities: Get a list of bgp communities. + :type bgp_communities: + list[~azure.mgmt.network.v2018_04_01.models.BGPCommunity] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, + 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': '[BGPCommunity]'}, + } + + def __init__(self, **kwargs): + super(BgpServiceCommunity, self).__init__(**kwargs) + self.service_name = kwargs.get('service_name', None) + self.bgp_communities = kwargs.get('bgp_communities', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_service_community_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_service_community_paged.py new file mode 100644 index 000000000000..3cc06fa070e6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_service_community_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 BgpServiceCommunityPaged(Paged): + """ + A paging container for iterating over a list of :class:`BgpServiceCommunity ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BgpServiceCommunity]'} + } + + def __init__(self, *args, **kwargs): + + super(BgpServiceCommunityPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_service_community_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_service_community_py3.py new file mode 100644 index 000000000000..7a6b3032aaf2 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_service_community_py3.py @@ -0,0 +1,56 @@ +# 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 .resource_py3 import Resource + + +class BgpServiceCommunity(Resource): + """Service Community Properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param service_name: The name of the bgp community. e.g. Skype. + :type service_name: str + :param bgp_communities: Get a list of bgp communities. + :type bgp_communities: + list[~azure.mgmt.network.v2018_04_01.models.BGPCommunity] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, + 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': '[BGPCommunity]'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, service_name: str=None, bgp_communities=None, **kwargs) -> None: + super(BgpServiceCommunity, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.service_name = service_name + self.bgp_communities = bgp_communities diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_settings.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_settings.py new file mode 100644 index 000000000000..e6e8d1b90aa6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_settings.py @@ -0,0 +1,38 @@ +# 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.serialization import Model + + +class BgpSettings(Model): + """BGP settings details. + + :param asn: The BGP speaker's ASN. + :type asn: long + :param bgp_peering_address: The BGP peering address and BGP identifier of + this BGP speaker. + :type bgp_peering_address: str + :param peer_weight: The weight added to routes learned from this BGP + speaker. + :type peer_weight: int + """ + + _attribute_map = { + 'asn': {'key': 'asn', 'type': 'long'}, + 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, + 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(BgpSettings, self).__init__(**kwargs) + self.asn = kwargs.get('asn', None) + self.bgp_peering_address = kwargs.get('bgp_peering_address', None) + self.peer_weight = kwargs.get('peer_weight', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_settings_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_settings_py3.py new file mode 100644 index 000000000000..cb3b3e6795f7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/bgp_settings_py3.py @@ -0,0 +1,38 @@ +# 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.serialization import Model + + +class BgpSettings(Model): + """BGP settings details. + + :param asn: The BGP speaker's ASN. + :type asn: long + :param bgp_peering_address: The BGP peering address and BGP identifier of + this BGP speaker. + :type bgp_peering_address: str + :param peer_weight: The weight added to routes learned from this BGP + speaker. + :type peer_weight: int + """ + + _attribute_map = { + 'asn': {'key': 'asn', 'type': 'long'}, + 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, + 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, + } + + def __init__(self, *, asn: int=None, bgp_peering_address: str=None, peer_weight: int=None, **kwargs) -> None: + super(BgpSettings, self).__init__(**kwargs) + self.asn = asn + self.bgp_peering_address = bgp_peering_address + self.peer_weight = peer_weight diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor.py new file mode 100644 index 000000000000..b72e353298a3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor.py @@ -0,0 +1,59 @@ +# 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.serialization import Model + + +class ConnectionMonitor(Model): + """Parameters that define the operation to create a connection monitor. + + All required parameters must be populated in order to send to Azure. + + :param location: Connection monitor location. + :type location: str + :param tags: Connection monitor tags. + :type tags: dict[str, str] + :param source: Required. + :type source: + ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorSource + :param destination: Required. + :type destination: + ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + """ + + _validation = { + 'source': {'required': True}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitor, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.source = kwargs.get('source', None) + self.destination = kwargs.get('destination', None) + self.auto_start = kwargs.get('auto_start', True) + self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_destination.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_destination.py new file mode 100644 index 000000000000..9d1e3885cb38 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_destination.py @@ -0,0 +1,38 @@ +# 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.serialization import Model + + +class ConnectionMonitorDestination(Model): + """Describes the destination of connection monitor. + + :param resource_id: The ID of the resource used as the destination by + connection monitor. + :type resource_id: str + :param address: Address of the connection monitor destination (IP or + domain name). + :type address: str + :param port: The destination port used by connection monitor. + :type port: int + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorDestination, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.address = kwargs.get('address', None) + self.port = kwargs.get('port', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_destination_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_destination_py3.py new file mode 100644 index 000000000000..59e7465804ce --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_destination_py3.py @@ -0,0 +1,38 @@ +# 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.serialization import Model + + +class ConnectionMonitorDestination(Model): + """Describes the destination of connection monitor. + + :param resource_id: The ID of the resource used as the destination by + connection monitor. + :type resource_id: str + :param address: Address of the connection monitor destination (IP or + domain name). + :type address: str + :param port: The destination port used by connection monitor. + :type port: int + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, resource_id: str=None, address: str=None, port: int=None, **kwargs) -> None: + super(ConnectionMonitorDestination, self).__init__(**kwargs) + self.resource_id = resource_id + self.address = address + self.port = port diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_parameters.py new file mode 100644 index 000000000000..63648c1a1dd5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_parameters.py @@ -0,0 +1,51 @@ +# 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.serialization import Model + + +class ConnectionMonitorParameters(Model): + """Parameters that define the operation to create a connection monitor. + + All required parameters must be populated in order to send to Azure. + + :param source: Required. + :type source: + ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorSource + :param destination: Required. + :type destination: + ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + """ + + _validation = { + 'source': {'required': True}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorParameters, self).__init__(**kwargs) + self.source = kwargs.get('source', None) + self.destination = kwargs.get('destination', None) + self.auto_start = kwargs.get('auto_start', True) + self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_parameters_py3.py new file mode 100644 index 000000000000..59e2ad600124 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_parameters_py3.py @@ -0,0 +1,51 @@ +# 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.serialization import Model + + +class ConnectionMonitorParameters(Model): + """Parameters that define the operation to create a connection monitor. + + All required parameters must be populated in order to send to Azure. + + :param source: Required. + :type source: + ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorSource + :param destination: Required. + :type destination: + ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + """ + + _validation = { + 'source': {'required': True}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, + } + + def __init__(self, *, source, destination, auto_start: bool=True, monitoring_interval_in_seconds: int=60, **kwargs) -> None: + super(ConnectionMonitorParameters, self).__init__(**kwargs) + self.source = source + self.destination = destination + self.auto_start = auto_start + self.monitoring_interval_in_seconds = monitoring_interval_in_seconds diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_py3.py new file mode 100644 index 000000000000..41ac99ebc2f3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_py3.py @@ -0,0 +1,59 @@ +# 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.serialization import Model + + +class ConnectionMonitor(Model): + """Parameters that define the operation to create a connection monitor. + + All required parameters must be populated in order to send to Azure. + + :param location: Connection monitor location. + :type location: str + :param tags: Connection monitor tags. + :type tags: dict[str, str] + :param source: Required. + :type source: + ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorSource + :param destination: Required. + :type destination: + ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + """ + + _validation = { + 'source': {'required': True}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, + } + + def __init__(self, *, source, destination, location: str=None, tags=None, auto_start: bool=True, monitoring_interval_in_seconds: int=60, **kwargs) -> None: + super(ConnectionMonitor, self).__init__(**kwargs) + self.location = location + self.tags = tags + self.source = source + self.destination = destination + self.auto_start = auto_start + self.monitoring_interval_in_seconds = monitoring_interval_in_seconds diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_query_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_query_result.py new file mode 100644 index 000000000000..1082fbc2e0b7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_query_result.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class ConnectionMonitorQueryResult(Model): + """List of connection states snaphots. + + :param source_status: Status of connection monitor source. Possible values + include: 'Uknown', 'Active', 'Inactive' + :type source_status: str or + ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorSourceStatus + :param states: Information about connection states. + :type states: + list[~azure.mgmt.network.v2018_04_01.models.ConnectionStateSnapshot] + """ + + _attribute_map = { + 'source_status': {'key': 'sourceStatus', 'type': 'str'}, + 'states': {'key': 'states', 'type': '[ConnectionStateSnapshot]'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorQueryResult, self).__init__(**kwargs) + self.source_status = kwargs.get('source_status', None) + self.states = kwargs.get('states', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_query_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_query_result_py3.py new file mode 100644 index 000000000000..14a09ff129ab --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_query_result_py3.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class ConnectionMonitorQueryResult(Model): + """List of connection states snaphots. + + :param source_status: Status of connection monitor source. Possible values + include: 'Uknown', 'Active', 'Inactive' + :type source_status: str or + ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorSourceStatus + :param states: Information about connection states. + :type states: + list[~azure.mgmt.network.v2018_04_01.models.ConnectionStateSnapshot] + """ + + _attribute_map = { + 'source_status': {'key': 'sourceStatus', 'type': 'str'}, + 'states': {'key': 'states', 'type': '[ConnectionStateSnapshot]'}, + } + + def __init__(self, *, source_status=None, states=None, **kwargs) -> None: + super(ConnectionMonitorQueryResult, self).__init__(**kwargs) + self.source_status = source_status + self.states = states diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_result.py new file mode 100644 index 000000000000..d77771a84700 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_result.py @@ -0,0 +1,98 @@ +# 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.serialization import Model + + +class ConnectionMonitorResult(Model): + """Information about the connection monitor. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar name: Name of the connection monitor. + :vartype name: str + :ivar id: ID of the connection monitor. + :vartype id: str + :param etag: Default value: "A unique read-only string that changes + whenever the resource is updated." . + :type etag: str + :ivar type: Connection monitor type. + :vartype type: str + :param location: Connection monitor location. + :type location: str + :param tags: Connection monitor tags. + :type tags: dict[str, str] + :param source: Required. + :type source: + ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorSource + :param destination: Required. + :type destination: + ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + :param provisioning_state: The provisioning state of the connection + monitor. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :param start_time: The date and time when the connection monitor was + started. + :type start_time: datetime + :param monitoring_status: The monitoring status of the connection monitor. + :type monitoring_status: str + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'source': {'required': True}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorResult, self).__init__(**kwargs) + self.name = None + self.id = None + self.etag = kwargs.get('etag', "A unique read-only string that changes whenever the resource is updated.") + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.source = kwargs.get('source', None) + self.destination = kwargs.get('destination', None) + self.auto_start = kwargs.get('auto_start', True) + self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.start_time = kwargs.get('start_time', None) + self.monitoring_status = kwargs.get('monitoring_status', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_result_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_result_paged.py new file mode 100644 index 000000000000..845def11a5e1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_result_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 ConnectionMonitorResultPaged(Paged): + """ + A paging container for iterating over a list of :class:`ConnectionMonitorResult ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ConnectionMonitorResult]'} + } + + def __init__(self, *args, **kwargs): + + super(ConnectionMonitorResultPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_result_py3.py new file mode 100644 index 000000000000..64d88f12b11b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_result_py3.py @@ -0,0 +1,98 @@ +# 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.serialization import Model + + +class ConnectionMonitorResult(Model): + """Information about the connection monitor. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar name: Name of the connection monitor. + :vartype name: str + :ivar id: ID of the connection monitor. + :vartype id: str + :param etag: Default value: "A unique read-only string that changes + whenever the resource is updated." . + :type etag: str + :ivar type: Connection monitor type. + :vartype type: str + :param location: Connection monitor location. + :type location: str + :param tags: Connection monitor tags. + :type tags: dict[str, str] + :param source: Required. + :type source: + ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorSource + :param destination: Required. + :type destination: + ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + :param provisioning_state: The provisioning state of the connection + monitor. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :param start_time: The date and time when the connection monitor was + started. + :type start_time: datetime + :param monitoring_status: The monitoring status of the connection monitor. + :type monitoring_status: str + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'source': {'required': True}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, + } + + def __init__(self, *, source, destination, etag: str="A unique read-only string that changes whenever the resource is updated.", location: str=None, tags=None, auto_start: bool=True, monitoring_interval_in_seconds: int=60, provisioning_state=None, start_time=None, monitoring_status: str=None, **kwargs) -> None: + super(ConnectionMonitorResult, self).__init__(**kwargs) + self.name = None + self.id = None + self.etag = etag + self.type = None + self.location = location + self.tags = tags + self.source = source + self.destination = destination + self.auto_start = auto_start + self.monitoring_interval_in_seconds = monitoring_interval_in_seconds + self.provisioning_state = provisioning_state + self.start_time = start_time + self.monitoring_status = monitoring_status diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_source.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_source.py new file mode 100644 index 000000000000..1425fa613ce5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_source.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class ConnectionMonitorSource(Model): + """Describes the source of connection monitor. + + All required parameters must be populated in order to send to Azure. + + :param resource_id: Required. The ID of the resource used as the source by + connection monitor. + :type resource_id: str + :param port: The source port used by connection monitor. + :type port: int + """ + + _validation = { + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorSource, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.port = kwargs.get('port', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_source_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_source_py3.py new file mode 100644 index 000000000000..4d44fcaf8bf0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_monitor_source_py3.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class ConnectionMonitorSource(Model): + """Describes the source of connection monitor. + + All required parameters must be populated in order to send to Azure. + + :param resource_id: Required. The ID of the resource used as the source by + connection monitor. + :type resource_id: str + :param port: The source port used by connection monitor. + :type port: int + """ + + _validation = { + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, resource_id: str, port: int=None, **kwargs) -> None: + super(ConnectionMonitorSource, self).__init__(**kwargs) + self.resource_id = resource_id + self.port = port diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_reset_shared_key.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_reset_shared_key.py new file mode 100644 index 000000000000..1ade077795ed --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_reset_shared_key.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class ConnectionResetSharedKey(Model): + """The virtual network connection reset shared key. + + All required parameters must be populated in order to send to Azure. + + :param key_length: Required. The virtual network connection reset shared + key length, should between 1 and 128. + :type key_length: int + """ + + _validation = { + 'key_length': {'required': True, 'maximum': 128, 'minimum': 1}, + } + + _attribute_map = { + 'key_length': {'key': 'keyLength', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectionResetSharedKey, self).__init__(**kwargs) + self.key_length = kwargs.get('key_length', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_reset_shared_key_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_reset_shared_key_py3.py new file mode 100644 index 000000000000..47326d4c2082 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_reset_shared_key_py3.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class ConnectionResetSharedKey(Model): + """The virtual network connection reset shared key. + + All required parameters must be populated in order to send to Azure. + + :param key_length: Required. The virtual network connection reset shared + key length, should between 1 and 128. + :type key_length: int + """ + + _validation = { + 'key_length': {'required': True, 'maximum': 128, 'minimum': 1}, + } + + _attribute_map = { + 'key_length': {'key': 'keyLength', 'type': 'int'}, + } + + def __init__(self, *, key_length: int, **kwargs) -> None: + super(ConnectionResetSharedKey, self).__init__(**kwargs) + self.key_length = key_length diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_shared_key.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_shared_key.py new file mode 100644 index 000000000000..f6d742dac00f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_shared_key.py @@ -0,0 +1,37 @@ +# 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 ConnectionSharedKey(SubResource): + """Response for GetConnectionSharedKey API service call. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param value: Required. The virtual network connection shared key value. + :type value: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectionSharedKey, self).__init__(**kwargs) + self.value = kwargs.get('value', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_shared_key_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_shared_key_py3.py new file mode 100644 index 000000000000..819965ba3dbf --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_shared_key_py3.py @@ -0,0 +1,37 @@ +# 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 ConnectionSharedKey(SubResource): + """Response for GetConnectionSharedKey API service call. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param value: Required. The virtual network connection shared key value. + :type value: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, value: str, id: str=None, **kwargs) -> None: + super(ConnectionSharedKey, self).__init__(id=id, **kwargs) + self.value = value diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_state_snapshot.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_state_snapshot.py new file mode 100644 index 000000000000..c35ec8ebddca --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_state_snapshot.py @@ -0,0 +1,56 @@ +# 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.serialization import Model + + +class ConnectionStateSnapshot(Model): + """Connection state snapshot. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param connection_state: The connection state. Possible values include: + 'Reachable', 'Unreachable', 'Unknown' + :type connection_state: str or + ~azure.mgmt.network.v2018_04_01.models.ConnectionState + :param start_time: The start time of the connection snapshot. + :type start_time: datetime + :param end_time: The end time of the connection snapshot. + :type end_time: datetime + :param evaluation_state: Connectivity analysis evaluation state. Possible + values include: 'NotStarted', 'InProgress', 'Completed' + :type evaluation_state: str or + ~azure.mgmt.network.v2018_04_01.models.EvaluationState + :ivar hops: List of hops between the source and the destination. + :vartype hops: + list[~azure.mgmt.network.v2018_04_01.models.ConnectivityHop] + """ + + _validation = { + 'hops': {'readonly': True}, + } + + _attribute_map = { + 'connection_state': {'key': 'connectionState', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'evaluation_state': {'key': 'evaluationState', 'type': 'str'}, + 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, + } + + def __init__(self, **kwargs): + super(ConnectionStateSnapshot, self).__init__(**kwargs) + self.connection_state = kwargs.get('connection_state', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.evaluation_state = kwargs.get('evaluation_state', None) + self.hops = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_state_snapshot_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_state_snapshot_py3.py new file mode 100644 index 000000000000..359a15dd6f9a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connection_state_snapshot_py3.py @@ -0,0 +1,56 @@ +# 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.serialization import Model + + +class ConnectionStateSnapshot(Model): + """Connection state snapshot. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param connection_state: The connection state. Possible values include: + 'Reachable', 'Unreachable', 'Unknown' + :type connection_state: str or + ~azure.mgmt.network.v2018_04_01.models.ConnectionState + :param start_time: The start time of the connection snapshot. + :type start_time: datetime + :param end_time: The end time of the connection snapshot. + :type end_time: datetime + :param evaluation_state: Connectivity analysis evaluation state. Possible + values include: 'NotStarted', 'InProgress', 'Completed' + :type evaluation_state: str or + ~azure.mgmt.network.v2018_04_01.models.EvaluationState + :ivar hops: List of hops between the source and the destination. + :vartype hops: + list[~azure.mgmt.network.v2018_04_01.models.ConnectivityHop] + """ + + _validation = { + 'hops': {'readonly': True}, + } + + _attribute_map = { + 'connection_state': {'key': 'connectionState', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'evaluation_state': {'key': 'evaluationState', 'type': 'str'}, + 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, + } + + def __init__(self, *, connection_state=None, start_time=None, end_time=None, evaluation_state=None, **kwargs) -> None: + super(ConnectionStateSnapshot, self).__init__(**kwargs) + self.connection_state = connection_state + self.start_time = start_time + self.end_time = end_time + self.evaluation_state = evaluation_state + self.hops = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_destination.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_destination.py new file mode 100644 index 000000000000..964c425a29d3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_destination.py @@ -0,0 +1,38 @@ +# 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.serialization import Model + + +class ConnectivityDestination(Model): + """Parameters that define destination of connection. + + :param resource_id: The ID of the resource to which a connection attempt + will be made. + :type resource_id: str + :param address: The IP address or URI the resource to which a connection + attempt will be made. + :type address: str + :param port: Port on which check connectivity will be performed. + :type port: int + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectivityDestination, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.address = kwargs.get('address', None) + self.port = kwargs.get('port', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_destination_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_destination_py3.py new file mode 100644 index 000000000000..c51619081ed6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_destination_py3.py @@ -0,0 +1,38 @@ +# 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.serialization import Model + + +class ConnectivityDestination(Model): + """Parameters that define destination of connection. + + :param resource_id: The ID of the resource to which a connection attempt + will be made. + :type resource_id: str + :param address: The IP address or URI the resource to which a connection + attempt will be made. + :type address: str + :param port: Port on which check connectivity will be performed. + :type port: int + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, resource_id: str=None, address: str=None, port: int=None, **kwargs) -> None: + super(ConnectivityDestination, self).__init__(**kwargs) + self.resource_id = resource_id + self.address = address + self.port = port diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_hop.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_hop.py new file mode 100644 index 000000000000..6091e95bbc6f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_hop.py @@ -0,0 +1,61 @@ +# 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.serialization import Model + + +class ConnectivityHop(Model): + """Information about a hop between the source and the destination. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar type: The type of the hop. + :vartype type: str + :ivar id: The ID of the hop. + :vartype id: str + :ivar address: The IP address of the hop. + :vartype address: str + :ivar resource_id: The ID of the resource corresponding to this hop. + :vartype resource_id: str + :ivar next_hop_ids: List of next hop identifiers. + :vartype next_hop_ids: list[str] + :ivar issues: List of issues. + :vartype issues: + list[~azure.mgmt.network.v2018_04_01.models.ConnectivityIssue] + """ + + _validation = { + 'type': {'readonly': True}, + 'id': {'readonly': True}, + 'address': {'readonly': True}, + 'resource_id': {'readonly': True}, + 'next_hop_ids': {'readonly': True}, + 'issues': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'next_hop_ids': {'key': 'nextHopIds', 'type': '[str]'}, + 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, + } + + def __init__(self, **kwargs): + super(ConnectivityHop, self).__init__(**kwargs) + self.type = None + self.id = None + self.address = None + self.resource_id = None + self.next_hop_ids = None + self.issues = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_hop_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_hop_py3.py new file mode 100644 index 000000000000..05d93e6ebbe8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_hop_py3.py @@ -0,0 +1,61 @@ +# 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.serialization import Model + + +class ConnectivityHop(Model): + """Information about a hop between the source and the destination. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar type: The type of the hop. + :vartype type: str + :ivar id: The ID of the hop. + :vartype id: str + :ivar address: The IP address of the hop. + :vartype address: str + :ivar resource_id: The ID of the resource corresponding to this hop. + :vartype resource_id: str + :ivar next_hop_ids: List of next hop identifiers. + :vartype next_hop_ids: list[str] + :ivar issues: List of issues. + :vartype issues: + list[~azure.mgmt.network.v2018_04_01.models.ConnectivityIssue] + """ + + _validation = { + 'type': {'readonly': True}, + 'id': {'readonly': True}, + 'address': {'readonly': True}, + 'resource_id': {'readonly': True}, + 'next_hop_ids': {'readonly': True}, + 'issues': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'next_hop_ids': {'key': 'nextHopIds', 'type': '[str]'}, + 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, + } + + def __init__(self, **kwargs) -> None: + super(ConnectivityHop, self).__init__(**kwargs) + self.type = None + self.id = None + self.address = None + self.resource_id = None + self.next_hop_ids = None + self.issues = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_information.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_information.py new file mode 100644 index 000000000000..e26550e7638a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_information.py @@ -0,0 +1,68 @@ +# 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.serialization import Model + + +class ConnectivityInformation(Model): + """Information on the connectivity status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar hops: List of hops between the source and the destination. + :vartype hops: + list[~azure.mgmt.network.v2018_04_01.models.ConnectivityHop] + :ivar connection_status: The connection status. Possible values include: + 'Unknown', 'Connected', 'Disconnected', 'Degraded' + :vartype connection_status: str or + ~azure.mgmt.network.v2018_04_01.models.ConnectionStatus + :ivar avg_latency_in_ms: Average latency in milliseconds. + :vartype avg_latency_in_ms: int + :ivar min_latency_in_ms: Minimum latency in milliseconds. + :vartype min_latency_in_ms: int + :ivar max_latency_in_ms: Maximum latency in milliseconds. + :vartype max_latency_in_ms: int + :ivar probes_sent: Total number of probes sent. + :vartype probes_sent: int + :ivar probes_failed: Number of failed probes. + :vartype probes_failed: int + """ + + _validation = { + 'hops': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'avg_latency_in_ms': {'readonly': True}, + 'min_latency_in_ms': {'readonly': True}, + 'max_latency_in_ms': {'readonly': True}, + 'probes_sent': {'readonly': True}, + 'probes_failed': {'readonly': True}, + } + + _attribute_map = { + 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, + 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, + 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, + 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, + 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, + 'probes_sent': {'key': 'probesSent', 'type': 'int'}, + 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectivityInformation, self).__init__(**kwargs) + self.hops = None + self.connection_status = None + self.avg_latency_in_ms = None + self.min_latency_in_ms = None + self.max_latency_in_ms = None + self.probes_sent = None + self.probes_failed = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_information_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_information_py3.py new file mode 100644 index 000000000000..613d44ea262d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_information_py3.py @@ -0,0 +1,68 @@ +# 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.serialization import Model + + +class ConnectivityInformation(Model): + """Information on the connectivity status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar hops: List of hops between the source and the destination. + :vartype hops: + list[~azure.mgmt.network.v2018_04_01.models.ConnectivityHop] + :ivar connection_status: The connection status. Possible values include: + 'Unknown', 'Connected', 'Disconnected', 'Degraded' + :vartype connection_status: str or + ~azure.mgmt.network.v2018_04_01.models.ConnectionStatus + :ivar avg_latency_in_ms: Average latency in milliseconds. + :vartype avg_latency_in_ms: int + :ivar min_latency_in_ms: Minimum latency in milliseconds. + :vartype min_latency_in_ms: int + :ivar max_latency_in_ms: Maximum latency in milliseconds. + :vartype max_latency_in_ms: int + :ivar probes_sent: Total number of probes sent. + :vartype probes_sent: int + :ivar probes_failed: Number of failed probes. + :vartype probes_failed: int + """ + + _validation = { + 'hops': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'avg_latency_in_ms': {'readonly': True}, + 'min_latency_in_ms': {'readonly': True}, + 'max_latency_in_ms': {'readonly': True}, + 'probes_sent': {'readonly': True}, + 'probes_failed': {'readonly': True}, + } + + _attribute_map = { + 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, + 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, + 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, + 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, + 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, + 'probes_sent': {'key': 'probesSent', 'type': 'int'}, + 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, + } + + def __init__(self, **kwargs) -> None: + super(ConnectivityInformation, self).__init__(**kwargs) + self.hops = None + self.connection_status = None + self.avg_latency_in_ms = None + self.min_latency_in_ms = None + self.max_latency_in_ms = None + self.probes_sent = None + self.probes_failed = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_issue.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_issue.py new file mode 100644 index 000000000000..defd23b7f388 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_issue.py @@ -0,0 +1,55 @@ +# 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.serialization import Model + + +class ConnectivityIssue(Model): + """Information about an issue encountered in the process of checking for + connectivity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar origin: The origin of the issue. Possible values include: 'Local', + 'Inbound', 'Outbound' + :vartype origin: str or ~azure.mgmt.network.v2018_04_01.models.Origin + :ivar severity: The severity of the issue. Possible values include: + 'Error', 'Warning' + :vartype severity: str or ~azure.mgmt.network.v2018_04_01.models.Severity + :ivar type: The type of issue. Possible values include: 'Unknown', + 'AgentStopped', 'GuestFirewall', 'DnsResolution', 'SocketBind', + 'NetworkSecurityRule', 'UserDefinedRoute', 'PortThrottled', 'Platform' + :vartype type: str or ~azure.mgmt.network.v2018_04_01.models.IssueType + :ivar context: Provides additional context on the issue. + :vartype context: list[dict[str, str]] + """ + + _validation = { + 'origin': {'readonly': True}, + 'severity': {'readonly': True}, + 'type': {'readonly': True}, + 'context': {'readonly': True}, + } + + _attribute_map = { + 'origin': {'key': 'origin', 'type': 'str'}, + 'severity': {'key': 'severity', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'context': {'key': 'context', 'type': '[{str}]'}, + } + + def __init__(self, **kwargs): + super(ConnectivityIssue, self).__init__(**kwargs) + self.origin = None + self.severity = None + self.type = None + self.context = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_issue_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_issue_py3.py new file mode 100644 index 000000000000..fc0511e561cf --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_issue_py3.py @@ -0,0 +1,55 @@ +# 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.serialization import Model + + +class ConnectivityIssue(Model): + """Information about an issue encountered in the process of checking for + connectivity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar origin: The origin of the issue. Possible values include: 'Local', + 'Inbound', 'Outbound' + :vartype origin: str or ~azure.mgmt.network.v2018_04_01.models.Origin + :ivar severity: The severity of the issue. Possible values include: + 'Error', 'Warning' + :vartype severity: str or ~azure.mgmt.network.v2018_04_01.models.Severity + :ivar type: The type of issue. Possible values include: 'Unknown', + 'AgentStopped', 'GuestFirewall', 'DnsResolution', 'SocketBind', + 'NetworkSecurityRule', 'UserDefinedRoute', 'PortThrottled', 'Platform' + :vartype type: str or ~azure.mgmt.network.v2018_04_01.models.IssueType + :ivar context: Provides additional context on the issue. + :vartype context: list[dict[str, str]] + """ + + _validation = { + 'origin': {'readonly': True}, + 'severity': {'readonly': True}, + 'type': {'readonly': True}, + 'context': {'readonly': True}, + } + + _attribute_map = { + 'origin': {'key': 'origin', 'type': 'str'}, + 'severity': {'key': 'severity', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'context': {'key': 'context', 'type': '[{str}]'}, + } + + def __init__(self, **kwargs) -> None: + super(ConnectivityIssue, self).__init__(**kwargs) + self.origin = None + self.severity = None + self.type = None + self.context = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_parameters.py new file mode 100644 index 000000000000..b1c48ef2c94c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_parameters.py @@ -0,0 +1,50 @@ +# 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.serialization import Model + + +class ConnectivityParameters(Model): + """Parameters that determine how the connectivity check will be performed. + + All required parameters must be populated in order to send to Azure. + + :param source: Required. + :type source: ~azure.mgmt.network.v2018_04_01.models.ConnectivitySource + :param destination: Required. + :type destination: + ~azure.mgmt.network.v2018_04_01.models.ConnectivityDestination + :param protocol: Network protocol. Possible values include: 'Tcp', 'Http', + 'Https', 'Icmp' + :type protocol: str or ~azure.mgmt.network.v2018_04_01.models.Protocol + :param protocol_configuration: + :type protocol_configuration: + ~azure.mgmt.network.v2018_04_01.models.ProtocolConfiguration + """ + + _validation = { + 'source': {'required': True}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'source': {'key': 'source', 'type': 'ConnectivitySource'}, + 'destination': {'key': 'destination', 'type': 'ConnectivityDestination'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'protocol_configuration': {'key': 'protocolConfiguration', 'type': 'ProtocolConfiguration'}, + } + + def __init__(self, **kwargs): + super(ConnectivityParameters, self).__init__(**kwargs) + self.source = kwargs.get('source', None) + self.destination = kwargs.get('destination', None) + self.protocol = kwargs.get('protocol', None) + self.protocol_configuration = kwargs.get('protocol_configuration', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_parameters_py3.py new file mode 100644 index 000000000000..8dbc94e51501 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_parameters_py3.py @@ -0,0 +1,50 @@ +# 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.serialization import Model + + +class ConnectivityParameters(Model): + """Parameters that determine how the connectivity check will be performed. + + All required parameters must be populated in order to send to Azure. + + :param source: Required. + :type source: ~azure.mgmt.network.v2018_04_01.models.ConnectivitySource + :param destination: Required. + :type destination: + ~azure.mgmt.network.v2018_04_01.models.ConnectivityDestination + :param protocol: Network protocol. Possible values include: 'Tcp', 'Http', + 'Https', 'Icmp' + :type protocol: str or ~azure.mgmt.network.v2018_04_01.models.Protocol + :param protocol_configuration: + :type protocol_configuration: + ~azure.mgmt.network.v2018_04_01.models.ProtocolConfiguration + """ + + _validation = { + 'source': {'required': True}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'source': {'key': 'source', 'type': 'ConnectivitySource'}, + 'destination': {'key': 'destination', 'type': 'ConnectivityDestination'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'protocol_configuration': {'key': 'protocolConfiguration', 'type': 'ProtocolConfiguration'}, + } + + def __init__(self, *, source, destination, protocol=None, protocol_configuration=None, **kwargs) -> None: + super(ConnectivityParameters, self).__init__(**kwargs) + self.source = source + self.destination = destination + self.protocol = protocol + self.protocol_configuration = protocol_configuration diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_source.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_source.py new file mode 100644 index 000000000000..3fd82793f8d7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_source.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class ConnectivitySource(Model): + """Parameters that define the source of the connection. + + All required parameters must be populated in order to send to Azure. + + :param resource_id: Required. The ID of the resource from which a + connectivity check will be initiated. + :type resource_id: str + :param port: The source port from which a connectivity check will be + performed. + :type port: int + """ + + _validation = { + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectivitySource, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.port = kwargs.get('port', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_source_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_source_py3.py new file mode 100644 index 000000000000..f7833d1bef76 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/connectivity_source_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class ConnectivitySource(Model): + """Parameters that define the source of the connection. + + All required parameters must be populated in order to send to Azure. + + :param resource_id: Required. The ID of the resource from which a + connectivity check will be initiated. + :type resource_id: str + :param port: The source port from which a connectivity check will be + performed. + :type port: int + """ + + _validation = { + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, resource_id: str, port: int=None, **kwargs) -> None: + super(ConnectivitySource, self).__init__(**kwargs) + self.resource_id = resource_id + self.port = port diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ddos_protection_plan.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ddos_protection_plan.py new file mode 100644 index 000000000000..0b31b7a729a0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ddos_protection_plan.py @@ -0,0 +1,81 @@ +# 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.serialization import Model + + +class DdosProtectionPlan(Model): + """A DDoS protection plan in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar resource_guid: The resource GUID property of the DDoS protection + plan resource. It uniquely identifies the resource, even if the user + changes its name or migrate the resource across subscriptions or resource + groups. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the DDoS protection + plan resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', + and 'Failed'. + :vartype provisioning_state: str + :ivar virtual_networks: The list of virtual networks associated with the + DDoS protection plan resource. This list is read-only. + :vartype virtual_networks: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'virtual_networks': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[SubResource]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DdosProtectionPlan, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.resource_guid = None + self.provisioning_state = None + self.virtual_networks = None + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ddos_protection_plan_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ddos_protection_plan_paged.py new file mode 100644 index 000000000000..8a183521a1b1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ddos_protection_plan_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 DdosProtectionPlanPaged(Paged): + """ + A paging container for iterating over a list of :class:`DdosProtectionPlan ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DdosProtectionPlan]'} + } + + def __init__(self, *args, **kwargs): + + super(DdosProtectionPlanPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ddos_protection_plan_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ddos_protection_plan_py3.py new file mode 100644 index 000000000000..68c557629543 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ddos_protection_plan_py3.py @@ -0,0 +1,81 @@ +# 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.serialization import Model + + +class DdosProtectionPlan(Model): + """A DDoS protection plan in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar resource_guid: The resource GUID property of the DDoS protection + plan resource. It uniquely identifies the resource, even if the user + changes its name or migrate the resource across subscriptions or resource + groups. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the DDoS protection + plan resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', + and 'Failed'. + :vartype provisioning_state: str + :ivar virtual_networks: The list of virtual networks associated with the + DDoS protection plan resource. This list is read-only. + :vartype virtual_networks: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'virtual_networks': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[SubResource]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: + super(DdosProtectionPlan, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + self.resource_guid = None + self.provisioning_state = None + self.virtual_networks = None + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/device_properties.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/device_properties.py new file mode 100644 index 000000000000..8a1653ad020b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/device_properties.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class DeviceProperties(Model): + """List of properties of the device. + + :param device_vendor: Name of the device Vendor. + :type device_vendor: str + :param device_model: Model of the device. + :type device_model: str + :param link_speed_in_mbps: Link speed. + :type link_speed_in_mbps: int + """ + + _attribute_map = { + 'device_vendor': {'key': 'deviceVendor', 'type': 'str'}, + 'device_model': {'key': 'deviceModel', 'type': 'str'}, + 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(DeviceProperties, self).__init__(**kwargs) + self.device_vendor = kwargs.get('device_vendor', None) + self.device_model = kwargs.get('device_model', None) + self.link_speed_in_mbps = kwargs.get('link_speed_in_mbps', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/device_properties_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/device_properties_py3.py new file mode 100644 index 000000000000..03d9850cbf21 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/device_properties_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class DeviceProperties(Model): + """List of properties of the device. + + :param device_vendor: Name of the device Vendor. + :type device_vendor: str + :param device_model: Model of the device. + :type device_model: str + :param link_speed_in_mbps: Link speed. + :type link_speed_in_mbps: int + """ + + _attribute_map = { + 'device_vendor': {'key': 'deviceVendor', 'type': 'str'}, + 'device_model': {'key': 'deviceModel', 'type': 'str'}, + 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, + } + + def __init__(self, *, device_vendor: str=None, device_model: str=None, link_speed_in_mbps: int=None, **kwargs) -> None: + super(DeviceProperties, self).__init__(**kwargs) + self.device_vendor = device_vendor + self.device_model = device_model + self.link_speed_in_mbps = link_speed_in_mbps diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/dhcp_options.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/dhcp_options.py new file mode 100644 index 000000000000..93b68a7f037c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/dhcp_options.py @@ -0,0 +1,30 @@ +# 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.serialization import Model + + +class DhcpOptions(Model): + """DhcpOptions contains an array of DNS servers available to VMs deployed in + the virtual network. Standard DHCP option for a subnet overrides VNET DHCP + options. + + :param dns_servers: The list of DNS servers IP addresses. + :type dns_servers: list[str] + """ + + _attribute_map = { + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(DhcpOptions, self).__init__(**kwargs) + self.dns_servers = kwargs.get('dns_servers', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/dhcp_options_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/dhcp_options_py3.py new file mode 100644 index 000000000000..7dc4651973a5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/dhcp_options_py3.py @@ -0,0 +1,30 @@ +# 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.serialization import Model + + +class DhcpOptions(Model): + """DhcpOptions contains an array of DNS servers available to VMs deployed in + the virtual network. Standard DHCP option for a subnet overrides VNET DHCP + options. + + :param dns_servers: The list of DNS servers IP addresses. + :type dns_servers: list[str] + """ + + _attribute_map = { + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + } + + def __init__(self, *, dns_servers=None, **kwargs) -> None: + super(DhcpOptions, self).__init__(**kwargs) + self.dns_servers = dns_servers diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/dimension.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/dimension.py new file mode 100644 index 000000000000..e9c8cd977a54 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/dimension.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class Dimension(Model): + """Dimension of the metric. + + :param name: The name of the dimension. + :type name: str + :param display_name: The display name of the dimension. + :type display_name: str + :param internal_name: The internal name of the dimension. + :type internal_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'internal_name': {'key': 'internalName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Dimension, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.internal_name = kwargs.get('internal_name', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/dimension_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/dimension_py3.py new file mode 100644 index 000000000000..20743b6424c1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/dimension_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class Dimension(Model): + """Dimension of the metric. + + :param name: The name of the dimension. + :type name: str + :param display_name: The display name of the dimension. + :type display_name: str + :param internal_name: The internal name of the dimension. + :type internal_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'internal_name': {'key': 'internalName', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, internal_name: str=None, **kwargs) -> None: + super(Dimension, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.internal_name = internal_name diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/dns_name_availability_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/dns_name_availability_result.py new file mode 100644 index 000000000000..86ba19eb407b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/dns_name_availability_result.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class DnsNameAvailabilityResult(Model): + """Response for the CheckDnsNameAvailability API service call. + + :param available: Domain availability (True/False). + :type available: bool + """ + + _attribute_map = { + 'available': {'key': 'available', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(DnsNameAvailabilityResult, self).__init__(**kwargs) + self.available = kwargs.get('available', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/dns_name_availability_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/dns_name_availability_result_py3.py new file mode 100644 index 000000000000..de0117c27715 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/dns_name_availability_result_py3.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class DnsNameAvailabilityResult(Model): + """Response for the CheckDnsNameAvailability API service call. + + :param available: Domain availability (True/False). + :type available: bool + """ + + _attribute_map = { + 'available': {'key': 'available', 'type': 'bool'}, + } + + def __init__(self, *, available: bool=None, **kwargs) -> None: + super(DnsNameAvailabilityResult, self).__init__(**kwargs) + self.available = available diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_group.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_group.py new file mode 100644 index 000000000000..64adb1f50c2c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_group.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class EffectiveNetworkSecurityGroup(Model): + """Effective network security group. + + :param network_security_group: The ID of network security group that is + applied. + :type network_security_group: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param association: Associated resources. + :type association: + ~azure.mgmt.network.v2018_04_01.models.EffectiveNetworkSecurityGroupAssociation + :param effective_security_rules: A collection of effective security rules. + :type effective_security_rules: + list[~azure.mgmt.network.v2018_04_01.models.EffectiveNetworkSecurityRule] + :param tag_map: Mapping of tags to list of IP Addresses included within + the tag. + :type tag_map: dict[str, list[str]] + """ + + _attribute_map = { + 'network_security_group': {'key': 'networkSecurityGroup', 'type': 'SubResource'}, + 'association': {'key': 'association', 'type': 'EffectiveNetworkSecurityGroupAssociation'}, + 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, + 'tag_map': {'key': 'tagMap', 'type': '{[str]}'}, + } + + def __init__(self, **kwargs): + super(EffectiveNetworkSecurityGroup, self).__init__(**kwargs) + self.network_security_group = kwargs.get('network_security_group', None) + self.association = kwargs.get('association', None) + self.effective_security_rules = kwargs.get('effective_security_rules', None) + self.tag_map = kwargs.get('tag_map', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_group_association.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_group_association.py new file mode 100644 index 000000000000..1ca3174ef7ba --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_group_association.py @@ -0,0 +1,33 @@ +# 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.serialization import Model + + +class EffectiveNetworkSecurityGroupAssociation(Model): + """The effective network security group association. + + :param subnet: The ID of the subnet if assigned. + :type subnet: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param network_interface: The ID of the network interface if assigned. + :type network_interface: + ~azure.mgmt.network.v2018_04_01.models.SubResource + """ + + _attribute_map = { + 'subnet': {'key': 'subnet', 'type': 'SubResource'}, + 'network_interface': {'key': 'networkInterface', 'type': 'SubResource'}, + } + + def __init__(self, **kwargs): + super(EffectiveNetworkSecurityGroupAssociation, self).__init__(**kwargs) + self.subnet = kwargs.get('subnet', None) + self.network_interface = kwargs.get('network_interface', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_group_association_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_group_association_py3.py new file mode 100644 index 000000000000..459490fb814a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_group_association_py3.py @@ -0,0 +1,33 @@ +# 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.serialization import Model + + +class EffectiveNetworkSecurityGroupAssociation(Model): + """The effective network security group association. + + :param subnet: The ID of the subnet if assigned. + :type subnet: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param network_interface: The ID of the network interface if assigned. + :type network_interface: + ~azure.mgmt.network.v2018_04_01.models.SubResource + """ + + _attribute_map = { + 'subnet': {'key': 'subnet', 'type': 'SubResource'}, + 'network_interface': {'key': 'networkInterface', 'type': 'SubResource'}, + } + + def __init__(self, *, subnet=None, network_interface=None, **kwargs) -> None: + super(EffectiveNetworkSecurityGroupAssociation, self).__init__(**kwargs) + self.subnet = subnet + self.network_interface = network_interface diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_group_list_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_group_list_result.py new file mode 100644 index 000000000000..7e8f49e8b5ac --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_group_list_result.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class EffectiveNetworkSecurityGroupListResult(Model): + """Response for list effective network security groups API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of effective network security groups. + :type value: + list[~azure.mgmt.network.v2018_04_01.models.EffectiveNetworkSecurityGroup] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EffectiveNetworkSecurityGroup]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EffectiveNetworkSecurityGroupListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_group_list_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_group_list_result_py3.py new file mode 100644 index 000000000000..bf4ea5ed2a4b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_group_list_result_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class EffectiveNetworkSecurityGroupListResult(Model): + """Response for list effective network security groups API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of effective network security groups. + :type value: + list[~azure.mgmt.network.v2018_04_01.models.EffectiveNetworkSecurityGroup] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EffectiveNetworkSecurityGroup]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(EffectiveNetworkSecurityGroupListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_group_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_group_py3.py new file mode 100644 index 000000000000..69b31aa35637 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_group_py3.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class EffectiveNetworkSecurityGroup(Model): + """Effective network security group. + + :param network_security_group: The ID of network security group that is + applied. + :type network_security_group: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param association: Associated resources. + :type association: + ~azure.mgmt.network.v2018_04_01.models.EffectiveNetworkSecurityGroupAssociation + :param effective_security_rules: A collection of effective security rules. + :type effective_security_rules: + list[~azure.mgmt.network.v2018_04_01.models.EffectiveNetworkSecurityRule] + :param tag_map: Mapping of tags to list of IP Addresses included within + the tag. + :type tag_map: dict[str, list[str]] + """ + + _attribute_map = { + 'network_security_group': {'key': 'networkSecurityGroup', 'type': 'SubResource'}, + 'association': {'key': 'association', 'type': 'EffectiveNetworkSecurityGroupAssociation'}, + 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, + 'tag_map': {'key': 'tagMap', 'type': '{[str]}'}, + } + + def __init__(self, *, network_security_group=None, association=None, effective_security_rules=None, tag_map=None, **kwargs) -> None: + super(EffectiveNetworkSecurityGroup, self).__init__(**kwargs) + self.network_security_group = network_security_group + self.association = association + self.effective_security_rules = effective_security_rules + self.tag_map = tag_map diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_rule.py new file mode 100644 index 000000000000..25213de2cb08 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_rule.py @@ -0,0 +1,101 @@ +# 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.serialization import Model + + +class EffectiveNetworkSecurityRule(Model): + """Effective network security rules. + + :param name: The name of the security rule specified by the user (if + created by the user). + :type name: str + :param protocol: The network protocol this rule applies to. Possible + values are: 'Tcp', 'Udp', and 'All'. Possible values include: 'Tcp', + 'Udp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2018_04_01.models.EffectiveSecurityRuleProtocol + :param source_port_range: The source port or range. + :type source_port_range: str + :param destination_port_range: The destination port or range. + :type destination_port_range: str + :param source_port_ranges: The source port ranges. Expected values include + a single integer between 0 and 65535, a range using '-' as seperator (e.g. + 100-400), or an asterix (*) + :type source_port_ranges: list[str] + :param destination_port_ranges: The destination port ranges. Expected + values include a single integer between 0 and 65535, a range using '-' as + seperator (e.g. 100-400), or an asterix (*) + :type destination_port_ranges: list[str] + :param source_address_prefix: The source address prefix. + :type source_address_prefix: str + :param destination_address_prefix: The destination address prefix. + :type destination_address_prefix: str + :param source_address_prefixes: The source address prefixes. Expected + values include CIDR IP ranges, Default Tags (VirtualNetwork, + AureLoadBalancer, Internet), System Tags, and the asterix (*). + :type source_address_prefixes: list[str] + :param destination_address_prefixes: The destination address prefixes. + Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, + AureLoadBalancer, Internet), System Tags, and the asterix (*). + :type destination_address_prefixes: list[str] + :param expanded_source_address_prefix: The expanded source address prefix. + :type expanded_source_address_prefix: list[str] + :param expanded_destination_address_prefix: Expanded destination address + prefix. + :type expanded_destination_address_prefix: list[str] + :param access: Whether network traffic is allowed or denied. Possible + values are: 'Allow' and 'Deny'. Possible values include: 'Allow', 'Deny' + :type access: str or + ~azure.mgmt.network.v2018_04_01.models.SecurityRuleAccess + :param priority: The priority of the rule. + :type priority: int + :param direction: The direction of the rule. Possible values are: 'Inbound + and Outbound'. Possible values include: 'Inbound', 'Outbound' + :type direction: str or + ~azure.mgmt.network.v2018_04_01.models.SecurityRuleDirection + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, + 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, + 'source_port_ranges': {'key': 'sourcePortRanges', 'type': '[str]'}, + 'destination_port_ranges': {'key': 'destinationPortRanges', 'type': '[str]'}, + 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, + 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, + 'source_address_prefixes': {'key': 'sourceAddressPrefixes', 'type': '[str]'}, + 'destination_address_prefixes': {'key': 'destinationAddressPrefixes', 'type': '[str]'}, + 'expanded_source_address_prefix': {'key': 'expandedSourceAddressPrefix', 'type': '[str]'}, + 'expanded_destination_address_prefix': {'key': 'expandedDestinationAddressPrefix', 'type': '[str]'}, + 'access': {'key': 'access', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'direction': {'key': 'direction', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EffectiveNetworkSecurityRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.protocol = kwargs.get('protocol', None) + self.source_port_range = kwargs.get('source_port_range', None) + self.destination_port_range = kwargs.get('destination_port_range', None) + self.source_port_ranges = kwargs.get('source_port_ranges', None) + self.destination_port_ranges = kwargs.get('destination_port_ranges', None) + self.source_address_prefix = kwargs.get('source_address_prefix', None) + self.destination_address_prefix = kwargs.get('destination_address_prefix', None) + self.source_address_prefixes = kwargs.get('source_address_prefixes', None) + self.destination_address_prefixes = kwargs.get('destination_address_prefixes', None) + self.expanded_source_address_prefix = kwargs.get('expanded_source_address_prefix', None) + self.expanded_destination_address_prefix = kwargs.get('expanded_destination_address_prefix', None) + self.access = kwargs.get('access', None) + self.priority = kwargs.get('priority', None) + self.direction = kwargs.get('direction', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_rule_py3.py new file mode 100644 index 000000000000..4cfec64403c9 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_network_security_rule_py3.py @@ -0,0 +1,101 @@ +# 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.serialization import Model + + +class EffectiveNetworkSecurityRule(Model): + """Effective network security rules. + + :param name: The name of the security rule specified by the user (if + created by the user). + :type name: str + :param protocol: The network protocol this rule applies to. Possible + values are: 'Tcp', 'Udp', and 'All'. Possible values include: 'Tcp', + 'Udp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2018_04_01.models.EffectiveSecurityRuleProtocol + :param source_port_range: The source port or range. + :type source_port_range: str + :param destination_port_range: The destination port or range. + :type destination_port_range: str + :param source_port_ranges: The source port ranges. Expected values include + a single integer between 0 and 65535, a range using '-' as seperator (e.g. + 100-400), or an asterix (*) + :type source_port_ranges: list[str] + :param destination_port_ranges: The destination port ranges. Expected + values include a single integer between 0 and 65535, a range using '-' as + seperator (e.g. 100-400), or an asterix (*) + :type destination_port_ranges: list[str] + :param source_address_prefix: The source address prefix. + :type source_address_prefix: str + :param destination_address_prefix: The destination address prefix. + :type destination_address_prefix: str + :param source_address_prefixes: The source address prefixes. Expected + values include CIDR IP ranges, Default Tags (VirtualNetwork, + AureLoadBalancer, Internet), System Tags, and the asterix (*). + :type source_address_prefixes: list[str] + :param destination_address_prefixes: The destination address prefixes. + Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, + AureLoadBalancer, Internet), System Tags, and the asterix (*). + :type destination_address_prefixes: list[str] + :param expanded_source_address_prefix: The expanded source address prefix. + :type expanded_source_address_prefix: list[str] + :param expanded_destination_address_prefix: Expanded destination address + prefix. + :type expanded_destination_address_prefix: list[str] + :param access: Whether network traffic is allowed or denied. Possible + values are: 'Allow' and 'Deny'. Possible values include: 'Allow', 'Deny' + :type access: str or + ~azure.mgmt.network.v2018_04_01.models.SecurityRuleAccess + :param priority: The priority of the rule. + :type priority: int + :param direction: The direction of the rule. Possible values are: 'Inbound + and Outbound'. Possible values include: 'Inbound', 'Outbound' + :type direction: str or + ~azure.mgmt.network.v2018_04_01.models.SecurityRuleDirection + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, + 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, + 'source_port_ranges': {'key': 'sourcePortRanges', 'type': '[str]'}, + 'destination_port_ranges': {'key': 'destinationPortRanges', 'type': '[str]'}, + 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, + 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, + 'source_address_prefixes': {'key': 'sourceAddressPrefixes', 'type': '[str]'}, + 'destination_address_prefixes': {'key': 'destinationAddressPrefixes', 'type': '[str]'}, + 'expanded_source_address_prefix': {'key': 'expandedSourceAddressPrefix', 'type': '[str]'}, + 'expanded_destination_address_prefix': {'key': 'expandedDestinationAddressPrefix', 'type': '[str]'}, + 'access': {'key': 'access', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'direction': {'key': 'direction', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, protocol=None, source_port_range: str=None, destination_port_range: str=None, source_port_ranges=None, destination_port_ranges=None, source_address_prefix: str=None, destination_address_prefix: str=None, source_address_prefixes=None, destination_address_prefixes=None, expanded_source_address_prefix=None, expanded_destination_address_prefix=None, access=None, priority: int=None, direction=None, **kwargs) -> None: + super(EffectiveNetworkSecurityRule, self).__init__(**kwargs) + self.name = name + self.protocol = protocol + self.source_port_range = source_port_range + self.destination_port_range = destination_port_range + self.source_port_ranges = source_port_ranges + self.destination_port_ranges = destination_port_ranges + self.source_address_prefix = source_address_prefix + self.destination_address_prefix = destination_address_prefix + self.source_address_prefixes = source_address_prefixes + self.destination_address_prefixes = destination_address_prefixes + self.expanded_source_address_prefix = expanded_source_address_prefix + self.expanded_destination_address_prefix = expanded_destination_address_prefix + self.access = access + self.priority = priority + self.direction = direction diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_route.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_route.py new file mode 100644 index 000000000000..dc3b3e6dcb56 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_route.py @@ -0,0 +1,60 @@ +# 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.serialization import Model + + +class EffectiveRoute(Model): + """Effective Route. + + :param name: The name of the user defined route. This is optional. + :type name: str + :param source: Who created the route. Possible values are: 'Unknown', + 'User', 'VirtualNetworkGateway', and 'Default'. Possible values include: + 'Unknown', 'User', 'VirtualNetworkGateway', 'Default' + :type source: str or + ~azure.mgmt.network.v2018_04_01.models.EffectiveRouteSource + :param state: The value of effective route. Possible values are: 'Active' + and 'Invalid'. Possible values include: 'Active', 'Invalid' + :type state: str or + ~azure.mgmt.network.v2018_04_01.models.EffectiveRouteState + :param address_prefix: The address prefixes of the effective routes in + CIDR notation. + :type address_prefix: list[str] + :param next_hop_ip_address: The IP address of the next hop of the + effective route. + :type next_hop_ip_address: list[str] + :param next_hop_type: The type of Azure hop the packet should be sent to. + Possible values are: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', + 'VirtualAppliance', and 'None'. Possible values include: + 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', + 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2018_04_01.models.RouteNextHopType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'address_prefix': {'key': 'addressPrefix', 'type': '[str]'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': '[str]'}, + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EffectiveRoute, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.source = kwargs.get('source', None) + self.state = kwargs.get('state', None) + self.address_prefix = kwargs.get('address_prefix', None) + self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) + self.next_hop_type = kwargs.get('next_hop_type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_route_list_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_route_list_result.py new file mode 100644 index 000000000000..75aab4471746 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_route_list_result.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class EffectiveRouteListResult(Model): + """Response for list effective route API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of effective routes. + :type value: list[~azure.mgmt.network.v2018_04_01.models.EffectiveRoute] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EffectiveRoute]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EffectiveRouteListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_route_list_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_route_list_result_py3.py new file mode 100644 index 000000000000..1066b8c19d21 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_route_list_result_py3.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class EffectiveRouteListResult(Model): + """Response for list effective route API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of effective routes. + :type value: list[~azure.mgmt.network.v2018_04_01.models.EffectiveRoute] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EffectiveRoute]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(EffectiveRouteListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_route_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_route_py3.py new file mode 100644 index 000000000000..eb30bbd71676 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/effective_route_py3.py @@ -0,0 +1,60 @@ +# 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.serialization import Model + + +class EffectiveRoute(Model): + """Effective Route. + + :param name: The name of the user defined route. This is optional. + :type name: str + :param source: Who created the route. Possible values are: 'Unknown', + 'User', 'VirtualNetworkGateway', and 'Default'. Possible values include: + 'Unknown', 'User', 'VirtualNetworkGateway', 'Default' + :type source: str or + ~azure.mgmt.network.v2018_04_01.models.EffectiveRouteSource + :param state: The value of effective route. Possible values are: 'Active' + and 'Invalid'. Possible values include: 'Active', 'Invalid' + :type state: str or + ~azure.mgmt.network.v2018_04_01.models.EffectiveRouteState + :param address_prefix: The address prefixes of the effective routes in + CIDR notation. + :type address_prefix: list[str] + :param next_hop_ip_address: The IP address of the next hop of the + effective route. + :type next_hop_ip_address: list[str] + :param next_hop_type: The type of Azure hop the packet should be sent to. + Possible values are: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', + 'VirtualAppliance', and 'None'. Possible values include: + 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', + 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2018_04_01.models.RouteNextHopType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'address_prefix': {'key': 'addressPrefix', 'type': '[str]'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': '[str]'}, + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, source=None, state=None, address_prefix=None, next_hop_ip_address=None, next_hop_type=None, **kwargs) -> None: + super(EffectiveRoute, self).__init__(**kwargs) + self.name = name + self.source = source + self.state = state + self.address_prefix = address_prefix + self.next_hop_ip_address = next_hop_ip_address + self.next_hop_type = next_hop_type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/endpoint_service_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/endpoint_service_result.py new file mode 100644 index 000000000000..9ca0e203a834 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/endpoint_service_result.py @@ -0,0 +1,43 @@ +# 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 EndpointServiceResult(SubResource): + """Endpoint service. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Name of the endpoint service. + :vartype name: str + :ivar type: Type of the endpoint service. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EndpointServiceResult, self).__init__(**kwargs) + self.name = None + self.type = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/endpoint_service_result_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/endpoint_service_result_paged.py new file mode 100644 index 000000000000..9401a91810de --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/endpoint_service_result_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 EndpointServiceResultPaged(Paged): + """ + A paging container for iterating over a list of :class:`EndpointServiceResult ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[EndpointServiceResult]'} + } + + def __init__(self, *args, **kwargs): + + super(EndpointServiceResultPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/endpoint_service_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/endpoint_service_result_py3.py new file mode 100644 index 000000000000..489a2a2681ca --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/endpoint_service_result_py3.py @@ -0,0 +1,43 @@ +# 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 EndpointServiceResult(SubResource): + """Endpoint service. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Name of the endpoint service. + :vartype name: str + :ivar type: Type of the endpoint service. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(EndpointServiceResult, self).__init__(id=id, **kwargs) + self.name = None + self.type = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/error.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/error.py new file mode 100644 index 000000000000..1ce52aa70876 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/error.py @@ -0,0 +1,57 @@ +# 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.serialization import Model +from msrest.exceptions import HttpOperationError + + +class Error(Model): + """Error. + + :param code: + :type code: str + :param message: + :type message: str + :param target: + :type target: str + :param details: + :type details: list[~azure.mgmt.network.v2018_04_01.models.ErrorDetails] + :param inner_error: + :type inner_error: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDetails]'}, + 'inner_error': {'key': 'innerError', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Error, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + self.inner_error = kwargs.get('inner_error', None) + + +class ErrorException(HttpOperationError): + """Server responsed with exception of type: 'Error'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorException, self).__init__(deserialize, response, 'Error', *args) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/error_details.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/error_details.py new file mode 100644 index 000000000000..a8c4da6ba955 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/error_details.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class ErrorDetails(Model): + """ErrorDetails. + + :param code: + :type code: str + :param target: + :type target: str + :param message: + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorDetails, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.target = kwargs.get('target', None) + self.message = kwargs.get('message', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/error_details_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/error_details_py3.py new file mode 100644 index 000000000000..d791f0895345 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/error_details_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class ErrorDetails(Model): + """ErrorDetails. + + :param code: + :type code: str + :param target: + :type target: str + :param message: + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, target: str=None, message: str=None, **kwargs) -> None: + super(ErrorDetails, self).__init__(**kwargs) + self.code = code + self.target = target + self.message = message diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/error_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/error_py3.py new file mode 100644 index 000000000000..4ca43e9181e9 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/error_py3.py @@ -0,0 +1,57 @@ +# 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.serialization import Model +from msrest.exceptions import HttpOperationError + + +class Error(Model): + """Error. + + :param code: + :type code: str + :param message: + :type message: str + :param target: + :type target: str + :param details: + :type details: list[~azure.mgmt.network.v2018_04_01.models.ErrorDetails] + :param inner_error: + :type inner_error: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDetails]'}, + 'inner_error': {'key': 'innerError', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, inner_error: str=None, **kwargs) -> None: + super(Error, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + self.inner_error = inner_error + + +class ErrorException(HttpOperationError): + """Server responsed with exception of type: 'Error'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorException, self).__init__(deserialize, response, 'Error', *args) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit.py new file mode 100644 index 000000000000..2e2d3e62a05f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit.py @@ -0,0 +1,107 @@ +# 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 .resource import Resource + + +class ExpressRouteCircuit(Resource): + """ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The SKU. + :type sku: ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitSku + :param allow_classic_operations: Allow classic operations + :type allow_classic_operations: bool + :param circuit_provisioning_state: The CircuitProvisioningState state of + the resource. + :type circuit_provisioning_state: str + :param service_provider_provisioning_state: The + ServiceProviderProvisioningState state of the resource. Possible values + are 'NotProvisioned', 'Provisioning', 'Provisioned', and 'Deprovisioning'. + Possible values include: 'NotProvisioned', 'Provisioning', 'Provisioned', + 'Deprovisioning' + :type service_provider_provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ServiceProviderProvisioningState + :param authorizations: The list of authorizations. + :type authorizations: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitAuthorization] + :param peerings: The list of peerings. + :type peerings: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeering] + :param service_key: The ServiceKey. + :type service_key: str + :param service_provider_notes: The ServiceProviderNotes. + :type service_provider_notes: str + :param service_provider_properties: The ServiceProviderProperties. + :type service_provider_properties: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitServiceProviderProperties + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, + 'allow_classic_operations': {'key': 'properties.allowClassicOperations', 'type': 'bool'}, + 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, + 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, + 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, + 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, + 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuit, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.allow_classic_operations = kwargs.get('allow_classic_operations', None) + self.circuit_provisioning_state = kwargs.get('circuit_provisioning_state', None) + self.service_provider_provisioning_state = kwargs.get('service_provider_provisioning_state', None) + self.authorizations = kwargs.get('authorizations', None) + self.peerings = kwargs.get('peerings', None) + self.service_key = kwargs.get('service_key', None) + self.service_provider_notes = kwargs.get('service_provider_notes', None) + self.service_provider_properties = kwargs.get('service_provider_properties', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_arp_table.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_arp_table.py new file mode 100644 index 000000000000..ed7864d35e09 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_arp_table.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitArpTable(Model): + """The ARP table associated with the ExpressRouteCircuit. + + :param age: Entry age in minutes + :type age: int + :param interface: Interface address + :type interface: str + :param ip_address: The IP address. + :type ip_address: str + :param mac_address: The MAC address. + :type mac_address: str + """ + + _attribute_map = { + 'age': {'key': 'age', 'type': 'int'}, + 'interface': {'key': 'interface', 'type': 'str'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'mac_address': {'key': 'macAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) + self.age = kwargs.get('age', None) + self.interface = kwargs.get('interface', None) + self.ip_address = kwargs.get('ip_address', None) + self.mac_address = kwargs.get('mac_address', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_arp_table_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_arp_table_py3.py new file mode 100644 index 000000000000..e8c637a092d4 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_arp_table_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitArpTable(Model): + """The ARP table associated with the ExpressRouteCircuit. + + :param age: Entry age in minutes + :type age: int + :param interface: Interface address + :type interface: str + :param ip_address: The IP address. + :type ip_address: str + :param mac_address: The MAC address. + :type mac_address: str + """ + + _attribute_map = { + 'age': {'key': 'age', 'type': 'int'}, + 'interface': {'key': 'interface', 'type': 'str'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'mac_address': {'key': 'macAddress', 'type': 'str'}, + } + + def __init__(self, *, age: int=None, interface: str=None, ip_address: str=None, mac_address: str=None, **kwargs) -> None: + super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) + self.age = age + self.interface = interface + self.ip_address = ip_address + self.mac_address = mac_address diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_authorization.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_authorization.py new file mode 100644 index 000000000000..2722c869d6b0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_authorization.py @@ -0,0 +1,60 @@ +# 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 ExpressRouteCircuitAuthorization(SubResource): + """Authorization in an ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param authorization_key: The authorization key. + :type authorization_key: str + :param authorization_use_status: AuthorizationUseStatus. Possible values + are: 'Available' and 'InUse'. Possible values include: 'Available', + 'InUse' + :type authorization_use_status: str or + ~azure.mgmt.network.v2018_04_01.models.AuthorizationUseStatus + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type 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 = { + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'authorization_use_status': {'key': 'properties.authorizationUseStatus', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitAuthorization, self).__init__(**kwargs) + self.authorization_key = kwargs.get('authorization_key', None) + self.authorization_use_status = kwargs.get('authorization_use_status', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_authorization_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_authorization_paged.py new file mode 100644 index 000000000000..68f1bfb1b90a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_authorization_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 ExpressRouteCircuitAuthorizationPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCircuitAuthorization ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuitAuthorization]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCircuitAuthorizationPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_authorization_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_authorization_py3.py new file mode 100644 index 000000000000..7f8d831858bf --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_authorization_py3.py @@ -0,0 +1,60 @@ +# 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 ExpressRouteCircuitAuthorization(SubResource): + """Authorization in an ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param authorization_key: The authorization key. + :type authorization_key: str + :param authorization_use_status: AuthorizationUseStatus. Possible values + are: 'Available' and 'InUse'. Possible values include: 'Available', + 'InUse' + :type authorization_use_status: str or + ~azure.mgmt.network.v2018_04_01.models.AuthorizationUseStatus + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type 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 = { + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'authorization_use_status': {'key': 'properties.authorizationUseStatus', '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, authorization_key: str=None, authorization_use_status=None, provisioning_state: str=None, name: str=None, **kwargs) -> None: + super(ExpressRouteCircuitAuthorization, self).__init__(id=id, **kwargs) + self.authorization_key = authorization_key + self.authorization_use_status = authorization_use_status + self.provisioning_state = provisioning_state + self.name = name + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_connection.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_connection.py new file mode 100644 index 000000000000..bd47ce4926e7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_connection.py @@ -0,0 +1,80 @@ +# 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 ExpressRouteCircuitConnection(SubResource): + """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 initiating connection. + :type express_route_circuit_peering: + ~azure.mgmt.network.v2018_04_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_04_01.models.SubResource + :param address_prefix: /29 IP address space to carve out Customer + addresses for tunnels. + :type address_prefix: str + :param authorization_key: The authorization key. + :type authorization_key: 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_04_01.models.CircuitConnectionStatus + :ivar provisioning_state: Provisioning state of the circuit connection + resource. Possible values are: 'Succeded', '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'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitConnection, 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.authorization_key = kwargs.get('authorization_key', None) + self.circuit_connection_status = None + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_connection_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_connection_py3.py new file mode 100644 index 000000000000..3a123aae7a60 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_connection_py3.py @@ -0,0 +1,80 @@ +# 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 ExpressRouteCircuitConnection(SubResource): + """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 initiating connection. + :type express_route_circuit_peering: + ~azure.mgmt.network.v2018_04_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_04_01.models.SubResource + :param address_prefix: /29 IP address space to carve out Customer + addresses for tunnels. + :type address_prefix: str + :param authorization_key: The authorization key. + :type authorization_key: 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_04_01.models.CircuitConnectionStatus + :ivar provisioning_state: Provisioning state of the circuit connection + resource. Possible values are: 'Succeded', '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'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', '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, authorization_key: str=None, name: str=None, **kwargs) -> None: + super(ExpressRouteCircuitConnection, 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.authorization_key = authorization_key + self.circuit_connection_status = None + self.provisioning_state = None + self.name = name + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_paged.py new file mode 100644 index 000000000000..078eec434865 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_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 ExpressRouteCircuitPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCircuit ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuit]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCircuitPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_peering.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_peering.py new file mode 100644 index 000000000000..b5c26b47447f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_peering.py @@ -0,0 +1,128 @@ +# 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 ExpressRouteCircuitPeering(SubResource): + """Peering in an ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peering_type: The peering type. Possible values include: + 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + :type peering_type: str or + ~azure.mgmt.network.v2018_04_01.models.ExpressRoutePeeringType + :param state: The peering state. Possible values include: 'Disabled', + 'Enabled' + :type state: str or + ~azure.mgmt.network.v2018_04_01.models.ExpressRoutePeeringState + :param azure_asn: The Azure ASN. + :type azure_asn: int + :param peer_asn: The peer ASN. + :type peer_asn: long + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :param primary_azure_port: The primary port. + :type primary_azure_port: str + :param secondary_azure_port: The secondary port. + :type secondary_azure_port: str + :param shared_key: The shared key. + :type shared_key: str + :param vlan_id: The VLAN ID. + :type vlan_id: int + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeeringConfig + :param stats: Gets peering stats. + :type stats: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitStats + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :param last_modified_by: Gets whether the provider or the customer last + modified the peering. + :type last_modified_by: str + :param route_filter: The reference of the RouteFilter resource. + :type route_filter: ~azure.mgmt.network.v2018_04_01.models.RouteFilter + :param ipv6_peering_config: The IPv6 peering configuration. + :type ipv6_peering_config: + ~azure.mgmt.network.v2018_04_01.models.Ipv6ExpressRouteCircuitPeeringConfig + :param connections: The list of circuit connections associated with Azure + Private Peering for this circuit. + :type connections: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitConnection] + :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 = { + 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, + 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, + 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, + 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, + 'route_filter': {'key': 'properties.routeFilter', 'type': 'RouteFilter'}, + 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, + 'connections': {'key': 'properties.connections', 'type': '[ExpressRouteCircuitConnection]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitPeering, self).__init__(**kwargs) + self.peering_type = kwargs.get('peering_type', None) + self.state = kwargs.get('state', None) + self.azure_asn = kwargs.get('azure_asn', None) + self.peer_asn = kwargs.get('peer_asn', None) + self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) + self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) + self.primary_azure_port = kwargs.get('primary_azure_port', None) + self.secondary_azure_port = kwargs.get('secondary_azure_port', None) + self.shared_key = kwargs.get('shared_key', None) + self.vlan_id = kwargs.get('vlan_id', None) + self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) + self.stats = kwargs.get('stats', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) + self.last_modified_by = kwargs.get('last_modified_by', None) + self.route_filter = kwargs.get('route_filter', None) + self.ipv6_peering_config = kwargs.get('ipv6_peering_config', None) + self.connections = kwargs.get('connections', None) + self.name = kwargs.get('name', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_peering_config.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_peering_config.py new file mode 100644 index 000000000000..51d249bb1f84 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_peering_config.py @@ -0,0 +1,55 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitPeeringConfig(Model): + """Specifies the peering configuration. + + :param advertised_public_prefixes: The reference of + AdvertisedPublicPrefixes. + :type advertised_public_prefixes: list[str] + :param advertised_communities: The communities of bgp peering. Spepcified + for microsoft peering + :type advertised_communities: list[str] + :param advertised_public_prefixes_state: AdvertisedPublicPrefixState of + the Peering resource. Possible values are 'NotConfigured', 'Configuring', + 'Configured', and 'ValidationNeeded'. Possible values include: + 'NotConfigured', 'Configuring', 'Configured', 'ValidationNeeded' + :type advertised_public_prefixes_state: str or + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState + :param legacy_mode: The legacy mode of the peering. + :type legacy_mode: int + :param customer_asn: The CustomerASN of the peering. + :type customer_asn: int + :param routing_registry_name: The RoutingRegistryName of the + configuration. + :type routing_registry_name: str + """ + + _attribute_map = { + 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, + 'advertised_communities': {'key': 'advertisedCommunities', 'type': '[str]'}, + 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, + 'legacy_mode': {'key': 'legacyMode', 'type': 'int'}, + 'customer_asn': {'key': 'customerASN', 'type': 'int'}, + 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) + self.advertised_public_prefixes = kwargs.get('advertised_public_prefixes', None) + self.advertised_communities = kwargs.get('advertised_communities', None) + self.advertised_public_prefixes_state = kwargs.get('advertised_public_prefixes_state', None) + self.legacy_mode = kwargs.get('legacy_mode', None) + self.customer_asn = kwargs.get('customer_asn', None) + self.routing_registry_name = kwargs.get('routing_registry_name', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_peering_config_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_peering_config_py3.py new file mode 100644 index 000000000000..f223b1e4dba4 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_peering_config_py3.py @@ -0,0 +1,55 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitPeeringConfig(Model): + """Specifies the peering configuration. + + :param advertised_public_prefixes: The reference of + AdvertisedPublicPrefixes. + :type advertised_public_prefixes: list[str] + :param advertised_communities: The communities of bgp peering. Spepcified + for microsoft peering + :type advertised_communities: list[str] + :param advertised_public_prefixes_state: AdvertisedPublicPrefixState of + the Peering resource. Possible values are 'NotConfigured', 'Configuring', + 'Configured', and 'ValidationNeeded'. Possible values include: + 'NotConfigured', 'Configuring', 'Configured', 'ValidationNeeded' + :type advertised_public_prefixes_state: str or + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState + :param legacy_mode: The legacy mode of the peering. + :type legacy_mode: int + :param customer_asn: The CustomerASN of the peering. + :type customer_asn: int + :param routing_registry_name: The RoutingRegistryName of the + configuration. + :type routing_registry_name: str + """ + + _attribute_map = { + 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, + 'advertised_communities': {'key': 'advertisedCommunities', 'type': '[str]'}, + 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, + 'legacy_mode': {'key': 'legacyMode', 'type': 'int'}, + 'customer_asn': {'key': 'customerASN', 'type': 'int'}, + 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, + } + + def __init__(self, *, advertised_public_prefixes=None, advertised_communities=None, advertised_public_prefixes_state=None, legacy_mode: int=None, customer_asn: int=None, routing_registry_name: str=None, **kwargs) -> None: + super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) + self.advertised_public_prefixes = advertised_public_prefixes + self.advertised_communities = advertised_communities + self.advertised_public_prefixes_state = advertised_public_prefixes_state + self.legacy_mode = legacy_mode + self.customer_asn = customer_asn + self.routing_registry_name = routing_registry_name diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_peering_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_peering_paged.py new file mode 100644 index 000000000000..35c26a7ef076 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_peering_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 ExpressRouteCircuitPeeringPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCircuitPeering ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuitPeering]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCircuitPeeringPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_peering_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_peering_py3.py new file mode 100644 index 000000000000..a996c3cd938b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_peering_py3.py @@ -0,0 +1,128 @@ +# 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 ExpressRouteCircuitPeering(SubResource): + """Peering in an ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peering_type: The peering type. Possible values include: + 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + :type peering_type: str or + ~azure.mgmt.network.v2018_04_01.models.ExpressRoutePeeringType + :param state: The peering state. Possible values include: 'Disabled', + 'Enabled' + :type state: str or + ~azure.mgmt.network.v2018_04_01.models.ExpressRoutePeeringState + :param azure_asn: The Azure ASN. + :type azure_asn: int + :param peer_asn: The peer ASN. + :type peer_asn: long + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :param primary_azure_port: The primary port. + :type primary_azure_port: str + :param secondary_azure_port: The secondary port. + :type secondary_azure_port: str + :param shared_key: The shared key. + :type shared_key: str + :param vlan_id: The VLAN ID. + :type vlan_id: int + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeeringConfig + :param stats: Gets peering stats. + :type stats: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitStats + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :param last_modified_by: Gets whether the provider or the customer last + modified the peering. + :type last_modified_by: str + :param route_filter: The reference of the RouteFilter resource. + :type route_filter: ~azure.mgmt.network.v2018_04_01.models.RouteFilter + :param ipv6_peering_config: The IPv6 peering configuration. + :type ipv6_peering_config: + ~azure.mgmt.network.v2018_04_01.models.Ipv6ExpressRouteCircuitPeeringConfig + :param connections: The list of circuit connections associated with Azure + Private Peering for this circuit. + :type connections: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitConnection] + :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 = { + 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, + 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, + 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, + 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, + 'route_filter': {'key': 'properties.routeFilter', 'type': 'RouteFilter'}, + 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, + 'connections': {'key': 'properties.connections', 'type': '[ExpressRouteCircuitConnection]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, peering_type=None, state=None, azure_asn: int=None, peer_asn: int=None, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, primary_azure_port: str=None, secondary_azure_port: str=None, shared_key: str=None, vlan_id: int=None, microsoft_peering_config=None, stats=None, provisioning_state: str=None, gateway_manager_etag: str=None, last_modified_by: str=None, route_filter=None, ipv6_peering_config=None, connections=None, name: str=None, **kwargs) -> None: + super(ExpressRouteCircuitPeering, self).__init__(id=id, **kwargs) + self.peering_type = peering_type + self.state = state + self.azure_asn = azure_asn + self.peer_asn = peer_asn + self.primary_peer_address_prefix = primary_peer_address_prefix + self.secondary_peer_address_prefix = secondary_peer_address_prefix + self.primary_azure_port = primary_azure_port + self.secondary_azure_port = secondary_azure_port + self.shared_key = shared_key + self.vlan_id = vlan_id + self.microsoft_peering_config = microsoft_peering_config + self.stats = stats + self.provisioning_state = provisioning_state + self.gateway_manager_etag = gateway_manager_etag + self.last_modified_by = last_modified_by + self.route_filter = route_filter + self.ipv6_peering_config = ipv6_peering_config + self.connections = connections + self.name = name + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_py3.py new file mode 100644 index 000000000000..f747c47b77ee --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_py3.py @@ -0,0 +1,107 @@ +# 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 .resource_py3 import Resource + + +class ExpressRouteCircuit(Resource): + """ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The SKU. + :type sku: ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitSku + :param allow_classic_operations: Allow classic operations + :type allow_classic_operations: bool + :param circuit_provisioning_state: The CircuitProvisioningState state of + the resource. + :type circuit_provisioning_state: str + :param service_provider_provisioning_state: The + ServiceProviderProvisioningState state of the resource. Possible values + are 'NotProvisioned', 'Provisioning', 'Provisioned', and 'Deprovisioning'. + Possible values include: 'NotProvisioned', 'Provisioning', 'Provisioned', + 'Deprovisioning' + :type service_provider_provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ServiceProviderProvisioningState + :param authorizations: The list of authorizations. + :type authorizations: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitAuthorization] + :param peerings: The list of peerings. + :type peerings: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeering] + :param service_key: The ServiceKey. + :type service_key: str + :param service_provider_notes: The ServiceProviderNotes. + :type service_provider_notes: str + :param service_provider_properties: The ServiceProviderProperties. + :type service_provider_properties: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitServiceProviderProperties + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, + 'allow_classic_operations': {'key': 'properties.allowClassicOperations', 'type': 'bool'}, + 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, + 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, + 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, + 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, + 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + '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, provisioning_state: str=None, gateway_manager_etag: str=None, **kwargs) -> None: + super(ExpressRouteCircuit, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.allow_classic_operations = allow_classic_operations + self.circuit_provisioning_state = circuit_provisioning_state + self.service_provider_provisioning_state = service_provider_provisioning_state + self.authorizations = authorizations + self.peerings = peerings + self.service_key = service_key + self.service_provider_notes = service_provider_notes + self.service_provider_properties = service_provider_properties + self.provisioning_state = provisioning_state + self.gateway_manager_etag = gateway_manager_etag + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_reference.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_reference.py new file mode 100644 index 000000000000..63275cc15917 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_reference.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitReference(Model): + """ExpressRouteCircuitReference. + + :param id: Corresponding Express Route Circuit Id. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitReference, self).__init__(**kwargs) + self.id = kwargs.get('id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_reference_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_reference_py3.py new file mode 100644 index 000000000000..7f6880552144 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_reference_py3.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitReference(Model): + """ExpressRouteCircuitReference. + + :param id: Corresponding Express Route Circuit Id. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(ExpressRouteCircuitReference, self).__init__(**kwargs) + self.id = id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_routes_table.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_routes_table.py new file mode 100644 index 000000000000..5150924765f9 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_routes_table.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitRoutesTable(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param network: IP address of a network entity + :type network: str + :param next_hop: NextHop address + :type next_hop: str + :param loc_prf: Local preference value as set with the set + local-preference route-map configuration command + :type loc_prf: str + :param weight: Route Weight. + :type weight: int + :param path: Autonomous system paths to the destination network. + :type path: str + """ + + _attribute_map = { + 'network': {'key': 'network', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + 'loc_prf': {'key': 'locPrf', 'type': 'str'}, + 'weight': {'key': 'weight', 'type': 'int'}, + 'path': {'key': 'path', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) + self.network = kwargs.get('network', None) + self.next_hop = kwargs.get('next_hop', None) + self.loc_prf = kwargs.get('loc_prf', None) + self.weight = kwargs.get('weight', None) + self.path = kwargs.get('path', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_routes_table_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_routes_table_py3.py new file mode 100644 index 000000000000..3b5829937b83 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_routes_table_py3.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitRoutesTable(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param network: IP address of a network entity + :type network: str + :param next_hop: NextHop address + :type next_hop: str + :param loc_prf: Local preference value as set with the set + local-preference route-map configuration command + :type loc_prf: str + :param weight: Route Weight. + :type weight: int + :param path: Autonomous system paths to the destination network. + :type path: str + """ + + _attribute_map = { + 'network': {'key': 'network', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + 'loc_prf': {'key': 'locPrf', 'type': 'str'}, + 'weight': {'key': 'weight', 'type': 'int'}, + 'path': {'key': 'path', 'type': 'str'}, + } + + def __init__(self, *, network: str=None, next_hop: str=None, loc_prf: str=None, weight: int=None, path: str=None, **kwargs) -> None: + super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) + self.network = network + self.next_hop = next_hop + self.loc_prf = loc_prf + self.weight = weight + self.path = path diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_routes_table_summary.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_routes_table_summary.py new file mode 100644 index 000000000000..1f398383a9f0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_routes_table_summary.py @@ -0,0 +1,46 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitRoutesTableSummary(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param neighbor: IP address of the neighbor. + :type neighbor: str + :param v: BGP version number spoken to the neighbor. + :type v: int + :param as_property: Autonomous system number. + :type as_property: int + :param up_down: The length of time that the BGP session has been in the + Established state, or the current status if not in the Established state. + :type up_down: str + :param state_pfx_rcd: Current state of the BGP session, and the number of + prefixes that have been received from a neighbor or peer group. + :type state_pfx_rcd: str + """ + + _attribute_map = { + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'v': {'key': 'v', 'type': 'int'}, + 'as_property': {'key': 'as', 'type': 'int'}, + 'up_down': {'key': 'upDown', 'type': 'str'}, + 'state_pfx_rcd': {'key': 'statePfxRcd', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitRoutesTableSummary, self).__init__(**kwargs) + self.neighbor = kwargs.get('neighbor', None) + self.v = kwargs.get('v', None) + self.as_property = kwargs.get('as_property', None) + self.up_down = kwargs.get('up_down', None) + self.state_pfx_rcd = kwargs.get('state_pfx_rcd', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_routes_table_summary_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_routes_table_summary_py3.py new file mode 100644 index 000000000000..13f52d9951f3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_routes_table_summary_py3.py @@ -0,0 +1,46 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitRoutesTableSummary(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param neighbor: IP address of the neighbor. + :type neighbor: str + :param v: BGP version number spoken to the neighbor. + :type v: int + :param as_property: Autonomous system number. + :type as_property: int + :param up_down: The length of time that the BGP session has been in the + Established state, or the current status if not in the Established state. + :type up_down: str + :param state_pfx_rcd: Current state of the BGP session, and the number of + prefixes that have been received from a neighbor or peer group. + :type state_pfx_rcd: str + """ + + _attribute_map = { + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'v': {'key': 'v', 'type': 'int'}, + 'as_property': {'key': 'as', 'type': 'int'}, + 'up_down': {'key': 'upDown', 'type': 'str'}, + 'state_pfx_rcd': {'key': 'statePfxRcd', 'type': 'str'}, + } + + def __init__(self, *, neighbor: str=None, v: int=None, as_property: int=None, up_down: str=None, state_pfx_rcd: str=None, **kwargs) -> None: + super(ExpressRouteCircuitRoutesTableSummary, self).__init__(**kwargs) + self.neighbor = neighbor + self.v = v + self.as_property = as_property + self.up_down = up_down + self.state_pfx_rcd = state_pfx_rcd diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_service_provider_properties.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_service_provider_properties.py new file mode 100644 index 000000000000..c51e6d8d653b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_service_provider_properties.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitServiceProviderProperties(Model): + """Contains ServiceProviderProperties in an ExpressRouteCircuit. + + :param service_provider_name: The serviceProviderName. + :type service_provider_name: str + :param peering_location: The peering location. + :type peering_location: str + :param bandwidth_in_mbps: The BandwidthInMbps. + :type bandwidth_in_mbps: int + """ + + _attribute_map = { + 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, + 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, + 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) + self.service_provider_name = kwargs.get('service_provider_name', None) + self.peering_location = kwargs.get('peering_location', None) + self.bandwidth_in_mbps = kwargs.get('bandwidth_in_mbps', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_service_provider_properties_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_service_provider_properties_py3.py new file mode 100644 index 000000000000..ea701a54c3fe --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_service_provider_properties_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitServiceProviderProperties(Model): + """Contains ServiceProviderProperties in an ExpressRouteCircuit. + + :param service_provider_name: The serviceProviderName. + :type service_provider_name: str + :param peering_location: The peering location. + :type peering_location: str + :param bandwidth_in_mbps: The BandwidthInMbps. + :type bandwidth_in_mbps: int + """ + + _attribute_map = { + 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, + 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, + 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, + } + + def __init__(self, *, service_provider_name: str=None, peering_location: str=None, bandwidth_in_mbps: int=None, **kwargs) -> None: + super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) + self.service_provider_name = service_provider_name + self.peering_location = peering_location + self.bandwidth_in_mbps = bandwidth_in_mbps diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_sku.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_sku.py new file mode 100644 index 000000000000..e74788c9bf10 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_sku.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitSku(Model): + """Contains SKU in an ExpressRouteCircuit. + + :param name: The name of the SKU. + :type name: str + :param tier: The tier of the SKU. Possible values are 'Standard' and + 'Premium'. Possible values include: 'Standard', 'Premium' + :type tier: str or + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitSkuTier + :param family: The family of the SKU. Possible values are: 'UnlimitedData' + and 'MeteredData'. Possible values include: 'UnlimitedData', 'MeteredData' + :type family: str or + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitSkuFamily + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.family = kwargs.get('family', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_sku_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_sku_py3.py new file mode 100644 index 000000000000..733c9f9cb19f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_sku_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitSku(Model): + """Contains SKU in an ExpressRouteCircuit. + + :param name: The name of the SKU. + :type name: str + :param tier: The tier of the SKU. Possible values are 'Standard' and + 'Premium'. Possible values include: 'Standard', 'Premium' + :type tier: str or + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitSkuTier + :param family: The family of the SKU. Possible values are: 'UnlimitedData' + and 'MeteredData'. Possible values include: 'UnlimitedData', 'MeteredData' + :type family: str or + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitSkuFamily + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, tier=None, family=None, **kwargs) -> None: + super(ExpressRouteCircuitSku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.family = family diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_stats.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_stats.py new file mode 100644 index 000000000000..41c45ae2b19a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_stats.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitStats(Model): + """Contains stats associated with the peering. + + :param primarybytes_in: Gets BytesIn of the peering. + :type primarybytes_in: long + :param primarybytes_out: Gets BytesOut of the peering. + :type primarybytes_out: long + :param secondarybytes_in: Gets BytesIn of the peering. + :type secondarybytes_in: long + :param secondarybytes_out: Gets BytesOut of the peering. + :type secondarybytes_out: long + """ + + _attribute_map = { + 'primarybytes_in': {'key': 'primarybytesIn', 'type': 'long'}, + 'primarybytes_out': {'key': 'primarybytesOut', 'type': 'long'}, + 'secondarybytes_in': {'key': 'secondarybytesIn', 'type': 'long'}, + 'secondarybytes_out': {'key': 'secondarybytesOut', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitStats, self).__init__(**kwargs) + self.primarybytes_in = kwargs.get('primarybytes_in', None) + self.primarybytes_out = kwargs.get('primarybytes_out', None) + self.secondarybytes_in = kwargs.get('secondarybytes_in', None) + self.secondarybytes_out = kwargs.get('secondarybytes_out', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_stats_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_stats_py3.py new file mode 100644 index 000000000000..f78335343544 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuit_stats_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitStats(Model): + """Contains stats associated with the peering. + + :param primarybytes_in: Gets BytesIn of the peering. + :type primarybytes_in: long + :param primarybytes_out: Gets BytesOut of the peering. + :type primarybytes_out: long + :param secondarybytes_in: Gets BytesIn of the peering. + :type secondarybytes_in: long + :param secondarybytes_out: Gets BytesOut of the peering. + :type secondarybytes_out: long + """ + + _attribute_map = { + 'primarybytes_in': {'key': 'primarybytesIn', 'type': 'long'}, + 'primarybytes_out': {'key': 'primarybytesOut', 'type': 'long'}, + 'secondarybytes_in': {'key': 'secondarybytesIn', 'type': 'long'}, + 'secondarybytes_out': {'key': 'secondarybytesOut', 'type': 'long'}, + } + + def __init__(self, *, primarybytes_in: int=None, primarybytes_out: int=None, secondarybytes_in: int=None, secondarybytes_out: int=None, **kwargs) -> None: + super(ExpressRouteCircuitStats, self).__init__(**kwargs) + self.primarybytes_in = primarybytes_in + self.primarybytes_out = primarybytes_out + self.secondarybytes_in = secondarybytes_in + self.secondarybytes_out = secondarybytes_out diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuits_arp_table_list_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuits_arp_table_list_result.py new file mode 100644 index 000000000000..4fedadaf0736 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuits_arp_table_list_result.py @@ -0,0 +1,33 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitsArpTableListResult(Model): + """Response for ListArpTable associated with the Express Route Circuits API. + + :param value: Gets list of the ARP table. + :type value: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitArpTable] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuits_arp_table_list_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuits_arp_table_list_result_py3.py new file mode 100644 index 000000000000..64a02668cfea --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuits_arp_table_list_result_py3.py @@ -0,0 +1,33 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitsArpTableListResult(Model): + """Response for ListArpTable associated with the Express Route Circuits API. + + :param value: Gets list of the ARP table. + :type value: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitArpTable] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: + super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuits_routes_table_list_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuits_routes_table_list_result.py new file mode 100644 index 000000000000..d6422dd4a713 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuits_routes_table_list_result.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitsRoutesTableListResult(Model): + """Response for ListRoutesTable associated with the Express Route Circuits + API. + + :param value: The list of routes table. + :type value: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitRoutesTable] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuits_routes_table_list_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuits_routes_table_list_result_py3.py new file mode 100644 index 000000000000..1540e8709116 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuits_routes_table_list_result_py3.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitsRoutesTableListResult(Model): + """Response for ListRoutesTable associated with the Express Route Circuits + API. + + :param value: The list of routes table. + :type value: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitRoutesTable] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: + super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuits_routes_table_summary_list_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuits_routes_table_summary_list_result.py new file mode 100644 index 000000000000..56d8a70948ed --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuits_routes_table_summary_list_result.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitsRoutesTableSummaryListResult(Model): + """Response for ListRoutesTable associated with the Express Route Circuits + API. + + :param value: A list of the routes table. + :type value: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitRoutesTableSummary] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTableSummary]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitsRoutesTableSummaryListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuits_routes_table_summary_list_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuits_routes_table_summary_list_result_py3.py new file mode 100644 index 000000000000..00813bbc7e29 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_circuits_routes_table_summary_list_result_py3.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitsRoutesTableSummaryListResult(Model): + """Response for ListRoutesTable associated with the Express Route Circuits + API. + + :param value: A list of the routes table. + :type value: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitRoutesTableSummary] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTableSummary]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: + super(ExpressRouteCircuitsRoutesTableSummaryListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection.py new file mode 100644 index 000000000000..375ebed2885e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection.py @@ -0,0 +1,105 @@ +# 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 .resource import Resource + + +class ExpressRouteCrossConnection(Resource): + """ExpressRouteCrossConnection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar primary_azure_port: The name of the primary port. + :vartype primary_azure_port: str + :ivar secondary_azure_port: The name of the secondary port. + :vartype secondary_azure_port: str + :ivar s_tag: The identifier of the circuit traffic. + :vartype s_tag: int + :param peering_location: The peering location of the ExpressRoute circuit. + :type peering_location: str + :param bandwidth_in_mbps: The circuit bandwidth In Mbps. + :type bandwidth_in_mbps: int + :param express_route_circuit: The ExpressRouteCircuit + :type express_route_circuit: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitReference + :param service_provider_provisioning_state: The provisioning state of the + circuit in the connectivity provider system. Possible values are + 'NotProvisioned', 'Provisioning', 'Provisioned'. Possible values include: + 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' + :type service_provider_provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ServiceProviderProvisioningState + :param service_provider_notes: Additional read only notes set by the + connectivity provider. + :type service_provider_notes: str + :ivar provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param peerings: The list of peerings. + :type peerings: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnectionPeering] + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'primary_azure_port': {'readonly': True}, + 'secondary_azure_port': {'readonly': True}, + 's_tag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 's_tag': {'key': 'properties.sTag', 'type': 'int'}, + 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, + 'bandwidth_in_mbps': {'key': 'properties.bandwidthInMbps', 'type': 'int'}, + 'express_route_circuit': {'key': 'properties.expressRouteCircuit', 'type': 'ExpressRouteCircuitReference'}, + 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, + 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCrossConnectionPeering]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCrossConnection, self).__init__(**kwargs) + self.primary_azure_port = None + self.secondary_azure_port = None + self.s_tag = None + self.peering_location = kwargs.get('peering_location', None) + self.bandwidth_in_mbps = kwargs.get('bandwidth_in_mbps', None) + self.express_route_circuit = kwargs.get('express_route_circuit', None) + self.service_provider_provisioning_state = kwargs.get('service_provider_provisioning_state', None) + self.service_provider_notes = kwargs.get('service_provider_notes', None) + self.provisioning_state = None + self.peerings = kwargs.get('peerings', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection_paged.py new file mode 100644 index 000000000000..7399afa29720 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_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 ExpressRouteCrossConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCrossConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCrossConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCrossConnectionPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection_peering.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection_peering.py new file mode 100644 index 000000000000..cceea58f498f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection_peering.py @@ -0,0 +1,117 @@ +# 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 ExpressRouteCrossConnectionPeering(SubResource): + """Peering in an ExpressRoute Cross Connection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peering_type: The peering type. Possible values include: + 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + :type peering_type: str or + ~azure.mgmt.network.v2018_04_01.models.ExpressRoutePeeringType + :param state: The peering state. Possible values include: 'Disabled', + 'Enabled' + :type state: str or + ~azure.mgmt.network.v2018_04_01.models.ExpressRoutePeeringState + :ivar azure_asn: The Azure ASN. + :vartype azure_asn: int + :param peer_asn: The peer ASN. + :type peer_asn: long + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :ivar primary_azure_port: The primary port. + :vartype primary_azure_port: str + :ivar secondary_azure_port: The secondary port. + :vartype secondary_azure_port: str + :param shared_key: The shared key. + :type shared_key: str + :param vlan_id: The VLAN ID. + :type vlan_id: int + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeeringConfig + :ivar provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :param last_modified_by: Gets whether the provider or the customer last + modified the peering. + :type last_modified_by: str + :param ipv6_peering_config: The IPv6 peering configuration. + :type ipv6_peering_config: + ~azure.mgmt.network.v2018_04_01.models.Ipv6ExpressRouteCircuitPeeringConfig + :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 = { + 'azure_asn': {'readonly': True}, + 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, + 'primary_azure_port': {'readonly': True}, + 'secondary_azure_port': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, + 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, + 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, + 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, + 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCrossConnectionPeering, self).__init__(**kwargs) + self.peering_type = kwargs.get('peering_type', None) + self.state = kwargs.get('state', None) + self.azure_asn = None + self.peer_asn = kwargs.get('peer_asn', None) + self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) + self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) + self.primary_azure_port = None + self.secondary_azure_port = None + self.shared_key = kwargs.get('shared_key', None) + self.vlan_id = kwargs.get('vlan_id', None) + self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) + self.provisioning_state = None + self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) + self.last_modified_by = kwargs.get('last_modified_by', None) + self.ipv6_peering_config = kwargs.get('ipv6_peering_config', None) + self.name = kwargs.get('name', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection_peering_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection_peering_paged.py new file mode 100644 index 000000000000..b113de3f6254 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection_peering_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 ExpressRouteCrossConnectionPeeringPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCrossConnectionPeering ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCrossConnectionPeering]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCrossConnectionPeeringPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection_peering_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection_peering_py3.py new file mode 100644 index 000000000000..56c7ea8a785e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection_peering_py3.py @@ -0,0 +1,117 @@ +# 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 ExpressRouteCrossConnectionPeering(SubResource): + """Peering in an ExpressRoute Cross Connection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peering_type: The peering type. Possible values include: + 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + :type peering_type: str or + ~azure.mgmt.network.v2018_04_01.models.ExpressRoutePeeringType + :param state: The peering state. Possible values include: 'Disabled', + 'Enabled' + :type state: str or + ~azure.mgmt.network.v2018_04_01.models.ExpressRoutePeeringState + :ivar azure_asn: The Azure ASN. + :vartype azure_asn: int + :param peer_asn: The peer ASN. + :type peer_asn: long + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :ivar primary_azure_port: The primary port. + :vartype primary_azure_port: str + :ivar secondary_azure_port: The secondary port. + :vartype secondary_azure_port: str + :param shared_key: The shared key. + :type shared_key: str + :param vlan_id: The VLAN ID. + :type vlan_id: int + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeeringConfig + :ivar provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :param last_modified_by: Gets whether the provider or the customer last + modified the peering. + :type last_modified_by: str + :param ipv6_peering_config: The IPv6 peering configuration. + :type ipv6_peering_config: + ~azure.mgmt.network.v2018_04_01.models.Ipv6ExpressRouteCircuitPeeringConfig + :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 = { + 'azure_asn': {'readonly': True}, + 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, + 'primary_azure_port': {'readonly': True}, + 'secondary_azure_port': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, + 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, + 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, + 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, + 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, peering_type=None, state=None, peer_asn: int=None, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, shared_key: str=None, vlan_id: int=None, microsoft_peering_config=None, gateway_manager_etag: str=None, last_modified_by: str=None, ipv6_peering_config=None, name: str=None, **kwargs) -> None: + super(ExpressRouteCrossConnectionPeering, self).__init__(id=id, **kwargs) + self.peering_type = peering_type + self.state = state + self.azure_asn = None + self.peer_asn = peer_asn + self.primary_peer_address_prefix = primary_peer_address_prefix + self.secondary_peer_address_prefix = secondary_peer_address_prefix + self.primary_azure_port = None + self.secondary_azure_port = None + self.shared_key = shared_key + self.vlan_id = vlan_id + self.microsoft_peering_config = microsoft_peering_config + self.provisioning_state = None + self.gateway_manager_etag = gateway_manager_etag + self.last_modified_by = last_modified_by + self.ipv6_peering_config = ipv6_peering_config + self.name = name + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection_py3.py new file mode 100644 index 000000000000..0150b1b062d7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection_py3.py @@ -0,0 +1,105 @@ +# 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 .resource_py3 import Resource + + +class ExpressRouteCrossConnection(Resource): + """ExpressRouteCrossConnection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar primary_azure_port: The name of the primary port. + :vartype primary_azure_port: str + :ivar secondary_azure_port: The name of the secondary port. + :vartype secondary_azure_port: str + :ivar s_tag: The identifier of the circuit traffic. + :vartype s_tag: int + :param peering_location: The peering location of the ExpressRoute circuit. + :type peering_location: str + :param bandwidth_in_mbps: The circuit bandwidth In Mbps. + :type bandwidth_in_mbps: int + :param express_route_circuit: The ExpressRouteCircuit + :type express_route_circuit: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitReference + :param service_provider_provisioning_state: The provisioning state of the + circuit in the connectivity provider system. Possible values are + 'NotProvisioned', 'Provisioning', 'Provisioned'. Possible values include: + 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' + :type service_provider_provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ServiceProviderProvisioningState + :param service_provider_notes: Additional read only notes set by the + connectivity provider. + :type service_provider_notes: str + :ivar provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param peerings: The list of peerings. + :type peerings: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnectionPeering] + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'primary_azure_port': {'readonly': True}, + 'secondary_azure_port': {'readonly': True}, + 's_tag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 's_tag': {'key': 'properties.sTag', 'type': 'int'}, + 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, + 'bandwidth_in_mbps': {'key': 'properties.bandwidthInMbps', 'type': 'int'}, + 'express_route_circuit': {'key': 'properties.expressRouteCircuit', 'type': 'ExpressRouteCircuitReference'}, + 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, + 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCrossConnectionPeering]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, peering_location: str=None, bandwidth_in_mbps: int=None, express_route_circuit=None, service_provider_provisioning_state=None, service_provider_notes: str=None, peerings=None, **kwargs) -> None: + super(ExpressRouteCrossConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.primary_azure_port = None + self.secondary_azure_port = None + self.s_tag = None + self.peering_location = peering_location + self.bandwidth_in_mbps = bandwidth_in_mbps + self.express_route_circuit = express_route_circuit + self.service_provider_provisioning_state = service_provider_provisioning_state + self.service_provider_notes = service_provider_notes + self.provisioning_state = None + self.peerings = peerings + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection_routes_table_summary.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection_routes_table_summary.py new file mode 100644 index 000000000000..f6f4ab635293 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection_routes_table_summary.py @@ -0,0 +1,43 @@ +# 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.serialization import Model + + +class ExpressRouteCrossConnectionRoutesTableSummary(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param neighbor: IP address of Neighbor router + :type neighbor: str + :param asn: Autonomous system number. + :type asn: int + :param up_down: The length of time that the BGP session has been in the + Established state, or the current status if not in the Established state. + :type up_down: str + :param state_or_prefixes_received: Current state of the BGP session, and + the number of prefixes that have been received from a neighbor or peer + group. + :type state_or_prefixes_received: str + """ + + _attribute_map = { + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'asn': {'key': 'asn', 'type': 'int'}, + 'up_down': {'key': 'upDown', 'type': 'str'}, + 'state_or_prefixes_received': {'key': 'stateOrPrefixesReceived', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCrossConnectionRoutesTableSummary, self).__init__(**kwargs) + self.neighbor = kwargs.get('neighbor', None) + self.asn = kwargs.get('asn', None) + self.up_down = kwargs.get('up_down', None) + self.state_or_prefixes_received = kwargs.get('state_or_prefixes_received', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection_routes_table_summary_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection_routes_table_summary_py3.py new file mode 100644 index 000000000000..cbf47398ba2e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connection_routes_table_summary_py3.py @@ -0,0 +1,43 @@ +# 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.serialization import Model + + +class ExpressRouteCrossConnectionRoutesTableSummary(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param neighbor: IP address of Neighbor router + :type neighbor: str + :param asn: Autonomous system number. + :type asn: int + :param up_down: The length of time that the BGP session has been in the + Established state, or the current status if not in the Established state. + :type up_down: str + :param state_or_prefixes_received: Current state of the BGP session, and + the number of prefixes that have been received from a neighbor or peer + group. + :type state_or_prefixes_received: str + """ + + _attribute_map = { + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'asn': {'key': 'asn', 'type': 'int'}, + 'up_down': {'key': 'upDown', 'type': 'str'}, + 'state_or_prefixes_received': {'key': 'stateOrPrefixesReceived', 'type': 'str'}, + } + + def __init__(self, *, neighbor: str=None, asn: int=None, up_down: str=None, state_or_prefixes_received: str=None, **kwargs) -> None: + super(ExpressRouteCrossConnectionRoutesTableSummary, self).__init__(**kwargs) + self.neighbor = neighbor + self.asn = asn + self.up_down = up_down + self.state_or_prefixes_received = state_or_prefixes_received diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connections_routes_table_summary_list_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connections_routes_table_summary_list_result.py new file mode 100644 index 000000000000..880187e10e18 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connections_routes_table_summary_list_result.py @@ -0,0 +1,41 @@ +# 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.serialization import Model + + +class ExpressRouteCrossConnectionsRoutesTableSummaryListResult(Model): + """Response for ListRoutesTable associated with the Express Route Cross + Connections. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of the routes table. + :type value: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnectionRoutesTableSummary] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionRoutesTableSummary]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCrossConnectionsRoutesTableSummaryListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connections_routes_table_summary_list_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connections_routes_table_summary_list_result_py3.py new file mode 100644 index 000000000000..cbcd5b2299ad --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_cross_connections_routes_table_summary_list_result_py3.py @@ -0,0 +1,41 @@ +# 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.serialization import Model + + +class ExpressRouteCrossConnectionsRoutesTableSummaryListResult(Model): + """Response for ListRoutesTable associated with the Express Route Cross + Connections. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of the routes table. + :type value: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnectionRoutesTableSummary] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionRoutesTableSummary]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(ExpressRouteCrossConnectionsRoutesTableSummaryListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_service_provider.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_service_provider.py new file mode 100644 index 000000000000..068cd4866f41 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_service_provider.py @@ -0,0 +1,60 @@ +# 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 .resource import Resource + + +class ExpressRouteServiceProvider(Resource): + """A ExpressRouteResourceProvider object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param peering_locations: Get a list of peering locations. + :type peering_locations: list[str] + :param bandwidths_offered: Gets bandwidths offered. + :type bandwidths_offered: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteServiceProviderBandwidthsOffered] + :param provisioning_state: Gets the provisioning state of the resource. + :type provisioning_state: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, + 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteServiceProvider, self).__init__(**kwargs) + self.peering_locations = kwargs.get('peering_locations', None) + self.bandwidths_offered = kwargs.get('bandwidths_offered', None) + self.provisioning_state = kwargs.get('provisioning_state', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_service_provider_bandwidths_offered.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_service_provider_bandwidths_offered.py new file mode 100644 index 000000000000..b27622af42d1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_service_provider_bandwidths_offered.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class ExpressRouteServiceProviderBandwidthsOffered(Model): + """Contains bandwidths offered in ExpressRouteServiceProvider resources. + + :param offer_name: The OfferName. + :type offer_name: str + :param value_in_mbps: The ValueInMbps. + :type value_in_mbps: int + """ + + _attribute_map = { + 'offer_name': {'key': 'offerName', 'type': 'str'}, + 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) + self.offer_name = kwargs.get('offer_name', None) + self.value_in_mbps = kwargs.get('value_in_mbps', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_service_provider_bandwidths_offered_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_service_provider_bandwidths_offered_py3.py new file mode 100644 index 000000000000..88516a0dfcf8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_service_provider_bandwidths_offered_py3.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class ExpressRouteServiceProviderBandwidthsOffered(Model): + """Contains bandwidths offered in ExpressRouteServiceProvider resources. + + :param offer_name: The OfferName. + :type offer_name: str + :param value_in_mbps: The ValueInMbps. + :type value_in_mbps: int + """ + + _attribute_map = { + 'offer_name': {'key': 'offerName', 'type': 'str'}, + 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, + } + + def __init__(self, *, offer_name: str=None, value_in_mbps: int=None, **kwargs) -> None: + super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) + self.offer_name = offer_name + self.value_in_mbps = value_in_mbps diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_service_provider_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_service_provider_paged.py new file mode 100644 index 000000000000..241b0d7b9a39 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_service_provider_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 ExpressRouteServiceProviderPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteServiceProvider ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteServiceProvider]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteServiceProviderPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_service_provider_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_service_provider_py3.py new file mode 100644 index 000000000000..093becf7f66c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/express_route_service_provider_py3.py @@ -0,0 +1,60 @@ +# 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 .resource_py3 import Resource + + +class ExpressRouteServiceProvider(Resource): + """A ExpressRouteResourceProvider object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param peering_locations: Get a list of peering locations. + :type peering_locations: list[str] + :param bandwidths_offered: Gets bandwidths offered. + :type bandwidths_offered: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteServiceProviderBandwidthsOffered] + :param provisioning_state: Gets the provisioning state of the resource. + :type provisioning_state: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, + 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, peering_locations=None, bandwidths_offered=None, provisioning_state: str=None, **kwargs) -> None: + super(ExpressRouteServiceProvider, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.peering_locations = peering_locations + self.bandwidths_offered = bandwidths_offered + self.provisioning_state = provisioning_state diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/flow_log_information.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/flow_log_information.py new file mode 100644 index 000000000000..dd70571763ee --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/flow_log_information.py @@ -0,0 +1,57 @@ +# 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.serialization import Model + + +class FlowLogInformation(Model): + """Information on the configuration of flow log and traffic analytics + (optional) . + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The ID of the resource to configure + for flow log and traffic analytics (optional) . + :type target_resource_id: str + :param storage_id: Required. ID of the storage account which is used to + store the flow log. + :type storage_id: str + :param enabled: Required. Flag to enable/disable flow logging. + :type enabled: bool + :param retention_policy: + :type retention_policy: + ~azure.mgmt.network.v2018_04_01.models.RetentionPolicyParameters + :param flow_analytics_configuration: + :type flow_analytics_configuration: + ~azure.mgmt.network.v2018_04_01.models.TrafficAnalyticsProperties + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'storage_id': {'required': True}, + 'enabled': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, + 'flow_analytics_configuration': {'key': 'flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, + } + + def __init__(self, **kwargs): + super(FlowLogInformation, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + self.storage_id = kwargs.get('storage_id', None) + self.enabled = kwargs.get('enabled', None) + self.retention_policy = kwargs.get('retention_policy', None) + self.flow_analytics_configuration = kwargs.get('flow_analytics_configuration', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/flow_log_information_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/flow_log_information_py3.py new file mode 100644 index 000000000000..0ace583824ca --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/flow_log_information_py3.py @@ -0,0 +1,57 @@ +# 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.serialization import Model + + +class FlowLogInformation(Model): + """Information on the configuration of flow log and traffic analytics + (optional) . + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The ID of the resource to configure + for flow log and traffic analytics (optional) . + :type target_resource_id: str + :param storage_id: Required. ID of the storage account which is used to + store the flow log. + :type storage_id: str + :param enabled: Required. Flag to enable/disable flow logging. + :type enabled: bool + :param retention_policy: + :type retention_policy: + ~azure.mgmt.network.v2018_04_01.models.RetentionPolicyParameters + :param flow_analytics_configuration: + :type flow_analytics_configuration: + ~azure.mgmt.network.v2018_04_01.models.TrafficAnalyticsProperties + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'storage_id': {'required': True}, + 'enabled': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, + 'flow_analytics_configuration': {'key': 'flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, + } + + def __init__(self, *, target_resource_id: str, storage_id: str, enabled: bool, retention_policy=None, flow_analytics_configuration=None, **kwargs) -> None: + super(FlowLogInformation, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + self.storage_id = storage_id + self.enabled = enabled + self.retention_policy = retention_policy + self.flow_analytics_configuration = flow_analytics_configuration diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/flow_log_status_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/flow_log_status_parameters.py new file mode 100644 index 000000000000..1e290526a28e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/flow_log_status_parameters.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class FlowLogStatusParameters(Model): + """Parameters that define a resource to query flow log and traffic analytics + (optional) status. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource where getting the + flow log and traffic analytics (optional) status. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FlowLogStatusParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/flow_log_status_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/flow_log_status_parameters_py3.py new file mode 100644 index 000000000000..89d079fdb715 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/flow_log_status_parameters_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class FlowLogStatusParameters(Model): + """Parameters that define a resource to query flow log and traffic analytics + (optional) status. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource where getting the + flow log and traffic analytics (optional) status. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, **kwargs) -> None: + super(FlowLogStatusParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/frontend_ip_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/frontend_ip_configuration.py new file mode 100644 index 000000000000..158b08c80f73 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/frontend_ip_configuration.py @@ -0,0 +1,101 @@ +# 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 FrontendIPConfiguration(SubResource): + """Frontend IP address of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar inbound_nat_rules: Read only. Inbound rules URIs that use this + frontend IP. + :vartype inbound_nat_rules: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :ivar inbound_nat_pools: Read only. Inbound pools URIs that use this + frontend IP. + :vartype inbound_nat_pools: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :ivar outbound_nat_rules: Read only. Outbound rules URIs that use this + frontend IP. + :vartype outbound_nat_rules: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :ivar load_balancing_rules: Gets load balancing rules URIs that use this + frontend IP. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The Private IP allocation method. + Possible values are: 'Static' and 'Dynamic'. Possible values include: + 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2018_04_01.models.IPAllocationMethod + :param subnet: The reference of the subnet resource. + :type subnet: ~azure.mgmt.network.v2018_04_01.models.Subnet + :param public_ip_address: The reference of the Public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2018_04_01.models.PublicIPAddress + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'inbound_nat_rules': {'readonly': True}, + 'inbound_nat_pools': {'readonly': True}, + 'outbound_nat_rules': {'readonly': True}, + 'load_balancing_rules': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, + 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, + 'outbound_nat_rules': {'key': 'properties.outboundNatRules', 'type': '[SubResource]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(FrontendIPConfiguration, self).__init__(**kwargs) + self.inbound_nat_rules = None + self.inbound_nat_pools = None + self.outbound_nat_rules = None + self.load_balancing_rules = None + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.zones = kwargs.get('zones', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/frontend_ip_configuration_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/frontend_ip_configuration_paged.py new file mode 100644 index 000000000000..4514137fc68f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/frontend_ip_configuration_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 FrontendIPConfigurationPaged(Paged): + """ + A paging container for iterating over a list of :class:`FrontendIPConfiguration ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[FrontendIPConfiguration]'} + } + + def __init__(self, *args, **kwargs): + + super(FrontendIPConfigurationPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/frontend_ip_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/frontend_ip_configuration_py3.py new file mode 100644 index 000000000000..3d31094aec5a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/frontend_ip_configuration_py3.py @@ -0,0 +1,101 @@ +# 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 FrontendIPConfiguration(SubResource): + """Frontend IP address of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar inbound_nat_rules: Read only. Inbound rules URIs that use this + frontend IP. + :vartype inbound_nat_rules: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :ivar inbound_nat_pools: Read only. Inbound pools URIs that use this + frontend IP. + :vartype inbound_nat_pools: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :ivar outbound_nat_rules: Read only. Outbound rules URIs that use this + frontend IP. + :vartype outbound_nat_rules: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :ivar load_balancing_rules: Gets load balancing rules URIs that use this + frontend IP. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The Private IP allocation method. + Possible values are: 'Static' and 'Dynamic'. Possible values include: + 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2018_04_01.models.IPAllocationMethod + :param subnet: The reference of the subnet resource. + :type subnet: ~azure.mgmt.network.v2018_04_01.models.Subnet + :param public_ip_address: The reference of the Public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2018_04_01.models.PublicIPAddress + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'inbound_nat_rules': {'readonly': True}, + 'inbound_nat_pools': {'readonly': True}, + 'outbound_nat_rules': {'readonly': True}, + 'load_balancing_rules': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, + 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, + 'outbound_nat_rules': {'key': 'properties.outboundNatRules', 'type': '[SubResource]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, provisioning_state: str=None, name: str=None, etag: str=None, zones=None, **kwargs) -> None: + super(FrontendIPConfiguration, self).__init__(id=id, **kwargs) + self.inbound_nat_rules = None + self.inbound_nat_pools = None + self.outbound_nat_rules = None + self.load_balancing_rules = None + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.subnet = subnet + self.public_ip_address = public_ip_address + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.zones = zones diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/gateway_route.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/gateway_route.py new file mode 100644 index 000000000000..0b96cb661e70 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/gateway_route.py @@ -0,0 +1,65 @@ +# 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.serialization import Model + + +class GatewayRoute(Model): + """Gateway routing details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar local_address: The gateway's local address + :vartype local_address: str + :ivar network: The route's network prefix + :vartype network: str + :ivar next_hop: The route's next hop + :vartype next_hop: str + :ivar source_peer: The peer this route was learned from + :vartype source_peer: str + :ivar origin: The source this route was learned from + :vartype origin: str + :ivar as_path: The route's AS path sequence + :vartype as_path: str + :ivar weight: The route's weight + :vartype weight: int + """ + + _validation = { + 'local_address': {'readonly': True}, + 'network': {'readonly': True}, + 'next_hop': {'readonly': True}, + 'source_peer': {'readonly': True}, + 'origin': {'readonly': True}, + 'as_path': {'readonly': True}, + 'weight': {'readonly': True}, + } + + _attribute_map = { + 'local_address': {'key': 'localAddress', 'type': 'str'}, + 'network': {'key': 'network', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + 'source_peer': {'key': 'sourcePeer', 'type': 'str'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'as_path': {'key': 'asPath', 'type': 'str'}, + 'weight': {'key': 'weight', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(GatewayRoute, self).__init__(**kwargs) + self.local_address = None + self.network = None + self.next_hop = None + self.source_peer = None + self.origin = None + self.as_path = None + self.weight = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/gateway_route_list_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/gateway_route_list_result.py new file mode 100644 index 000000000000..40155f018677 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/gateway_route_list_result.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class GatewayRouteListResult(Model): + """List of virtual network gateway routes. + + :param value: List of gateway routes + :type value: list[~azure.mgmt.network.v2018_04_01.models.GatewayRoute] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[GatewayRoute]'}, + } + + def __init__(self, **kwargs): + super(GatewayRouteListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/gateway_route_list_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/gateway_route_list_result_py3.py new file mode 100644 index 000000000000..aec0f5614235 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/gateway_route_list_result_py3.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class GatewayRouteListResult(Model): + """List of virtual network gateway routes. + + :param value: List of gateway routes + :type value: list[~azure.mgmt.network.v2018_04_01.models.GatewayRoute] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[GatewayRoute]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(GatewayRouteListResult, self).__init__(**kwargs) + self.value = value diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/gateway_route_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/gateway_route_py3.py new file mode 100644 index 000000000000..1aa3ba60605f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/gateway_route_py3.py @@ -0,0 +1,65 @@ +# 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.serialization import Model + + +class GatewayRoute(Model): + """Gateway routing details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar local_address: The gateway's local address + :vartype local_address: str + :ivar network: The route's network prefix + :vartype network: str + :ivar next_hop: The route's next hop + :vartype next_hop: str + :ivar source_peer: The peer this route was learned from + :vartype source_peer: str + :ivar origin: The source this route was learned from + :vartype origin: str + :ivar as_path: The route's AS path sequence + :vartype as_path: str + :ivar weight: The route's weight + :vartype weight: int + """ + + _validation = { + 'local_address': {'readonly': True}, + 'network': {'readonly': True}, + 'next_hop': {'readonly': True}, + 'source_peer': {'readonly': True}, + 'origin': {'readonly': True}, + 'as_path': {'readonly': True}, + 'weight': {'readonly': True}, + } + + _attribute_map = { + 'local_address': {'key': 'localAddress', 'type': 'str'}, + 'network': {'key': 'network', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + 'source_peer': {'key': 'sourcePeer', 'type': 'str'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'as_path': {'key': 'asPath', 'type': 'str'}, + 'weight': {'key': 'weight', 'type': 'int'}, + } + + def __init__(self, **kwargs) -> None: + super(GatewayRoute, self).__init__(**kwargs) + self.local_address = None + self.network = None + self.next_hop = None + self.source_peer = None + self.origin = None + self.as_path = None + self.weight = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/get_vpn_sites_configuration_request.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/get_vpn_sites_configuration_request.py new file mode 100644 index 000000000000..7aad4d604cc0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/get_vpn_sites_configuration_request.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class GetVpnSitesConfigurationRequest(Model): + """List of Vpn-Sites. + + :param vpn_sites: List of resource-ids of the vpn-sites for which config + is to be downloaded. + :type vpn_sites: list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param output_blob_sas_url: The sas-url to download the configurations for + vpn-sites + :type output_blob_sas_url: str + """ + + _attribute_map = { + 'vpn_sites': {'key': 'vpnSites', 'type': '[SubResource]'}, + 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(GetVpnSitesConfigurationRequest, self).__init__(**kwargs) + self.vpn_sites = kwargs.get('vpn_sites', None) + self.output_blob_sas_url = kwargs.get('output_blob_sas_url', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/get_vpn_sites_configuration_request_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/get_vpn_sites_configuration_request_py3.py new file mode 100644 index 000000000000..6c0f736ce441 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/get_vpn_sites_configuration_request_py3.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class GetVpnSitesConfigurationRequest(Model): + """List of Vpn-Sites. + + :param vpn_sites: List of resource-ids of the vpn-sites for which config + is to be downloaded. + :type vpn_sites: list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param output_blob_sas_url: The sas-url to download the configurations for + vpn-sites + :type output_blob_sas_url: str + """ + + _attribute_map = { + 'vpn_sites': {'key': 'vpnSites', 'type': '[SubResource]'}, + 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, + } + + def __init__(self, *, vpn_sites=None, output_blob_sas_url: str=None, **kwargs) -> None: + super(GetVpnSitesConfigurationRequest, self).__init__(**kwargs) + self.vpn_sites = vpn_sites + self.output_blob_sas_url = output_blob_sas_url diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/http_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/http_configuration.py new file mode 100644 index 000000000000..5733cc9cc69f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/http_configuration.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class HTTPConfiguration(Model): + """HTTP configuration of the connectivity check. + + :param method: HTTP method. Possible values include: 'Get' + :type method: str or ~azure.mgmt.network.v2018_04_01.models.HTTPMethod + :param headers: List of HTTP headers. + :type headers: list[~azure.mgmt.network.v2018_04_01.models.HTTPHeader] + :param valid_status_codes: Valid status codes. + :type valid_status_codes: list[int] + """ + + _attribute_map = { + 'method': {'key': 'method', 'type': 'str'}, + 'headers': {'key': 'headers', 'type': '[HTTPHeader]'}, + 'valid_status_codes': {'key': 'validStatusCodes', 'type': '[int]'}, + } + + def __init__(self, **kwargs): + super(HTTPConfiguration, self).__init__(**kwargs) + self.method = kwargs.get('method', None) + self.headers = kwargs.get('headers', None) + self.valid_status_codes = kwargs.get('valid_status_codes', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/http_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/http_configuration_py3.py new file mode 100644 index 000000000000..da9d8a05cab2 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/http_configuration_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class HTTPConfiguration(Model): + """HTTP configuration of the connectivity check. + + :param method: HTTP method. Possible values include: 'Get' + :type method: str or ~azure.mgmt.network.v2018_04_01.models.HTTPMethod + :param headers: List of HTTP headers. + :type headers: list[~azure.mgmt.network.v2018_04_01.models.HTTPHeader] + :param valid_status_codes: Valid status codes. + :type valid_status_codes: list[int] + """ + + _attribute_map = { + 'method': {'key': 'method', 'type': 'str'}, + 'headers': {'key': 'headers', 'type': '[HTTPHeader]'}, + 'valid_status_codes': {'key': 'validStatusCodes', 'type': '[int]'}, + } + + def __init__(self, *, method=None, headers=None, valid_status_codes=None, **kwargs) -> None: + super(HTTPConfiguration, self).__init__(**kwargs) + self.method = method + self.headers = headers + self.valid_status_codes = valid_status_codes diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/http_header.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/http_header.py new file mode 100644 index 000000000000..0d0a9a93cd5a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/http_header.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class HTTPHeader(Model): + """Describes the HTTP header. + + :param name: The name in HTTP header. + :type name: str + :param value: The value in HTTP header. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HTTPHeader, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/http_header_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/http_header_py3.py new file mode 100644 index 000000000000..366f1a2bf681 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/http_header_py3.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class HTTPHeader(Model): + """Describes the HTTP header. + + :param name: The name in HTTP header. + :type name: str + :param value: The value in HTTP header. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: + super(HTTPHeader, self).__init__(**kwargs) + self.name = name + self.value = value diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/hub_virtual_network_connection.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/hub_virtual_network_connection.py new file mode 100644 index 000000000000..1c40b2827556 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/hub_virtual_network_connection.py @@ -0,0 +1,74 @@ +# 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 .resource import Resource + + +class HubVirtualNetworkConnection(Resource): + """HubVirtualNetworkConnection Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param remote_virtual_network: Reference to the remote virtual network. + :type remote_virtual_network: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param allow_hub_to_remote_vnet_transit: VirtualHub to RemoteVnet transit + to enabled or not. + :type allow_hub_to_remote_vnet_transit: bool + :param allow_remote_vnet_to_use_hub_vnet_gateways: Allow RemoteVnet to use + Virtual Hub's gateways. + :type allow_remote_vnet_to_use_hub_vnet_gateways: bool + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, + 'allow_hub_to_remote_vnet_transit': {'key': 'properties.allowHubToRemoteVnetTransit', 'type': 'bool'}, + 'allow_remote_vnet_to_use_hub_vnet_gateways': {'key': 'properties.allowRemoteVnetToUseHubVnetGateways', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HubVirtualNetworkConnection, self).__init__(**kwargs) + self.remote_virtual_network = kwargs.get('remote_virtual_network', None) + self.allow_hub_to_remote_vnet_transit = kwargs.get('allow_hub_to_remote_vnet_transit', None) + self.allow_remote_vnet_to_use_hub_vnet_gateways = kwargs.get('allow_remote_vnet_to_use_hub_vnet_gateways', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/hub_virtual_network_connection_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/hub_virtual_network_connection_paged.py new file mode 100644 index 000000000000..e6ac892a5743 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/hub_virtual_network_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 HubVirtualNetworkConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`HubVirtualNetworkConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[HubVirtualNetworkConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(HubVirtualNetworkConnectionPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/hub_virtual_network_connection_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/hub_virtual_network_connection_py3.py new file mode 100644 index 000000000000..bab3018606bc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/hub_virtual_network_connection_py3.py @@ -0,0 +1,74 @@ +# 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 .resource_py3 import Resource + + +class HubVirtualNetworkConnection(Resource): + """HubVirtualNetworkConnection Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param remote_virtual_network: Reference to the remote virtual network. + :type remote_virtual_network: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param allow_hub_to_remote_vnet_transit: VirtualHub to RemoteVnet transit + to enabled or not. + :type allow_hub_to_remote_vnet_transit: bool + :param allow_remote_vnet_to_use_hub_vnet_gateways: Allow RemoteVnet to use + Virtual Hub's gateways. + :type allow_remote_vnet_to_use_hub_vnet_gateways: bool + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, + 'allow_hub_to_remote_vnet_transit': {'key': 'properties.allowHubToRemoteVnetTransit', 'type': 'bool'}, + 'allow_remote_vnet_to_use_hub_vnet_gateways': {'key': 'properties.allowRemoteVnetToUseHubVnetGateways', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, remote_virtual_network=None, allow_hub_to_remote_vnet_transit: bool=None, allow_remote_vnet_to_use_hub_vnet_gateways: bool=None, provisioning_state=None, **kwargs) -> None: + super(HubVirtualNetworkConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.remote_virtual_network = remote_virtual_network + self.allow_hub_to_remote_vnet_transit = allow_hub_to_remote_vnet_transit + self.allow_remote_vnet_to_use_hub_vnet_gateways = allow_remote_vnet_to_use_hub_vnet_gateways + self.provisioning_state = provisioning_state + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/inbound_nat_pool.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/inbound_nat_pool.py new file mode 100644 index 000000000000..2af33b86f224 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/inbound_nat_pool.py @@ -0,0 +1,94 @@ +# 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 InboundNatPool(SubResource): + """Inbound NAT pool of the load balancer. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param protocol: Required. Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2018_04_01.models.TransportProtocol + :param frontend_port_range_start: Required. The first port number in the + range of external ports that will be used to provide Inbound Nat to NICs + associated with a load balancer. Acceptable values range between 1 and + 65534. + :type frontend_port_range_start: int + :param frontend_port_range_end: Required. The last port number in the + range of external ports that will be used to provide Inbound Nat to NICs + associated with a load balancer. Acceptable values range between 1 and + 65535. + :type frontend_port_range_end: int + :param backend_port: Required. The port used for internal connections on + the endpoint. Acceptable values are between 1 and 65535. + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param provisioning_state: Gets the provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'protocol': {'required': True}, + 'frontend_port_range_start': {'required': True}, + 'frontend_port_range_end': {'required': True}, + 'backend_port': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, + 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(InboundNatPool, self).__init__(**kwargs) + self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) + self.protocol = kwargs.get('protocol', None) + self.frontend_port_range_start = kwargs.get('frontend_port_range_start', None) + self.frontend_port_range_end = kwargs.get('frontend_port_range_end', None) + self.backend_port = kwargs.get('backend_port', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.enable_floating_ip = kwargs.get('enable_floating_ip', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/inbound_nat_pool_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/inbound_nat_pool_py3.py new file mode 100644 index 000000000000..df540759a0c7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/inbound_nat_pool_py3.py @@ -0,0 +1,94 @@ +# 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 InboundNatPool(SubResource): + """Inbound NAT pool of the load balancer. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param protocol: Required. Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2018_04_01.models.TransportProtocol + :param frontend_port_range_start: Required. The first port number in the + range of external ports that will be used to provide Inbound Nat to NICs + associated with a load balancer. Acceptable values range between 1 and + 65534. + :type frontend_port_range_start: int + :param frontend_port_range_end: Required. The last port number in the + range of external ports that will be used to provide Inbound Nat to NICs + associated with a load balancer. Acceptable values range between 1 and + 65535. + :type frontend_port_range_end: int + :param backend_port: Required. The port used for internal connections on + the endpoint. Acceptable values are between 1 and 65535. + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param provisioning_state: Gets the provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'protocol': {'required': True}, + 'frontend_port_range_start': {'required': True}, + 'frontend_port_range_end': {'required': True}, + 'backend_port': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, + 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, protocol, frontend_port_range_start: int, frontend_port_range_end: int, backend_port: int, id: str=None, frontend_ip_configuration=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(InboundNatPool, self).__init__(id=id, **kwargs) + self.frontend_ip_configuration = frontend_ip_configuration + self.protocol = protocol + self.frontend_port_range_start = frontend_port_range_start + self.frontend_port_range_end = frontend_port_range_end + self.backend_port = backend_port + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.enable_floating_ip = enable_floating_ip + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/inbound_nat_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/inbound_nat_rule.py new file mode 100644 index 000000000000..69e923af7397 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/inbound_nat_rule.py @@ -0,0 +1,91 @@ +# 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 InboundNatRule(SubResource): + """Inbound NAT rule of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :ivar backend_ip_configuration: A reference to a private IP address + defined on a network interface of a VM. Traffic sent to the frontend port + of each of the frontend IP configurations is forwarded to the backend IP. + :vartype backend_ip_configuration: + ~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfiguration + :param protocol: Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2018_04_01.models.TransportProtocol + :param frontend_port: The port for the external endpoint. Port numbers for + each rule must be unique within the Load Balancer. Acceptable values range + from 1 to 65534. + :type frontend_port: int + :param backend_port: The port used for the internal endpoint. Acceptable + values range from 1 to 65535. + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type 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 + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'backend_ip_configuration': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(InboundNatRule, self).__init__(**kwargs) + self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) + self.backend_ip_configuration = None + self.protocol = kwargs.get('protocol', None) + self.frontend_port = kwargs.get('frontend_port', None) + self.backend_port = kwargs.get('backend_port', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.enable_floating_ip = kwargs.get('enable_floating_ip', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/inbound_nat_rule_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/inbound_nat_rule_paged.py new file mode 100644 index 000000000000..73bff922312e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/inbound_nat_rule_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 InboundNatRulePaged(Paged): + """ + A paging container for iterating over a list of :class:`InboundNatRule ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[InboundNatRule]'} + } + + def __init__(self, *args, **kwargs): + + super(InboundNatRulePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/inbound_nat_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/inbound_nat_rule_py3.py new file mode 100644 index 000000000000..a81c84241419 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/inbound_nat_rule_py3.py @@ -0,0 +1,91 @@ +# 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 InboundNatRule(SubResource): + """Inbound NAT rule of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :ivar backend_ip_configuration: A reference to a private IP address + defined on a network interface of a VM. Traffic sent to the frontend port + of each of the frontend IP configurations is forwarded to the backend IP. + :vartype backend_ip_configuration: + ~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfiguration + :param protocol: Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2018_04_01.models.TransportProtocol + :param frontend_port: The port for the external endpoint. Port numbers for + each rule must be unique within the Load Balancer. Acceptable values range + from 1 to 65534. + :type frontend_port: int + :param backend_port: The port used for the internal endpoint. Acceptable + values range from 1 to 65535. + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type 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 + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'backend_ip_configuration': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, frontend_ip_configuration=None, protocol=None, frontend_port: int=None, backend_port: int=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(InboundNatRule, self).__init__(id=id, **kwargs) + self.frontend_ip_configuration = frontend_ip_configuration + self.backend_ip_configuration = None + self.protocol = protocol + self.frontend_port = frontend_port + self.backend_port = backend_port + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.enable_floating_ip = enable_floating_ip + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ip_address_availability_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ip_address_availability_result.py new file mode 100644 index 000000000000..6bcf52275711 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ip_address_availability_result.py @@ -0,0 +1,33 @@ +# 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.serialization import Model + + +class IPAddressAvailabilityResult(Model): + """Response for CheckIPAddressAvailability API service call. + + :param available: Private IP address availability. + :type available: bool + :param available_ip_addresses: Contains other available private IP + addresses if the asked for address is taken. + :type available_ip_addresses: list[str] + """ + + _attribute_map = { + 'available': {'key': 'available', 'type': 'bool'}, + 'available_ip_addresses': {'key': 'availableIPAddresses', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(IPAddressAvailabilityResult, self).__init__(**kwargs) + self.available = kwargs.get('available', None) + self.available_ip_addresses = kwargs.get('available_ip_addresses', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ip_address_availability_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ip_address_availability_result_py3.py new file mode 100644 index 000000000000..e5fc4340d370 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ip_address_availability_result_py3.py @@ -0,0 +1,33 @@ +# 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.serialization import Model + + +class IPAddressAvailabilityResult(Model): + """Response for CheckIPAddressAvailability API service call. + + :param available: Private IP address availability. + :type available: bool + :param available_ip_addresses: Contains other available private IP + addresses if the asked for address is taken. + :type available_ip_addresses: list[str] + """ + + _attribute_map = { + 'available': {'key': 'available', 'type': 'bool'}, + 'available_ip_addresses': {'key': 'availableIPAddresses', 'type': '[str]'}, + } + + def __init__(self, *, available: bool=None, available_ip_addresses=None, **kwargs) -> None: + super(IPAddressAvailabilityResult, self).__init__(**kwargs) + self.available = available + self.available_ip_addresses = available_ip_addresses diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ip_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ip_configuration.py new file mode 100644 index 000000000000..cb2c579b2985 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ip_configuration.py @@ -0,0 +1,62 @@ +# 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 IPConfiguration(SubResource): + """IP configuration. + + :param id: Resource ID. + :type id: str + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP allocation method. + Possible values are 'Static' and 'Dynamic'. Possible values include: + 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2018_04_01.models.IPAllocationMethod + :param subnet: The reference of the subnet resource. + :type subnet: ~azure.mgmt.network.v2018_04_01.models.Subnet + :param public_ip_address: The reference of the public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2018_04_01.models.PublicIPAddress + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IPConfiguration, self).__init__(**kwargs) + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ip_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ip_configuration_py3.py new file mode 100644 index 000000000000..fa94e5f50c47 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ip_configuration_py3.py @@ -0,0 +1,62 @@ +# 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 IPConfiguration(SubResource): + """IP configuration. + + :param id: Resource ID. + :type id: str + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP allocation method. + Possible values are 'Static' and 'Dynamic'. Possible values include: + 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2018_04_01.models.IPAllocationMethod + :param subnet: The reference of the subnet resource. + :type subnet: ~azure.mgmt.network.v2018_04_01.models.Subnet + :param public_ip_address: The reference of the public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2018_04_01.models.PublicIPAddress + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(IPConfiguration, self).__init__(id=id, **kwargs) + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.subnet = subnet + self.public_ip_address = public_ip_address + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ip_tag.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ip_tag.py new file mode 100644 index 000000000000..b8690371226d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ip_tag.py @@ -0,0 +1,33 @@ +# 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.serialization import Model + + +class IpTag(Model): + """Contains the IpTag associated with the public IP address. + + :param ip_tag_type: Gets or sets the ipTag type: Example FirstPartyUsage. + :type ip_tag_type: str + :param tag: Gets or sets value of the IpTag associated with the public IP. + Example SQL, Storage etc + :type tag: str + """ + + _attribute_map = { + 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpTag, self).__init__(**kwargs) + self.ip_tag_type = kwargs.get('ip_tag_type', None) + self.tag = kwargs.get('tag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ip_tag_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ip_tag_py3.py new file mode 100644 index 000000000000..fbb5338ff30e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ip_tag_py3.py @@ -0,0 +1,33 @@ +# 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.serialization import Model + + +class IpTag(Model): + """Contains the IpTag associated with the public IP address. + + :param ip_tag_type: Gets or sets the ipTag type: Example FirstPartyUsage. + :type ip_tag_type: str + :param tag: Gets or sets value of the IpTag associated with the public IP. + Example SQL, Storage etc + :type tag: str + """ + + _attribute_map = { + 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + } + + def __init__(self, *, ip_tag_type: str=None, tag: str=None, **kwargs) -> None: + super(IpTag, self).__init__(**kwargs) + self.ip_tag_type = ip_tag_type + self.tag = tag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ipsec_policy.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ipsec_policy.py new file mode 100644 index 000000000000..223b4bc0c31f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ipsec_policy.py @@ -0,0 +1,89 @@ +# 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.serialization import Model + + +class IpsecPolicy(Model): + """An IPSec Policy configuration for a virtual network gateway connection. + + All required parameters must be populated in order to send to Azure. + + :param sa_life_time_seconds: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to + site VPN tunnel. + :type sa_life_time_seconds: int + :param sa_data_size_kilobytes: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) payload size in KB for a site to + site VPN tunnel. + :type sa_data_size_kilobytes: int + :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE + phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', + 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + :type ipsec_encryption: str or + ~azure.mgmt.network.v2018_04_01.models.IpsecEncryption + :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase + 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', + 'GCMAES192', 'GCMAES256' + :type ipsec_integrity: str or + ~azure.mgmt.network.v2018_04_01.models.IpsecIntegrity + :param ike_encryption: Required. The IKE encryption algorithm (IKE phase + 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', + 'GCMAES256', 'GCMAES128' + :type ike_encryption: str or + ~azure.mgmt.network.v2018_04_01.models.IkeEncryption + :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). + Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', + 'GCMAES128' + :type ike_integrity: str or + ~azure.mgmt.network.v2018_04_01.models.IkeIntegrity + :param dh_group: Required. The DH Groups used in IKE Phase 1 for initial + SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', + 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + :type dh_group: str or ~azure.mgmt.network.v2018_04_01.models.DhGroup + :param pfs_group: Required. The Pfs Groups used in IKE Phase 2 for new + child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', + 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + :type pfs_group: str or ~azure.mgmt.network.v2018_04_01.models.PfsGroup + """ + + _validation = { + 'sa_life_time_seconds': {'required': True}, + 'sa_data_size_kilobytes': {'required': True}, + 'ipsec_encryption': {'required': True}, + 'ipsec_integrity': {'required': True}, + 'ike_encryption': {'required': True}, + 'ike_integrity': {'required': True}, + 'dh_group': {'required': True}, + 'pfs_group': {'required': True}, + } + + _attribute_map = { + 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, + 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, + 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, + 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, + 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, + 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, + 'dh_group': {'key': 'dhGroup', 'type': 'str'}, + 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpsecPolicy, self).__init__(**kwargs) + self.sa_life_time_seconds = kwargs.get('sa_life_time_seconds', None) + self.sa_data_size_kilobytes = kwargs.get('sa_data_size_kilobytes', None) + self.ipsec_encryption = kwargs.get('ipsec_encryption', None) + self.ipsec_integrity = kwargs.get('ipsec_integrity', None) + self.ike_encryption = kwargs.get('ike_encryption', None) + self.ike_integrity = kwargs.get('ike_integrity', None) + self.dh_group = kwargs.get('dh_group', None) + self.pfs_group = kwargs.get('pfs_group', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ipsec_policy_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ipsec_policy_py3.py new file mode 100644 index 000000000000..7a4ddef1ba15 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ipsec_policy_py3.py @@ -0,0 +1,89 @@ +# 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.serialization import Model + + +class IpsecPolicy(Model): + """An IPSec Policy configuration for a virtual network gateway connection. + + All required parameters must be populated in order to send to Azure. + + :param sa_life_time_seconds: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to + site VPN tunnel. + :type sa_life_time_seconds: int + :param sa_data_size_kilobytes: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) payload size in KB for a site to + site VPN tunnel. + :type sa_data_size_kilobytes: int + :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE + phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', + 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + :type ipsec_encryption: str or + ~azure.mgmt.network.v2018_04_01.models.IpsecEncryption + :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase + 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', + 'GCMAES192', 'GCMAES256' + :type ipsec_integrity: str or + ~azure.mgmt.network.v2018_04_01.models.IpsecIntegrity + :param ike_encryption: Required. The IKE encryption algorithm (IKE phase + 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', + 'GCMAES256', 'GCMAES128' + :type ike_encryption: str or + ~azure.mgmt.network.v2018_04_01.models.IkeEncryption + :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). + Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', + 'GCMAES128' + :type ike_integrity: str or + ~azure.mgmt.network.v2018_04_01.models.IkeIntegrity + :param dh_group: Required. The DH Groups used in IKE Phase 1 for initial + SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', + 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + :type dh_group: str or ~azure.mgmt.network.v2018_04_01.models.DhGroup + :param pfs_group: Required. The Pfs Groups used in IKE Phase 2 for new + child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', + 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + :type pfs_group: str or ~azure.mgmt.network.v2018_04_01.models.PfsGroup + """ + + _validation = { + 'sa_life_time_seconds': {'required': True}, + 'sa_data_size_kilobytes': {'required': True}, + 'ipsec_encryption': {'required': True}, + 'ipsec_integrity': {'required': True}, + 'ike_encryption': {'required': True}, + 'ike_integrity': {'required': True}, + 'dh_group': {'required': True}, + 'pfs_group': {'required': True}, + } + + _attribute_map = { + 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, + 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, + 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, + 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, + 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, + 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, + 'dh_group': {'key': 'dhGroup', 'type': 'str'}, + 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, + } + + def __init__(self, *, sa_life_time_seconds: int, sa_data_size_kilobytes: int, ipsec_encryption, ipsec_integrity, ike_encryption, ike_integrity, dh_group, pfs_group, **kwargs) -> None: + super(IpsecPolicy, self).__init__(**kwargs) + self.sa_life_time_seconds = sa_life_time_seconds + self.sa_data_size_kilobytes = sa_data_size_kilobytes + self.ipsec_encryption = ipsec_encryption + self.ipsec_integrity = ipsec_integrity + self.ike_encryption = ike_encryption + self.ike_integrity = ike_integrity + self.dh_group = dh_group + self.pfs_group = pfs_group diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ipv6_express_route_circuit_peering_config.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ipv6_express_route_circuit_peering_config.py new file mode 100644 index 000000000000..ecf50394b602 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ipv6_express_route_circuit_peering_config.py @@ -0,0 +1,47 @@ +# 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.serialization import Model + + +class Ipv6ExpressRouteCircuitPeeringConfig(Model): + """Contains IPv6 peering config. + + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeeringConfig + :param route_filter: The reference of the RouteFilter resource. + :type route_filter: ~azure.mgmt.network.v2018_04_01.models.RouteFilter + :param state: The state of peering. Possible values are: 'Disabled' and + 'Enabled'. Possible values include: 'Disabled', 'Enabled' + :type state: str or + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeeringState + """ + + _attribute_map = { + 'primary_peer_address_prefix': {'key': 'primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'secondaryPeerAddressPrefix', 'type': 'str'}, + 'microsoft_peering_config': {'key': 'microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'route_filter': {'key': 'routeFilter', 'type': 'RouteFilter'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Ipv6ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) + self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) + self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) + self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) + self.route_filter = kwargs.get('route_filter', None) + self.state = kwargs.get('state', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ipv6_express_route_circuit_peering_config_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ipv6_express_route_circuit_peering_config_py3.py new file mode 100644 index 000000000000..8a979b607512 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/ipv6_express_route_circuit_peering_config_py3.py @@ -0,0 +1,47 @@ +# 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.serialization import Model + + +class Ipv6ExpressRouteCircuitPeeringConfig(Model): + """Contains IPv6 peering config. + + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeeringConfig + :param route_filter: The reference of the RouteFilter resource. + :type route_filter: ~azure.mgmt.network.v2018_04_01.models.RouteFilter + :param state: The state of peering. Possible values are: 'Disabled' and + 'Enabled'. Possible values include: 'Disabled', 'Enabled' + :type state: str or + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeeringState + """ + + _attribute_map = { + 'primary_peer_address_prefix': {'key': 'primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'secondaryPeerAddressPrefix', 'type': 'str'}, + 'microsoft_peering_config': {'key': 'microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'route_filter': {'key': 'routeFilter', 'type': 'RouteFilter'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, *, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, microsoft_peering_config=None, route_filter=None, state=None, **kwargs) -> None: + super(Ipv6ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) + self.primary_peer_address_prefix = primary_peer_address_prefix + self.secondary_peer_address_prefix = secondary_peer_address_prefix + self.microsoft_peering_config = microsoft_peering_config + self.route_filter = route_filter + self.state = state diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancer.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancer.py new file mode 100644 index 000000000000..d3ab3c29d031 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancer.py @@ -0,0 +1,115 @@ +# 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 .resource import Resource + + +class LoadBalancer(Resource): + """LoadBalancer resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The load balancer SKU. + :type sku: ~azure.mgmt.network.v2018_04_01.models.LoadBalancerSku + :param frontend_ip_configurations: Object representing the frontend IPs to + be used for the load balancer + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2018_04_01.models.FrontendIPConfiguration] + :param backend_address_pools: Collection of backend address pools used by + a load balancer + :type backend_address_pools: + list[~azure.mgmt.network.v2018_04_01.models.BackendAddressPool] + :param load_balancing_rules: Object collection representing the load + balancing rules Gets the provisioning + :type load_balancing_rules: + list[~azure.mgmt.network.v2018_04_01.models.LoadBalancingRule] + :param probes: Collection of probe objects used in the load balancer + :type probes: list[~azure.mgmt.network.v2018_04_01.models.Probe] + :param inbound_nat_rules: Collection of inbound NAT Rules used by a load + balancer. Defining inbound NAT rules on your load balancer is mutually + exclusive with defining an inbound NAT pool. Inbound NAT pools are + referenced from virtual machine scale sets. NICs that are associated with + individual virtual machines cannot reference an Inbound NAT pool. They + have to reference individual inbound NAT rules. + :type inbound_nat_rules: + list[~azure.mgmt.network.v2018_04_01.models.InboundNatRule] + :param inbound_nat_pools: Defines an external port range for inbound NAT + to a single backend port on NICs associated with a load balancer. Inbound + NAT rules are created automatically for each NIC associated with the Load + Balancer using an external port from this range. Defining an Inbound NAT + pool on your Load Balancer is mutually exclusive with defining inbound Nat + rules. Inbound NAT pools are referenced from virtual machine scale sets. + NICs that are associated with individual virtual machines cannot reference + an inbound NAT pool. They have to reference individual inbound NAT rules. + :type inbound_nat_pools: + list[~azure.mgmt.network.v2018_04_01.models.InboundNatPool] + :param outbound_nat_rules: The outbound NAT rules. + :type outbound_nat_rules: + list[~azure.mgmt.network.v2018_04_01.models.OutboundNatRule] + :param resource_guid: The resource GUID property of the load balancer + resource. + :type resource_guid: str + :param provisioning_state: Gets the provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'LoadBalancerSku'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, + 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, + 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, + 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, + 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, + 'outbound_nat_rules': {'key': 'properties.outboundNatRules', 'type': '[OutboundNatRule]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LoadBalancer, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) + self.backend_address_pools = kwargs.get('backend_address_pools', None) + self.load_balancing_rules = kwargs.get('load_balancing_rules', None) + self.probes = kwargs.get('probes', None) + self.inbound_nat_rules = kwargs.get('inbound_nat_rules', None) + self.inbound_nat_pools = kwargs.get('inbound_nat_pools', None) + self.outbound_nat_rules = kwargs.get('outbound_nat_rules', None) + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancer_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancer_paged.py new file mode 100644 index 000000000000..6cbfca27035a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancer_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 LoadBalancerPaged(Paged): + """ + A paging container for iterating over a list of :class:`LoadBalancer ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[LoadBalancer]'} + } + + def __init__(self, *args, **kwargs): + + super(LoadBalancerPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancer_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancer_py3.py new file mode 100644 index 000000000000..9b47dede138f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancer_py3.py @@ -0,0 +1,115 @@ +# 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 .resource_py3 import Resource + + +class LoadBalancer(Resource): + """LoadBalancer resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The load balancer SKU. + :type sku: ~azure.mgmt.network.v2018_04_01.models.LoadBalancerSku + :param frontend_ip_configurations: Object representing the frontend IPs to + be used for the load balancer + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2018_04_01.models.FrontendIPConfiguration] + :param backend_address_pools: Collection of backend address pools used by + a load balancer + :type backend_address_pools: + list[~azure.mgmt.network.v2018_04_01.models.BackendAddressPool] + :param load_balancing_rules: Object collection representing the load + balancing rules Gets the provisioning + :type load_balancing_rules: + list[~azure.mgmt.network.v2018_04_01.models.LoadBalancingRule] + :param probes: Collection of probe objects used in the load balancer + :type probes: list[~azure.mgmt.network.v2018_04_01.models.Probe] + :param inbound_nat_rules: Collection of inbound NAT Rules used by a load + balancer. Defining inbound NAT rules on your load balancer is mutually + exclusive with defining an inbound NAT pool. Inbound NAT pools are + referenced from virtual machine scale sets. NICs that are associated with + individual virtual machines cannot reference an Inbound NAT pool. They + have to reference individual inbound NAT rules. + :type inbound_nat_rules: + list[~azure.mgmt.network.v2018_04_01.models.InboundNatRule] + :param inbound_nat_pools: Defines an external port range for inbound NAT + to a single backend port on NICs associated with a load balancer. Inbound + NAT rules are created automatically for each NIC associated with the Load + Balancer using an external port from this range. Defining an Inbound NAT + pool on your Load Balancer is mutually exclusive with defining inbound Nat + rules. Inbound NAT pools are referenced from virtual machine scale sets. + NICs that are associated with individual virtual machines cannot reference + an inbound NAT pool. They have to reference individual inbound NAT rules. + :type inbound_nat_pools: + list[~azure.mgmt.network.v2018_04_01.models.InboundNatPool] + :param outbound_nat_rules: The outbound NAT rules. + :type outbound_nat_rules: + list[~azure.mgmt.network.v2018_04_01.models.OutboundNatRule] + :param resource_guid: The resource GUID property of the load balancer + resource. + :type resource_guid: str + :param provisioning_state: Gets the provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'LoadBalancerSku'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, + 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, + 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, + 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, + 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, + 'outbound_nat_rules': {'key': 'properties.outboundNatRules', 'type': '[OutboundNatRule]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, frontend_ip_configurations=None, backend_address_pools=None, load_balancing_rules=None, probes=None, inbound_nat_rules=None, inbound_nat_pools=None, outbound_nat_rules=None, resource_guid: str=None, provisioning_state: str=None, etag: str=None, **kwargs) -> None: + super(LoadBalancer, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.frontend_ip_configurations = frontend_ip_configurations + self.backend_address_pools = backend_address_pools + self.load_balancing_rules = load_balancing_rules + self.probes = probes + self.inbound_nat_rules = inbound_nat_rules + self.inbound_nat_pools = inbound_nat_pools + self.outbound_nat_rules = outbound_nat_rules + self.resource_guid = resource_guid + self.provisioning_state = provisioning_state + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancer_sku.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancer_sku.py new file mode 100644 index 000000000000..304d1525c2a7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancer_sku.py @@ -0,0 +1,30 @@ +# 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.serialization import Model + + +class LoadBalancerSku(Model): + """SKU of a load balancer. + + :param name: Name of a load balancer SKU. Possible values include: + 'Basic', 'Standard' + :type name: str or + ~azure.mgmt.network.v2018_04_01.models.LoadBalancerSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LoadBalancerSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancer_sku_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancer_sku_py3.py new file mode 100644 index 000000000000..58b09a2c2534 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancer_sku_py3.py @@ -0,0 +1,30 @@ +# 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.serialization import Model + + +class LoadBalancerSku(Model): + """SKU of a load balancer. + + :param name: Name of a load balancer SKU. Possible values include: + 'Basic', 'Standard' + :type name: str or + ~azure.mgmt.network.v2018_04_01.models.LoadBalancerSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name=None, **kwargs) -> None: + super(LoadBalancerSku, self).__init__(**kwargs) + self.name = name diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancing_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancing_rule.py new file mode 100644 index 000000000000..5da45fc490eb --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancing_rule.py @@ -0,0 +1,109 @@ +# 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 LoadBalancingRule(SubResource): + """A load balancing rule for a load balancer. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param backend_address_pool: A reference to a pool of DIPs. Inbound + traffic is randomly load balanced across IPs in the backend IPs. + :type backend_address_pool: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param probe: The reference of the load balancer probe used by the load + balancing rule. + :type probe: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param protocol: Required. Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2018_04_01.models.TransportProtocol + :param load_distribution: The load distribution policy for this rule. + Possible values are 'Default', 'SourceIP', and 'SourceIPProtocol'. + Possible values include: 'Default', 'SourceIP', 'SourceIPProtocol' + :type load_distribution: str or + ~azure.mgmt.network.v2018_04_01.models.LoadDistribution + :param frontend_port: Required. The port for the external endpoint. Port + numbers for each rule must be unique within the Load Balancer. Acceptable + values are between 0 and 65534. Note that value 0 enables "Any Port" + :type frontend_port: int + :param backend_port: The port used for internal connections on the + endpoint. Acceptable values are between 0 and 65535. Note that value 0 + enables "Any Port" + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param disable_outbound_snat: Configures SNAT for the VMs in the backend + pool to use the publicIP address specified in the frontend of the load + balancing rule. + :type disable_outbound_snat: bool + :param provisioning_state: Gets the provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'protocol': {'required': True}, + 'frontend_port': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'disable_outbound_snat': {'key': 'properties.disableOutboundSnat', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LoadBalancingRule, self).__init__(**kwargs) + self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.probe = kwargs.get('probe', None) + self.protocol = kwargs.get('protocol', None) + self.load_distribution = kwargs.get('load_distribution', None) + self.frontend_port = kwargs.get('frontend_port', None) + self.backend_port = kwargs.get('backend_port', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.enable_floating_ip = kwargs.get('enable_floating_ip', None) + self.disable_outbound_snat = kwargs.get('disable_outbound_snat', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancing_rule_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancing_rule_paged.py new file mode 100644 index 000000000000..864b70a13b41 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancing_rule_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 LoadBalancingRulePaged(Paged): + """ + A paging container for iterating over a list of :class:`LoadBalancingRule ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[LoadBalancingRule]'} + } + + def __init__(self, *args, **kwargs): + + super(LoadBalancingRulePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancing_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancing_rule_py3.py new file mode 100644 index 000000000000..b80471704e0d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/load_balancing_rule_py3.py @@ -0,0 +1,109 @@ +# 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 LoadBalancingRule(SubResource): + """A load balancing rule for a load balancer. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param backend_address_pool: A reference to a pool of DIPs. Inbound + traffic is randomly load balanced across IPs in the backend IPs. + :type backend_address_pool: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param probe: The reference of the load balancer probe used by the load + balancing rule. + :type probe: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param protocol: Required. Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2018_04_01.models.TransportProtocol + :param load_distribution: The load distribution policy for this rule. + Possible values are 'Default', 'SourceIP', and 'SourceIPProtocol'. + Possible values include: 'Default', 'SourceIP', 'SourceIPProtocol' + :type load_distribution: str or + ~azure.mgmt.network.v2018_04_01.models.LoadDistribution + :param frontend_port: Required. The port for the external endpoint. Port + numbers for each rule must be unique within the Load Balancer. Acceptable + values are between 0 and 65534. Note that value 0 enables "Any Port" + :type frontend_port: int + :param backend_port: The port used for internal connections on the + endpoint. Acceptable values are between 0 and 65535. Note that value 0 + enables "Any Port" + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param disable_outbound_snat: Configures SNAT for the VMs in the backend + pool to use the publicIP address specified in the frontend of the load + balancing rule. + :type disable_outbound_snat: bool + :param provisioning_state: Gets the provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'protocol': {'required': True}, + 'frontend_port': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'disable_outbound_snat': {'key': 'properties.disableOutboundSnat', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, protocol, frontend_port: int, id: str=None, frontend_ip_configuration=None, backend_address_pool=None, probe=None, load_distribution=None, backend_port: int=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, disable_outbound_snat: bool=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(LoadBalancingRule, self).__init__(id=id, **kwargs) + self.frontend_ip_configuration = frontend_ip_configuration + self.backend_address_pool = backend_address_pool + self.probe = probe + self.protocol = protocol + self.load_distribution = load_distribution + self.frontend_port = frontend_port + self.backend_port = backend_port + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.enable_floating_ip = enable_floating_ip + self.disable_outbound_snat = disable_outbound_snat + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/local_network_gateway.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/local_network_gateway.py new file mode 100644 index 000000000000..7024b398a592 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/local_network_gateway.py @@ -0,0 +1,77 @@ +# 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 .resource import Resource + + +class LocalNetworkGateway(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param local_network_address_space: Local network site address space. + :type local_network_address_space: + ~azure.mgmt.network.v2018_04_01.models.AddressSpace + :param gateway_ip_address: IP address of local network gateway. + :type gateway_ip_address: str + :param bgp_settings: Local network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2018_04_01.models.BgpSettings + :param resource_guid: The resource GUID property of the + LocalNetworkGateway resource. + :type resource_guid: str + :ivar provisioning_state: The provisioning state of the + LocalNetworkGateway resource. Possible values are: 'Updating', 'Deleting', + and 'Failed'. + :vartype provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, + 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LocalNetworkGateway, self).__init__(**kwargs) + self.local_network_address_space = kwargs.get('local_network_address_space', None) + self.gateway_ip_address = kwargs.get('gateway_ip_address', None) + self.bgp_settings = kwargs.get('bgp_settings', None) + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = None + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/local_network_gateway_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/local_network_gateway_paged.py new file mode 100644 index 000000000000..45304396a001 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/local_network_gateway_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 LocalNetworkGatewayPaged(Paged): + """ + A paging container for iterating over a list of :class:`LocalNetworkGateway ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[LocalNetworkGateway]'} + } + + def __init__(self, *args, **kwargs): + + super(LocalNetworkGatewayPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/local_network_gateway_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/local_network_gateway_py3.py new file mode 100644 index 000000000000..f2cf80c6a6b0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/local_network_gateway_py3.py @@ -0,0 +1,77 @@ +# 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 .resource_py3 import Resource + + +class LocalNetworkGateway(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param local_network_address_space: Local network site address space. + :type local_network_address_space: + ~azure.mgmt.network.v2018_04_01.models.AddressSpace + :param gateway_ip_address: IP address of local network gateway. + :type gateway_ip_address: str + :param bgp_settings: Local network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2018_04_01.models.BgpSettings + :param resource_guid: The resource GUID property of the + LocalNetworkGateway resource. + :type resource_guid: str + :ivar provisioning_state: The provisioning state of the + LocalNetworkGateway resource. Possible values are: 'Updating', 'Deleting', + and 'Failed'. + :vartype provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, + 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, local_network_address_space=None, gateway_ip_address: str=None, bgp_settings=None, resource_guid: str=None, etag: str=None, **kwargs) -> None: + super(LocalNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.local_network_address_space = local_network_address_space + self.gateway_ip_address = gateway_ip_address + self.bgp_settings = bgp_settings + self.resource_guid = resource_guid + self.provisioning_state = None + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/log_specification.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/log_specification.py new file mode 100644 index 000000000000..ab592992d904 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/log_specification.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class LogSpecification(Model): + """Description of logging specification. + + :param name: The name of the specification. + :type name: str + :param display_name: The display name of the specification. + :type display_name: str + :param blob_duration: Duration of the blob. + :type blob_duration: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LogSpecification, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.blob_duration = kwargs.get('blob_duration', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/log_specification_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/log_specification_py3.py new file mode 100644 index 000000000000..6184811d393e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/log_specification_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class LogSpecification(Model): + """Description of logging specification. + + :param name: The name of the specification. + :type name: str + :param display_name: The display name of the specification. + :type display_name: str + :param blob_duration: Duration of the blob. + :type blob_duration: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, blob_duration: str=None, **kwargs) -> None: + super(LogSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.blob_duration = blob_duration diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/metric_specification.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/metric_specification.py new file mode 100644 index 000000000000..ededff153be0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/metric_specification.py @@ -0,0 +1,82 @@ +# 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.serialization import Model + + +class MetricSpecification(Model): + """Description of metrics specification. + + :param name: The name of the metric. + :type name: str + :param display_name: The display name of the metric. + :type display_name: str + :param display_description: The description of the metric. + :type display_description: str + :param unit: Units the metric to be displayed in. + :type unit: str + :param aggregation_type: The aggregation type. + :type aggregation_type: str + :param availabilities: List of availability. + :type availabilities: + list[~azure.mgmt.network.v2018_04_01.models.Availability] + :param enable_regional_mdm_account: Whether regional MDM account enabled. + :type enable_regional_mdm_account: bool + :param fill_gap_with_zero: Whether gaps would be filled with zeros. + :type fill_gap_with_zero: bool + :param metric_filter_pattern: Pattern for the filter of the metric. + :type metric_filter_pattern: str + :param dimensions: List of dimensions. + :type dimensions: list[~azure.mgmt.network.v2018_04_01.models.Dimension] + :param is_internal: Whether the metric is internal. + :type is_internal: bool + :param source_mdm_account: The source MDM account. + :type source_mdm_account: str + :param source_mdm_namespace: The source MDM namespace. + :type source_mdm_namespace: str + :param resource_id_dimension_name_override: The resource Id dimension name + override. + :type resource_id_dimension_name_override: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'availabilities': {'key': 'availabilities', 'type': '[Availability]'}, + 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'is_internal': {'key': 'isInternal', 'type': 'bool'}, + 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, + 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MetricSpecification, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.display_description = kwargs.get('display_description', None) + self.unit = kwargs.get('unit', None) + self.aggregation_type = kwargs.get('aggregation_type', None) + self.availabilities = kwargs.get('availabilities', None) + self.enable_regional_mdm_account = kwargs.get('enable_regional_mdm_account', None) + self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) + self.metric_filter_pattern = kwargs.get('metric_filter_pattern', None) + self.dimensions = kwargs.get('dimensions', None) + self.is_internal = kwargs.get('is_internal', None) + self.source_mdm_account = kwargs.get('source_mdm_account', None) + self.source_mdm_namespace = kwargs.get('source_mdm_namespace', None) + self.resource_id_dimension_name_override = kwargs.get('resource_id_dimension_name_override', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/metric_specification_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/metric_specification_py3.py new file mode 100644 index 000000000000..a151113bf91c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/metric_specification_py3.py @@ -0,0 +1,82 @@ +# 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.serialization import Model + + +class MetricSpecification(Model): + """Description of metrics specification. + + :param name: The name of the metric. + :type name: str + :param display_name: The display name of the metric. + :type display_name: str + :param display_description: The description of the metric. + :type display_description: str + :param unit: Units the metric to be displayed in. + :type unit: str + :param aggregation_type: The aggregation type. + :type aggregation_type: str + :param availabilities: List of availability. + :type availabilities: + list[~azure.mgmt.network.v2018_04_01.models.Availability] + :param enable_regional_mdm_account: Whether regional MDM account enabled. + :type enable_regional_mdm_account: bool + :param fill_gap_with_zero: Whether gaps would be filled with zeros. + :type fill_gap_with_zero: bool + :param metric_filter_pattern: Pattern for the filter of the metric. + :type metric_filter_pattern: str + :param dimensions: List of dimensions. + :type dimensions: list[~azure.mgmt.network.v2018_04_01.models.Dimension] + :param is_internal: Whether the metric is internal. + :type is_internal: bool + :param source_mdm_account: The source MDM account. + :type source_mdm_account: str + :param source_mdm_namespace: The source MDM namespace. + :type source_mdm_namespace: str + :param resource_id_dimension_name_override: The resource Id dimension name + override. + :type resource_id_dimension_name_override: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'availabilities': {'key': 'availabilities', 'type': '[Availability]'}, + 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'is_internal': {'key': 'isInternal', 'type': 'bool'}, + 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, + 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, display_description: str=None, unit: str=None, aggregation_type: str=None, availabilities=None, enable_regional_mdm_account: bool=None, fill_gap_with_zero: bool=None, metric_filter_pattern: str=None, dimensions=None, is_internal: bool=None, source_mdm_account: str=None, source_mdm_namespace: str=None, resource_id_dimension_name_override: str=None, **kwargs) -> None: + super(MetricSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.display_description = display_description + self.unit = unit + self.aggregation_type = aggregation_type + self.availabilities = availabilities + self.enable_regional_mdm_account = enable_regional_mdm_account + self.fill_gap_with_zero = fill_gap_with_zero + self.metric_filter_pattern = metric_filter_pattern + self.dimensions = dimensions + self.is_internal = is_internal + self.source_mdm_account = source_mdm_account + self.source_mdm_namespace = source_mdm_namespace + self.resource_id_dimension_name_override = resource_id_dimension_name_override diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface.py new file mode 100644 index 000000000000..9517ce743c3c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface.py @@ -0,0 +1,102 @@ +# 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 .resource import Resource + + +class NetworkInterface(Resource): + """A network interface in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_machine: The reference of a virtual machine. + :type virtual_machine: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param network_security_group: The reference of the NetworkSecurityGroup + resource. + :type network_security_group: + ~azure.mgmt.network.v2018_04_01.models.NetworkSecurityGroup + :param ip_configurations: A list of IPConfigurations of the network + interface. + :type ip_configurations: + list[~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfiguration] + :param dns_settings: The DNS settings in network interface. + :type dns_settings: + ~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceDnsSettings + :param mac_address: The MAC address of the network interface. + :type mac_address: str + :param primary: Gets whether this is a primary network interface on a + virtual machine. + :type primary: bool + :param enable_accelerated_networking: If the network interface is + accelerated networking enabled. + :type enable_accelerated_networking: bool + :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on + this network interface. + :type enable_ip_forwarding: bool + :param resource_guid: The resource GUID property of the network interface + resource. + :type resource_guid: str + :param provisioning_state: The provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, + 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, + 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, + 'primary': {'key': 'properties.primary', 'type': 'bool'}, + 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, + 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkInterface, self).__init__(**kwargs) + self.virtual_machine = kwargs.get('virtual_machine', None) + self.network_security_group = kwargs.get('network_security_group', None) + self.ip_configurations = kwargs.get('ip_configurations', None) + self.dns_settings = kwargs.get('dns_settings', None) + self.mac_address = kwargs.get('mac_address', None) + self.primary = kwargs.get('primary', None) + self.enable_accelerated_networking = kwargs.get('enable_accelerated_networking', None) + self.enable_ip_forwarding = kwargs.get('enable_ip_forwarding', None) + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_association.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_association.py new file mode 100644 index 000000000000..48960076f745 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_association.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class NetworkInterfaceAssociation(Model): + """Network interface and its custom security rules. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Network interface ID. + :vartype id: str + :param security_rules: Collection of custom security rules. + :type security_rules: + list[~azure.mgmt.network.v2018_04_01.models.SecurityRule] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, + } + + def __init__(self, **kwargs): + super(NetworkInterfaceAssociation, self).__init__(**kwargs) + self.id = None + self.security_rules = kwargs.get('security_rules', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_association_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_association_py3.py new file mode 100644 index 000000000000..74d096a46ec1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_association_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class NetworkInterfaceAssociation(Model): + """Network interface and its custom security rules. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Network interface ID. + :vartype id: str + :param security_rules: Collection of custom security rules. + :type security_rules: + list[~azure.mgmt.network.v2018_04_01.models.SecurityRule] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, + } + + def __init__(self, *, security_rules=None, **kwargs) -> None: + super(NetworkInterfaceAssociation, self).__init__(**kwargs) + self.id = None + self.security_rules = security_rules diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_dns_settings.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_dns_settings.py new file mode 100644 index 000000000000..b6ee0ff40d51 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_dns_settings.py @@ -0,0 +1,55 @@ +# 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.serialization import Model + + +class NetworkInterfaceDnsSettings(Model): + """DNS settings of a network interface. + + :param dns_servers: List of DNS servers IP addresses. Use + 'AzureProvidedDNS' to switch to azure provided DNS resolution. + 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the + only value in dnsServers collection. + :type dns_servers: list[str] + :param applied_dns_servers: If the VM that uses this NIC is part of an + Availability Set, then this list will have the union of all DNS servers + from all NICs that are part of the Availability Set. This property is what + is configured on each of those VMs. + :type applied_dns_servers: list[str] + :param internal_dns_name_label: Relative DNS name for this NIC used for + internal communications between VMs in the same virtual network. + :type internal_dns_name_label: str + :param internal_fqdn: Fully qualified DNS name supporting internal + communications between VMs in the same virtual network. + :type internal_fqdn: str + :param internal_domain_name_suffix: Even if internalDnsNameLabel is not + specified, a DNS entry is created for the primary NIC of the VM. This DNS + name can be constructed by concatenating the VM name with the value of + internalDomainNameSuffix. + :type internal_domain_name_suffix: str + """ + + _attribute_map = { + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, + 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, + 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, + 'internal_domain_name_suffix': {'key': 'internalDomainNameSuffix', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) + self.dns_servers = kwargs.get('dns_servers', None) + self.applied_dns_servers = kwargs.get('applied_dns_servers', None) + self.internal_dns_name_label = kwargs.get('internal_dns_name_label', None) + self.internal_fqdn = kwargs.get('internal_fqdn', None) + self.internal_domain_name_suffix = kwargs.get('internal_domain_name_suffix', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_dns_settings_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_dns_settings_py3.py new file mode 100644 index 000000000000..ccdcc937def8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_dns_settings_py3.py @@ -0,0 +1,55 @@ +# 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.serialization import Model + + +class NetworkInterfaceDnsSettings(Model): + """DNS settings of a network interface. + + :param dns_servers: List of DNS servers IP addresses. Use + 'AzureProvidedDNS' to switch to azure provided DNS resolution. + 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the + only value in dnsServers collection. + :type dns_servers: list[str] + :param applied_dns_servers: If the VM that uses this NIC is part of an + Availability Set, then this list will have the union of all DNS servers + from all NICs that are part of the Availability Set. This property is what + is configured on each of those VMs. + :type applied_dns_servers: list[str] + :param internal_dns_name_label: Relative DNS name for this NIC used for + internal communications between VMs in the same virtual network. + :type internal_dns_name_label: str + :param internal_fqdn: Fully qualified DNS name supporting internal + communications between VMs in the same virtual network. + :type internal_fqdn: str + :param internal_domain_name_suffix: Even if internalDnsNameLabel is not + specified, a DNS entry is created for the primary NIC of the VM. This DNS + name can be constructed by concatenating the VM name with the value of + internalDomainNameSuffix. + :type internal_domain_name_suffix: str + """ + + _attribute_map = { + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, + 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, + 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, + 'internal_domain_name_suffix': {'key': 'internalDomainNameSuffix', 'type': 'str'}, + } + + def __init__(self, *, dns_servers=None, applied_dns_servers=None, internal_dns_name_label: str=None, internal_fqdn: str=None, internal_domain_name_suffix: str=None, **kwargs) -> None: + super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) + self.dns_servers = dns_servers + self.applied_dns_servers = applied_dns_servers + self.internal_dns_name_label = internal_dns_name_label + self.internal_fqdn = internal_fqdn + self.internal_domain_name_suffix = internal_domain_name_suffix diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_ip_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_ip_configuration.py new file mode 100644 index 000000000000..38eb5ae54b4f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_ip_configuration.py @@ -0,0 +1,100 @@ +# 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 NetworkInterfaceIPConfiguration(SubResource): + """IPConfiguration in a network interface. + + :param id: Resource ID. + :type id: str + :param application_gateway_backend_address_pools: The reference of + ApplicationGatewayBackendAddressPool resource. + :type application_gateway_backend_address_pools: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendAddressPool] + :param load_balancer_backend_address_pools: The reference of + LoadBalancerBackendAddressPool resource. + :type load_balancer_backend_address_pools: + list[~azure.mgmt.network.v2018_04_01.models.BackendAddressPool] + :param load_balancer_inbound_nat_rules: A list of references of + LoadBalancerInboundNatRules. + :type load_balancer_inbound_nat_rules: + list[~azure.mgmt.network.v2018_04_01.models.InboundNatRule] + :param private_ip_address: Private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: Defines how a private IP address is + assigned. Possible values are: 'Static' and 'Dynamic'. Possible values + include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2018_04_01.models.IPAllocationMethod + :param private_ip_address_version: Available from Api-Version 2016-03-30 + onwards, it represents whether the specific ipconfiguration is IPv4 or + IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + Possible values include: 'IPv4', 'IPv6' + :type private_ip_address_version: str or + ~azure.mgmt.network.v2018_04_01.models.IPVersion + :param subnet: Subnet bound to the IP configuration. + :type subnet: ~azure.mgmt.network.v2018_04_01.models.Subnet + :param primary: Gets whether this is a primary customer address on the + network interface. + :type primary: bool + :param public_ip_address: Public IP address bound to the IP configuration. + :type public_ip_address: + ~azure.mgmt.network.v2018_04_01.models.PublicIPAddress + :param application_security_groups: Application security groups in which + the IP configuration is included. + :type application_security_groups: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationSecurityGroup] + :param provisioning_state: The provisioning state of the network interface + IP configuration. Possible values are: 'Updating', 'Deleting', and + 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, + 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, + 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'primary': {'key': 'properties.primary', 'type': 'bool'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkInterfaceIPConfiguration, self).__init__(**kwargs) + self.application_gateway_backend_address_pools = kwargs.get('application_gateway_backend_address_pools', None) + self.load_balancer_backend_address_pools = kwargs.get('load_balancer_backend_address_pools', None) + self.load_balancer_inbound_nat_rules = kwargs.get('load_balancer_inbound_nat_rules', None) + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.private_ip_address_version = kwargs.get('private_ip_address_version', None) + self.subnet = kwargs.get('subnet', None) + self.primary = kwargs.get('primary', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.application_security_groups = kwargs.get('application_security_groups', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_ip_configuration_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_ip_configuration_paged.py new file mode 100644 index 000000000000..a2e156f1b1bc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_ip_configuration_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 NetworkInterfaceIPConfigurationPaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkInterfaceIPConfiguration ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkInterfaceIPConfiguration]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkInterfaceIPConfigurationPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_ip_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_ip_configuration_py3.py new file mode 100644 index 000000000000..c30483a6b9d4 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_ip_configuration_py3.py @@ -0,0 +1,100 @@ +# 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 NetworkInterfaceIPConfiguration(SubResource): + """IPConfiguration in a network interface. + + :param id: Resource ID. + :type id: str + :param application_gateway_backend_address_pools: The reference of + ApplicationGatewayBackendAddressPool resource. + :type application_gateway_backend_address_pools: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendAddressPool] + :param load_balancer_backend_address_pools: The reference of + LoadBalancerBackendAddressPool resource. + :type load_balancer_backend_address_pools: + list[~azure.mgmt.network.v2018_04_01.models.BackendAddressPool] + :param load_balancer_inbound_nat_rules: A list of references of + LoadBalancerInboundNatRules. + :type load_balancer_inbound_nat_rules: + list[~azure.mgmt.network.v2018_04_01.models.InboundNatRule] + :param private_ip_address: Private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: Defines how a private IP address is + assigned. Possible values are: 'Static' and 'Dynamic'. Possible values + include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2018_04_01.models.IPAllocationMethod + :param private_ip_address_version: Available from Api-Version 2016-03-30 + onwards, it represents whether the specific ipconfiguration is IPv4 or + IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + Possible values include: 'IPv4', 'IPv6' + :type private_ip_address_version: str or + ~azure.mgmt.network.v2018_04_01.models.IPVersion + :param subnet: Subnet bound to the IP configuration. + :type subnet: ~azure.mgmt.network.v2018_04_01.models.Subnet + :param primary: Gets whether this is a primary customer address on the + network interface. + :type primary: bool + :param public_ip_address: Public IP address bound to the IP configuration. + :type public_ip_address: + ~azure.mgmt.network.v2018_04_01.models.PublicIPAddress + :param application_security_groups: Application security groups in which + the IP configuration is included. + :type application_security_groups: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationSecurityGroup] + :param provisioning_state: The provisioning state of the network interface + IP configuration. Possible values are: 'Updating', 'Deleting', and + 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, + 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, + 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'primary': {'key': 'properties.primary', 'type': 'bool'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, application_gateway_backend_address_pools=None, load_balancer_backend_address_pools=None, load_balancer_inbound_nat_rules=None, private_ip_address: str=None, private_ip_allocation_method=None, private_ip_address_version=None, subnet=None, primary: bool=None, public_ip_address=None, application_security_groups=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(NetworkInterfaceIPConfiguration, self).__init__(id=id, **kwargs) + self.application_gateway_backend_address_pools = application_gateway_backend_address_pools + self.load_balancer_backend_address_pools = load_balancer_backend_address_pools + self.load_balancer_inbound_nat_rules = load_balancer_inbound_nat_rules + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.private_ip_address_version = private_ip_address_version + self.subnet = subnet + self.primary = primary + self.public_ip_address = public_ip_address + self.application_security_groups = application_security_groups + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_paged.py new file mode 100644 index 000000000000..0a32eacfce16 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_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 NetworkInterfacePaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkInterface ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkInterface]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkInterfacePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_py3.py new file mode 100644 index 000000000000..144f1f5dbd18 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_interface_py3.py @@ -0,0 +1,102 @@ +# 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 .resource_py3 import Resource + + +class NetworkInterface(Resource): + """A network interface in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_machine: The reference of a virtual machine. + :type virtual_machine: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param network_security_group: The reference of the NetworkSecurityGroup + resource. + :type network_security_group: + ~azure.mgmt.network.v2018_04_01.models.NetworkSecurityGroup + :param ip_configurations: A list of IPConfigurations of the network + interface. + :type ip_configurations: + list[~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfiguration] + :param dns_settings: The DNS settings in network interface. + :type dns_settings: + ~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceDnsSettings + :param mac_address: The MAC address of the network interface. + :type mac_address: str + :param primary: Gets whether this is a primary network interface on a + virtual machine. + :type primary: bool + :param enable_accelerated_networking: If the network interface is + accelerated networking enabled. + :type enable_accelerated_networking: bool + :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on + this network interface. + :type enable_ip_forwarding: bool + :param resource_guid: The resource GUID property of the network interface + resource. + :type resource_guid: str + :param provisioning_state: The provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, + 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, + 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, + 'primary': {'key': 'properties.primary', 'type': 'bool'}, + 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, + 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_machine=None, network_security_group=None, ip_configurations=None, dns_settings=None, mac_address: str=None, primary: bool=None, enable_accelerated_networking: bool=None, enable_ip_forwarding: bool=None, resource_guid: str=None, provisioning_state: str=None, etag: str=None, **kwargs) -> None: + super(NetworkInterface, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.virtual_machine = virtual_machine + self.network_security_group = network_security_group + self.ip_configurations = ip_configurations + self.dns_settings = dns_settings + self.mac_address = mac_address + self.primary = primary + self.enable_accelerated_networking = enable_accelerated_networking + self.enable_ip_forwarding = enable_ip_forwarding + self.resource_guid = resource_guid + self.provisioning_state = provisioning_state + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_management_client_enums.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_management_client_enums.py new file mode 100644 index 000000000000..4bcd75a97a07 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_management_client_enums.py @@ -0,0 +1,635 @@ +# 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 enum import Enum + + +class ProvisioningState(str, Enum): + + succeeded = "Succeeded" + updating = "Updating" + deleting = "Deleting" + failed = "Failed" + + +class AzureFirewallRCActionType(str, Enum): + + allow = "Allow" + deny = "Deny" + + +class AzureFirewallApplicationRuleProtocolType(str, Enum): + + http = "Http" + https = "Https" + + +class AzureFirewallNetworkRuleProtocol(str, Enum): + + tcp = "TCP" + udp = "UDP" + any = "Any" + icmp = "ICMP" + + +class TransportProtocol(str, Enum): + + udp = "Udp" + tcp = "Tcp" + all = "All" + + +class IPAllocationMethod(str, Enum): + + static = "Static" + dynamic = "Dynamic" + + +class IPVersion(str, Enum): + + ipv4 = "IPv4" + ipv6 = "IPv6" + + +class SecurityRuleProtocol(str, Enum): + + tcp = "Tcp" + udp = "Udp" + asterisk = "*" + + +class SecurityRuleAccess(str, Enum): + + allow = "Allow" + deny = "Deny" + + +class SecurityRuleDirection(str, Enum): + + inbound = "Inbound" + outbound = "Outbound" + + +class RouteNextHopType(str, Enum): + + virtual_network_gateway = "VirtualNetworkGateway" + vnet_local = "VnetLocal" + internet = "Internet" + virtual_appliance = "VirtualAppliance" + none = "None" + + +class PublicIPAddressSkuName(str, Enum): + + basic = "Basic" + standard = "Standard" + + +class ApplicationGatewayProtocol(str, Enum): + + http = "Http" + https = "Https" + + +class ApplicationGatewayCookieBasedAffinity(str, Enum): + + enabled = "Enabled" + disabled = "Disabled" + + +class ApplicationGatewayBackendHealthServerHealth(str, Enum): + + unknown = "Unknown" + up = "Up" + down = "Down" + partial = "Partial" + draining = "Draining" + + +class ApplicationGatewaySkuName(str, Enum): + + standard_small = "Standard_Small" + standard_medium = "Standard_Medium" + standard_large = "Standard_Large" + waf_medium = "WAF_Medium" + waf_large = "WAF_Large" + standard_v2 = "Standard_v2" + waf_v2 = "WAF_v2" + + +class ApplicationGatewayTier(str, Enum): + + standard = "Standard" + waf = "WAF" + standard_v2 = "Standard_v2" + waf_v2 = "WAF_v2" + + +class ApplicationGatewaySslProtocol(str, Enum): + + tl_sv1_0 = "TLSv1_0" + tl_sv1_1 = "TLSv1_1" + tl_sv1_2 = "TLSv1_2" + + +class ApplicationGatewaySslPolicyType(str, Enum): + + predefined = "Predefined" + custom = "Custom" + + +class ApplicationGatewaySslPolicyName(str, Enum): + + app_gw_ssl_policy20150501 = "AppGwSslPolicy20150501" + app_gw_ssl_policy20170401 = "AppGwSslPolicy20170401" + app_gw_ssl_policy20170401_s = "AppGwSslPolicy20170401S" + + +class ApplicationGatewaySslCipherSuite(str, Enum): + + tls_ecdhe_rsa_with_aes_256_cbc_sha384 = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384" + tls_ecdhe_rsa_with_aes_128_cbc_sha256 = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" + tls_ecdhe_rsa_with_aes_256_cbc_sha = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA" + tls_ecdhe_rsa_with_aes_128_cbc_sha = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA" + tls_dhe_rsa_with_aes_256_gcm_sha384 = "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384" + tls_dhe_rsa_with_aes_128_gcm_sha256 = "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256" + tls_dhe_rsa_with_aes_256_cbc_sha = "TLS_DHE_RSA_WITH_AES_256_CBC_SHA" + tls_dhe_rsa_with_aes_128_cbc_sha = "TLS_DHE_RSA_WITH_AES_128_CBC_SHA" + tls_rsa_with_aes_256_gcm_sha384 = "TLS_RSA_WITH_AES_256_GCM_SHA384" + tls_rsa_with_aes_128_gcm_sha256 = "TLS_RSA_WITH_AES_128_GCM_SHA256" + tls_rsa_with_aes_256_cbc_sha256 = "TLS_RSA_WITH_AES_256_CBC_SHA256" + tls_rsa_with_aes_128_cbc_sha256 = "TLS_RSA_WITH_AES_128_CBC_SHA256" + tls_rsa_with_aes_256_cbc_sha = "TLS_RSA_WITH_AES_256_CBC_SHA" + tls_rsa_with_aes_128_cbc_sha = "TLS_RSA_WITH_AES_128_CBC_SHA" + tls_ecdhe_ecdsa_with_aes_256_gcm_sha384 = "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" + tls_ecdhe_ecdsa_with_aes_128_gcm_sha256 = "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" + tls_ecdhe_ecdsa_with_aes_256_cbc_sha384 = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384" + tls_ecdhe_ecdsa_with_aes_128_cbc_sha256 = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256" + tls_ecdhe_ecdsa_with_aes_256_cbc_sha = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA" + tls_ecdhe_ecdsa_with_aes_128_cbc_sha = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA" + tls_dhe_dss_with_aes_256_cbc_sha256 = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256" + tls_dhe_dss_with_aes_128_cbc_sha256 = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256" + tls_dhe_dss_with_aes_256_cbc_sha = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA" + tls_dhe_dss_with_aes_128_cbc_sha = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA" + tls_rsa_with_3_des_ede_cbc_sha = "TLS_RSA_WITH_3DES_EDE_CBC_SHA" + + +class ApplicationGatewayRequestRoutingRuleType(str, Enum): + + basic = "Basic" + path_based_routing = "PathBasedRouting" + + +class ApplicationGatewayRedirectType(str, Enum): + + permanent = "Permanent" + found = "Found" + see_other = "SeeOther" + temporary = "Temporary" + + +class ApplicationGatewayOperationalState(str, Enum): + + stopped = "Stopped" + starting = "Starting" + running = "Running" + stopping = "Stopping" + + +class ApplicationGatewayFirewallMode(str, Enum): + + detection = "Detection" + prevention = "Prevention" + + +class AuthorizationUseStatus(str, Enum): + + available = "Available" + in_use = "InUse" + + +class ExpressRouteCircuitPeeringAdvertisedPublicPrefixState(str, Enum): + + not_configured = "NotConfigured" + configuring = "Configuring" + configured = "Configured" + validation_needed = "ValidationNeeded" + + +class Access(str, Enum): + + allow = "Allow" + deny = "Deny" + + +class ExpressRoutePeeringType(str, Enum): + + azure_public_peering = "AzurePublicPeering" + azure_private_peering = "AzurePrivatePeering" + microsoft_peering = "MicrosoftPeering" + + +class ExpressRoutePeeringState(str, Enum): + + disabled = "Disabled" + enabled = "Enabled" + + +class CircuitConnectionStatus(str, Enum): + + connected = "Connected" + connecting = "Connecting" + disconnected = "Disconnected" + + +class ExpressRouteCircuitPeeringState(str, Enum): + + disabled = "Disabled" + enabled = "Enabled" + + +class ExpressRouteCircuitSkuTier(str, Enum): + + standard = "Standard" + premium = "Premium" + + +class ExpressRouteCircuitSkuFamily(str, Enum): + + unlimited_data = "UnlimitedData" + metered_data = "MeteredData" + + +class ServiceProviderProvisioningState(str, Enum): + + not_provisioned = "NotProvisioned" + provisioning = "Provisioning" + provisioned = "Provisioned" + deprovisioning = "Deprovisioning" + + +class LoadBalancerSkuName(str, Enum): + + basic = "Basic" + standard = "Standard" + + +class LoadDistribution(str, Enum): + + default = "Default" + source_ip = "SourceIP" + source_ip_protocol = "SourceIPProtocol" + + +class ProbeProtocol(str, Enum): + + http = "Http" + tcp = "Tcp" + https = "Https" + + +class NetworkOperationStatus(str, Enum): + + in_progress = "InProgress" + succeeded = "Succeeded" + failed = "Failed" + + +class EffectiveSecurityRuleProtocol(str, Enum): + + tcp = "Tcp" + udp = "Udp" + all = "All" + + +class EffectiveRouteSource(str, Enum): + + unknown = "Unknown" + user = "User" + virtual_network_gateway = "VirtualNetworkGateway" + default = "Default" + + +class EffectiveRouteState(str, Enum): + + active = "Active" + invalid = "Invalid" + + +class AssociationType(str, Enum): + + associated = "Associated" + contains = "Contains" + + +class Direction(str, Enum): + + inbound = "Inbound" + outbound = "Outbound" + + +class IpFlowProtocol(str, Enum): + + tcp = "TCP" + udp = "UDP" + + +class NextHopType(str, Enum): + + internet = "Internet" + virtual_appliance = "VirtualAppliance" + virtual_network_gateway = "VirtualNetworkGateway" + vnet_local = "VnetLocal" + hyper_net_gateway = "HyperNetGateway" + none = "None" + + +class PcProtocol(str, Enum): + + tcp = "TCP" + udp = "UDP" + any = "Any" + + +class PcStatus(str, Enum): + + not_started = "NotStarted" + running = "Running" + stopped = "Stopped" + error = "Error" + unknown = "Unknown" + + +class PcError(str, Enum): + + internal_error = "InternalError" + agent_stopped = "AgentStopped" + capture_failed = "CaptureFailed" + local_file_failed = "LocalFileFailed" + storage_failed = "StorageFailed" + + +class Protocol(str, Enum): + + tcp = "Tcp" + http = "Http" + https = "Https" + icmp = "Icmp" + + +class HTTPMethod(str, Enum): + + get = "Get" + + +class Origin(str, Enum): + + local = "Local" + inbound = "Inbound" + outbound = "Outbound" + + +class Severity(str, Enum): + + error = "Error" + warning = "Warning" + + +class IssueType(str, Enum): + + unknown = "Unknown" + agent_stopped = "AgentStopped" + guest_firewall = "GuestFirewall" + dns_resolution = "DnsResolution" + socket_bind = "SocketBind" + network_security_rule = "NetworkSecurityRule" + user_defined_route = "UserDefinedRoute" + port_throttled = "PortThrottled" + platform = "Platform" + + +class ConnectionStatus(str, Enum): + + unknown = "Unknown" + connected = "Connected" + disconnected = "Disconnected" + degraded = "Degraded" + + +class ConnectionMonitorSourceStatus(str, Enum): + + uknown = "Uknown" + active = "Active" + inactive = "Inactive" + + +class ConnectionState(str, Enum): + + reachable = "Reachable" + unreachable = "Unreachable" + unknown = "Unknown" + + +class EvaluationState(str, Enum): + + not_started = "NotStarted" + in_progress = "InProgress" + completed = "Completed" + + +class VirtualNetworkPeeringState(str, Enum): + + initiated = "Initiated" + connected = "Connected" + disconnected = "Disconnected" + + +class VirtualNetworkGatewayType(str, Enum): + + vpn = "Vpn" + express_route = "ExpressRoute" + + +class VpnType(str, Enum): + + policy_based = "PolicyBased" + route_based = "RouteBased" + + +class VirtualNetworkGatewaySkuName(str, Enum): + + basic = "Basic" + high_performance = "HighPerformance" + standard = "Standard" + ultra_performance = "UltraPerformance" + vpn_gw1 = "VpnGw1" + vpn_gw2 = "VpnGw2" + vpn_gw3 = "VpnGw3" + vpn_gw1_az = "VpnGw1AZ" + vpn_gw2_az = "VpnGw2AZ" + vpn_gw3_az = "VpnGw3AZ" + er_gw1_az = "ErGw1AZ" + er_gw2_az = "ErGw2AZ" + er_gw3_az = "ErGw3AZ" + + +class VirtualNetworkGatewaySkuTier(str, Enum): + + basic = "Basic" + high_performance = "HighPerformance" + standard = "Standard" + ultra_performance = "UltraPerformance" + vpn_gw1 = "VpnGw1" + vpn_gw2 = "VpnGw2" + vpn_gw3 = "VpnGw3" + vpn_gw1_az = "VpnGw1AZ" + vpn_gw2_az = "VpnGw2AZ" + vpn_gw3_az = "VpnGw3AZ" + er_gw1_az = "ErGw1AZ" + er_gw2_az = "ErGw2AZ" + er_gw3_az = "ErGw3AZ" + + +class VpnClientProtocol(str, Enum): + + ike_v2 = "IkeV2" + sstp = "SSTP" + open_vpn = "OpenVPN" + + +class IpsecEncryption(str, Enum): + + none = "None" + des = "DES" + des3 = "DES3" + aes128 = "AES128" + aes192 = "AES192" + aes256 = "AES256" + gcmaes128 = "GCMAES128" + gcmaes192 = "GCMAES192" + gcmaes256 = "GCMAES256" + + +class IpsecIntegrity(str, Enum): + + md5 = "MD5" + sha1 = "SHA1" + sha256 = "SHA256" + gcmaes128 = "GCMAES128" + gcmaes192 = "GCMAES192" + gcmaes256 = "GCMAES256" + + +class IkeEncryption(str, Enum): + + des = "DES" + des3 = "DES3" + aes128 = "AES128" + aes192 = "AES192" + aes256 = "AES256" + gcmaes256 = "GCMAES256" + gcmaes128 = "GCMAES128" + + +class IkeIntegrity(str, Enum): + + md5 = "MD5" + sha1 = "SHA1" + sha256 = "SHA256" + sha384 = "SHA384" + gcmaes256 = "GCMAES256" + gcmaes128 = "GCMAES128" + + +class DhGroup(str, Enum): + + none = "None" + dh_group1 = "DHGroup1" + dh_group2 = "DHGroup2" + dh_group14 = "DHGroup14" + dh_group2048 = "DHGroup2048" + ecp256 = "ECP256" + ecp384 = "ECP384" + dh_group24 = "DHGroup24" + + +class PfsGroup(str, Enum): + + none = "None" + pfs1 = "PFS1" + pfs2 = "PFS2" + pfs2048 = "PFS2048" + ecp256 = "ECP256" + ecp384 = "ECP384" + pfs24 = "PFS24" + pfs14 = "PFS14" + pfsmm = "PFSMM" + + +class BgpPeerState(str, Enum): + + unknown = "Unknown" + stopped = "Stopped" + idle = "Idle" + connecting = "Connecting" + connected = "Connected" + + +class ProcessorArchitecture(str, Enum): + + amd64 = "Amd64" + x86 = "X86" + + +class AuthenticationMethod(str, Enum): + + eaptls = "EAPTLS" + eapmscha_pv2 = "EAPMSCHAPv2" + + +class VirtualNetworkGatewayConnectionStatus(str, Enum): + + unknown = "Unknown" + connecting = "Connecting" + connected = "Connected" + not_connected = "NotConnected" + + +class VirtualNetworkGatewayConnectionType(str, Enum): + + ipsec = "IPsec" + vnet2_vnet = "Vnet2Vnet" + express_route = "ExpressRoute" + vpn_client = "VPNClient" + + +class VpnConnectionStatus(str, Enum): + + unknown = "Unknown" + connecting = "Connecting" + connected = "Connected" + not_connected = "NotConnected" + + +class TunnelConnectionStatus(str, Enum): + + unknown = "Unknown" + connecting = "Connecting" + connected = "Connected" + not_connected = "NotConnected" + + +class HubVirtualNetworkConnectionStatus(str, Enum): + + unknown = "Unknown" + connecting = "Connecting" + connected = "Connected" + not_connected = "NotConnected" diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_security_group.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_security_group.py new file mode 100644 index 000000000000..54be3ebbf855 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_security_group.py @@ -0,0 +1,86 @@ +# 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 .resource import Resource + + +class NetworkSecurityGroup(Resource): + """NetworkSecurityGroup resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param security_rules: A collection of security rules of the network + security group. + :type security_rules: + list[~azure.mgmt.network.v2018_04_01.models.SecurityRule] + :param default_security_rules: The default security rules of network + security group. + :type default_security_rules: + list[~azure.mgmt.network.v2018_04_01.models.SecurityRule] + :ivar network_interfaces: A collection of references to network + interfaces. + :vartype network_interfaces: + list[~azure.mgmt.network.v2018_04_01.models.NetworkInterface] + :ivar subnets: A collection of references to subnets. + :vartype subnets: list[~azure.mgmt.network.v2018_04_01.models.Subnet] + :param resource_guid: The resource GUID property of the network security + group resource. + :type resource_guid: str + :param provisioning_state: The provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'network_interfaces': {'readonly': True}, + 'subnets': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, + 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, + 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkSecurityGroup, self).__init__(**kwargs) + self.security_rules = kwargs.get('security_rules', None) + self.default_security_rules = kwargs.get('default_security_rules', None) + self.network_interfaces = None + self.subnets = None + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_security_group_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_security_group_paged.py new file mode 100644 index 000000000000..74057a6f1a2b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_security_group_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 NetworkSecurityGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkSecurityGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkSecurityGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkSecurityGroupPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_security_group_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_security_group_py3.py new file mode 100644 index 000000000000..ee0466edb472 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_security_group_py3.py @@ -0,0 +1,86 @@ +# 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 .resource_py3 import Resource + + +class NetworkSecurityGroup(Resource): + """NetworkSecurityGroup resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param security_rules: A collection of security rules of the network + security group. + :type security_rules: + list[~azure.mgmt.network.v2018_04_01.models.SecurityRule] + :param default_security_rules: The default security rules of network + security group. + :type default_security_rules: + list[~azure.mgmt.network.v2018_04_01.models.SecurityRule] + :ivar network_interfaces: A collection of references to network + interfaces. + :vartype network_interfaces: + list[~azure.mgmt.network.v2018_04_01.models.NetworkInterface] + :ivar subnets: A collection of references to subnets. + :vartype subnets: list[~azure.mgmt.network.v2018_04_01.models.Subnet] + :param resource_guid: The resource GUID property of the network security + group resource. + :type resource_guid: str + :param provisioning_state: The provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'network_interfaces': {'readonly': True}, + 'subnets': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, + 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, + 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, security_rules=None, default_security_rules=None, resource_guid: str=None, provisioning_state: str=None, etag: str=None, **kwargs) -> None: + super(NetworkSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.security_rules = security_rules + self.default_security_rules = default_security_rules + self.network_interfaces = None + self.subnets = None + self.resource_guid = resource_guid + self.provisioning_state = provisioning_state + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_watcher.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_watcher.py new file mode 100644 index 000000000000..ea4faa3aed46 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_watcher.py @@ -0,0 +1,59 @@ +# 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 .resource import Resource + + +class NetworkWatcher(Resource): + """Network watcher in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :ivar provisioning_state: The provisioning state of the resource. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkWatcher, self).__init__(**kwargs) + self.etag = kwargs.get('etag', None) + self.provisioning_state = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_watcher_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_watcher_paged.py new file mode 100644 index 000000000000..1d5a52467a35 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_watcher_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 NetworkWatcherPaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkWatcher ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkWatcher]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkWatcherPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_watcher_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_watcher_py3.py new file mode 100644 index 000000000000..d1254ba2b4b5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/network_watcher_py3.py @@ -0,0 +1,59 @@ +# 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 .resource_py3 import Resource + + +class NetworkWatcher(Resource): + """Network watcher in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :ivar provisioning_state: The provisioning state of the resource. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, etag: str=None, **kwargs) -> None: + super(NetworkWatcher, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.etag = etag + self.provisioning_state = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/next_hop_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/next_hop_parameters.py new file mode 100644 index 000000000000..54d8674c8884 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/next_hop_parameters.py @@ -0,0 +1,51 @@ +# 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.serialization import Model + + +class NextHopParameters(Model): + """Parameters that define the source and destination endpoint. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The resource identifier of the target + resource against which the action is to be performed. + :type target_resource_id: str + :param source_ip_address: Required. The source IP address. + :type source_ip_address: str + :param destination_ip_address: Required. The destination IP address. + :type destination_ip_address: str + :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP + forwarding is enabled on any of the nics, then this parameter must be + specified. Otherwise optional). + :type target_nic_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'source_ip_address': {'required': True}, + 'destination_ip_address': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'source_ip_address': {'key': 'sourceIPAddress', 'type': 'str'}, + 'destination_ip_address': {'key': 'destinationIPAddress', 'type': 'str'}, + 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NextHopParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + self.source_ip_address = kwargs.get('source_ip_address', None) + self.destination_ip_address = kwargs.get('destination_ip_address', None) + self.target_nic_resource_id = kwargs.get('target_nic_resource_id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/next_hop_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/next_hop_parameters_py3.py new file mode 100644 index 000000000000..50ee3d334e91 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/next_hop_parameters_py3.py @@ -0,0 +1,51 @@ +# 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.serialization import Model + + +class NextHopParameters(Model): + """Parameters that define the source and destination endpoint. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The resource identifier of the target + resource against which the action is to be performed. + :type target_resource_id: str + :param source_ip_address: Required. The source IP address. + :type source_ip_address: str + :param destination_ip_address: Required. The destination IP address. + :type destination_ip_address: str + :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP + forwarding is enabled on any of the nics, then this parameter must be + specified. Otherwise optional). + :type target_nic_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'source_ip_address': {'required': True}, + 'destination_ip_address': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'source_ip_address': {'key': 'sourceIPAddress', 'type': 'str'}, + 'destination_ip_address': {'key': 'destinationIPAddress', 'type': 'str'}, + 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, source_ip_address: str, destination_ip_address: str, target_nic_resource_id: str=None, **kwargs) -> None: + super(NextHopParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + self.source_ip_address = source_ip_address + self.destination_ip_address = destination_ip_address + self.target_nic_resource_id = target_nic_resource_id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/next_hop_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/next_hop_result.py new file mode 100644 index 000000000000..76cd02fb8b31 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/next_hop_result.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class NextHopResult(Model): + """The information about next hop from the specified VM. + + :param next_hop_type: Next hop type. Possible values include: 'Internet', + 'VirtualAppliance', 'VirtualNetworkGateway', 'VnetLocal', + 'HyperNetGateway', 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2018_04_01.models.NextHopType + :param next_hop_ip_address: Next hop IP Address + :type next_hop_ip_address: str + :param route_table_id: The resource identifier for the route table + associated with the route being returned. If the route being returned does + not correspond to any user created routes then this field will be the + string 'System Route'. + :type route_table_id: str + """ + + _attribute_map = { + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, + 'route_table_id': {'key': 'routeTableId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NextHopResult, self).__init__(**kwargs) + self.next_hop_type = kwargs.get('next_hop_type', None) + self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) + self.route_table_id = kwargs.get('route_table_id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/next_hop_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/next_hop_result_py3.py new file mode 100644 index 000000000000..f90558b573ba --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/next_hop_result_py3.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class NextHopResult(Model): + """The information about next hop from the specified VM. + + :param next_hop_type: Next hop type. Possible values include: 'Internet', + 'VirtualAppliance', 'VirtualNetworkGateway', 'VnetLocal', + 'HyperNetGateway', 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2018_04_01.models.NextHopType + :param next_hop_ip_address: Next hop IP Address + :type next_hop_ip_address: str + :param route_table_id: The resource identifier for the route table + associated with the route being returned. If the route being returned does + not correspond to any user created routes then this field will be the + string 'System Route'. + :type route_table_id: str + """ + + _attribute_map = { + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, + 'route_table_id': {'key': 'routeTableId', 'type': 'str'}, + } + + def __init__(self, *, next_hop_type=None, next_hop_ip_address: str=None, route_table_id: str=None, **kwargs) -> None: + super(NextHopResult, self).__init__(**kwargs) + self.next_hop_type = next_hop_type + self.next_hop_ip_address = next_hop_ip_address + self.route_table_id = route_table_id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation.py new file mode 100644 index 000000000000..030ad535e69e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation.py @@ -0,0 +1,41 @@ +# 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.serialization import Model + + +class Operation(Model): + """Network REST API operation definition. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: Display metadata associated with the operation. + :type display: ~azure.mgmt.network.v2018_04_01.models.OperationDisplay + :param origin: Origin of the operation. + :type origin: str + :param service_specification: Specification of the service. + :type service_specification: + ~azure.mgmt.network.v2018_04_01.models.OperationPropertiesFormatServiceSpecification + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationPropertiesFormatServiceSpecification'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + self.origin = kwargs.get('origin', None) + self.service_specification = kwargs.get('service_specification', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation_display.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation_display.py new file mode 100644 index 000000000000..6e37c2433f56 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation_display.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class OperationDisplay(Model): + """Display metadata associated with the operation. + + :param provider: Service provider: Microsoft Network. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of the operation: get, read, delete, etc. + :type operation: str + :param description: Description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation_display_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation_display_py3.py new file mode 100644 index 000000000000..c0508a41bd48 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation_display_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class OperationDisplay(Model): + """Display metadata associated with the operation. + + :param provider: Service provider: Microsoft Network. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of the operation: get, read, delete, etc. + :type operation: str + :param description: Description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation_paged.py new file mode 100644 index 000000000000..d5d6f4e2b463 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation_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 OperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Operation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Operation]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation_properties_format_service_specification.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation_properties_format_service_specification.py new file mode 100644 index 000000000000..a119fcd1805d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation_properties_format_service_specification.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class OperationPropertiesFormatServiceSpecification(Model): + """Specification of the service. + + :param metric_specifications: Operation service specification. + :type metric_specifications: + list[~azure.mgmt.network.v2018_04_01.models.MetricSpecification] + :param log_specifications: Operation log specification. + :type log_specifications: + list[~azure.mgmt.network.v2018_04_01.models.LogSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, + } + + def __init__(self, **kwargs): + super(OperationPropertiesFormatServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = kwargs.get('metric_specifications', None) + self.log_specifications = kwargs.get('log_specifications', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation_properties_format_service_specification_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation_properties_format_service_specification_py3.py new file mode 100644 index 000000000000..92468043ae60 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation_properties_format_service_specification_py3.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class OperationPropertiesFormatServiceSpecification(Model): + """Specification of the service. + + :param metric_specifications: Operation service specification. + :type metric_specifications: + list[~azure.mgmt.network.v2018_04_01.models.MetricSpecification] + :param log_specifications: Operation log specification. + :type log_specifications: + list[~azure.mgmt.network.v2018_04_01.models.LogSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, + } + + def __init__(self, *, metric_specifications=None, log_specifications=None, **kwargs) -> None: + super(OperationPropertiesFormatServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = metric_specifications + self.log_specifications = log_specifications diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation_py3.py new file mode 100644 index 000000000000..df5c1cdce927 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/operation_py3.py @@ -0,0 +1,41 @@ +# 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.serialization import Model + + +class Operation(Model): + """Network REST API operation definition. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: Display metadata associated with the operation. + :type display: ~azure.mgmt.network.v2018_04_01.models.OperationDisplay + :param origin: Origin of the operation. + :type origin: str + :param service_specification: Specification of the service. + :type service_specification: + ~azure.mgmt.network.v2018_04_01.models.OperationPropertiesFormatServiceSpecification + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationPropertiesFormatServiceSpecification'}, + } + + def __init__(self, *, name: str=None, display=None, origin: str=None, service_specification=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = name + self.display = display + self.origin = origin + self.service_specification = service_specification diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/outbound_nat_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/outbound_nat_rule.py new file mode 100644 index 000000000000..4d764f87fae7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/outbound_nat_rule.py @@ -0,0 +1,65 @@ +# 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 OutboundNatRule(SubResource): + """Outbound NAT pool of the load balancer. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param allocated_outbound_ports: The number of outbound ports to be used + for NAT. + :type allocated_outbound_ports: int + :param frontend_ip_configurations: The Frontend IP addresses of the load + balancer. + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param backend_address_pool: Required. A reference to a pool of DIPs. + Outbound traffic is randomly load balanced across IPs in the backend IPs. + :type backend_address_pool: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param provisioning_state: Gets the provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'backend_address_pool': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OutboundNatRule, self).__init__(**kwargs) + self.allocated_outbound_ports = kwargs.get('allocated_outbound_ports', None) + self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/outbound_nat_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/outbound_nat_rule_py3.py new file mode 100644 index 000000000000..ad90d2163ec1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/outbound_nat_rule_py3.py @@ -0,0 +1,65 @@ +# 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 OutboundNatRule(SubResource): + """Outbound NAT pool of the load balancer. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param allocated_outbound_ports: The number of outbound ports to be used + for NAT. + :type allocated_outbound_ports: int + :param frontend_ip_configurations: The Frontend IP addresses of the load + balancer. + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param backend_address_pool: Required. A reference to a pool of DIPs. + Outbound traffic is randomly load balanced across IPs in the backend IPs. + :type backend_address_pool: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param provisioning_state: Gets the provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'backend_address_pool': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, backend_address_pool, id: str=None, allocated_outbound_ports: int=None, frontend_ip_configurations=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(OutboundNatRule, self).__init__(id=id, **kwargs) + self.allocated_outbound_ports = allocated_outbound_ports + self.frontend_ip_configurations = frontend_ip_configurations + self.backend_address_pool = backend_address_pool + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture.py new file mode 100644 index 000000000000..7a975de0e522 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture.py @@ -0,0 +1,61 @@ +# 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.serialization import Model + + +class PacketCapture(Model): + """Parameters that define the create packet capture operation. + + All required parameters must be populated in order to send to Azure. + + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. + :type storage_location: + ~azure.mgmt.network.v2018_04_01.models.PacketCaptureStorageLocation + :param filters: + :type filters: + list[~azure.mgmt.network.v2018_04_01.models.PacketCaptureFilter] + """ + + _validation = { + 'target': {'required': True}, + 'storage_location': {'required': True}, + } + + _attribute_map = { + 'target': {'key': 'properties.target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, + } + + def __init__(self, **kwargs): + super(PacketCapture, self).__init__(**kwargs) + self.target = kwargs.get('target', None) + self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) + self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) + self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) + self.storage_location = kwargs.get('storage_location', None) + self.filters = kwargs.get('filters', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_filter.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_filter.py new file mode 100644 index 000000000000..12b7d90f5099 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_filter.py @@ -0,0 +1,60 @@ +# 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.serialization import Model + + +class PacketCaptureFilter(Model): + """Filter that is applied to packet capture request. Multiple filters can be + applied. + + :param protocol: Protocol to be filtered on. Possible values include: + 'TCP', 'UDP', 'Any'. Default value: "Any" . + :type protocol: str or ~azure.mgmt.network.v2018_04_01.models.PcProtocol + :param local_ip_address: Local IP Address to be filtered on. Notation: + "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. + "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently + supported. Mixing ranges with multiple entries not currently supported. + Default = null. + :type local_ip_address: str + :param remote_ip_address: Local IP Address to be filtered on. Notation: + "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. + "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently + supported. Mixing ranges with multiple entries not currently supported. + Default = null. + :type remote_ip_address: str + :param local_port: Local port to be filtered on. Notation: "80" for single + port entry."80-85" for range. "80;443;" for multiple entries. Multiple + ranges not currently supported. Mixing ranges with multiple entries not + currently supported. Default = null. + :type local_port: str + :param remote_port: Remote port to be filtered on. Notation: "80" for + single port entry."80-85" for range. "80;443;" for multiple entries. + Multiple ranges not currently supported. Mixing ranges with multiple + entries not currently supported. Default = null. + :type remote_port: str + """ + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, + 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, + 'local_port': {'key': 'localPort', 'type': 'str'}, + 'remote_port': {'key': 'remotePort', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PacketCaptureFilter, self).__init__(**kwargs) + self.protocol = kwargs.get('protocol', "Any") + self.local_ip_address = kwargs.get('local_ip_address', None) + self.remote_ip_address = kwargs.get('remote_ip_address', None) + self.local_port = kwargs.get('local_port', None) + self.remote_port = kwargs.get('remote_port', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_filter_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_filter_py3.py new file mode 100644 index 000000000000..4b023f1069db --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_filter_py3.py @@ -0,0 +1,60 @@ +# 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.serialization import Model + + +class PacketCaptureFilter(Model): + """Filter that is applied to packet capture request. Multiple filters can be + applied. + + :param protocol: Protocol to be filtered on. Possible values include: + 'TCP', 'UDP', 'Any'. Default value: "Any" . + :type protocol: str or ~azure.mgmt.network.v2018_04_01.models.PcProtocol + :param local_ip_address: Local IP Address to be filtered on. Notation: + "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. + "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently + supported. Mixing ranges with multiple entries not currently supported. + Default = null. + :type local_ip_address: str + :param remote_ip_address: Local IP Address to be filtered on. Notation: + "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. + "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently + supported. Mixing ranges with multiple entries not currently supported. + Default = null. + :type remote_ip_address: str + :param local_port: Local port to be filtered on. Notation: "80" for single + port entry."80-85" for range. "80;443;" for multiple entries. Multiple + ranges not currently supported. Mixing ranges with multiple entries not + currently supported. Default = null. + :type local_port: str + :param remote_port: Remote port to be filtered on. Notation: "80" for + single port entry."80-85" for range. "80;443;" for multiple entries. + Multiple ranges not currently supported. Mixing ranges with multiple + entries not currently supported. Default = null. + :type remote_port: str + """ + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, + 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, + 'local_port': {'key': 'localPort', 'type': 'str'}, + 'remote_port': {'key': 'remotePort', 'type': 'str'}, + } + + def __init__(self, *, protocol="Any", local_ip_address: str=None, remote_ip_address: str=None, local_port: str=None, remote_port: str=None, **kwargs) -> None: + super(PacketCaptureFilter, self).__init__(**kwargs) + self.protocol = protocol + self.local_ip_address = local_ip_address + self.remote_ip_address = remote_ip_address + self.local_port = local_port + self.remote_port = remote_port diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_parameters.py new file mode 100644 index 000000000000..f42b4f79ff7a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_parameters.py @@ -0,0 +1,61 @@ +# 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.serialization import Model + + +class PacketCaptureParameters(Model): + """Parameters that define the create packet capture operation. + + All required parameters must be populated in order to send to Azure. + + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. + :type storage_location: + ~azure.mgmt.network.v2018_04_01.models.PacketCaptureStorageLocation + :param filters: + :type filters: + list[~azure.mgmt.network.v2018_04_01.models.PacketCaptureFilter] + """ + + _validation = { + 'target': {'required': True}, + 'storage_location': {'required': True}, + } + + _attribute_map = { + 'target': {'key': 'target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, + } + + def __init__(self, **kwargs): + super(PacketCaptureParameters, self).__init__(**kwargs) + self.target = kwargs.get('target', None) + self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) + self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) + self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) + self.storage_location = kwargs.get('storage_location', None) + self.filters = kwargs.get('filters', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_parameters_py3.py new file mode 100644 index 000000000000..a0156b9477c9 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_parameters_py3.py @@ -0,0 +1,61 @@ +# 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.serialization import Model + + +class PacketCaptureParameters(Model): + """Parameters that define the create packet capture operation. + + All required parameters must be populated in order to send to Azure. + + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. + :type storage_location: + ~azure.mgmt.network.v2018_04_01.models.PacketCaptureStorageLocation + :param filters: + :type filters: + list[~azure.mgmt.network.v2018_04_01.models.PacketCaptureFilter] + """ + + _validation = { + 'target': {'required': True}, + 'storage_location': {'required': True}, + } + + _attribute_map = { + 'target': {'key': 'target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, + } + + def __init__(self, *, target: str, storage_location, bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, **kwargs) -> None: + super(PacketCaptureParameters, self).__init__(**kwargs) + self.target = target + self.bytes_to_capture_per_packet = bytes_to_capture_per_packet + self.total_bytes_per_session = total_bytes_per_session + self.time_limit_in_seconds = time_limit_in_seconds + self.storage_location = storage_location + self.filters = filters diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_py3.py new file mode 100644 index 000000000000..86cca4d7398f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_py3.py @@ -0,0 +1,61 @@ +# 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.serialization import Model + + +class PacketCapture(Model): + """Parameters that define the create packet capture operation. + + All required parameters must be populated in order to send to Azure. + + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. + :type storage_location: + ~azure.mgmt.network.v2018_04_01.models.PacketCaptureStorageLocation + :param filters: + :type filters: + list[~azure.mgmt.network.v2018_04_01.models.PacketCaptureFilter] + """ + + _validation = { + 'target': {'required': True}, + 'storage_location': {'required': True}, + } + + _attribute_map = { + 'target': {'key': 'properties.target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, + } + + def __init__(self, *, target: str, storage_location, bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, **kwargs) -> None: + super(PacketCapture, self).__init__(**kwargs) + self.target = target + self.bytes_to_capture_per_packet = bytes_to_capture_per_packet + self.total_bytes_per_session = total_bytes_per_session + self.time_limit_in_seconds = time_limit_in_seconds + self.storage_location = storage_location + self.filters = filters diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_query_status_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_query_status_result.py new file mode 100644 index 000000000000..6f19338223d0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_query_status_result.py @@ -0,0 +1,53 @@ +# 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.serialization import Model + + +class PacketCaptureQueryStatusResult(Model): + """Status of packet capture session. + + :param name: The name of the packet capture resource. + :type name: str + :param id: The ID of the packet capture resource. + :type id: str + :param capture_start_time: The start time of the packet capture session. + :type capture_start_time: datetime + :param packet_capture_status: The status of the packet capture session. + Possible values include: 'NotStarted', 'Running', 'Stopped', 'Error', + 'Unknown' + :type packet_capture_status: str or + ~azure.mgmt.network.v2018_04_01.models.PcStatus + :param stop_reason: The reason the current packet capture session was + stopped. + :type stop_reason: str + :param packet_capture_error: List of errors of packet capture session. + :type packet_capture_error: list[str or + ~azure.mgmt.network.v2018_04_01.models.PcError] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'capture_start_time': {'key': 'captureStartTime', 'type': 'iso-8601'}, + 'packet_capture_status': {'key': 'packetCaptureStatus', 'type': 'str'}, + 'stop_reason': {'key': 'stopReason', 'type': 'str'}, + 'packet_capture_error': {'key': 'packetCaptureError', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(PacketCaptureQueryStatusResult, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.id = kwargs.get('id', None) + self.capture_start_time = kwargs.get('capture_start_time', None) + self.packet_capture_status = kwargs.get('packet_capture_status', None) + self.stop_reason = kwargs.get('stop_reason', None) + self.packet_capture_error = kwargs.get('packet_capture_error', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_query_status_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_query_status_result_py3.py new file mode 100644 index 000000000000..f2c283e43675 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_query_status_result_py3.py @@ -0,0 +1,53 @@ +# 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.serialization import Model + + +class PacketCaptureQueryStatusResult(Model): + """Status of packet capture session. + + :param name: The name of the packet capture resource. + :type name: str + :param id: The ID of the packet capture resource. + :type id: str + :param capture_start_time: The start time of the packet capture session. + :type capture_start_time: datetime + :param packet_capture_status: The status of the packet capture session. + Possible values include: 'NotStarted', 'Running', 'Stopped', 'Error', + 'Unknown' + :type packet_capture_status: str or + ~azure.mgmt.network.v2018_04_01.models.PcStatus + :param stop_reason: The reason the current packet capture session was + stopped. + :type stop_reason: str + :param packet_capture_error: List of errors of packet capture session. + :type packet_capture_error: list[str or + ~azure.mgmt.network.v2018_04_01.models.PcError] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'capture_start_time': {'key': 'captureStartTime', 'type': 'iso-8601'}, + 'packet_capture_status': {'key': 'packetCaptureStatus', 'type': 'str'}, + 'stop_reason': {'key': 'stopReason', 'type': 'str'}, + 'packet_capture_error': {'key': 'packetCaptureError', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, id: str=None, capture_start_time=None, packet_capture_status=None, stop_reason: str=None, packet_capture_error=None, **kwargs) -> None: + super(PacketCaptureQueryStatusResult, self).__init__(**kwargs) + self.name = name + self.id = id + self.capture_start_time = capture_start_time + self.packet_capture_status = packet_capture_status + self.stop_reason = stop_reason + self.packet_capture_error = packet_capture_error diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_result.py new file mode 100644 index 000000000000..ccfe961b0eb6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_result.py @@ -0,0 +1,86 @@ +# 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.serialization import Model + + +class PacketCaptureResult(Model): + """Information about packet capture session. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar name: Name of the packet capture session. + :vartype name: str + :ivar id: ID of the packet capture operation. + :vartype id: str + :param etag: Default value: "A unique read-only string that changes + whenever the resource is updated." . + :type etag: str + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. + :type storage_location: + ~azure.mgmt.network.v2018_04_01.models.PacketCaptureStorageLocation + :param filters: + :type filters: + list[~azure.mgmt.network.v2018_04_01.models.PacketCaptureFilter] + :param provisioning_state: The provisioning state of the packet capture + session. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'target': {'required': True}, + 'storage_location': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'target': {'key': 'properties.target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PacketCaptureResult, self).__init__(**kwargs) + self.name = None + self.id = None + self.etag = kwargs.get('etag', "A unique read-only string that changes whenever the resource is updated.") + self.target = kwargs.get('target', None) + self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) + self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) + self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) + self.storage_location = kwargs.get('storage_location', None) + self.filters = kwargs.get('filters', None) + self.provisioning_state = kwargs.get('provisioning_state', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_result_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_result_paged.py new file mode 100644 index 000000000000..797039abb15c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_result_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 PacketCaptureResultPaged(Paged): + """ + A paging container for iterating over a list of :class:`PacketCaptureResult ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PacketCaptureResult]'} + } + + def __init__(self, *args, **kwargs): + + super(PacketCaptureResultPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_result_py3.py new file mode 100644 index 000000000000..ba53c69dde7c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_result_py3.py @@ -0,0 +1,86 @@ +# 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.serialization import Model + + +class PacketCaptureResult(Model): + """Information about packet capture session. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar name: Name of the packet capture session. + :vartype name: str + :ivar id: ID of the packet capture operation. + :vartype id: str + :param etag: Default value: "A unique read-only string that changes + whenever the resource is updated." . + :type etag: str + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. + :type storage_location: + ~azure.mgmt.network.v2018_04_01.models.PacketCaptureStorageLocation + :param filters: + :type filters: + list[~azure.mgmt.network.v2018_04_01.models.PacketCaptureFilter] + :param provisioning_state: The provisioning state of the packet capture + session. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'target': {'required': True}, + 'storage_location': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'target': {'key': 'properties.target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, target: str, storage_location, etag: str="A unique read-only string that changes whenever the resource is updated.", bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, provisioning_state=None, **kwargs) -> None: + super(PacketCaptureResult, self).__init__(**kwargs) + self.name = None + self.id = None + self.etag = etag + self.target = target + self.bytes_to_capture_per_packet = bytes_to_capture_per_packet + self.total_bytes_per_session = total_bytes_per_session + self.time_limit_in_seconds = time_limit_in_seconds + self.storage_location = storage_location + self.filters = filters + self.provisioning_state = provisioning_state diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_storage_location.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_storage_location.py new file mode 100644 index 000000000000..62ed83d592b3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_storage_location.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class PacketCaptureStorageLocation(Model): + """Describes the storage location for a packet capture session. + + :param storage_id: The ID of the storage account to save the packet + capture session. Required if no local file path is provided. + :type storage_id: str + :param storage_path: The URI of the storage path to save the packet + capture. Must be a well-formed URI describing the location to save the + packet capture. + :type storage_path: str + :param file_path: A valid local path on the targeting VM. Must include the + name of the capture file (*.cap). For linux virtual machine it must start + with /var/captures. Required if no storage ID is provided, otherwise + optional. + :type file_path: str + """ + + _attribute_map = { + 'storage_id': {'key': 'storageId', 'type': 'str'}, + 'storage_path': {'key': 'storagePath', 'type': 'str'}, + 'file_path': {'key': 'filePath', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PacketCaptureStorageLocation, self).__init__(**kwargs) + self.storage_id = kwargs.get('storage_id', None) + self.storage_path = kwargs.get('storage_path', None) + self.file_path = kwargs.get('file_path', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_storage_location_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_storage_location_py3.py new file mode 100644 index 000000000000..6925dd4f9bdf --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/packet_capture_storage_location_py3.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class PacketCaptureStorageLocation(Model): + """Describes the storage location for a packet capture session. + + :param storage_id: The ID of the storage account to save the packet + capture session. Required if no local file path is provided. + :type storage_id: str + :param storage_path: The URI of the storage path to save the packet + capture. Must be a well-formed URI describing the location to save the + packet capture. + :type storage_path: str + :param file_path: A valid local path on the targeting VM. Must include the + name of the capture file (*.cap). For linux virtual machine it must start + with /var/captures. Required if no storage ID is provided, otherwise + optional. + :type file_path: str + """ + + _attribute_map = { + 'storage_id': {'key': 'storageId', 'type': 'str'}, + 'storage_path': {'key': 'storagePath', 'type': 'str'}, + 'file_path': {'key': 'filePath', 'type': 'str'}, + } + + def __init__(self, *, storage_id: str=None, storage_path: str=None, file_path: str=None, **kwargs) -> None: + super(PacketCaptureStorageLocation, self).__init__(**kwargs) + self.storage_id = storage_id + self.storage_path = storage_path + self.file_path = file_path diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/patch_route_filter.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/patch_route_filter.py new file mode 100644 index 000000000000..a844fd3afe52 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/patch_route_filter.py @@ -0,0 +1,71 @@ +# 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 PatchRouteFilter(SubResource): + """Route Filter Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param rules: Collection of RouteFilterRules contained within a route + filter. + :type rules: list[~azure.mgmt.network.v2018_04_01.models.RouteFilterRule] + :param peerings: A collection of references to express route circuit + peerings. + :type peerings: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeering] + :ivar provisioning_state: The provisioning state of the resource. Possible + values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. + :vartype provisioning_state: str + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'name': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(PatchRouteFilter, self).__init__(**kwargs) + self.rules = kwargs.get('rules', None) + self.peerings = kwargs.get('peerings', None) + self.provisioning_state = None + self.name = None + self.etag = None + self.type = None + self.tags = kwargs.get('tags', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/patch_route_filter_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/patch_route_filter_py3.py new file mode 100644 index 000000000000..154d34344437 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/patch_route_filter_py3.py @@ -0,0 +1,71 @@ +# 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 PatchRouteFilter(SubResource): + """Route Filter Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param rules: Collection of RouteFilterRules contained within a route + filter. + :type rules: list[~azure.mgmt.network.v2018_04_01.models.RouteFilterRule] + :param peerings: A collection of references to express route circuit + peerings. + :type peerings: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeering] + :ivar provisioning_state: The provisioning state of the resource. Possible + values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. + :vartype provisioning_state: str + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'name': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, id: str=None, rules=None, peerings=None, tags=None, **kwargs) -> None: + super(PatchRouteFilter, self).__init__(id=id, **kwargs) + self.rules = rules + self.peerings = peerings + self.provisioning_state = None + self.name = None + self.etag = None + self.type = None + self.tags = tags diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/patch_route_filter_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/patch_route_filter_rule.py new file mode 100644 index 000000000000..5d4eaf9dc057 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/patch_route_filter_rule.py @@ -0,0 +1,72 @@ +# 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 PatchRouteFilterRule(SubResource): + """Route Filter Rule Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param access: Required. The access type of the rule. Valid values are: + 'Allow', 'Deny'. Possible values include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2018_04_01.models.Access + :ivar route_filter_rule_type: Required. The rule type of the rule. Valid + value is: 'Community'. Default value: "Community" . + :vartype route_filter_rule_type: str + :param communities: Required. The collection for bgp community values to + filter on. e.g. ['12076:5010','12076:5020'] + :type communities: list[str] + :ivar provisioning_state: The provisioning state of the resource. Possible + values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. + :vartype provisioning_state: str + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'access': {'required': True}, + 'route_filter_rule_type': {'required': True, 'constant': True}, + 'communities': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'name': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, + 'communities': {'key': 'properties.communities', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + route_filter_rule_type = "Community" + + def __init__(self, **kwargs): + super(PatchRouteFilterRule, self).__init__(**kwargs) + self.access = kwargs.get('access', None) + self.communities = kwargs.get('communities', None) + self.provisioning_state = None + self.name = None + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/patch_route_filter_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/patch_route_filter_rule_py3.py new file mode 100644 index 000000000000..eb50c43f81d1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/patch_route_filter_rule_py3.py @@ -0,0 +1,72 @@ +# 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 PatchRouteFilterRule(SubResource): + """Route Filter Rule Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param access: Required. The access type of the rule. Valid values are: + 'Allow', 'Deny'. Possible values include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2018_04_01.models.Access + :ivar route_filter_rule_type: Required. The rule type of the rule. Valid + value is: 'Community'. Default value: "Community" . + :vartype route_filter_rule_type: str + :param communities: Required. The collection for bgp community values to + filter on. e.g. ['12076:5010','12076:5020'] + :type communities: list[str] + :ivar provisioning_state: The provisioning state of the resource. Possible + values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. + :vartype provisioning_state: str + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'access': {'required': True}, + 'route_filter_rule_type': {'required': True, 'constant': True}, + 'communities': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'name': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, + 'communities': {'key': 'properties.communities', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + route_filter_rule_type = "Community" + + def __init__(self, *, access, communities, id: str=None, **kwargs) -> None: + super(PatchRouteFilterRule, self).__init__(id=id, **kwargs) + self.access = access + self.communities = communities + self.provisioning_state = None + self.name = None + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/policies.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/policies.py new file mode 100644 index 000000000000..069d98b7c83c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/policies.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class Policies(Model): + """Policies for vpn gateway. + + :param allow_branch_to_branch_traffic: True if branch to branch traffic is + allowed. + :type allow_branch_to_branch_traffic: bool + :param allow_vnet_to_vnet_traffic: True if Vnet to Vnet traffic is + allowed. + :type allow_vnet_to_vnet_traffic: bool + """ + + _attribute_map = { + 'allow_branch_to_branch_traffic': {'key': 'allowBranchToBranchTraffic', 'type': 'bool'}, + 'allow_vnet_to_vnet_traffic': {'key': 'allowVnetToVnetTraffic', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(Policies, self).__init__(**kwargs) + self.allow_branch_to_branch_traffic = kwargs.get('allow_branch_to_branch_traffic', None) + self.allow_vnet_to_vnet_traffic = kwargs.get('allow_vnet_to_vnet_traffic', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/policies_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/policies_py3.py new file mode 100644 index 000000000000..895c01fcd8a0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/policies_py3.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class Policies(Model): + """Policies for vpn gateway. + + :param allow_branch_to_branch_traffic: True if branch to branch traffic is + allowed. + :type allow_branch_to_branch_traffic: bool + :param allow_vnet_to_vnet_traffic: True if Vnet to Vnet traffic is + allowed. + :type allow_vnet_to_vnet_traffic: bool + """ + + _attribute_map = { + 'allow_branch_to_branch_traffic': {'key': 'allowBranchToBranchTraffic', 'type': 'bool'}, + 'allow_vnet_to_vnet_traffic': {'key': 'allowVnetToVnetTraffic', 'type': 'bool'}, + } + + def __init__(self, *, allow_branch_to_branch_traffic: bool=None, allow_vnet_to_vnet_traffic: bool=None, **kwargs) -> None: + super(Policies, self).__init__(**kwargs) + self.allow_branch_to_branch_traffic = allow_branch_to_branch_traffic + self.allow_vnet_to_vnet_traffic = allow_vnet_to_vnet_traffic diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/probe.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/probe.py new file mode 100644 index 000000000000..5ca597d8eb81 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/probe.py @@ -0,0 +1,93 @@ +# 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 Probe(SubResource): + """A load balancer probe. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar load_balancing_rules: The load balancer rules that use this probe. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param protocol: Required. The protocol of the end point. Possible values + are: 'Http', 'Tcp', or 'Https'. If 'Tcp' is specified, a received ACK is + required for the probe to be successful. If 'Http' or 'Https' is + specified, a 200 OK response from the specifies URI is required for the + probe to be successful. Possible values include: 'Http', 'Tcp', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2018_04_01.models.ProbeProtocol + :param port: Required. The port for communicating the probe. Possible + values range from 1 to 65535, inclusive. + :type port: int + :param interval_in_seconds: The interval, in seconds, for how frequently + to probe the endpoint for health status. Typically, the interval is + slightly less than half the allocated timeout period (in seconds) which + allows two full probes before taking the instance out of rotation. The + default value is 15, the minimum value is 5. + :type interval_in_seconds: int + :param number_of_probes: The number of probes where if no response, will + result in stopping further traffic from being delivered to the endpoint. + This values allows endpoints to be taken out of rotation faster or slower + than the typical times used in Azure. + :type number_of_probes: int + :param request_path: The URI used for requesting health status from the + VM. Path is required if a protocol is set to http. Otherwise, it is not + allowed. There is no default value. + :type request_path: str + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type 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 + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'load_balancing_rules': {'readonly': True}, + 'protocol': {'required': True}, + 'port': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, + 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, + 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Probe, self).__init__(**kwargs) + self.load_balancing_rules = None + self.protocol = kwargs.get('protocol', None) + self.port = kwargs.get('port', None) + self.interval_in_seconds = kwargs.get('interval_in_seconds', None) + self.number_of_probes = kwargs.get('number_of_probes', None) + self.request_path = kwargs.get('request_path', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/probe_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/probe_paged.py new file mode 100644 index 000000000000..58e3c5b55685 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/probe_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 ProbePaged(Paged): + """ + A paging container for iterating over a list of :class:`Probe ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Probe]'} + } + + def __init__(self, *args, **kwargs): + + super(ProbePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/probe_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/probe_py3.py new file mode 100644 index 000000000000..2c9a07faf88c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/probe_py3.py @@ -0,0 +1,93 @@ +# 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 Probe(SubResource): + """A load balancer probe. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar load_balancing_rules: The load balancer rules that use this probe. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param protocol: Required. The protocol of the end point. Possible values + are: 'Http', 'Tcp', or 'Https'. If 'Tcp' is specified, a received ACK is + required for the probe to be successful. If 'Http' or 'Https' is + specified, a 200 OK response from the specifies URI is required for the + probe to be successful. Possible values include: 'Http', 'Tcp', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2018_04_01.models.ProbeProtocol + :param port: Required. The port for communicating the probe. Possible + values range from 1 to 65535, inclusive. + :type port: int + :param interval_in_seconds: The interval, in seconds, for how frequently + to probe the endpoint for health status. Typically, the interval is + slightly less than half the allocated timeout period (in seconds) which + allows two full probes before taking the instance out of rotation. The + default value is 15, the minimum value is 5. + :type interval_in_seconds: int + :param number_of_probes: The number of probes where if no response, will + result in stopping further traffic from being delivered to the endpoint. + This values allows endpoints to be taken out of rotation faster or slower + than the typical times used in Azure. + :type number_of_probes: int + :param request_path: The URI used for requesting health status from the + VM. Path is required if a protocol is set to http. Otherwise, it is not + allowed. There is no default value. + :type request_path: str + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type 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 + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'load_balancing_rules': {'readonly': True}, + 'protocol': {'required': True}, + 'port': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, + 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, + 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, protocol, port: int, id: str=None, interval_in_seconds: int=None, number_of_probes: int=None, request_path: str=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(Probe, self).__init__(id=id, **kwargs) + self.load_balancing_rules = None + self.protocol = protocol + self.port = port + self.interval_in_seconds = interval_in_seconds + self.number_of_probes = number_of_probes + self.request_path = request_path + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/protocol_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/protocol_configuration.py new file mode 100644 index 000000000000..fc336579b8e9 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/protocol_configuration.py @@ -0,0 +1,29 @@ +# 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.serialization import Model + + +class ProtocolConfiguration(Model): + """Configuration of the protocol. + + :param http_configuration: + :type http_configuration: + ~azure.mgmt.network.v2018_04_01.models.HTTPConfiguration + """ + + _attribute_map = { + 'http_configuration': {'key': 'HTTPConfiguration', 'type': 'HTTPConfiguration'}, + } + + def __init__(self, **kwargs): + super(ProtocolConfiguration, self).__init__(**kwargs) + self.http_configuration = kwargs.get('http_configuration', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/protocol_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/protocol_configuration_py3.py new file mode 100644 index 000000000000..12308f070f20 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/protocol_configuration_py3.py @@ -0,0 +1,29 @@ +# 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.serialization import Model + + +class ProtocolConfiguration(Model): + """Configuration of the protocol. + + :param http_configuration: + :type http_configuration: + ~azure.mgmt.network.v2018_04_01.models.HTTPConfiguration + """ + + _attribute_map = { + 'http_configuration': {'key': 'HTTPConfiguration', 'type': 'HTTPConfiguration'}, + } + + def __init__(self, *, http_configuration=None, **kwargs) -> None: + super(ProtocolConfiguration, self).__init__(**kwargs) + self.http_configuration = http_configuration diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address.py new file mode 100644 index 000000000000..9cc25be63279 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address.py @@ -0,0 +1,110 @@ +# 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 .resource import Resource + + +class PublicIPAddress(Resource): + """Public IP address resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The public IP address SKU. + :type sku: ~azure.mgmt.network.v2018_04_01.models.PublicIPAddressSku + :param public_ip_allocation_method: The public IP allocation method. + Possible values are: 'Static' and 'Dynamic'. Possible values include: + 'Static', 'Dynamic' + :type public_ip_allocation_method: str or + ~azure.mgmt.network.v2018_04_01.models.IPAllocationMethod + :param public_ip_address_version: The public IP address version. Possible + values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', 'IPv6' + :type public_ip_address_version: str or + ~azure.mgmt.network.v2018_04_01.models.IPVersion + :ivar ip_configuration: The IP configuration associated with the public IP + address. + :vartype ip_configuration: + ~azure.mgmt.network.v2018_04_01.models.IPConfiguration + :param dns_settings: The FQDN of the DNS record associated with the public + IP address. + :type dns_settings: + ~azure.mgmt.network.v2018_04_01.models.PublicIPAddressDnsSettings + :param ip_tags: The list of tags associated with the public IP address. + :type ip_tags: list[~azure.mgmt.network.v2018_04_01.models.IpTag] + :param ip_address: The IP address associated with the public IP address + resource. + :type ip_address: str + :param idle_timeout_in_minutes: The idle timeout of the public IP address. + :type idle_timeout_in_minutes: int + :param resource_guid: The resource GUID property of the public IP + resource. + :type resource_guid: str + :param provisioning_state: The provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'ip_configuration': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'PublicIPAddressSku'}, + 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, + 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, + 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, + 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, + 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(PublicIPAddress, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.public_ip_allocation_method = kwargs.get('public_ip_allocation_method', None) + self.public_ip_address_version = kwargs.get('public_ip_address_version', None) + self.ip_configuration = None + self.dns_settings = kwargs.get('dns_settings', None) + self.ip_tags = kwargs.get('ip_tags', None) + self.ip_address = kwargs.get('ip_address', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = kwargs.get('etag', None) + self.zones = kwargs.get('zones', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address_dns_settings.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address_dns_settings.py new file mode 100644 index 000000000000..07dfe30433a6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address_dns_settings.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class PublicIPAddressDnsSettings(Model): + """Contains FQDN of the DNS record associated with the public IP address. + + :param domain_name_label: Gets or sets the Domain name label.The + concatenation of the domain name label and the regionalized DNS zone make + up the fully qualified domain name associated with the public IP address. + If a domain name label is specified, an A DNS record is created for the + public IP in the Microsoft Azure DNS system. + :type domain_name_label: str + :param fqdn: Gets the FQDN, Fully qualified domain name of the A DNS + record associated with the public IP. This is the concatenation of the + domainNameLabel and the regionalized DNS zone. + :type fqdn: str + :param reverse_fqdn: Gets or Sets the Reverse FQDN. A user-visible, fully + qualified domain name that resolves to this public IP address. If the + reverseFqdn is specified, then a PTR DNS record is created pointing from + the IP address in the in-addr.arpa domain to the reverse FQDN. + :type reverse_fqdn: str + """ + + _attribute_map = { + 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PublicIPAddressDnsSettings, self).__init__(**kwargs) + self.domain_name_label = kwargs.get('domain_name_label', None) + self.fqdn = kwargs.get('fqdn', None) + self.reverse_fqdn = kwargs.get('reverse_fqdn', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address_dns_settings_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address_dns_settings_py3.py new file mode 100644 index 000000000000..e84aa9c10bf5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address_dns_settings_py3.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class PublicIPAddressDnsSettings(Model): + """Contains FQDN of the DNS record associated with the public IP address. + + :param domain_name_label: Gets or sets the Domain name label.The + concatenation of the domain name label and the regionalized DNS zone make + up the fully qualified domain name associated with the public IP address. + If a domain name label is specified, an A DNS record is created for the + public IP in the Microsoft Azure DNS system. + :type domain_name_label: str + :param fqdn: Gets the FQDN, Fully qualified domain name of the A DNS + record associated with the public IP. This is the concatenation of the + domainNameLabel and the regionalized DNS zone. + :type fqdn: str + :param reverse_fqdn: Gets or Sets the Reverse FQDN. A user-visible, fully + qualified domain name that resolves to this public IP address. If the + reverseFqdn is specified, then a PTR DNS record is created pointing from + the IP address in the in-addr.arpa domain to the reverse FQDN. + :type reverse_fqdn: str + """ + + _attribute_map = { + 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, + } + + def __init__(self, *, domain_name_label: str=None, fqdn: str=None, reverse_fqdn: str=None, **kwargs) -> None: + super(PublicIPAddressDnsSettings, self).__init__(**kwargs) + self.domain_name_label = domain_name_label + self.fqdn = fqdn + self.reverse_fqdn = reverse_fqdn diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address_paged.py new file mode 100644 index 000000000000..dafadfc05cfe --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address_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 PublicIPAddressPaged(Paged): + """ + A paging container for iterating over a list of :class:`PublicIPAddress ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PublicIPAddress]'} + } + + def __init__(self, *args, **kwargs): + + super(PublicIPAddressPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address_py3.py new file mode 100644 index 000000000000..7923ec46e74b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address_py3.py @@ -0,0 +1,110 @@ +# 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 .resource_py3 import Resource + + +class PublicIPAddress(Resource): + """Public IP address resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The public IP address SKU. + :type sku: ~azure.mgmt.network.v2018_04_01.models.PublicIPAddressSku + :param public_ip_allocation_method: The public IP allocation method. + Possible values are: 'Static' and 'Dynamic'. Possible values include: + 'Static', 'Dynamic' + :type public_ip_allocation_method: str or + ~azure.mgmt.network.v2018_04_01.models.IPAllocationMethod + :param public_ip_address_version: The public IP address version. Possible + values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', 'IPv6' + :type public_ip_address_version: str or + ~azure.mgmt.network.v2018_04_01.models.IPVersion + :ivar ip_configuration: The IP configuration associated with the public IP + address. + :vartype ip_configuration: + ~azure.mgmt.network.v2018_04_01.models.IPConfiguration + :param dns_settings: The FQDN of the DNS record associated with the public + IP address. + :type dns_settings: + ~azure.mgmt.network.v2018_04_01.models.PublicIPAddressDnsSettings + :param ip_tags: The list of tags associated with the public IP address. + :type ip_tags: list[~azure.mgmt.network.v2018_04_01.models.IpTag] + :param ip_address: The IP address associated with the public IP address + resource. + :type ip_address: str + :param idle_timeout_in_minutes: The idle timeout of the public IP address. + :type idle_timeout_in_minutes: int + :param resource_guid: The resource GUID property of the public IP + resource. + :type resource_guid: str + :param provisioning_state: The provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'ip_configuration': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'PublicIPAddressSku'}, + 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, + 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, + 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, + 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, + 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, public_ip_allocation_method=None, public_ip_address_version=None, dns_settings=None, ip_tags=None, ip_address: str=None, idle_timeout_in_minutes: int=None, resource_guid: str=None, provisioning_state: str=None, etag: str=None, zones=None, **kwargs) -> None: + super(PublicIPAddress, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.public_ip_allocation_method = public_ip_allocation_method + self.public_ip_address_version = public_ip_address_version + self.ip_configuration = None + self.dns_settings = dns_settings + self.ip_tags = ip_tags + self.ip_address = ip_address + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.resource_guid = resource_guid + self.provisioning_state = provisioning_state + self.etag = etag + self.zones = zones diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address_sku.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address_sku.py new file mode 100644 index 000000000000..c2de91bc5813 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address_sku.py @@ -0,0 +1,30 @@ +# 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.serialization import Model + + +class PublicIPAddressSku(Model): + """SKU of a public IP address. + + :param name: Name of a public IP address SKU. Possible values include: + 'Basic', 'Standard' + :type name: str or + ~azure.mgmt.network.v2018_04_01.models.PublicIPAddressSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PublicIPAddressSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address_sku_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address_sku_py3.py new file mode 100644 index 000000000000..5b565c5385cc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/public_ip_address_sku_py3.py @@ -0,0 +1,30 @@ +# 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.serialization import Model + + +class PublicIPAddressSku(Model): + """SKU of a public IP address. + + :param name: Name of a public IP address SKU. Possible values include: + 'Basic', 'Standard' + :type name: str or + ~azure.mgmt.network.v2018_04_01.models.PublicIPAddressSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name=None, **kwargs) -> None: + super(PublicIPAddressSku, self).__init__(**kwargs) + self.name = name diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/query_troubleshooting_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/query_troubleshooting_parameters.py new file mode 100644 index 000000000000..6ae1924916c6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/query_troubleshooting_parameters.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class QueryTroubleshootingParameters(Model): + """Parameters that define the resource to query the troubleshooting result. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource ID to query the + troubleshooting result. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(QueryTroubleshootingParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/query_troubleshooting_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/query_troubleshooting_parameters_py3.py new file mode 100644 index 000000000000..b5fccb87857c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/query_troubleshooting_parameters_py3.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class QueryTroubleshootingParameters(Model): + """Parameters that define the resource to query the troubleshooting result. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource ID to query the + troubleshooting result. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, **kwargs) -> None: + super(QueryTroubleshootingParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/resource.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/resource.py new file mode 100644 index 000000000000..7dabab29ac9d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/resource.py @@ -0,0 +1,52 @@ +# 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.serialization import Model + + +class Resource(Model): + """Common resource representation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/resource_navigation_link.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/resource_navigation_link.py new file mode 100644 index 000000000000..705698f513f6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/resource_navigation_link.py @@ -0,0 +1,58 @@ +# 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 ResourceNavigationLink(SubResource): + """ResourceNavigationLink resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param linked_resource_type: Resource type of the linked resource. + :type linked_resource_type: str + :param link: Link to the external resource + :type link: str + :ivar provisioning_state: Provisioning state of the ResourceNavigationLink + resource. + :vartype provisioning_state: str + :param name: 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 = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, + 'link': {'key': 'properties.link', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceNavigationLink, self).__init__(**kwargs) + self.linked_resource_type = kwargs.get('linked_resource_type', None) + self.link = kwargs.get('link', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/resource_navigation_link_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/resource_navigation_link_py3.py new file mode 100644 index 000000000000..ba7329e863a1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/resource_navigation_link_py3.py @@ -0,0 +1,58 @@ +# 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 ResourceNavigationLink(SubResource): + """ResourceNavigationLink resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param linked_resource_type: Resource type of the linked resource. + :type linked_resource_type: str + :param link: Link to the external resource + :type link: str + :ivar provisioning_state: Provisioning state of the ResourceNavigationLink + resource. + :vartype provisioning_state: str + :param name: 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 = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, + 'link': {'key': 'properties.link', '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, linked_resource_type: str=None, link: str=None, name: str=None, **kwargs) -> None: + super(ResourceNavigationLink, self).__init__(id=id, **kwargs) + self.linked_resource_type = linked_resource_type + self.link = link + self.provisioning_state = None + self.name = name + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/resource_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/resource_py3.py new file mode 100644 index 000000000000..ae95b78b4f23 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/resource_py3.py @@ -0,0 +1,52 @@ +# 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.serialization import Model + + +class Resource(Model): + """Common resource representation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = id + self.name = None + self.type = None + self.location = location + self.tags = tags diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/retention_policy_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/retention_policy_parameters.py new file mode 100644 index 000000000000..28cb43056d47 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/retention_policy_parameters.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class RetentionPolicyParameters(Model): + """Parameters that define the retention policy for flow log. + + :param days: Number of days to retain flow log records. Default value: 0 . + :type days: int + :param enabled: Flag to enable/disable retention. Default value: False . + :type enabled: bool + """ + + _attribute_map = { + 'days': {'key': 'days', 'type': 'int'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(RetentionPolicyParameters, self).__init__(**kwargs) + self.days = kwargs.get('days', 0) + self.enabled = kwargs.get('enabled', False) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/retention_policy_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/retention_policy_parameters_py3.py new file mode 100644 index 000000000000..3b2ffc5e741e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/retention_policy_parameters_py3.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class RetentionPolicyParameters(Model): + """Parameters that define the retention policy for flow log. + + :param days: Number of days to retain flow log records. Default value: 0 . + :type days: int + :param enabled: Flag to enable/disable retention. Default value: False . + :type enabled: bool + """ + + _attribute_map = { + 'days': {'key': 'days', 'type': 'int'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, *, days: int=0, enabled: bool=False, **kwargs) -> None: + super(RetentionPolicyParameters, self).__init__(**kwargs) + self.days = days + self.enabled = enabled diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route.py new file mode 100644 index 000000000000..d46219945344 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route.py @@ -0,0 +1,67 @@ +# 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 Route(SubResource): + """Route resource. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param address_prefix: The destination CIDR to which the route applies. + :type address_prefix: str + :param next_hop_type: Required. The type of Azure hop the packet should be + sent to. Possible values are: 'VirtualNetworkGateway', 'VnetLocal', + 'Internet', 'VirtualAppliance', and 'None'. Possible values include: + 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', + 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2018_04_01.models.RouteNextHopType + :param next_hop_ip_address: The IP address packets should be forwarded to. + Next hop values are only allowed in routes where the next hop type is + VirtualAppliance. + :type next_hop_ip_address: str + :param provisioning_state: The provisioning state of the resource. + Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'next_hop_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, + 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Route, self).__init__(**kwargs) + self.address_prefix = kwargs.get('address_prefix', None) + self.next_hop_type = kwargs.get('next_hop_type', None) + self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_filter.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_filter.py new file mode 100644 index 000000000000..feeb50f7ede6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_filter.py @@ -0,0 +1,70 @@ +# 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 .resource import Resource + + +class RouteFilter(Resource): + """Route Filter Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param rules: Collection of RouteFilterRules contained within a route + filter. + :type rules: list[~azure.mgmt.network.v2018_04_01.models.RouteFilterRule] + :param peerings: A collection of references to express route circuit + peerings. + :type peerings: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeering] + :ivar provisioning_state: The provisioning state of the resource. Possible + values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. + :vartype provisioning_state: str + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RouteFilter, self).__init__(**kwargs) + self.rules = kwargs.get('rules', None) + self.peerings = kwargs.get('peerings', None) + self.provisioning_state = None + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_filter_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_filter_paged.py new file mode 100644 index 000000000000..0cdcec0e7ed3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_filter_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 RouteFilterPaged(Paged): + """ + A paging container for iterating over a list of :class:`RouteFilter ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[RouteFilter]'} + } + + def __init__(self, *args, **kwargs): + + super(RouteFilterPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_filter_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_filter_py3.py new file mode 100644 index 000000000000..4fa37534e687 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_filter_py3.py @@ -0,0 +1,70 @@ +# 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 .resource_py3 import Resource + + +class RouteFilter(Resource): + """Route Filter Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param rules: Collection of RouteFilterRules contained within a route + filter. + :type rules: list[~azure.mgmt.network.v2018_04_01.models.RouteFilterRule] + :param peerings: A collection of references to express route circuit + peerings. + :type peerings: + list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeering] + :ivar provisioning_state: The provisioning state of the resource. Possible + values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. + :vartype provisioning_state: str + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, rules=None, peerings=None, **kwargs) -> None: + super(RouteFilter, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.rules = rules + self.peerings = peerings + self.provisioning_state = None + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_filter_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_filter_rule.py new file mode 100644 index 000000000000..f32a0ca2966e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_filter_rule.py @@ -0,0 +1,75 @@ +# 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 RouteFilterRule(SubResource): + """Route Filter Rule Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param access: Required. The access type of the rule. Valid values are: + 'Allow', 'Deny'. Possible values include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2018_04_01.models.Access + :ivar route_filter_rule_type: Required. The rule type of the rule. Valid + value is: 'Community'. Default value: "Community" . + :vartype route_filter_rule_type: str + :param communities: Required. The collection for bgp community values to + filter on. e.g. ['12076:5010','12076:5020'] + :type communities: list[str] + :ivar provisioning_state: The provisioning state of the resource. Possible + values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. + :vartype provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param location: Resource location. + :type location: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'access': {'required': True}, + 'route_filter_rule_type': {'required': True, 'constant': True}, + 'communities': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, + 'communities': {'key': 'properties.communities', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + route_filter_rule_type = "Community" + + def __init__(self, **kwargs): + super(RouteFilterRule, self).__init__(**kwargs) + self.access = kwargs.get('access', None) + self.communities = kwargs.get('communities', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.location = kwargs.get('location', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_filter_rule_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_filter_rule_paged.py new file mode 100644 index 000000000000..1e1ae96fbe15 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_filter_rule_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 RouteFilterRulePaged(Paged): + """ + A paging container for iterating over a list of :class:`RouteFilterRule ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[RouteFilterRule]'} + } + + def __init__(self, *args, **kwargs): + + super(RouteFilterRulePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_filter_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_filter_rule_py3.py new file mode 100644 index 000000000000..286564aec7f5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_filter_rule_py3.py @@ -0,0 +1,75 @@ +# 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 RouteFilterRule(SubResource): + """Route Filter Rule Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param access: Required. The access type of the rule. Valid values are: + 'Allow', 'Deny'. Possible values include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2018_04_01.models.Access + :ivar route_filter_rule_type: Required. The rule type of the rule. Valid + value is: 'Community'. Default value: "Community" . + :vartype route_filter_rule_type: str + :param communities: Required. The collection for bgp community values to + filter on. e.g. ['12076:5010','12076:5020'] + :type communities: list[str] + :ivar provisioning_state: The provisioning state of the resource. Possible + values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. + :vartype provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param location: Resource location. + :type location: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'access': {'required': True}, + 'route_filter_rule_type': {'required': True, 'constant': True}, + 'communities': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, + 'communities': {'key': 'properties.communities', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + route_filter_rule_type = "Community" + + def __init__(self, *, access, communities, id: str=None, name: str=None, location: str=None, **kwargs) -> None: + super(RouteFilterRule, self).__init__(id=id, **kwargs) + self.access = access + self.communities = communities + self.provisioning_state = None + self.name = name + self.location = location + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_paged.py new file mode 100644 index 000000000000..1548bc2d35b7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_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 RoutePaged(Paged): + """ + A paging container for iterating over a list of :class:`Route ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Route]'} + } + + def __init__(self, *args, **kwargs): + + super(RoutePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_py3.py new file mode 100644 index 000000000000..5cccc58306ad --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_py3.py @@ -0,0 +1,67 @@ +# 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 Route(SubResource): + """Route resource. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param address_prefix: The destination CIDR to which the route applies. + :type address_prefix: str + :param next_hop_type: Required. The type of Azure hop the packet should be + sent to. Possible values are: 'VirtualNetworkGateway', 'VnetLocal', + 'Internet', 'VirtualAppliance', and 'None'. Possible values include: + 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', + 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2018_04_01.models.RouteNextHopType + :param next_hop_ip_address: The IP address packets should be forwarded to. + Next hop values are only allowed in routes where the next hop type is + VirtualAppliance. + :type next_hop_ip_address: str + :param provisioning_state: The provisioning state of the resource. + Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'next_hop_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, + 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, next_hop_type, id: str=None, address_prefix: str=None, next_hop_ip_address: str=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(Route, self).__init__(id=id, **kwargs) + self.address_prefix = address_prefix + self.next_hop_type = next_hop_type + self.next_hop_ip_address = next_hop_ip_address + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_table.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_table.py new file mode 100644 index 000000000000..fbbb6dcf7694 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_table.py @@ -0,0 +1,71 @@ +# 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 .resource import Resource + + +class RouteTable(Resource): + """Route table resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param routes: Collection of routes contained within a route table. + :type routes: list[~azure.mgmt.network.v2018_04_01.models.Route] + :ivar subnets: A collection of references to subnets. + :vartype subnets: list[~azure.mgmt.network.v2018_04_01.models.Subnet] + :param disable_bgp_route_propagation: Gets or sets whether to disable the + routes learned by BGP on that route table. True means disable. + :type disable_bgp_route_propagation: bool + :param provisioning_state: The provisioning state of the resource. + Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnets': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'routes': {'key': 'properties.routes', 'type': '[Route]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'disable_bgp_route_propagation': {'key': 'properties.disableBgpRoutePropagation', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RouteTable, self).__init__(**kwargs) + self.routes = kwargs.get('routes', None) + self.subnets = None + self.disable_bgp_route_propagation = kwargs.get('disable_bgp_route_propagation', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_table_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_table_paged.py new file mode 100644 index 000000000000..fc4bd4e021b8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_table_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 RouteTablePaged(Paged): + """ + A paging container for iterating over a list of :class:`RouteTable ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[RouteTable]'} + } + + def __init__(self, *args, **kwargs): + + super(RouteTablePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_table_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_table_py3.py new file mode 100644 index 000000000000..41a7623dd0cd --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/route_table_py3.py @@ -0,0 +1,71 @@ +# 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 .resource_py3 import Resource + + +class RouteTable(Resource): + """Route table resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param routes: Collection of routes contained within a route table. + :type routes: list[~azure.mgmt.network.v2018_04_01.models.Route] + :ivar subnets: A collection of references to subnets. + :vartype subnets: list[~azure.mgmt.network.v2018_04_01.models.Subnet] + :param disable_bgp_route_propagation: Gets or sets whether to disable the + routes learned by BGP on that route table. True means disable. + :type disable_bgp_route_propagation: bool + :param provisioning_state: The provisioning state of the resource. + Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnets': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'routes': {'key': 'properties.routes', 'type': '[Route]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'disable_bgp_route_propagation': {'key': 'properties.disableBgpRoutePropagation', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, routes=None, disable_bgp_route_propagation: bool=None, provisioning_state: str=None, etag: str=None, **kwargs) -> None: + super(RouteTable, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.routes = routes + self.subnets = None + self.disable_bgp_route_propagation = disable_bgp_route_propagation + self.provisioning_state = provisioning_state + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_group_network_interface.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_group_network_interface.py new file mode 100644 index 000000000000..cde4eb783adc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_group_network_interface.py @@ -0,0 +1,33 @@ +# 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.serialization import Model + + +class SecurityGroupNetworkInterface(Model): + """Network interface and all its associated security rules. + + :param id: ID of the network interface. + :type id: str + :param security_rule_associations: + :type security_rule_associations: + ~azure.mgmt.network.v2018_04_01.models.SecurityRuleAssociations + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rule_associations': {'key': 'securityRuleAssociations', 'type': 'SecurityRuleAssociations'}, + } + + def __init__(self, **kwargs): + super(SecurityGroupNetworkInterface, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.security_rule_associations = kwargs.get('security_rule_associations', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_group_network_interface_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_group_network_interface_py3.py new file mode 100644 index 000000000000..1337512171cb --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_group_network_interface_py3.py @@ -0,0 +1,33 @@ +# 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.serialization import Model + + +class SecurityGroupNetworkInterface(Model): + """Network interface and all its associated security rules. + + :param id: ID of the network interface. + :type id: str + :param security_rule_associations: + :type security_rule_associations: + ~azure.mgmt.network.v2018_04_01.models.SecurityRuleAssociations + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rule_associations': {'key': 'securityRuleAssociations', 'type': 'SecurityRuleAssociations'}, + } + + def __init__(self, *, id: str=None, security_rule_associations=None, **kwargs) -> None: + super(SecurityGroupNetworkInterface, self).__init__(**kwargs) + self.id = id + self.security_rule_associations = security_rule_associations diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_group_view_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_group_view_parameters.py new file mode 100644 index 000000000000..1d547b0b0e2b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_group_view_parameters.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class SecurityGroupViewParameters(Model): + """Parameters that define the VM to check security groups for. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. ID of the target VM. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SecurityGroupViewParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_group_view_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_group_view_parameters_py3.py new file mode 100644 index 000000000000..7ccc48017444 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_group_view_parameters_py3.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class SecurityGroupViewParameters(Model): + """Parameters that define the VM to check security groups for. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. ID of the target VM. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, **kwargs) -> None: + super(SecurityGroupViewParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_group_view_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_group_view_result.py new file mode 100644 index 000000000000..578ce0358a72 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_group_view_result.py @@ -0,0 +1,29 @@ +# 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.serialization import Model + + +class SecurityGroupViewResult(Model): + """The information about security rules applied to the specified VM. + + :param network_interfaces: List of network interfaces on the specified VM. + :type network_interfaces: + list[~azure.mgmt.network.v2018_04_01.models.SecurityGroupNetworkInterface] + """ + + _attribute_map = { + 'network_interfaces': {'key': 'networkInterfaces', 'type': '[SecurityGroupNetworkInterface]'}, + } + + def __init__(self, **kwargs): + super(SecurityGroupViewResult, self).__init__(**kwargs) + self.network_interfaces = kwargs.get('network_interfaces', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_group_view_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_group_view_result_py3.py new file mode 100644 index 000000000000..ed5cfe73fcbb --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_group_view_result_py3.py @@ -0,0 +1,29 @@ +# 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.serialization import Model + + +class SecurityGroupViewResult(Model): + """The information about security rules applied to the specified VM. + + :param network_interfaces: List of network interfaces on the specified VM. + :type network_interfaces: + list[~azure.mgmt.network.v2018_04_01.models.SecurityGroupNetworkInterface] + """ + + _attribute_map = { + 'network_interfaces': {'key': 'networkInterfaces', 'type': '[SecurityGroupNetworkInterface]'}, + } + + def __init__(self, *, network_interfaces=None, **kwargs) -> None: + super(SecurityGroupViewResult, self).__init__(**kwargs) + self.network_interfaces = network_interfaces diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_rule.py new file mode 100644 index 000000000000..4278c361b5d4 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_rule.py @@ -0,0 +1,137 @@ +# 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 SecurityRule(SubResource): + """Network security rule. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param description: A description for this rule. Restricted to 140 chars. + :type description: str + :param protocol: Required. Network protocol this rule applies to. Possible + values are 'Tcp', 'Udp', and '*'. Possible values include: 'Tcp', 'Udp', + '*' + :type protocol: str or + ~azure.mgmt.network.v2018_04_01.models.SecurityRuleProtocol + :param source_port_range: The source port or range. Integer or range + between 0 and 65535. Asterix '*' can also be used to match all ports. + :type source_port_range: str + :param destination_port_range: The destination port or range. Integer or + range between 0 and 65535. Asterix '*' can also be used to match all + ports. + :type destination_port_range: str + :param source_address_prefix: The CIDR or source IP range. Asterix '*' can + also be used to match all source IPs. Default tags such as + 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If + this is an ingress rule, specifies where network traffic originates from. + :type source_address_prefix: str + :param source_address_prefixes: The CIDR or source IP ranges. + :type source_address_prefixes: list[str] + :param source_application_security_groups: The application security group + specified as source. + :type source_application_security_groups: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationSecurityGroup] + :param destination_address_prefix: The destination address prefix. CIDR or + destination IP range. Asterix '*' can also be used to match all source + IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and + 'Internet' can also be used. + :type destination_address_prefix: str + :param destination_address_prefixes: The destination address prefixes. + CIDR or destination IP ranges. + :type destination_address_prefixes: list[str] + :param destination_application_security_groups: The application security + group specified as destination. + :type destination_application_security_groups: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationSecurityGroup] + :param source_port_ranges: The source port ranges. + :type source_port_ranges: list[str] + :param destination_port_ranges: The destination port ranges. + :type destination_port_ranges: list[str] + :param access: Required. The network traffic is allowed or denied. + Possible values are: 'Allow' and 'Deny'. Possible values include: 'Allow', + 'Deny' + :type access: str or + ~azure.mgmt.network.v2018_04_01.models.SecurityRuleAccess + :param priority: The priority of the rule. The value can be between 100 + and 4096. The priority number must be unique for each rule in the + collection. The lower the priority number, the higher the priority of the + rule. + :type priority: int + :param direction: Required. The direction of the rule. The direction + specifies if rule will be evaluated on incoming or outcoming traffic. + Possible values are: 'Inbound' and 'Outbound'. Possible values include: + 'Inbound', 'Outbound' + :type direction: str or + ~azure.mgmt.network.v2018_04_01.models.SecurityRuleDirection + :param provisioning_state: The provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'protocol': {'required': True}, + 'access': {'required': True}, + 'direction': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, + 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, + 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, + 'source_address_prefixes': {'key': 'properties.sourceAddressPrefixes', 'type': '[str]'}, + 'source_application_security_groups': {'key': 'properties.sourceApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, + 'destination_address_prefixes': {'key': 'properties.destinationAddressPrefixes', 'type': '[str]'}, + 'destination_application_security_groups': {'key': 'properties.destinationApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, + 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'direction': {'key': 'properties.direction', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SecurityRule, self).__init__(**kwargs) + self.description = kwargs.get('description', None) + self.protocol = kwargs.get('protocol', None) + self.source_port_range = kwargs.get('source_port_range', None) + self.destination_port_range = kwargs.get('destination_port_range', None) + self.source_address_prefix = kwargs.get('source_address_prefix', None) + self.source_address_prefixes = kwargs.get('source_address_prefixes', None) + self.source_application_security_groups = kwargs.get('source_application_security_groups', None) + self.destination_address_prefix = kwargs.get('destination_address_prefix', None) + self.destination_address_prefixes = kwargs.get('destination_address_prefixes', None) + self.destination_application_security_groups = kwargs.get('destination_application_security_groups', None) + self.source_port_ranges = kwargs.get('source_port_ranges', None) + self.destination_port_ranges = kwargs.get('destination_port_ranges', None) + self.access = kwargs.get('access', None) + self.priority = kwargs.get('priority', None) + self.direction = kwargs.get('direction', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_rule_associations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_rule_associations.py new file mode 100644 index 000000000000..79b7003b5dee --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_rule_associations.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class SecurityRuleAssociations(Model): + """All security rules associated with the network interface. + + :param network_interface_association: + :type network_interface_association: + ~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceAssociation + :param subnet_association: + :type subnet_association: + ~azure.mgmt.network.v2018_04_01.models.SubnetAssociation + :param default_security_rules: Collection of default security rules of the + network security group. + :type default_security_rules: + list[~azure.mgmt.network.v2018_04_01.models.SecurityRule] + :param effective_security_rules: Collection of effective security rules. + :type effective_security_rules: + list[~azure.mgmt.network.v2018_04_01.models.EffectiveNetworkSecurityRule] + """ + + _attribute_map = { + 'network_interface_association': {'key': 'networkInterfaceAssociation', 'type': 'NetworkInterfaceAssociation'}, + 'subnet_association': {'key': 'subnetAssociation', 'type': 'SubnetAssociation'}, + 'default_security_rules': {'key': 'defaultSecurityRules', 'type': '[SecurityRule]'}, + 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, + } + + def __init__(self, **kwargs): + super(SecurityRuleAssociations, self).__init__(**kwargs) + self.network_interface_association = kwargs.get('network_interface_association', None) + self.subnet_association = kwargs.get('subnet_association', None) + self.default_security_rules = kwargs.get('default_security_rules', None) + self.effective_security_rules = kwargs.get('effective_security_rules', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_rule_associations_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_rule_associations_py3.py new file mode 100644 index 000000000000..1d03f409d969 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_rule_associations_py3.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class SecurityRuleAssociations(Model): + """All security rules associated with the network interface. + + :param network_interface_association: + :type network_interface_association: + ~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceAssociation + :param subnet_association: + :type subnet_association: + ~azure.mgmt.network.v2018_04_01.models.SubnetAssociation + :param default_security_rules: Collection of default security rules of the + network security group. + :type default_security_rules: + list[~azure.mgmt.network.v2018_04_01.models.SecurityRule] + :param effective_security_rules: Collection of effective security rules. + :type effective_security_rules: + list[~azure.mgmt.network.v2018_04_01.models.EffectiveNetworkSecurityRule] + """ + + _attribute_map = { + 'network_interface_association': {'key': 'networkInterfaceAssociation', 'type': 'NetworkInterfaceAssociation'}, + 'subnet_association': {'key': 'subnetAssociation', 'type': 'SubnetAssociation'}, + 'default_security_rules': {'key': 'defaultSecurityRules', 'type': '[SecurityRule]'}, + 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, + } + + def __init__(self, *, network_interface_association=None, subnet_association=None, default_security_rules=None, effective_security_rules=None, **kwargs) -> None: + super(SecurityRuleAssociations, self).__init__(**kwargs) + self.network_interface_association = network_interface_association + self.subnet_association = subnet_association + self.default_security_rules = default_security_rules + self.effective_security_rules = effective_security_rules diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_rule_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_rule_paged.py new file mode 100644 index 000000000000..8a567376a9ca --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_rule_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 SecurityRulePaged(Paged): + """ + A paging container for iterating over a list of :class:`SecurityRule ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SecurityRule]'} + } + + def __init__(self, *args, **kwargs): + + super(SecurityRulePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_rule_py3.py new file mode 100644 index 000000000000..4db3960b5270 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/security_rule_py3.py @@ -0,0 +1,137 @@ +# 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 SecurityRule(SubResource): + """Network security rule. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param description: A description for this rule. Restricted to 140 chars. + :type description: str + :param protocol: Required. Network protocol this rule applies to. Possible + values are 'Tcp', 'Udp', and '*'. Possible values include: 'Tcp', 'Udp', + '*' + :type protocol: str or + ~azure.mgmt.network.v2018_04_01.models.SecurityRuleProtocol + :param source_port_range: The source port or range. Integer or range + between 0 and 65535. Asterix '*' can also be used to match all ports. + :type source_port_range: str + :param destination_port_range: The destination port or range. Integer or + range between 0 and 65535. Asterix '*' can also be used to match all + ports. + :type destination_port_range: str + :param source_address_prefix: The CIDR or source IP range. Asterix '*' can + also be used to match all source IPs. Default tags such as + 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If + this is an ingress rule, specifies where network traffic originates from. + :type source_address_prefix: str + :param source_address_prefixes: The CIDR or source IP ranges. + :type source_address_prefixes: list[str] + :param source_application_security_groups: The application security group + specified as source. + :type source_application_security_groups: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationSecurityGroup] + :param destination_address_prefix: The destination address prefix. CIDR or + destination IP range. Asterix '*' can also be used to match all source + IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and + 'Internet' can also be used. + :type destination_address_prefix: str + :param destination_address_prefixes: The destination address prefixes. + CIDR or destination IP ranges. + :type destination_address_prefixes: list[str] + :param destination_application_security_groups: The application security + group specified as destination. + :type destination_application_security_groups: + list[~azure.mgmt.network.v2018_04_01.models.ApplicationSecurityGroup] + :param source_port_ranges: The source port ranges. + :type source_port_ranges: list[str] + :param destination_port_ranges: The destination port ranges. + :type destination_port_ranges: list[str] + :param access: Required. The network traffic is allowed or denied. + Possible values are: 'Allow' and 'Deny'. Possible values include: 'Allow', + 'Deny' + :type access: str or + ~azure.mgmt.network.v2018_04_01.models.SecurityRuleAccess + :param priority: The priority of the rule. The value can be between 100 + and 4096. The priority number must be unique for each rule in the + collection. The lower the priority number, the higher the priority of the + rule. + :type priority: int + :param direction: Required. The direction of the rule. The direction + specifies if rule will be evaluated on incoming or outcoming traffic. + Possible values are: 'Inbound' and 'Outbound'. Possible values include: + 'Inbound', 'Outbound' + :type direction: str or + ~azure.mgmt.network.v2018_04_01.models.SecurityRuleDirection + :param provisioning_state: The provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'protocol': {'required': True}, + 'access': {'required': True}, + 'direction': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, + 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, + 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, + 'source_address_prefixes': {'key': 'properties.sourceAddressPrefixes', 'type': '[str]'}, + 'source_application_security_groups': {'key': 'properties.sourceApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, + 'destination_address_prefixes': {'key': 'properties.destinationAddressPrefixes', 'type': '[str]'}, + 'destination_application_security_groups': {'key': 'properties.destinationApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, + 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'direction': {'key': 'properties.direction', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, protocol, access, direction, id: str=None, description: str=None, source_port_range: str=None, destination_port_range: str=None, source_address_prefix: str=None, source_address_prefixes=None, source_application_security_groups=None, destination_address_prefix: str=None, destination_address_prefixes=None, destination_application_security_groups=None, source_port_ranges=None, destination_port_ranges=None, priority: int=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(SecurityRule, self).__init__(id=id, **kwargs) + self.description = description + self.protocol = protocol + self.source_port_range = source_port_range + self.destination_port_range = destination_port_range + self.source_address_prefix = source_address_prefix + self.source_address_prefixes = source_address_prefixes + self.source_application_security_groups = source_application_security_groups + self.destination_address_prefix = destination_address_prefix + self.destination_address_prefixes = destination_address_prefixes + self.destination_application_security_groups = destination_application_security_groups + self.source_port_ranges = source_port_ranges + self.destination_port_ranges = destination_port_ranges + self.access = access + self.priority = priority + self.direction = direction + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/service_endpoint_properties_format.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/service_endpoint_properties_format.py new file mode 100644 index 000000000000..87ca01e64540 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/service_endpoint_properties_format.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class ServiceEndpointPropertiesFormat(Model): + """The service endpoint properties. + + :param service: The type of the endpoint service. + :type service: str + :param locations: A list of locations. + :type locations: list[str] + :param provisioning_state: The provisioning state of the resource. + :type provisioning_state: str + """ + + _attribute_map = { + 'service': {'key': 'service', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ServiceEndpointPropertiesFormat, self).__init__(**kwargs) + self.service = kwargs.get('service', None) + self.locations = kwargs.get('locations', None) + self.provisioning_state = kwargs.get('provisioning_state', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/service_endpoint_properties_format_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/service_endpoint_properties_format_py3.py new file mode 100644 index 000000000000..8d3d2e5e8347 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/service_endpoint_properties_format_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class ServiceEndpointPropertiesFormat(Model): + """The service endpoint properties. + + :param service: The type of the endpoint service. + :type service: str + :param locations: A list of locations. + :type locations: list[str] + :param provisioning_state: The provisioning state of the resource. + :type provisioning_state: str + """ + + _attribute_map = { + 'service': {'key': 'service', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, *, service: str=None, locations=None, provisioning_state: str=None, **kwargs) -> None: + super(ServiceEndpointPropertiesFormat, self).__init__(**kwargs) + self.service = service + self.locations = locations + self.provisioning_state = provisioning_state diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/sub_resource.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/sub_resource.py new file mode 100644 index 000000000000..6ab81f55f21b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/sub_resource.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class SubResource(Model): + """Reference to another subresource. + + :param id: Resource ID. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SubResource, self).__init__(**kwargs) + self.id = kwargs.get('id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/sub_resource_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/sub_resource_py3.py new file mode 100644 index 000000000000..8f4c4c816061 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/sub_resource_py3.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class SubResource(Model): + """Reference to another subresource. + + :param id: Resource ID. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(SubResource, self).__init__(**kwargs) + self.id = id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/subnet.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/subnet.py new file mode 100644 index 000000000000..44369858d6b5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/subnet.py @@ -0,0 +1,79 @@ +# 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 Subnet(SubResource): + """Subnet in a virtual network resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param address_prefix: The address prefix for the subnet. + :type address_prefix: str + :param network_security_group: The reference of the NetworkSecurityGroup + resource. + :type network_security_group: + ~azure.mgmt.network.v2018_04_01.models.NetworkSecurityGroup + :param route_table: The reference of the RouteTable resource. + :type route_table: ~azure.mgmt.network.v2018_04_01.models.RouteTable + :param service_endpoints: An array of service endpoints. + :type service_endpoints: + list[~azure.mgmt.network.v2018_04_01.models.ServiceEndpointPropertiesFormat] + :ivar ip_configurations: Gets an array of references to the network + interface IP configurations using subnet. + :vartype ip_configurations: + list[~azure.mgmt.network.v2018_04_01.models.IPConfiguration] + :param resource_navigation_links: Gets an array of references to the + external resources using subnet. + :type resource_navigation_links: + list[~azure.mgmt.network.v2018_04_01.models.ResourceNavigationLink] + :param provisioning_state: The provisioning state of the resource. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'ip_configurations': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, + 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, + 'service_endpoints': {'key': 'properties.serviceEndpoints', 'type': '[ServiceEndpointPropertiesFormat]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, + 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Subnet, self).__init__(**kwargs) + self.address_prefix = kwargs.get('address_prefix', None) + self.network_security_group = kwargs.get('network_security_group', None) + self.route_table = kwargs.get('route_table', None) + self.service_endpoints = kwargs.get('service_endpoints', None) + self.ip_configurations = None + self.resource_navigation_links = kwargs.get('resource_navigation_links', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/subnet_association.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/subnet_association.py new file mode 100644 index 000000000000..5af8d6e7c4f2 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/subnet_association.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class SubnetAssociation(Model): + """Network interface and its custom security rules. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Subnet ID. + :vartype id: str + :param security_rules: Collection of custom security rules. + :type security_rules: + list[~azure.mgmt.network.v2018_04_01.models.SecurityRule] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, + } + + def __init__(self, **kwargs): + super(SubnetAssociation, self).__init__(**kwargs) + self.id = None + self.security_rules = kwargs.get('security_rules', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/subnet_association_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/subnet_association_py3.py new file mode 100644 index 000000000000..c7dbe2cad0df --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/subnet_association_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class SubnetAssociation(Model): + """Network interface and its custom security rules. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Subnet ID. + :vartype id: str + :param security_rules: Collection of custom security rules. + :type security_rules: + list[~azure.mgmt.network.v2018_04_01.models.SecurityRule] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, + } + + def __init__(self, *, security_rules=None, **kwargs) -> None: + super(SubnetAssociation, self).__init__(**kwargs) + self.id = None + self.security_rules = security_rules diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/subnet_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/subnet_paged.py new file mode 100644 index 000000000000..edd25cf2e2ea --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/subnet_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 SubnetPaged(Paged): + """ + A paging container for iterating over a list of :class:`Subnet ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Subnet]'} + } + + def __init__(self, *args, **kwargs): + + super(SubnetPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/subnet_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/subnet_py3.py new file mode 100644 index 000000000000..e90e21181b36 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/subnet_py3.py @@ -0,0 +1,79 @@ +# 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 Subnet(SubResource): + """Subnet in a virtual network resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param address_prefix: The address prefix for the subnet. + :type address_prefix: str + :param network_security_group: The reference of the NetworkSecurityGroup + resource. + :type network_security_group: + ~azure.mgmt.network.v2018_04_01.models.NetworkSecurityGroup + :param route_table: The reference of the RouteTable resource. + :type route_table: ~azure.mgmt.network.v2018_04_01.models.RouteTable + :param service_endpoints: An array of service endpoints. + :type service_endpoints: + list[~azure.mgmt.network.v2018_04_01.models.ServiceEndpointPropertiesFormat] + :ivar ip_configurations: Gets an array of references to the network + interface IP configurations using subnet. + :vartype ip_configurations: + list[~azure.mgmt.network.v2018_04_01.models.IPConfiguration] + :param resource_navigation_links: Gets an array of references to the + external resources using subnet. + :type resource_navigation_links: + list[~azure.mgmt.network.v2018_04_01.models.ResourceNavigationLink] + :param provisioning_state: The provisioning state of the resource. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'ip_configurations': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, + 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, + 'service_endpoints': {'key': 'properties.serviceEndpoints', 'type': '[ServiceEndpointPropertiesFormat]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, + 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, address_prefix: str=None, network_security_group=None, route_table=None, service_endpoints=None, resource_navigation_links=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(Subnet, self).__init__(id=id, **kwargs) + self.address_prefix = address_prefix + self.network_security_group = network_security_group + self.route_table = route_table + self.service_endpoints = service_endpoints + self.ip_configurations = None + self.resource_navigation_links = resource_navigation_links + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/tags_object.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/tags_object.py new file mode 100644 index 000000000000..2966ec220f94 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/tags_object.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class TagsObject(Model): + """Tags object for patch operations. + + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(TagsObject, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/tags_object_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/tags_object_py3.py new file mode 100644 index 000000000000..8be0bb4a15d7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/tags_object_py3.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class TagsObject(Model): + """Tags object for patch operations. + + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(TagsObject, self).__init__(**kwargs) + self.tags = tags diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology.py new file mode 100644 index 000000000000..a31e91bb1a5e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology.py @@ -0,0 +1,51 @@ +# 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.serialization import Model + + +class Topology(Model): + """Topology of the specified resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: GUID representing the operation id. + :vartype id: str + :ivar created_date_time: The datetime when the topology was initially + created for the resource group. + :vartype created_date_time: datetime + :ivar last_modified: The datetime when the topology was last modified. + :vartype last_modified: datetime + :param resources: + :type resources: + list[~azure.mgmt.network.v2018_04_01.models.TopologyResource] + """ + + _validation = { + 'id': {'readonly': True}, + 'created_date_time': {'readonly': True}, + 'last_modified': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, + 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, + 'resources': {'key': 'resources', 'type': '[TopologyResource]'}, + } + + def __init__(self, **kwargs): + super(Topology, self).__init__(**kwargs) + self.id = None + self.created_date_time = None + self.last_modified = None + self.resources = kwargs.get('resources', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_association.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_association.py new file mode 100644 index 000000000000..dd874cd48a14 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_association.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class TopologyAssociation(Model): + """Resources that have an association with the parent resource. + + :param name: The name of the resource that is associated with the parent + resource. + :type name: str + :param resource_id: The ID of the resource that is associated with the + parent resource. + :type resource_id: str + :param association_type: The association type of the child resource to the + parent resource. Possible values include: 'Associated', 'Contains' + :type association_type: str or + ~azure.mgmt.network.v2018_04_01.models.AssociationType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'association_type': {'key': 'associationType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TopologyAssociation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.resource_id = kwargs.get('resource_id', None) + self.association_type = kwargs.get('association_type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_association_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_association_py3.py new file mode 100644 index 000000000000..c9517f0f3f2a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_association_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class TopologyAssociation(Model): + """Resources that have an association with the parent resource. + + :param name: The name of the resource that is associated with the parent + resource. + :type name: str + :param resource_id: The ID of the resource that is associated with the + parent resource. + :type resource_id: str + :param association_type: The association type of the child resource to the + parent resource. Possible values include: 'Associated', 'Contains' + :type association_type: str or + ~azure.mgmt.network.v2018_04_01.models.AssociationType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'association_type': {'key': 'associationType', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, resource_id: str=None, association_type=None, **kwargs) -> None: + super(TopologyAssociation, self).__init__(**kwargs) + self.name = name + self.resource_id = resource_id + self.association_type = association_type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_parameters.py new file mode 100644 index 000000000000..6ec08226aab1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_parameters.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class TopologyParameters(Model): + """Parameters that define the representation of topology. + + :param target_resource_group_name: The name of the target resource group + to perform topology on. + :type target_resource_group_name: str + :param target_virtual_network: The reference of the Virtual Network + resource. + :type target_virtual_network: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param target_subnet: The reference of the Subnet resource. + :type target_subnet: ~azure.mgmt.network.v2018_04_01.models.SubResource + """ + + _attribute_map = { + 'target_resource_group_name': {'key': 'targetResourceGroupName', 'type': 'str'}, + 'target_virtual_network': {'key': 'targetVirtualNetwork', 'type': 'SubResource'}, + 'target_subnet': {'key': 'targetSubnet', 'type': 'SubResource'}, + } + + def __init__(self, **kwargs): + super(TopologyParameters, self).__init__(**kwargs) + self.target_resource_group_name = kwargs.get('target_resource_group_name', None) + self.target_virtual_network = kwargs.get('target_virtual_network', None) + self.target_subnet = kwargs.get('target_subnet', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_parameters_py3.py new file mode 100644 index 000000000000..25dc2ddf5f16 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_parameters_py3.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class TopologyParameters(Model): + """Parameters that define the representation of topology. + + :param target_resource_group_name: The name of the target resource group + to perform topology on. + :type target_resource_group_name: str + :param target_virtual_network: The reference of the Virtual Network + resource. + :type target_virtual_network: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param target_subnet: The reference of the Subnet resource. + :type target_subnet: ~azure.mgmt.network.v2018_04_01.models.SubResource + """ + + _attribute_map = { + 'target_resource_group_name': {'key': 'targetResourceGroupName', 'type': 'str'}, + 'target_virtual_network': {'key': 'targetVirtualNetwork', 'type': 'SubResource'}, + 'target_subnet': {'key': 'targetSubnet', 'type': 'SubResource'}, + } + + def __init__(self, *, target_resource_group_name: str=None, target_virtual_network=None, target_subnet=None, **kwargs) -> None: + super(TopologyParameters, self).__init__(**kwargs) + self.target_resource_group_name = target_resource_group_name + self.target_virtual_network = target_virtual_network + self.target_subnet = target_subnet diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_py3.py new file mode 100644 index 000000000000..d7e6e8f24c97 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_py3.py @@ -0,0 +1,51 @@ +# 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.serialization import Model + + +class Topology(Model): + """Topology of the specified resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: GUID representing the operation id. + :vartype id: str + :ivar created_date_time: The datetime when the topology was initially + created for the resource group. + :vartype created_date_time: datetime + :ivar last_modified: The datetime when the topology was last modified. + :vartype last_modified: datetime + :param resources: + :type resources: + list[~azure.mgmt.network.v2018_04_01.models.TopologyResource] + """ + + _validation = { + 'id': {'readonly': True}, + 'created_date_time': {'readonly': True}, + 'last_modified': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, + 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, + 'resources': {'key': 'resources', 'type': '[TopologyResource]'}, + } + + def __init__(self, *, resources=None, **kwargs) -> None: + super(Topology, self).__init__(**kwargs) + self.id = None + self.created_date_time = None + self.last_modified = None + self.resources = resources diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_resource.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_resource.py new file mode 100644 index 000000000000..db724501cbe7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_resource.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class TopologyResource(Model): + """The network resource topology information for the given resource group. + + :param name: Name of the resource. + :type name: str + :param id: ID of the resource. + :type id: str + :param location: Resource location. + :type location: str + :param associations: Holds the associations the resource has with other + resources in the resource group. + :type associations: + list[~azure.mgmt.network.v2018_04_01.models.TopologyAssociation] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'associations': {'key': 'associations', 'type': '[TopologyAssociation]'}, + } + + def __init__(self, **kwargs): + super(TopologyResource, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.id = kwargs.get('id', None) + self.location = kwargs.get('location', None) + self.associations = kwargs.get('associations', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_resource_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_resource_py3.py new file mode 100644 index 000000000000..e566656b2b08 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/topology_resource_py3.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class TopologyResource(Model): + """The network resource topology information for the given resource group. + + :param name: Name of the resource. + :type name: str + :param id: ID of the resource. + :type id: str + :param location: Resource location. + :type location: str + :param associations: Holds the associations the resource has with other + resources in the resource group. + :type associations: + list[~azure.mgmt.network.v2018_04_01.models.TopologyAssociation] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'associations': {'key': 'associations', 'type': '[TopologyAssociation]'}, + } + + def __init__(self, *, name: str=None, id: str=None, location: str=None, associations=None, **kwargs) -> None: + super(TopologyResource, self).__init__(**kwargs) + self.name = name + self.id = id + self.location = location + self.associations = associations diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/traffic_analytics_configuration_properties.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/traffic_analytics_configuration_properties.py new file mode 100644 index 000000000000..07ec840d9ed3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/traffic_analytics_configuration_properties.py @@ -0,0 +1,50 @@ +# 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.serialization import Model + + +class TrafficAnalyticsConfigurationProperties(Model): + """Parameters that define the configuration of traffic analytics. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Flag to enable/disable traffic analytics. + :type enabled: bool + :param workspace_id: Required. The resource guid of the attached workspace + :type workspace_id: str + :param workspace_region: Required. The location of the attached workspace + :type workspace_region: str + :param workspace_resource_id: Required. Resource Id of the attached + workspace + :type workspace_resource_id: str + """ + + _validation = { + 'enabled': {'required': True}, + 'workspace_id': {'required': True}, + 'workspace_region': {'required': True}, + 'workspace_resource_id': {'required': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'workspace_id': {'key': 'workspaceId', 'type': 'str'}, + 'workspace_region': {'key': 'workspaceRegion', 'type': 'str'}, + 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TrafficAnalyticsConfigurationProperties, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.workspace_id = kwargs.get('workspace_id', None) + self.workspace_region = kwargs.get('workspace_region', None) + self.workspace_resource_id = kwargs.get('workspace_resource_id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/traffic_analytics_configuration_properties_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/traffic_analytics_configuration_properties_py3.py new file mode 100644 index 000000000000..bbc5ad2372c3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/traffic_analytics_configuration_properties_py3.py @@ -0,0 +1,50 @@ +# 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.serialization import Model + + +class TrafficAnalyticsConfigurationProperties(Model): + """Parameters that define the configuration of traffic analytics. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Flag to enable/disable traffic analytics. + :type enabled: bool + :param workspace_id: Required. The resource guid of the attached workspace + :type workspace_id: str + :param workspace_region: Required. The location of the attached workspace + :type workspace_region: str + :param workspace_resource_id: Required. Resource Id of the attached + workspace + :type workspace_resource_id: str + """ + + _validation = { + 'enabled': {'required': True}, + 'workspace_id': {'required': True}, + 'workspace_region': {'required': True}, + 'workspace_resource_id': {'required': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'workspace_id': {'key': 'workspaceId', 'type': 'str'}, + 'workspace_region': {'key': 'workspaceRegion', 'type': 'str'}, + 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, + } + + def __init__(self, *, enabled: bool, workspace_id: str, workspace_region: str, workspace_resource_id: str, **kwargs) -> None: + super(TrafficAnalyticsConfigurationProperties, self).__init__(**kwargs) + self.enabled = enabled + self.workspace_id = workspace_id + self.workspace_region = workspace_region + self.workspace_resource_id = workspace_resource_id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/traffic_analytics_properties.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/traffic_analytics_properties.py new file mode 100644 index 000000000000..4ea3c91bac29 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/traffic_analytics_properties.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class TrafficAnalyticsProperties(Model): + """Parameters that define the configuration of traffic analytics. + + All required parameters must be populated in order to send to Azure. + + :param network_watcher_flow_analytics_configuration: Required. + :type network_watcher_flow_analytics_configuration: + ~azure.mgmt.network.v2018_04_01.models.TrafficAnalyticsConfigurationProperties + """ + + _validation = { + 'network_watcher_flow_analytics_configuration': {'required': True}, + } + + _attribute_map = { + 'network_watcher_flow_analytics_configuration': {'key': 'networkWatcherFlowAnalyticsConfiguration', 'type': 'TrafficAnalyticsConfigurationProperties'}, + } + + def __init__(self, **kwargs): + super(TrafficAnalyticsProperties, self).__init__(**kwargs) + self.network_watcher_flow_analytics_configuration = kwargs.get('network_watcher_flow_analytics_configuration', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/traffic_analytics_properties_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/traffic_analytics_properties_py3.py new file mode 100644 index 000000000000..fabba98c67b2 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/traffic_analytics_properties_py3.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class TrafficAnalyticsProperties(Model): + """Parameters that define the configuration of traffic analytics. + + All required parameters must be populated in order to send to Azure. + + :param network_watcher_flow_analytics_configuration: Required. + :type network_watcher_flow_analytics_configuration: + ~azure.mgmt.network.v2018_04_01.models.TrafficAnalyticsConfigurationProperties + """ + + _validation = { + 'network_watcher_flow_analytics_configuration': {'required': True}, + } + + _attribute_map = { + 'network_watcher_flow_analytics_configuration': {'key': 'networkWatcherFlowAnalyticsConfiguration', 'type': 'TrafficAnalyticsConfigurationProperties'}, + } + + def __init__(self, *, network_watcher_flow_analytics_configuration, **kwargs) -> None: + super(TrafficAnalyticsProperties, self).__init__(**kwargs) + self.network_watcher_flow_analytics_configuration = network_watcher_flow_analytics_configuration diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_details.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_details.py new file mode 100644 index 000000000000..57fa4e2ffdcc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_details.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class TroubleshootingDetails(Model): + """Information gained from troubleshooting of specified resource. + + :param id: The id of the get troubleshoot operation. + :type id: str + :param reason_type: Reason type of failure. + :type reason_type: str + :param summary: A summary of troubleshooting. + :type summary: str + :param detail: Details on troubleshooting results. + :type detail: str + :param recommended_actions: List of recommended actions. + :type recommended_actions: + list[~azure.mgmt.network.v2018_04_01.models.TroubleshootingRecommendedActions] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'reason_type': {'key': 'reasonType', 'type': 'str'}, + 'summary': {'key': 'summary', 'type': 'str'}, + 'detail': {'key': 'detail', 'type': 'str'}, + 'recommended_actions': {'key': 'recommendedActions', 'type': '[TroubleshootingRecommendedActions]'}, + } + + def __init__(self, **kwargs): + super(TroubleshootingDetails, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.reason_type = kwargs.get('reason_type', None) + self.summary = kwargs.get('summary', None) + self.detail = kwargs.get('detail', None) + self.recommended_actions = kwargs.get('recommended_actions', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_details_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_details_py3.py new file mode 100644 index 000000000000..1147005ae822 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_details_py3.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class TroubleshootingDetails(Model): + """Information gained from troubleshooting of specified resource. + + :param id: The id of the get troubleshoot operation. + :type id: str + :param reason_type: Reason type of failure. + :type reason_type: str + :param summary: A summary of troubleshooting. + :type summary: str + :param detail: Details on troubleshooting results. + :type detail: str + :param recommended_actions: List of recommended actions. + :type recommended_actions: + list[~azure.mgmt.network.v2018_04_01.models.TroubleshootingRecommendedActions] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'reason_type': {'key': 'reasonType', 'type': 'str'}, + 'summary': {'key': 'summary', 'type': 'str'}, + 'detail': {'key': 'detail', 'type': 'str'}, + 'recommended_actions': {'key': 'recommendedActions', 'type': '[TroubleshootingRecommendedActions]'}, + } + + def __init__(self, *, id: str=None, reason_type: str=None, summary: str=None, detail: str=None, recommended_actions=None, **kwargs) -> None: + super(TroubleshootingDetails, self).__init__(**kwargs) + self.id = id + self.reason_type = reason_type + self.summary = summary + self.detail = detail + self.recommended_actions = recommended_actions diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_parameters.py new file mode 100644 index 000000000000..6b11d3eb5ffc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_parameters.py @@ -0,0 +1,46 @@ +# 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.serialization import Model + + +class TroubleshootingParameters(Model): + """Parameters that define the resource to troubleshoot. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource to troubleshoot. + :type target_resource_id: str + :param storage_id: Required. The ID for the storage account to save the + troubleshoot result. + :type storage_id: str + :param storage_path: Required. The path to the blob to save the + troubleshoot result in. + :type storage_path: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'storage_id': {'required': True}, + 'storage_path': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, + 'storage_path': {'key': 'properties.storagePath', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TroubleshootingParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + self.storage_id = kwargs.get('storage_id', None) + self.storage_path = kwargs.get('storage_path', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_parameters_py3.py new file mode 100644 index 000000000000..e010b7bdc9de --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_parameters_py3.py @@ -0,0 +1,46 @@ +# 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.serialization import Model + + +class TroubleshootingParameters(Model): + """Parameters that define the resource to troubleshoot. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource to troubleshoot. + :type target_resource_id: str + :param storage_id: Required. The ID for the storage account to save the + troubleshoot result. + :type storage_id: str + :param storage_path: Required. The path to the blob to save the + troubleshoot result in. + :type storage_path: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'storage_id': {'required': True}, + 'storage_path': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, + 'storage_path': {'key': 'properties.storagePath', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, storage_id: str, storage_path: str, **kwargs) -> None: + super(TroubleshootingParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + self.storage_id = storage_id + self.storage_path = storage_path diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_recommended_actions.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_recommended_actions.py new file mode 100644 index 000000000000..be395be4ad54 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_recommended_actions.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class TroubleshootingRecommendedActions(Model): + """Recommended actions based on discovered issues. + + :param action_id: ID of the recommended action. + :type action_id: str + :param action_text: Description of recommended actions. + :type action_text: str + :param action_uri: The uri linking to a documentation for the recommended + troubleshooting actions. + :type action_uri: str + :param action_uri_text: The information from the URI for the recommended + troubleshooting actions. + :type action_uri_text: str + """ + + _attribute_map = { + 'action_id': {'key': 'actionId', 'type': 'str'}, + 'action_text': {'key': 'actionText', 'type': 'str'}, + 'action_uri': {'key': 'actionUri', 'type': 'str'}, + 'action_uri_text': {'key': 'actionUriText', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TroubleshootingRecommendedActions, self).__init__(**kwargs) + self.action_id = kwargs.get('action_id', None) + self.action_text = kwargs.get('action_text', None) + self.action_uri = kwargs.get('action_uri', None) + self.action_uri_text = kwargs.get('action_uri_text', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_recommended_actions_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_recommended_actions_py3.py new file mode 100644 index 000000000000..05c3f654353b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_recommended_actions_py3.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class TroubleshootingRecommendedActions(Model): + """Recommended actions based on discovered issues. + + :param action_id: ID of the recommended action. + :type action_id: str + :param action_text: Description of recommended actions. + :type action_text: str + :param action_uri: The uri linking to a documentation for the recommended + troubleshooting actions. + :type action_uri: str + :param action_uri_text: The information from the URI for the recommended + troubleshooting actions. + :type action_uri_text: str + """ + + _attribute_map = { + 'action_id': {'key': 'actionId', 'type': 'str'}, + 'action_text': {'key': 'actionText', 'type': 'str'}, + 'action_uri': {'key': 'actionUri', 'type': 'str'}, + 'action_uri_text': {'key': 'actionUriText', 'type': 'str'}, + } + + def __init__(self, *, action_id: str=None, action_text: str=None, action_uri: str=None, action_uri_text: str=None, **kwargs) -> None: + super(TroubleshootingRecommendedActions, self).__init__(**kwargs) + self.action_id = action_id + self.action_text = action_text + self.action_uri = action_uri + self.action_uri_text = action_uri_text diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_result.py new file mode 100644 index 000000000000..77d6f414be0d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_result.py @@ -0,0 +1,41 @@ +# 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.serialization import Model + + +class TroubleshootingResult(Model): + """Troubleshooting information gained from specified resource. + + :param start_time: The start time of the troubleshooting. + :type start_time: datetime + :param end_time: The end time of the troubleshooting. + :type end_time: datetime + :param code: The result code of the troubleshooting. + :type code: str + :param results: Information from troubleshooting. + :type results: + list[~azure.mgmt.network.v2018_04_01.models.TroubleshootingDetails] + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'code': {'key': 'code', 'type': 'str'}, + 'results': {'key': 'results', 'type': '[TroubleshootingDetails]'}, + } + + def __init__(self, **kwargs): + super(TroubleshootingResult, self).__init__(**kwargs) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.code = kwargs.get('code', None) + self.results = kwargs.get('results', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_result_py3.py new file mode 100644 index 000000000000..07111f4f4c97 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/troubleshooting_result_py3.py @@ -0,0 +1,41 @@ +# 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.serialization import Model + + +class TroubleshootingResult(Model): + """Troubleshooting information gained from specified resource. + + :param start_time: The start time of the troubleshooting. + :type start_time: datetime + :param end_time: The end time of the troubleshooting. + :type end_time: datetime + :param code: The result code of the troubleshooting. + :type code: str + :param results: Information from troubleshooting. + :type results: + list[~azure.mgmt.network.v2018_04_01.models.TroubleshootingDetails] + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'code': {'key': 'code', 'type': 'str'}, + 'results': {'key': 'results', 'type': '[TroubleshootingDetails]'}, + } + + def __init__(self, *, start_time=None, end_time=None, code: str=None, results=None, **kwargs) -> None: + super(TroubleshootingResult, self).__init__(**kwargs) + self.start_time = start_time + self.end_time = end_time + self.code = code + self.results = results diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/tunnel_connection_health.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/tunnel_connection_health.py new file mode 100644 index 000000000000..703b436423b6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/tunnel_connection_health.py @@ -0,0 +1,61 @@ +# 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.serialization import Model + + +class TunnelConnectionHealth(Model): + """VirtualNetworkGatewayConnection properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar tunnel: Tunnel name. + :vartype tunnel: str + :ivar connection_status: Virtual network Gateway connection status. + Possible values include: 'Unknown', 'Connecting', 'Connected', + 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnectionStatus + :ivar ingress_bytes_transferred: The Ingress Bytes Transferred in this + connection + :vartype ingress_bytes_transferred: long + :ivar egress_bytes_transferred: The Egress Bytes Transferred in this + connection + :vartype egress_bytes_transferred: long + :ivar last_connection_established_utc_time: The time at which connection + was established in Utc format. + :vartype last_connection_established_utc_time: str + """ + + _validation = { + 'tunnel': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'last_connection_established_utc_time': {'readonly': True}, + } + + _attribute_map = { + 'tunnel': {'key': 'tunnel', 'type': 'str'}, + 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, + 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, + 'last_connection_established_utc_time': {'key': 'lastConnectionEstablishedUtcTime', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TunnelConnectionHealth, self).__init__(**kwargs) + self.tunnel = None + self.connection_status = None + self.ingress_bytes_transferred = None + self.egress_bytes_transferred = None + self.last_connection_established_utc_time = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/tunnel_connection_health_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/tunnel_connection_health_py3.py new file mode 100644 index 000000000000..099bb7ad7bd6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/tunnel_connection_health_py3.py @@ -0,0 +1,61 @@ +# 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.serialization import Model + + +class TunnelConnectionHealth(Model): + """VirtualNetworkGatewayConnection properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar tunnel: Tunnel name. + :vartype tunnel: str + :ivar connection_status: Virtual network Gateway connection status. + Possible values include: 'Unknown', 'Connecting', 'Connected', + 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnectionStatus + :ivar ingress_bytes_transferred: The Ingress Bytes Transferred in this + connection + :vartype ingress_bytes_transferred: long + :ivar egress_bytes_transferred: The Egress Bytes Transferred in this + connection + :vartype egress_bytes_transferred: long + :ivar last_connection_established_utc_time: The time at which connection + was established in Utc format. + :vartype last_connection_established_utc_time: str + """ + + _validation = { + 'tunnel': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'last_connection_established_utc_time': {'readonly': True}, + } + + _attribute_map = { + 'tunnel': {'key': 'tunnel', 'type': 'str'}, + 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, + 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, + 'last_connection_established_utc_time': {'key': 'lastConnectionEstablishedUtcTime', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(TunnelConnectionHealth, self).__init__(**kwargs) + self.tunnel = None + self.connection_status = None + self.ingress_bytes_transferred = None + self.egress_bytes_transferred = None + self.last_connection_established_utc_time = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/usage.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/usage.py new file mode 100644 index 000000000000..c0f78ebf884a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/usage.py @@ -0,0 +1,59 @@ +# 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.serialization import Model + + +class Usage(Model): + """Describes network resource usage. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource identifier. + :vartype id: str + :ivar unit: Required. An enum describing the unit of measurement. Default + value: "Count" . + :vartype unit: str + :param current_value: Required. The current value of the usage. + :type current_value: long + :param limit: Required. The limit of usage. + :type limit: long + :param name: Required. The name of the type of usage. + :type name: ~azure.mgmt.network.v2018_04_01.models.UsageName + """ + + _validation = { + 'id': {'readonly': True}, + 'unit': {'required': True, 'constant': True}, + 'current_value': {'required': True}, + 'limit': {'required': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'current_value': {'key': 'currentValue', 'type': 'long'}, + 'limit': {'key': 'limit', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'UsageName'}, + } + + unit = "Count" + + def __init__(self, **kwargs): + super(Usage, self).__init__(**kwargs) + self.id = None + self.current_value = kwargs.get('current_value', None) + self.limit = kwargs.get('limit', None) + self.name = kwargs.get('name', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/usage_name.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/usage_name.py new file mode 100644 index 000000000000..bd1813944fdc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/usage_name.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class UsageName(Model): + """The usage names. + + :param value: A string describing the resource name. + :type value: str + :param localized_value: A localized string describing the resource name. + :type localized_value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(UsageName, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.localized_value = kwargs.get('localized_value', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/usage_name_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/usage_name_py3.py new file mode 100644 index 000000000000..4e5e3e10de15 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/usage_name_py3.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class UsageName(Model): + """The usage names. + + :param value: A string describing the resource name. + :type value: str + :param localized_value: A localized string describing the resource name. + :type localized_value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, *, value: str=None, localized_value: str=None, **kwargs) -> None: + super(UsageName, self).__init__(**kwargs) + self.value = value + self.localized_value = localized_value diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/usage_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/usage_paged.py new file mode 100644 index 000000000000..68b6f0af2ddf --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/usage_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 UsagePaged(Paged): + """ + A paging container for iterating over a list of :class:`Usage ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Usage]'} + } + + def __init__(self, *args, **kwargs): + + super(UsagePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/usage_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/usage_py3.py new file mode 100644 index 000000000000..c1724080765c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/usage_py3.py @@ -0,0 +1,59 @@ +# 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.serialization import Model + + +class Usage(Model): + """Describes network resource usage. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource identifier. + :vartype id: str + :ivar unit: Required. An enum describing the unit of measurement. Default + value: "Count" . + :vartype unit: str + :param current_value: Required. The current value of the usage. + :type current_value: long + :param limit: Required. The limit of usage. + :type limit: long + :param name: Required. The name of the type of usage. + :type name: ~azure.mgmt.network.v2018_04_01.models.UsageName + """ + + _validation = { + 'id': {'readonly': True}, + 'unit': {'required': True, 'constant': True}, + 'current_value': {'required': True}, + 'limit': {'required': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'current_value': {'key': 'currentValue', 'type': 'long'}, + 'limit': {'key': 'limit', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'UsageName'}, + } + + unit = "Count" + + def __init__(self, *, current_value: int, limit: int, name, **kwargs) -> None: + super(Usage, self).__init__(**kwargs) + self.id = None + self.current_value = current_value + self.limit = limit + self.name = name diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/verification_ip_flow_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/verification_ip_flow_parameters.py new file mode 100644 index 000000000000..87c8156d20bf --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/verification_ip_flow_parameters.py @@ -0,0 +1,80 @@ +# 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.serialization import Model + + +class VerificationIPFlowParameters(Model): + """Parameters that define the IP flow to be verified. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The ID of the target resource to + perform next-hop on. + :type target_resource_id: str + :param direction: Required. The direction of the packet represented as a + 5-tuple. Possible values include: 'Inbound', 'Outbound' + :type direction: str or ~azure.mgmt.network.v2018_04_01.models.Direction + :param protocol: Required. Protocol to be verified on. Possible values + include: 'TCP', 'UDP' + :type protocol: str or + ~azure.mgmt.network.v2018_04_01.models.IpFlowProtocol + :param local_port: Required. The local port. Acceptable values are a + single integer in the range (0-65535). Support for * for the source port, + which depends on the direction. + :type local_port: str + :param remote_port: Required. The remote port. Acceptable values are a + single integer in the range (0-65535). Support for * for the source port, + which depends on the direction. + :type remote_port: str + :param local_ip_address: Required. The local IP address. Acceptable values + are valid IPv4 addresses. + :type local_ip_address: str + :param remote_ip_address: Required. The remote IP address. Acceptable + values are valid IPv4 addresses. + :type remote_ip_address: str + :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP + forwarding is enabled on any of them, then this parameter must be + specified. Otherwise optional). + :type target_nic_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'direction': {'required': True}, + 'protocol': {'required': True}, + 'local_port': {'required': True}, + 'remote_port': {'required': True}, + 'local_ip_address': {'required': True}, + 'remote_ip_address': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'direction': {'key': 'direction', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'local_port': {'key': 'localPort', 'type': 'str'}, + 'remote_port': {'key': 'remotePort', 'type': 'str'}, + 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, + 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, + 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VerificationIPFlowParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + self.direction = kwargs.get('direction', None) + self.protocol = kwargs.get('protocol', None) + self.local_port = kwargs.get('local_port', None) + self.remote_port = kwargs.get('remote_port', None) + self.local_ip_address = kwargs.get('local_ip_address', None) + self.remote_ip_address = kwargs.get('remote_ip_address', None) + self.target_nic_resource_id = kwargs.get('target_nic_resource_id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/verification_ip_flow_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/verification_ip_flow_parameters_py3.py new file mode 100644 index 000000000000..860d565d696e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/verification_ip_flow_parameters_py3.py @@ -0,0 +1,80 @@ +# 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.serialization import Model + + +class VerificationIPFlowParameters(Model): + """Parameters that define the IP flow to be verified. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The ID of the target resource to + perform next-hop on. + :type target_resource_id: str + :param direction: Required. The direction of the packet represented as a + 5-tuple. Possible values include: 'Inbound', 'Outbound' + :type direction: str or ~azure.mgmt.network.v2018_04_01.models.Direction + :param protocol: Required. Protocol to be verified on. Possible values + include: 'TCP', 'UDP' + :type protocol: str or + ~azure.mgmt.network.v2018_04_01.models.IpFlowProtocol + :param local_port: Required. The local port. Acceptable values are a + single integer in the range (0-65535). Support for * for the source port, + which depends on the direction. + :type local_port: str + :param remote_port: Required. The remote port. Acceptable values are a + single integer in the range (0-65535). Support for * for the source port, + which depends on the direction. + :type remote_port: str + :param local_ip_address: Required. The local IP address. Acceptable values + are valid IPv4 addresses. + :type local_ip_address: str + :param remote_ip_address: Required. The remote IP address. Acceptable + values are valid IPv4 addresses. + :type remote_ip_address: str + :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP + forwarding is enabled on any of them, then this parameter must be + specified. Otherwise optional). + :type target_nic_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'direction': {'required': True}, + 'protocol': {'required': True}, + 'local_port': {'required': True}, + 'remote_port': {'required': True}, + 'local_ip_address': {'required': True}, + 'remote_ip_address': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'direction': {'key': 'direction', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'local_port': {'key': 'localPort', 'type': 'str'}, + 'remote_port': {'key': 'remotePort', 'type': 'str'}, + 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, + 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, + 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, direction, protocol, local_port: str, remote_port: str, local_ip_address: str, remote_ip_address: str, target_nic_resource_id: str=None, **kwargs) -> None: + super(VerificationIPFlowParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + self.direction = direction + self.protocol = protocol + self.local_port = local_port + self.remote_port = remote_port + self.local_ip_address = local_ip_address + self.remote_ip_address = remote_ip_address + self.target_nic_resource_id = target_nic_resource_id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/verification_ip_flow_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/verification_ip_flow_result.py new file mode 100644 index 000000000000..6072241e799f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/verification_ip_flow_result.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class VerificationIPFlowResult(Model): + """Results of IP flow verification on the target resource. + + :param access: Indicates whether the traffic is allowed or denied. + Possible values include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2018_04_01.models.Access + :param rule_name: Name of the rule. If input is not matched against any + security rule, it is not displayed. + :type rule_name: str + """ + + _attribute_map = { + 'access': {'key': 'access', 'type': 'str'}, + 'rule_name': {'key': 'ruleName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VerificationIPFlowResult, self).__init__(**kwargs) + self.access = kwargs.get('access', None) + self.rule_name = kwargs.get('rule_name', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/verification_ip_flow_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/verification_ip_flow_result_py3.py new file mode 100644 index 000000000000..67c8e5e4680f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/verification_ip_flow_result_py3.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class VerificationIPFlowResult(Model): + """Results of IP flow verification on the target resource. + + :param access: Indicates whether the traffic is allowed or denied. + Possible values include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2018_04_01.models.Access + :param rule_name: Name of the rule. If input is not matched against any + security rule, it is not displayed. + :type rule_name: str + """ + + _attribute_map = { + 'access': {'key': 'access', 'type': 'str'}, + 'rule_name': {'key': 'ruleName', 'type': 'str'}, + } + + def __init__(self, *, access=None, rule_name: str=None, **kwargs) -> None: + super(VerificationIPFlowResult, self).__init__(**kwargs) + self.access = access + self.rule_name = rule_name diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_hub.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_hub.py new file mode 100644 index 000000000000..441226c1a119 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_hub.py @@ -0,0 +1,73 @@ +# 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 .resource import Resource + + +class VirtualHub(Resource): + """VirtualHub Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_wan: The VirtualWAN to which the VirtualHub belongs + :type virtual_wan: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param hub_virtual_network_connections: list of all vnet connections with + this VirtualHub. + :type hub_virtual_network_connections: + list[~azure.mgmt.network.v2018_04_01.models.HubVirtualNetworkConnection] + :param address_prefix: Address-prefix for this VirtualHub. + :type address_prefix: str + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, + 'hub_virtual_network_connections': {'key': 'properties.hubVirtualNetworkConnections', 'type': '[HubVirtualNetworkConnection]'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualHub, self).__init__(**kwargs) + self.virtual_wan = kwargs.get('virtual_wan', None) + self.hub_virtual_network_connections = kwargs.get('hub_virtual_network_connections', None) + self.address_prefix = kwargs.get('address_prefix', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_hub_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_hub_paged.py new file mode 100644 index 000000000000..fe9711f400a6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_hub_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 VirtualHubPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualHub ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualHub]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualHubPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_hub_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_hub_py3.py new file mode 100644 index 000000000000..c5c6dd09c5ce --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_hub_py3.py @@ -0,0 +1,73 @@ +# 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 .resource_py3 import Resource + + +class VirtualHub(Resource): + """VirtualHub Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_wan: The VirtualWAN to which the VirtualHub belongs + :type virtual_wan: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param hub_virtual_network_connections: list of all vnet connections with + this VirtualHub. + :type hub_virtual_network_connections: + list[~azure.mgmt.network.v2018_04_01.models.HubVirtualNetworkConnection] + :param address_prefix: Address-prefix for this VirtualHub. + :type address_prefix: str + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, + 'hub_virtual_network_connections': {'key': 'properties.hubVirtualNetworkConnections', 'type': '[HubVirtualNetworkConnection]'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_wan=None, hub_virtual_network_connections=None, address_prefix: str=None, provisioning_state=None, **kwargs) -> None: + super(VirtualHub, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.virtual_wan = virtual_wan + self.hub_virtual_network_connections = hub_virtual_network_connections + self.address_prefix = address_prefix + self.provisioning_state = provisioning_state + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network.py new file mode 100644 index 000000000000..974b3b270fca --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network.py @@ -0,0 +1,98 @@ +# 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 .resource import Resource + + +class VirtualNetwork(Resource): + """Virtual Network resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param address_space: The AddressSpace that contains an array of IP + address ranges that can be used by subnets. + :type address_space: ~azure.mgmt.network.v2018_04_01.models.AddressSpace + :param dhcp_options: The dhcpOptions that contains an array of DNS servers + available to VMs deployed in the virtual network. + :type dhcp_options: ~azure.mgmt.network.v2018_04_01.models.DhcpOptions + :param subnets: A list of subnets in a Virtual Network. + :type subnets: list[~azure.mgmt.network.v2018_04_01.models.Subnet] + :param virtual_network_peerings: A list of peerings in a Virtual Network. + :type virtual_network_peerings: + list[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkPeering] + :param resource_guid: The resourceGuid property of the Virtual Network + resource. + :type resource_guid: str + :param provisioning_state: The provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param enable_ddos_protection: Indicates if DDoS protection is enabled for + all the protected resources in the virtual network. It requires a DDoS + protection plan associated with the resource. Default value: False . + :type enable_ddos_protection: bool + :param enable_vm_protection: Indicates if VM protection is enabled for all + the subnets in the virtual network. Default value: False . + :type enable_vm_protection: bool + :param ddos_protection_plan: The DDoS protection plan associated with the + virtual network. + :type ddos_protection_plan: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, + 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'virtual_network_peerings': {'key': 'properties.virtualNetworkPeerings', 'type': '[VirtualNetworkPeering]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'enable_ddos_protection': {'key': 'properties.enableDdosProtection', 'type': 'bool'}, + 'enable_vm_protection': {'key': 'properties.enableVmProtection', 'type': 'bool'}, + 'ddos_protection_plan': {'key': 'properties.ddosProtectionPlan', 'type': 'SubResource'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetwork, self).__init__(**kwargs) + self.address_space = kwargs.get('address_space', None) + self.dhcp_options = kwargs.get('dhcp_options', None) + self.subnets = kwargs.get('subnets', None) + self.virtual_network_peerings = kwargs.get('virtual_network_peerings', None) + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.enable_ddos_protection = kwargs.get('enable_ddos_protection', False) + self.enable_vm_protection = kwargs.get('enable_vm_protection', False) + self.ddos_protection_plan = kwargs.get('ddos_protection_plan', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_connection_gateway_reference.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_connection_gateway_reference.py new file mode 100644 index 000000000000..aa10101778f6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_connection_gateway_reference.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class VirtualNetworkConnectionGatewayReference(Model): + """A reference to VirtualNetworkGateway or LocalNetworkGateway resource. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. The ID of VirtualNetworkGateway or + LocalNetworkGateway resource. + :type id: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkConnectionGatewayReference, self).__init__(**kwargs) + self.id = kwargs.get('id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_connection_gateway_reference_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_connection_gateway_reference_py3.py new file mode 100644 index 000000000000..b2d9734baf3c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_connection_gateway_reference_py3.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class VirtualNetworkConnectionGatewayReference(Model): + """A reference to VirtualNetworkGateway or LocalNetworkGateway resource. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. The ID of VirtualNetworkGateway or + LocalNetworkGateway resource. + :type id: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str, **kwargs) -> None: + super(VirtualNetworkConnectionGatewayReference, self).__init__(**kwargs) + self.id = id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway.py new file mode 100644 index 000000000000..a47ea748a2e8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway.py @@ -0,0 +1,114 @@ +# 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 .resource import Resource + + +class VirtualNetworkGateway(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param ip_configurations: IP configurations for virtual network gateway. + :type ip_configurations: + list[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayIPConfiguration] + :param gateway_type: The type of this virtual network gateway. Possible + values are: 'Vpn' and 'ExpressRoute'. Possible values include: 'Vpn', + 'ExpressRoute' + :type gateway_type: str or + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayType + :param vpn_type: The type of this virtual network gateway. Possible values + are: 'PolicyBased' and 'RouteBased'. Possible values include: + 'PolicyBased', 'RouteBased' + :type vpn_type: str or ~azure.mgmt.network.v2018_04_01.models.VpnType + :param enable_bgp: Whether BGP is enabled for this virtual network gateway + or not. + :type enable_bgp: bool + :param active_active: ActiveActive flag + :type active_active: bool + :param gateway_default_site: The reference of the LocalNetworkGateway + resource which represents local network site having default routes. Assign + Null value in case of removing existing default site setting. + :type gateway_default_site: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param sku: The reference of the VirtualNetworkGatewaySku resource which + represents the SKU selected for Virtual network gateway. + :type sku: ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewaySku + :param vpn_client_configuration: The reference of the + VpnClientConfiguration resource which represents the P2S VpnClient + configurations. + :type vpn_client_configuration: + ~azure.mgmt.network.v2018_04_01.models.VpnClientConfiguration + :param bgp_settings: Virtual network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2018_04_01.models.BgpSettings + :param resource_guid: The resource GUID property of the + VirtualNetworkGateway resource. + :type resource_guid: str + :ivar provisioning_state: The provisioning state of the + VirtualNetworkGateway resource. Possible values are: 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, + 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, + 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'active_active': {'key': 'properties.activeActive', 'type': 'bool'}, + 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, + 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, + 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkGateway, self).__init__(**kwargs) + self.ip_configurations = kwargs.get('ip_configurations', None) + self.gateway_type = kwargs.get('gateway_type', None) + self.vpn_type = kwargs.get('vpn_type', None) + self.enable_bgp = kwargs.get('enable_bgp', None) + self.active_active = kwargs.get('active_active', None) + self.gateway_default_site = kwargs.get('gateway_default_site', None) + self.sku = kwargs.get('sku', None) + self.vpn_client_configuration = kwargs.get('vpn_client_configuration', None) + self.bgp_settings = kwargs.get('bgp_settings', None) + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = None + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_connection.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_connection.py new file mode 100644 index 000000000000..3f384a76af49 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_connection.py @@ -0,0 +1,152 @@ +# 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 .resource import Resource + + +class VirtualNetworkGatewayConnection(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param authorization_key: The authorizationKey. + :type authorization_key: str + :param virtual_network_gateway1: Required. The reference to virtual + network gateway resource. + :type virtual_network_gateway1: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGateway + :param virtual_network_gateway2: The reference to virtual network gateway + resource. + :type virtual_network_gateway2: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGateway + :param local_network_gateway2: The reference to local network gateway + resource. + :type local_network_gateway2: + ~azure.mgmt.network.v2018_04_01.models.LocalNetworkGateway + :param connection_type: Required. Gateway connection type. Possible values + are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values + include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + :type connection_type: str or + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnectionType + :param routing_weight: The routing weight. + :type routing_weight: int + :param shared_key: The IPSec shared key. + :type shared_key: str + :ivar connection_status: Virtual network Gateway connection status. + Possible values are 'Unknown', 'Connecting', 'Connected' and + 'NotConnected'. Possible values include: 'Unknown', 'Connecting', + 'Connected', 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnectionStatus + :ivar tunnel_connection_status: Collection of all tunnels' connection + health status. + :vartype tunnel_connection_status: + list[~azure.mgmt.network.v2018_04_01.models.TunnelConnectionHealth] + :ivar egress_bytes_transferred: The egress bytes transferred in this + connection. + :vartype egress_bytes_transferred: long + :ivar ingress_bytes_transferred: The ingress bytes transferred in this + connection. + :vartype ingress_bytes_transferred: long + :param peer: The reference to peerings resource. + :type peer: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param enable_bgp: EnableBgp flag + :type enable_bgp: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2018_04_01.models.IpsecPolicy] + :param resource_guid: The resource GUID property of the + VirtualNetworkGatewayConnection resource. + :type resource_guid: str + :ivar provisioning_state: The provisioning state of the + VirtualNetworkGatewayConnection resource. Possible values are: 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_gateway1': {'required': True}, + 'connection_type': {'required': True}, + 'connection_status': {'readonly': True}, + 'tunnel_connection_status': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, + 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, + 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, + 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkGatewayConnection, self).__init__(**kwargs) + self.authorization_key = kwargs.get('authorization_key', None) + self.virtual_network_gateway1 = kwargs.get('virtual_network_gateway1', None) + self.virtual_network_gateway2 = kwargs.get('virtual_network_gateway2', None) + self.local_network_gateway2 = kwargs.get('local_network_gateway2', None) + self.connection_type = kwargs.get('connection_type', None) + self.routing_weight = kwargs.get('routing_weight', None) + self.shared_key = kwargs.get('shared_key', None) + self.connection_status = None + self.tunnel_connection_status = None + self.egress_bytes_transferred = None + self.ingress_bytes_transferred = None + self.peer = kwargs.get('peer', None) + self.enable_bgp = kwargs.get('enable_bgp', None) + self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) + self.ipsec_policies = kwargs.get('ipsec_policies', None) + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = None + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_connection_list_entity.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_connection_list_entity.py new file mode 100644 index 000000000000..f1071845c796 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_connection_list_entity.py @@ -0,0 +1,152 @@ +# 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 .resource import Resource + + +class VirtualNetworkGatewayConnectionListEntity(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param authorization_key: The authorizationKey. + :type authorization_key: str + :param virtual_network_gateway1: Required. The reference to virtual + network gateway resource. + :type virtual_network_gateway1: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkConnectionGatewayReference + :param virtual_network_gateway2: The reference to virtual network gateway + resource. + :type virtual_network_gateway2: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkConnectionGatewayReference + :param local_network_gateway2: The reference to local network gateway + resource. + :type local_network_gateway2: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkConnectionGatewayReference + :param connection_type: Required. Gateway connection type. Possible values + are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values + include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + :type connection_type: str or + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnectionType + :param routing_weight: The routing weight. + :type routing_weight: int + :param shared_key: The IPSec shared key. + :type shared_key: str + :ivar connection_status: Virtual network Gateway connection status. + Possible values are 'Unknown', 'Connecting', 'Connected' and + 'NotConnected'. Possible values include: 'Unknown', 'Connecting', + 'Connected', 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnectionStatus + :ivar tunnel_connection_status: Collection of all tunnels' connection + health status. + :vartype tunnel_connection_status: + list[~azure.mgmt.network.v2018_04_01.models.TunnelConnectionHealth] + :ivar egress_bytes_transferred: The egress bytes transferred in this + connection. + :vartype egress_bytes_transferred: long + :ivar ingress_bytes_transferred: The ingress bytes transferred in this + connection. + :vartype ingress_bytes_transferred: long + :param peer: The reference to peerings resource. + :type peer: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param enable_bgp: EnableBgp flag + :type enable_bgp: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2018_04_01.models.IpsecPolicy] + :param resource_guid: The resource GUID property of the + VirtualNetworkGatewayConnection resource. + :type resource_guid: str + :ivar provisioning_state: The provisioning state of the + VirtualNetworkGatewayConnection resource. Possible values are: 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_gateway1': {'required': True}, + 'connection_type': {'required': True}, + 'connection_status': {'readonly': True}, + 'tunnel_connection_status': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkGatewayConnectionListEntity, self).__init__(**kwargs) + self.authorization_key = kwargs.get('authorization_key', None) + self.virtual_network_gateway1 = kwargs.get('virtual_network_gateway1', None) + self.virtual_network_gateway2 = kwargs.get('virtual_network_gateway2', None) + self.local_network_gateway2 = kwargs.get('local_network_gateway2', None) + self.connection_type = kwargs.get('connection_type', None) + self.routing_weight = kwargs.get('routing_weight', None) + self.shared_key = kwargs.get('shared_key', None) + self.connection_status = None + self.tunnel_connection_status = None + self.egress_bytes_transferred = None + self.ingress_bytes_transferred = None + self.peer = kwargs.get('peer', None) + self.enable_bgp = kwargs.get('enable_bgp', None) + self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) + self.ipsec_policies = kwargs.get('ipsec_policies', None) + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = None + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_connection_list_entity_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_connection_list_entity_paged.py new file mode 100644 index 000000000000..812431fa0181 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_connection_list_entity_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 VirtualNetworkGatewayConnectionListEntityPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkGatewayConnectionListEntity ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkGatewayConnectionListEntity]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkGatewayConnectionListEntityPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_connection_list_entity_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_connection_list_entity_py3.py new file mode 100644 index 000000000000..2eaed9af40e5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_connection_list_entity_py3.py @@ -0,0 +1,152 @@ +# 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 .resource_py3 import Resource + + +class VirtualNetworkGatewayConnectionListEntity(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param authorization_key: The authorizationKey. + :type authorization_key: str + :param virtual_network_gateway1: Required. The reference to virtual + network gateway resource. + :type virtual_network_gateway1: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkConnectionGatewayReference + :param virtual_network_gateway2: The reference to virtual network gateway + resource. + :type virtual_network_gateway2: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkConnectionGatewayReference + :param local_network_gateway2: The reference to local network gateway + resource. + :type local_network_gateway2: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkConnectionGatewayReference + :param connection_type: Required. Gateway connection type. Possible values + are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values + include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + :type connection_type: str or + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnectionType + :param routing_weight: The routing weight. + :type routing_weight: int + :param shared_key: The IPSec shared key. + :type shared_key: str + :ivar connection_status: Virtual network Gateway connection status. + Possible values are 'Unknown', 'Connecting', 'Connected' and + 'NotConnected'. Possible values include: 'Unknown', 'Connecting', + 'Connected', 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnectionStatus + :ivar tunnel_connection_status: Collection of all tunnels' connection + health status. + :vartype tunnel_connection_status: + list[~azure.mgmt.network.v2018_04_01.models.TunnelConnectionHealth] + :ivar egress_bytes_transferred: The egress bytes transferred in this + connection. + :vartype egress_bytes_transferred: long + :ivar ingress_bytes_transferred: The ingress bytes transferred in this + connection. + :vartype ingress_bytes_transferred: long + :param peer: The reference to peerings resource. + :type peer: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param enable_bgp: EnableBgp flag + :type enable_bgp: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2018_04_01.models.IpsecPolicy] + :param resource_guid: The resource GUID property of the + VirtualNetworkGatewayConnection resource. + :type resource_guid: str + :ivar provisioning_state: The provisioning state of the + VirtualNetworkGatewayConnection resource. Possible values are: 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_gateway1': {'required': True}, + 'connection_type': {'required': True}, + 'connection_status': {'readonly': True}, + 'tunnel_connection_status': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, virtual_network_gateway1, connection_type, id: str=None, location: str=None, tags=None, authorization_key: str=None, virtual_network_gateway2=None, local_network_gateway2=None, routing_weight: int=None, shared_key: str=None, peer=None, enable_bgp: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, resource_guid: str=None, etag: str=None, **kwargs) -> None: + super(VirtualNetworkGatewayConnectionListEntity, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.authorization_key = authorization_key + self.virtual_network_gateway1 = virtual_network_gateway1 + self.virtual_network_gateway2 = virtual_network_gateway2 + self.local_network_gateway2 = local_network_gateway2 + self.connection_type = connection_type + self.routing_weight = routing_weight + self.shared_key = shared_key + self.connection_status = None + self.tunnel_connection_status = None + self.egress_bytes_transferred = None + self.ingress_bytes_transferred = None + self.peer = peer + self.enable_bgp = enable_bgp + self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors + self.ipsec_policies = ipsec_policies + self.resource_guid = resource_guid + self.provisioning_state = None + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_connection_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_connection_paged.py new file mode 100644 index 000000000000..6ee871ba0fc5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_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 VirtualNetworkGatewayConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkGatewayConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkGatewayConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkGatewayConnectionPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_connection_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_connection_py3.py new file mode 100644 index 000000000000..1b62ae662844 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_connection_py3.py @@ -0,0 +1,152 @@ +# 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 .resource_py3 import Resource + + +class VirtualNetworkGatewayConnection(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param authorization_key: The authorizationKey. + :type authorization_key: str + :param virtual_network_gateway1: Required. The reference to virtual + network gateway resource. + :type virtual_network_gateway1: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGateway + :param virtual_network_gateway2: The reference to virtual network gateway + resource. + :type virtual_network_gateway2: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGateway + :param local_network_gateway2: The reference to local network gateway + resource. + :type local_network_gateway2: + ~azure.mgmt.network.v2018_04_01.models.LocalNetworkGateway + :param connection_type: Required. Gateway connection type. Possible values + are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values + include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + :type connection_type: str or + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnectionType + :param routing_weight: The routing weight. + :type routing_weight: int + :param shared_key: The IPSec shared key. + :type shared_key: str + :ivar connection_status: Virtual network Gateway connection status. + Possible values are 'Unknown', 'Connecting', 'Connected' and + 'NotConnected'. Possible values include: 'Unknown', 'Connecting', + 'Connected', 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnectionStatus + :ivar tunnel_connection_status: Collection of all tunnels' connection + health status. + :vartype tunnel_connection_status: + list[~azure.mgmt.network.v2018_04_01.models.TunnelConnectionHealth] + :ivar egress_bytes_transferred: The egress bytes transferred in this + connection. + :vartype egress_bytes_transferred: long + :ivar ingress_bytes_transferred: The ingress bytes transferred in this + connection. + :vartype ingress_bytes_transferred: long + :param peer: The reference to peerings resource. + :type peer: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param enable_bgp: EnableBgp flag + :type enable_bgp: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2018_04_01.models.IpsecPolicy] + :param resource_guid: The resource GUID property of the + VirtualNetworkGatewayConnection resource. + :type resource_guid: str + :ivar provisioning_state: The provisioning state of the + VirtualNetworkGatewayConnection resource. Possible values are: 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_gateway1': {'required': True}, + 'connection_type': {'required': True}, + 'connection_status': {'readonly': True}, + 'tunnel_connection_status': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, + 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, + 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, + 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, virtual_network_gateway1, connection_type, id: str=None, location: str=None, tags=None, authorization_key: str=None, virtual_network_gateway2=None, local_network_gateway2=None, routing_weight: int=None, shared_key: str=None, peer=None, enable_bgp: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, resource_guid: str=None, etag: str=None, **kwargs) -> None: + super(VirtualNetworkGatewayConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.authorization_key = authorization_key + self.virtual_network_gateway1 = virtual_network_gateway1 + self.virtual_network_gateway2 = virtual_network_gateway2 + self.local_network_gateway2 = local_network_gateway2 + self.connection_type = connection_type + self.routing_weight = routing_weight + self.shared_key = shared_key + self.connection_status = None + self.tunnel_connection_status = None + self.egress_bytes_transferred = None + self.ingress_bytes_transferred = None + self.peer = peer + self.enable_bgp = enable_bgp + self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors + self.ipsec_policies = ipsec_policies + self.resource_guid = resource_guid + self.provisioning_state = None + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_ip_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_ip_configuration.py new file mode 100644 index 000000000000..ac9b4289ea33 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_ip_configuration.py @@ -0,0 +1,65 @@ +# 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 VirtualNetworkGatewayIPConfiguration(SubResource): + """IP configuration for virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_allocation_method: The private IP allocation method. + Possible values are: 'Static' and 'Dynamic'. Possible values include: + 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2018_04_01.models.IPAllocationMethod + :param subnet: The reference of the subnet resource. + :type subnet: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param public_ip_address: The reference of the public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :ivar provisioning_state: The provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkGatewayIPConfiguration, self).__init__(**kwargs) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_ip_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_ip_configuration_py3.py new file mode 100644 index 000000000000..00eba9440683 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_ip_configuration_py3.py @@ -0,0 +1,65 @@ +# 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 VirtualNetworkGatewayIPConfiguration(SubResource): + """IP configuration for virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_allocation_method: The private IP allocation method. + Possible values are: 'Static' and 'Dynamic'. Possible values include: + 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2018_04_01.models.IPAllocationMethod + :param subnet: The reference of the subnet resource. + :type subnet: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param public_ip_address: The reference of the public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :ivar provisioning_state: The provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, name: str=None, etag: str=None, **kwargs) -> None: + super(VirtualNetworkGatewayIPConfiguration, self).__init__(id=id, **kwargs) + self.private_ip_allocation_method = private_ip_allocation_method + self.subnet = subnet + self.public_ip_address = public_ip_address + self.provisioning_state = None + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_paged.py new file mode 100644 index 000000000000..eda810369020 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_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 VirtualNetworkGatewayPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkGateway ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkGateway]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkGatewayPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_py3.py new file mode 100644 index 000000000000..37e40f764419 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_py3.py @@ -0,0 +1,114 @@ +# 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 .resource_py3 import Resource + + +class VirtualNetworkGateway(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param ip_configurations: IP configurations for virtual network gateway. + :type ip_configurations: + list[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayIPConfiguration] + :param gateway_type: The type of this virtual network gateway. Possible + values are: 'Vpn' and 'ExpressRoute'. Possible values include: 'Vpn', + 'ExpressRoute' + :type gateway_type: str or + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayType + :param vpn_type: The type of this virtual network gateway. Possible values + are: 'PolicyBased' and 'RouteBased'. Possible values include: + 'PolicyBased', 'RouteBased' + :type vpn_type: str or ~azure.mgmt.network.v2018_04_01.models.VpnType + :param enable_bgp: Whether BGP is enabled for this virtual network gateway + or not. + :type enable_bgp: bool + :param active_active: ActiveActive flag + :type active_active: bool + :param gateway_default_site: The reference of the LocalNetworkGateway + resource which represents local network site having default routes. Assign + Null value in case of removing existing default site setting. + :type gateway_default_site: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param sku: The reference of the VirtualNetworkGatewaySku resource which + represents the SKU selected for Virtual network gateway. + :type sku: ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewaySku + :param vpn_client_configuration: The reference of the + VpnClientConfiguration resource which represents the P2S VpnClient + configurations. + :type vpn_client_configuration: + ~azure.mgmt.network.v2018_04_01.models.VpnClientConfiguration + :param bgp_settings: Virtual network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2018_04_01.models.BgpSettings + :param resource_guid: The resource GUID property of the + VirtualNetworkGateway resource. + :type resource_guid: str + :ivar provisioning_state: The provisioning state of the + VirtualNetworkGateway resource. Possible values are: 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, + 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, + 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'active_active': {'key': 'properties.activeActive', 'type': 'bool'}, + 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, + 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, + 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, ip_configurations=None, gateway_type=None, vpn_type=None, enable_bgp: bool=None, active_active: bool=None, gateway_default_site=None, sku=None, vpn_client_configuration=None, bgp_settings=None, resource_guid: str=None, etag: str=None, **kwargs) -> None: + super(VirtualNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.ip_configurations = ip_configurations + self.gateway_type = gateway_type + self.vpn_type = vpn_type + self.enable_bgp = enable_bgp + self.active_active = active_active + self.gateway_default_site = gateway_default_site + self.sku = sku + self.vpn_client_configuration = vpn_client_configuration + self.bgp_settings = bgp_settings + self.resource_guid = resource_guid + self.provisioning_state = None + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_sku.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_sku.py new file mode 100644 index 000000000000..48f7fa70eb67 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_sku.py @@ -0,0 +1,44 @@ +# 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.serialization import Model + + +class VirtualNetworkGatewaySku(Model): + """VirtualNetworkGatewaySku details. + + :param name: Gateway SKU name. Possible values include: 'Basic', + 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', + 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', + 'ErGw3AZ' + :type name: str or + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewaySkuName + :param tier: Gateway SKU tier. Possible values include: 'Basic', + 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', + 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', + 'ErGw3AZ' + :type tier: str or + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewaySkuTier + :param capacity: The capacity. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkGatewaySku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.capacity = kwargs.get('capacity', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_sku_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_sku_py3.py new file mode 100644 index 000000000000..a5e532b806f9 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_gateway_sku_py3.py @@ -0,0 +1,44 @@ +# 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.serialization import Model + + +class VirtualNetworkGatewaySku(Model): + """VirtualNetworkGatewaySku details. + + :param name: Gateway SKU name. Possible values include: 'Basic', + 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', + 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', + 'ErGw3AZ' + :type name: str or + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewaySkuName + :param tier: Gateway SKU tier. Possible values include: 'Basic', + 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', + 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', + 'ErGw3AZ' + :type tier: str or + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewaySkuTier + :param capacity: The capacity. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, *, name=None, tier=None, capacity: int=None, **kwargs) -> None: + super(VirtualNetworkGatewaySku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.capacity = capacity diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_paged.py new file mode 100644 index 000000000000..df69fd389d38 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_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 VirtualNetworkPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetwork ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetwork]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_peering.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_peering.py new file mode 100644 index 000000000000..2dfee371844f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_peering.py @@ -0,0 +1,86 @@ +# 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 VirtualNetworkPeering(SubResource): + """Peerings in a virtual network resource. + + :param id: Resource ID. + :type id: str + :param allow_virtual_network_access: Whether the VMs in the linked virtual + network space would be able to access all the VMs in local Virtual network + space. + :type allow_virtual_network_access: bool + :param allow_forwarded_traffic: Whether the forwarded traffic from the VMs + in the remote virtual network will be allowed/disallowed. + :type allow_forwarded_traffic: bool + :param allow_gateway_transit: If gateway links can be used in remote + virtual networking to link to this virtual network. + :type allow_gateway_transit: bool + :param use_remote_gateways: If remote gateways can be used on this virtual + network. If the flag is set to true, and allowGatewayTransit on remote + peering is also true, virtual network will use gateways of remote virtual + network for transit. Only one peering can have this flag set to true. This + flag cannot be set if virtual network already has a gateway. + :type use_remote_gateways: bool + :param remote_virtual_network: The reference of the remote virtual + network. The remote virtual network can be in the same or different region + (preview). See here to register for the preview and learn more + (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + :type remote_virtual_network: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param remote_address_space: The reference of the remote virtual network + address space. + :type remote_address_space: + ~azure.mgmt.network.v2018_04_01.models.AddressSpace + :param peering_state: The status of the virtual network peering. Possible + values are 'Initiated', 'Connected', and 'Disconnected'. Possible values + include: 'Initiated', 'Connected', 'Disconnected' + :type peering_state: str or + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkPeeringState + :param provisioning_state: The provisioning state of the resource. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'allow_virtual_network_access': {'key': 'properties.allowVirtualNetworkAccess', 'type': 'bool'}, + 'allow_forwarded_traffic': {'key': 'properties.allowForwardedTraffic', 'type': 'bool'}, + 'allow_gateway_transit': {'key': 'properties.allowGatewayTransit', 'type': 'bool'}, + 'use_remote_gateways': {'key': 'properties.useRemoteGateways', 'type': 'bool'}, + 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, + 'remote_address_space': {'key': 'properties.remoteAddressSpace', 'type': 'AddressSpace'}, + 'peering_state': {'key': 'properties.peeringState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkPeering, self).__init__(**kwargs) + self.allow_virtual_network_access = kwargs.get('allow_virtual_network_access', None) + self.allow_forwarded_traffic = kwargs.get('allow_forwarded_traffic', None) + self.allow_gateway_transit = kwargs.get('allow_gateway_transit', None) + self.use_remote_gateways = kwargs.get('use_remote_gateways', None) + self.remote_virtual_network = kwargs.get('remote_virtual_network', None) + self.remote_address_space = kwargs.get('remote_address_space', None) + self.peering_state = kwargs.get('peering_state', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_peering_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_peering_paged.py new file mode 100644 index 000000000000..bf50805a2494 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_peering_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 VirtualNetworkPeeringPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkPeering ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkPeering]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkPeeringPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_peering_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_peering_py3.py new file mode 100644 index 000000000000..6e8f790d2e01 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_peering_py3.py @@ -0,0 +1,86 @@ +# 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 VirtualNetworkPeering(SubResource): + """Peerings in a virtual network resource. + + :param id: Resource ID. + :type id: str + :param allow_virtual_network_access: Whether the VMs in the linked virtual + network space would be able to access all the VMs in local Virtual network + space. + :type allow_virtual_network_access: bool + :param allow_forwarded_traffic: Whether the forwarded traffic from the VMs + in the remote virtual network will be allowed/disallowed. + :type allow_forwarded_traffic: bool + :param allow_gateway_transit: If gateway links can be used in remote + virtual networking to link to this virtual network. + :type allow_gateway_transit: bool + :param use_remote_gateways: If remote gateways can be used on this virtual + network. If the flag is set to true, and allowGatewayTransit on remote + peering is also true, virtual network will use gateways of remote virtual + network for transit. Only one peering can have this flag set to true. This + flag cannot be set if virtual network already has a gateway. + :type use_remote_gateways: bool + :param remote_virtual_network: The reference of the remote virtual + network. The remote virtual network can be in the same or different region + (preview). See here to register for the preview and learn more + (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + :type remote_virtual_network: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param remote_address_space: The reference of the remote virtual network + address space. + :type remote_address_space: + ~azure.mgmt.network.v2018_04_01.models.AddressSpace + :param peering_state: The status of the virtual network peering. Possible + values are 'Initiated', 'Connected', and 'Disconnected'. Possible values + include: 'Initiated', 'Connected', 'Disconnected' + :type peering_state: str or + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkPeeringState + :param provisioning_state: The provisioning state of the resource. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'allow_virtual_network_access': {'key': 'properties.allowVirtualNetworkAccess', 'type': 'bool'}, + 'allow_forwarded_traffic': {'key': 'properties.allowForwardedTraffic', 'type': 'bool'}, + 'allow_gateway_transit': {'key': 'properties.allowGatewayTransit', 'type': 'bool'}, + 'use_remote_gateways': {'key': 'properties.useRemoteGateways', 'type': 'bool'}, + 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, + 'remote_address_space': {'key': 'properties.remoteAddressSpace', 'type': 'AddressSpace'}, + 'peering_state': {'key': 'properties.peeringState', '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, allow_virtual_network_access: bool=None, allow_forwarded_traffic: bool=None, allow_gateway_transit: bool=None, use_remote_gateways: bool=None, remote_virtual_network=None, remote_address_space=None, peering_state=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(VirtualNetworkPeering, self).__init__(id=id, **kwargs) + self.allow_virtual_network_access = allow_virtual_network_access + self.allow_forwarded_traffic = allow_forwarded_traffic + self.allow_gateway_transit = allow_gateway_transit + self.use_remote_gateways = use_remote_gateways + self.remote_virtual_network = remote_virtual_network + self.remote_address_space = remote_address_space + self.peering_state = peering_state + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_py3.py new file mode 100644 index 000000000000..8360d676e81b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_py3.py @@ -0,0 +1,98 @@ +# 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 .resource_py3 import Resource + + +class VirtualNetwork(Resource): + """Virtual Network resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param address_space: The AddressSpace that contains an array of IP + address ranges that can be used by subnets. + :type address_space: ~azure.mgmt.network.v2018_04_01.models.AddressSpace + :param dhcp_options: The dhcpOptions that contains an array of DNS servers + available to VMs deployed in the virtual network. + :type dhcp_options: ~azure.mgmt.network.v2018_04_01.models.DhcpOptions + :param subnets: A list of subnets in a Virtual Network. + :type subnets: list[~azure.mgmt.network.v2018_04_01.models.Subnet] + :param virtual_network_peerings: A list of peerings in a Virtual Network. + :type virtual_network_peerings: + list[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkPeering] + :param resource_guid: The resourceGuid property of the Virtual Network + resource. + :type resource_guid: str + :param provisioning_state: The provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param enable_ddos_protection: Indicates if DDoS protection is enabled for + all the protected resources in the virtual network. It requires a DDoS + protection plan associated with the resource. Default value: False . + :type enable_ddos_protection: bool + :param enable_vm_protection: Indicates if VM protection is enabled for all + the subnets in the virtual network. Default value: False . + :type enable_vm_protection: bool + :param ddos_protection_plan: The DDoS protection plan associated with the + virtual network. + :type ddos_protection_plan: + ~azure.mgmt.network.v2018_04_01.models.SubResource + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, + 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'virtual_network_peerings': {'key': 'properties.virtualNetworkPeerings', 'type': '[VirtualNetworkPeering]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'enable_ddos_protection': {'key': 'properties.enableDdosProtection', 'type': 'bool'}, + 'enable_vm_protection': {'key': 'properties.enableVmProtection', 'type': 'bool'}, + 'ddos_protection_plan': {'key': 'properties.ddosProtectionPlan', 'type': 'SubResource'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, address_space=None, dhcp_options=None, subnets=None, virtual_network_peerings=None, resource_guid: str=None, provisioning_state: str=None, enable_ddos_protection: bool=False, enable_vm_protection: bool=False, ddos_protection_plan=None, etag: str=None, **kwargs) -> None: + super(VirtualNetwork, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.address_space = address_space + self.dhcp_options = dhcp_options + self.subnets = subnets + self.virtual_network_peerings = virtual_network_peerings + self.resource_guid = resource_guid + self.provisioning_state = provisioning_state + self.enable_ddos_protection = enable_ddos_protection + self.enable_vm_protection = enable_vm_protection + self.ddos_protection_plan = ddos_protection_plan + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_usage.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_usage.py new file mode 100644 index 000000000000..eef347b5604b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_usage.py @@ -0,0 +1,56 @@ +# 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.serialization import Model + + +class VirtualNetworkUsage(Model): + """Usage details for subnet. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar current_value: Indicates number of IPs used from the Subnet. + :vartype current_value: float + :ivar id: Subnet identifier. + :vartype id: str + :ivar limit: Indicates the size of the subnet. + :vartype limit: float + :ivar name: The name containing common and localized value for usage. + :vartype name: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkUsageName + :ivar unit: Usage units. Returns 'Count' + :vartype unit: str + """ + + _validation = { + 'current_value': {'readonly': True}, + 'id': {'readonly': True}, + 'limit': {'readonly': True}, + 'name': {'readonly': True}, + 'unit': {'readonly': True}, + } + + _attribute_map = { + 'current_value': {'key': 'currentValue', 'type': 'float'}, + 'id': {'key': 'id', 'type': 'str'}, + 'limit': {'key': 'limit', 'type': 'float'}, + 'name': {'key': 'name', 'type': 'VirtualNetworkUsageName'}, + 'unit': {'key': 'unit', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkUsage, self).__init__(**kwargs) + self.current_value = None + self.id = None + self.limit = None + self.name = None + self.unit = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_usage_name.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_usage_name.py new file mode 100644 index 000000000000..607ccec3b964 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_usage_name.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class VirtualNetworkUsageName(Model): + """Usage strings container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar localized_value: Localized subnet size and usage string. + :vartype localized_value: str + :ivar value: Subnet size and usage string. + :vartype value: str + """ + + _validation = { + 'localized_value': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkUsageName, self).__init__(**kwargs) + self.localized_value = None + self.value = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_usage_name_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_usage_name_py3.py new file mode 100644 index 000000000000..1651ebda7e77 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_usage_name_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class VirtualNetworkUsageName(Model): + """Usage strings container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar localized_value: Localized subnet size and usage string. + :vartype localized_value: str + :ivar value: Subnet size and usage string. + :vartype value: str + """ + + _validation = { + 'localized_value': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(VirtualNetworkUsageName, self).__init__(**kwargs) + self.localized_value = None + self.value = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_usage_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_usage_paged.py new file mode 100644 index 000000000000..16fba3241e90 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_usage_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 VirtualNetworkUsagePaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkUsage ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkUsage]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkUsagePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_usage_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_usage_py3.py new file mode 100644 index 000000000000..5d3f07bba35c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_network_usage_py3.py @@ -0,0 +1,56 @@ +# 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.serialization import Model + + +class VirtualNetworkUsage(Model): + """Usage details for subnet. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar current_value: Indicates number of IPs used from the Subnet. + :vartype current_value: float + :ivar id: Subnet identifier. + :vartype id: str + :ivar limit: Indicates the size of the subnet. + :vartype limit: float + :ivar name: The name containing common and localized value for usage. + :vartype name: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkUsageName + :ivar unit: Usage units. Returns 'Count' + :vartype unit: str + """ + + _validation = { + 'current_value': {'readonly': True}, + 'id': {'readonly': True}, + 'limit': {'readonly': True}, + 'name': {'readonly': True}, + 'unit': {'readonly': True}, + } + + _attribute_map = { + 'current_value': {'key': 'currentValue', 'type': 'float'}, + 'id': {'key': 'id', 'type': 'str'}, + 'limit': {'key': 'limit', 'type': 'float'}, + 'name': {'key': 'name', 'type': 'VirtualNetworkUsageName'}, + 'unit': {'key': 'unit', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(VirtualNetworkUsage, self).__init__(**kwargs) + self.current_value = None + self.id = None + self.limit = None + self.name = None + self.unit = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_wan.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_wan.py new file mode 100644 index 000000000000..1a6a12c07bbf --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_wan.py @@ -0,0 +1,75 @@ +# 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 .resource import Resource + + +class VirtualWAN(Resource): + """VirtualWAN Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param disable_vpn_encryption: Vpn encryption to be disabled or not. + :type disable_vpn_encryption: bool + :ivar virtual_hubs: List of VirtualHubs in the VirtualWAN. + :vartype virtual_hubs: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :ivar vpn_sites: + :vartype vpn_sites: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_hubs': {'readonly': True}, + 'vpn_sites': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'disable_vpn_encryption': {'key': 'properties.disableVpnEncryption', 'type': 'bool'}, + 'virtual_hubs': {'key': 'properties.virtualHubs', 'type': '[SubResource]'}, + 'vpn_sites': {'key': 'properties.vpnSites', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualWAN, self).__init__(**kwargs) + self.disable_vpn_encryption = kwargs.get('disable_vpn_encryption', None) + self.virtual_hubs = None + self.vpn_sites = None + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_wan_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_wan_paged.py new file mode 100644 index 000000000000..691789994ab8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_wan_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 VirtualWANPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualWAN ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualWAN]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualWANPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_wan_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_wan_py3.py new file mode 100644 index 000000000000..1f6dbef362c1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/virtual_wan_py3.py @@ -0,0 +1,75 @@ +# 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 .resource_py3 import Resource + + +class VirtualWAN(Resource): + """VirtualWAN Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param disable_vpn_encryption: Vpn encryption to be disabled or not. + :type disable_vpn_encryption: bool + :ivar virtual_hubs: List of VirtualHubs in the VirtualWAN. + :vartype virtual_hubs: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :ivar vpn_sites: + :vartype vpn_sites: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_hubs': {'readonly': True}, + 'vpn_sites': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'disable_vpn_encryption': {'key': 'properties.disableVpnEncryption', 'type': 'bool'}, + 'virtual_hubs': {'key': 'properties.virtualHubs', 'type': '[SubResource]'}, + 'vpn_sites': {'key': 'properties.vpnSites', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, disable_vpn_encryption: bool=None, provisioning_state=None, **kwargs) -> None: + super(VirtualWAN, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.disable_vpn_encryption = disable_vpn_encryption + self.virtual_hubs = None + self.vpn_sites = None + self.provisioning_state = provisioning_state + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_configuration.py new file mode 100644 index 000000000000..5ffafe580999 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_configuration.py @@ -0,0 +1,64 @@ +# 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.serialization import Model + + +class VpnClientConfiguration(Model): + """VpnClientConfiguration for P2S client. + + :param vpn_client_address_pool: The reference of the address space + resource which represents Address space for P2S VpnClient. + :type vpn_client_address_pool: + ~azure.mgmt.network.v2018_04_01.models.AddressSpace + :param vpn_client_root_certificates: VpnClientRootCertificate for virtual + network gateway. + :type vpn_client_root_certificates: + list[~azure.mgmt.network.v2018_04_01.models.VpnClientRootCertificate] + :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for + Virtual network gateway. + :type vpn_client_revoked_certificates: + list[~azure.mgmt.network.v2018_04_01.models.VpnClientRevokedCertificate] + :param vpn_client_protocols: VpnClientProtocols for Virtual network + gateway. + :type vpn_client_protocols: list[str or + ~azure.mgmt.network.v2018_04_01.models.VpnClientProtocol] + :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for virtual + network gateway P2S client. + :type vpn_client_ipsec_policies: + list[~azure.mgmt.network.v2018_04_01.models.IpsecPolicy] + :param radius_server_address: The radius server address property of the + VirtualNetworkGateway resource for vpn client connection. + :type radius_server_address: str + :param radius_server_secret: The radius secret property of the + VirtualNetworkGateway resource for vpn client connection. + :type radius_server_secret: str + """ + + _attribute_map = { + 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, + 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, + 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, + 'vpn_client_protocols': {'key': 'vpnClientProtocols', 'type': '[str]'}, + 'vpn_client_ipsec_policies': {'key': 'vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, + 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, + 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnClientConfiguration, self).__init__(**kwargs) + self.vpn_client_address_pool = kwargs.get('vpn_client_address_pool', None) + self.vpn_client_root_certificates = kwargs.get('vpn_client_root_certificates', None) + self.vpn_client_revoked_certificates = kwargs.get('vpn_client_revoked_certificates', None) + self.vpn_client_protocols = kwargs.get('vpn_client_protocols', None) + self.vpn_client_ipsec_policies = kwargs.get('vpn_client_ipsec_policies', None) + self.radius_server_address = kwargs.get('radius_server_address', None) + self.radius_server_secret = kwargs.get('radius_server_secret', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_configuration_py3.py new file mode 100644 index 000000000000..9059cf89cc75 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_configuration_py3.py @@ -0,0 +1,64 @@ +# 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.serialization import Model + + +class VpnClientConfiguration(Model): + """VpnClientConfiguration for P2S client. + + :param vpn_client_address_pool: The reference of the address space + resource which represents Address space for P2S VpnClient. + :type vpn_client_address_pool: + ~azure.mgmt.network.v2018_04_01.models.AddressSpace + :param vpn_client_root_certificates: VpnClientRootCertificate for virtual + network gateway. + :type vpn_client_root_certificates: + list[~azure.mgmt.network.v2018_04_01.models.VpnClientRootCertificate] + :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for + Virtual network gateway. + :type vpn_client_revoked_certificates: + list[~azure.mgmt.network.v2018_04_01.models.VpnClientRevokedCertificate] + :param vpn_client_protocols: VpnClientProtocols for Virtual network + gateway. + :type vpn_client_protocols: list[str or + ~azure.mgmt.network.v2018_04_01.models.VpnClientProtocol] + :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for virtual + network gateway P2S client. + :type vpn_client_ipsec_policies: + list[~azure.mgmt.network.v2018_04_01.models.IpsecPolicy] + :param radius_server_address: The radius server address property of the + VirtualNetworkGateway resource for vpn client connection. + :type radius_server_address: str + :param radius_server_secret: The radius secret property of the + VirtualNetworkGateway resource for vpn client connection. + :type radius_server_secret: str + """ + + _attribute_map = { + 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, + 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, + 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, + 'vpn_client_protocols': {'key': 'vpnClientProtocols', 'type': '[str]'}, + 'vpn_client_ipsec_policies': {'key': 'vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, + 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, + 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, + } + + def __init__(self, *, vpn_client_address_pool=None, vpn_client_root_certificates=None, vpn_client_revoked_certificates=None, vpn_client_protocols=None, vpn_client_ipsec_policies=None, radius_server_address: str=None, radius_server_secret: str=None, **kwargs) -> None: + super(VpnClientConfiguration, self).__init__(**kwargs) + self.vpn_client_address_pool = vpn_client_address_pool + self.vpn_client_root_certificates = vpn_client_root_certificates + self.vpn_client_revoked_certificates = vpn_client_revoked_certificates + self.vpn_client_protocols = vpn_client_protocols + self.vpn_client_ipsec_policies = vpn_client_ipsec_policies + self.radius_server_address = radius_server_address + self.radius_server_secret = radius_server_secret diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_ipsec_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_ipsec_parameters.py new file mode 100644 index 000000000000..7a685154dbb1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_ipsec_parameters.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 msrest.serialization import Model + + +class VpnClientIPsecParameters(Model): + """An IPSec parameters for a virtual network gateway P2S connection. + + All required parameters must be populated in order to send to Azure. + + :param sa_life_time_seconds: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. + :type sa_life_time_seconds: int + :param sa_data_size_kilobytes: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. + :type sa_data_size_kilobytes: int + :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE + phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', + 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + :type ipsec_encryption: str or + ~azure.mgmt.network.v2018_04_01.models.IpsecEncryption + :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase + 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', + 'GCMAES192', 'GCMAES256' + :type ipsec_integrity: str or + ~azure.mgmt.network.v2018_04_01.models.IpsecIntegrity + :param ike_encryption: Required. The IKE encryption algorithm (IKE phase + 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', + 'GCMAES256', 'GCMAES128' + :type ike_encryption: str or + ~azure.mgmt.network.v2018_04_01.models.IkeEncryption + :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). + Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', + 'GCMAES128' + :type ike_integrity: str or + ~azure.mgmt.network.v2018_04_01.models.IkeIntegrity + :param dh_group: Required. The DH Groups used in IKE Phase 1 for initial + SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', + 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + :type dh_group: str or ~azure.mgmt.network.v2018_04_01.models.DhGroup + :param pfs_group: Required. The Pfs Groups used in IKE Phase 2 for new + child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', + 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + :type pfs_group: str or ~azure.mgmt.network.v2018_04_01.models.PfsGroup + """ + + _validation = { + 'sa_life_time_seconds': {'required': True}, + 'sa_data_size_kilobytes': {'required': True}, + 'ipsec_encryption': {'required': True}, + 'ipsec_integrity': {'required': True}, + 'ike_encryption': {'required': True}, + 'ike_integrity': {'required': True}, + 'dh_group': {'required': True}, + 'pfs_group': {'required': True}, + } + + _attribute_map = { + 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, + 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, + 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, + 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, + 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, + 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, + 'dh_group': {'key': 'dhGroup', 'type': 'str'}, + 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnClientIPsecParameters, self).__init__(**kwargs) + self.sa_life_time_seconds = kwargs.get('sa_life_time_seconds', None) + self.sa_data_size_kilobytes = kwargs.get('sa_data_size_kilobytes', None) + self.ipsec_encryption = kwargs.get('ipsec_encryption', None) + self.ipsec_integrity = kwargs.get('ipsec_integrity', None) + self.ike_encryption = kwargs.get('ike_encryption', None) + self.ike_integrity = kwargs.get('ike_integrity', None) + self.dh_group = kwargs.get('dh_group', None) + self.pfs_group = kwargs.get('pfs_group', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_ipsec_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_ipsec_parameters_py3.py new file mode 100644 index 000000000000..82d8a29e5fc8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_ipsec_parameters_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 msrest.serialization import Model + + +class VpnClientIPsecParameters(Model): + """An IPSec parameters for a virtual network gateway P2S connection. + + All required parameters must be populated in order to send to Azure. + + :param sa_life_time_seconds: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. + :type sa_life_time_seconds: int + :param sa_data_size_kilobytes: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. + :type sa_data_size_kilobytes: int + :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE + phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', + 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + :type ipsec_encryption: str or + ~azure.mgmt.network.v2018_04_01.models.IpsecEncryption + :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase + 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', + 'GCMAES192', 'GCMAES256' + :type ipsec_integrity: str or + ~azure.mgmt.network.v2018_04_01.models.IpsecIntegrity + :param ike_encryption: Required. The IKE encryption algorithm (IKE phase + 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', + 'GCMAES256', 'GCMAES128' + :type ike_encryption: str or + ~azure.mgmt.network.v2018_04_01.models.IkeEncryption + :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). + Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', + 'GCMAES128' + :type ike_integrity: str or + ~azure.mgmt.network.v2018_04_01.models.IkeIntegrity + :param dh_group: Required. The DH Groups used in IKE Phase 1 for initial + SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', + 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + :type dh_group: str or ~azure.mgmt.network.v2018_04_01.models.DhGroup + :param pfs_group: Required. The Pfs Groups used in IKE Phase 2 for new + child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', + 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + :type pfs_group: str or ~azure.mgmt.network.v2018_04_01.models.PfsGroup + """ + + _validation = { + 'sa_life_time_seconds': {'required': True}, + 'sa_data_size_kilobytes': {'required': True}, + 'ipsec_encryption': {'required': True}, + 'ipsec_integrity': {'required': True}, + 'ike_encryption': {'required': True}, + 'ike_integrity': {'required': True}, + 'dh_group': {'required': True}, + 'pfs_group': {'required': True}, + } + + _attribute_map = { + 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, + 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, + 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, + 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, + 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, + 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, + 'dh_group': {'key': 'dhGroup', 'type': 'str'}, + 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, + } + + def __init__(self, *, sa_life_time_seconds: int, sa_data_size_kilobytes: int, ipsec_encryption, ipsec_integrity, ike_encryption, ike_integrity, dh_group, pfs_group, **kwargs) -> None: + super(VpnClientIPsecParameters, self).__init__(**kwargs) + self.sa_life_time_seconds = sa_life_time_seconds + self.sa_data_size_kilobytes = sa_data_size_kilobytes + self.ipsec_encryption = ipsec_encryption + self.ipsec_integrity = ipsec_integrity + self.ike_encryption = ike_encryption + self.ike_integrity = ike_integrity + self.dh_group = dh_group + self.pfs_group = pfs_group diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_parameters.py new file mode 100644 index 000000000000..608299206a3c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_parameters.py @@ -0,0 +1,50 @@ +# 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.serialization import Model + + +class VpnClientParameters(Model): + """Vpn Client Parameters for package generation. + + :param processor_architecture: VPN client Processor Architecture. Possible + values are: 'AMD64' and 'X86'. Possible values include: 'Amd64', 'X86' + :type processor_architecture: str or + ~azure.mgmt.network.v2018_04_01.models.ProcessorArchitecture + :param authentication_method: VPN client Authentication Method. Possible + values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values include: 'EAPTLS', + 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2018_04_01.models.AuthenticationMethod + :param radius_server_auth_certificate: The public certificate data for the + radius server authentication certificate as a Base-64 encoded string. + Required only if external radius authentication has been configured with + EAPTLS authentication. + :type radius_server_auth_certificate: str + :param client_root_certificates: A list of client root certificates public + certificate data encoded as Base-64 strings. Optional parameter for + external radius based authentication with EAPTLS. + :type client_root_certificates: list[str] + """ + + _attribute_map = { + 'processor_architecture': {'key': 'processorArchitecture', 'type': 'str'}, + 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, + 'radius_server_auth_certificate': {'key': 'radiusServerAuthCertificate', 'type': 'str'}, + 'client_root_certificates': {'key': 'clientRootCertificates', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(VpnClientParameters, self).__init__(**kwargs) + self.processor_architecture = kwargs.get('processor_architecture', None) + self.authentication_method = kwargs.get('authentication_method', None) + self.radius_server_auth_certificate = kwargs.get('radius_server_auth_certificate', None) + self.client_root_certificates = kwargs.get('client_root_certificates', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_parameters_py3.py new file mode 100644 index 000000000000..87c6b1616e34 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_parameters_py3.py @@ -0,0 +1,50 @@ +# 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.serialization import Model + + +class VpnClientParameters(Model): + """Vpn Client Parameters for package generation. + + :param processor_architecture: VPN client Processor Architecture. Possible + values are: 'AMD64' and 'X86'. Possible values include: 'Amd64', 'X86' + :type processor_architecture: str or + ~azure.mgmt.network.v2018_04_01.models.ProcessorArchitecture + :param authentication_method: VPN client Authentication Method. Possible + values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values include: 'EAPTLS', + 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2018_04_01.models.AuthenticationMethod + :param radius_server_auth_certificate: The public certificate data for the + radius server authentication certificate as a Base-64 encoded string. + Required only if external radius authentication has been configured with + EAPTLS authentication. + :type radius_server_auth_certificate: str + :param client_root_certificates: A list of client root certificates public + certificate data encoded as Base-64 strings. Optional parameter for + external radius based authentication with EAPTLS. + :type client_root_certificates: list[str] + """ + + _attribute_map = { + 'processor_architecture': {'key': 'processorArchitecture', 'type': 'str'}, + 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, + 'radius_server_auth_certificate': {'key': 'radiusServerAuthCertificate', 'type': 'str'}, + 'client_root_certificates': {'key': 'clientRootCertificates', 'type': '[str]'}, + } + + def __init__(self, *, processor_architecture=None, authentication_method=None, radius_server_auth_certificate: str=None, client_root_certificates=None, **kwargs) -> None: + super(VpnClientParameters, self).__init__(**kwargs) + self.processor_architecture = processor_architecture + self.authentication_method = authentication_method + self.radius_server_auth_certificate = radius_server_auth_certificate + self.client_root_certificates = client_root_certificates diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_revoked_certificate.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_revoked_certificate.py new file mode 100644 index 000000000000..1fa6f6a1ef23 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_revoked_certificate.py @@ -0,0 +1,54 @@ +# 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 VpnClientRevokedCertificate(SubResource): + """VPN client revoked certificate of virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param thumbprint: The revoked VPN client certificate thumbprint. + :type thumbprint: str + :ivar provisioning_state: The provisioning state of the VPN client revoked + certificate resource. Possible values are: 'Updating', 'Deleting', and + 'Failed'. + :vartype provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnClientRevokedCertificate, self).__init__(**kwargs) + self.thumbprint = kwargs.get('thumbprint', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_revoked_certificate_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_revoked_certificate_py3.py new file mode 100644 index 000000000000..e540c5ff2068 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_revoked_certificate_py3.py @@ -0,0 +1,54 @@ +# 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 VpnClientRevokedCertificate(SubResource): + """VPN client revoked certificate of virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param thumbprint: The revoked VPN client certificate thumbprint. + :type thumbprint: str + :ivar provisioning_state: The provisioning state of the VPN client revoked + certificate resource. Possible values are: 'Updating', 'Deleting', and + 'Failed'. + :vartype provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', '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, thumbprint: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(VpnClientRevokedCertificate, self).__init__(id=id, **kwargs) + self.thumbprint = thumbprint + self.provisioning_state = None + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_root_certificate.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_root_certificate.py new file mode 100644 index 000000000000..48c7033d42ec --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_root_certificate.py @@ -0,0 +1,57 @@ +# 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 VpnClientRootCertificate(SubResource): + """VPN client root certificate of virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param public_cert_data: Required. The certificate public data. + :type public_cert_data: str + :ivar provisioning_state: The provisioning state of the VPN client root + certificate resource. Possible values are: 'Updating', 'Deleting', and + 'Failed'. + :vartype provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'public_cert_data': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnClientRootCertificate, self).__init__(**kwargs) + self.public_cert_data = kwargs.get('public_cert_data', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_root_certificate_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_root_certificate_py3.py new file mode 100644 index 000000000000..6567985eee0b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_client_root_certificate_py3.py @@ -0,0 +1,57 @@ +# 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 VpnClientRootCertificate(SubResource): + """VPN client root certificate of virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param public_cert_data: Required. The certificate public data. + :type public_cert_data: str + :ivar provisioning_state: The provisioning state of the VPN client root + certificate resource. Possible values are: 'Updating', 'Deleting', and + 'Failed'. + :vartype provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'public_cert_data': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, public_cert_data: str, id: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(VpnClientRootCertificate, self).__init__(id=id, **kwargs) + self.public_cert_data = public_cert_data + self.provisioning_state = None + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_connection.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_connection.py new file mode 100644 index 000000000000..32dec36e35a1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_connection.py @@ -0,0 +1,102 @@ +# 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 .resource import Resource + + +class VpnConnection(Resource): + """VpnConnection Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param remote_vpn_site: Id of the connected vpn site. + :type remote_vpn_site: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param routing_weight: routing weight for vpn connection. + :type routing_weight: int + :param connection_status: The connection status. Possible values include: + 'Unknown', 'Connecting', 'Connected', 'NotConnected' + :type connection_status: str or + ~azure.mgmt.network.v2018_04_01.models.VpnConnectionStatus + :ivar ingress_bytes_transferred: Ingress bytes transferred. + :vartype ingress_bytes_transferred: long + :ivar egress_bytes_transferred: Egress bytes transferred. + :vartype egress_bytes_transferred: long + :ivar connection_bandwidth: Expected bandwidth in MBPS. + :vartype connection_bandwidth: int + :param shared_key: SharedKey for the vpn connection. + :type shared_key: str + :param enable_bgp: EnableBgp flag + :type enable_bgp: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2018_04_01.models.IpsecPolicy] + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'connection_bandwidth': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'remote_vpn_site': {'key': 'properties.remoteVpnSite', 'type': 'SubResource'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnConnection, self).__init__(**kwargs) + self.remote_vpn_site = kwargs.get('remote_vpn_site', None) + self.routing_weight = kwargs.get('routing_weight', None) + self.connection_status = kwargs.get('connection_status', None) + self.ingress_bytes_transferred = None + self.egress_bytes_transferred = None + self.connection_bandwidth = None + self.shared_key = kwargs.get('shared_key', None) + self.enable_bgp = kwargs.get('enable_bgp', None) + self.ipsec_policies = kwargs.get('ipsec_policies', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_connection_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_connection_paged.py new file mode 100644 index 000000000000..08e14d0efdc3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_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 VpnConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`VpnConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VpnConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(VpnConnectionPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_connection_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_connection_py3.py new file mode 100644 index 000000000000..9941ea0ed8ed --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_connection_py3.py @@ -0,0 +1,102 @@ +# 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 .resource_py3 import Resource + + +class VpnConnection(Resource): + """VpnConnection Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param remote_vpn_site: Id of the connected vpn site. + :type remote_vpn_site: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param routing_weight: routing weight for vpn connection. + :type routing_weight: int + :param connection_status: The connection status. Possible values include: + 'Unknown', 'Connecting', 'Connected', 'NotConnected' + :type connection_status: str or + ~azure.mgmt.network.v2018_04_01.models.VpnConnectionStatus + :ivar ingress_bytes_transferred: Ingress bytes transferred. + :vartype ingress_bytes_transferred: long + :ivar egress_bytes_transferred: Egress bytes transferred. + :vartype egress_bytes_transferred: long + :ivar connection_bandwidth: Expected bandwidth in MBPS. + :vartype connection_bandwidth: int + :param shared_key: SharedKey for the vpn connection. + :type shared_key: str + :param enable_bgp: EnableBgp flag + :type enable_bgp: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2018_04_01.models.IpsecPolicy] + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'connection_bandwidth': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'remote_vpn_site': {'key': 'properties.remoteVpnSite', 'type': 'SubResource'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, remote_vpn_site=None, routing_weight: int=None, connection_status=None, shared_key: str=None, enable_bgp: bool=None, ipsec_policies=None, provisioning_state=None, **kwargs) -> None: + super(VpnConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.remote_vpn_site = remote_vpn_site + self.routing_weight = routing_weight + self.connection_status = connection_status + self.ingress_bytes_transferred = None + self.egress_bytes_transferred = None + self.connection_bandwidth = None + self.shared_key = shared_key + self.enable_bgp = enable_bgp + self.ipsec_policies = ipsec_policies + self.provisioning_state = provisioning_state + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_device_script_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_device_script_parameters.py new file mode 100644 index 000000000000..e4f8f12701b7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_device_script_parameters.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class VpnDeviceScriptParameters(Model): + """Vpn device configuration script generation parameters. + + :param vendor: The vendor for the vpn device. + :type vendor: str + :param device_family: The device family for the vpn device. + :type device_family: str + :param firmware_version: The firmware version for the vpn device. + :type firmware_version: str + """ + + _attribute_map = { + 'vendor': {'key': 'vendor', 'type': 'str'}, + 'device_family': {'key': 'deviceFamily', 'type': 'str'}, + 'firmware_version': {'key': 'firmwareVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnDeviceScriptParameters, self).__init__(**kwargs) + self.vendor = kwargs.get('vendor', None) + self.device_family = kwargs.get('device_family', None) + self.firmware_version = kwargs.get('firmware_version', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_device_script_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_device_script_parameters_py3.py new file mode 100644 index 000000000000..e5520ffb5a18 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_device_script_parameters_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class VpnDeviceScriptParameters(Model): + """Vpn device configuration script generation parameters. + + :param vendor: The vendor for the vpn device. + :type vendor: str + :param device_family: The device family for the vpn device. + :type device_family: str + :param firmware_version: The firmware version for the vpn device. + :type firmware_version: str + """ + + _attribute_map = { + 'vendor': {'key': 'vendor', 'type': 'str'}, + 'device_family': {'key': 'deviceFamily', 'type': 'str'}, + 'firmware_version': {'key': 'firmwareVersion', 'type': 'str'}, + } + + def __init__(self, *, vendor: str=None, device_family: str=None, firmware_version: str=None, **kwargs) -> None: + super(VpnDeviceScriptParameters, self).__init__(**kwargs) + self.vendor = vendor + self.device_family = device_family + self.firmware_version = firmware_version diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_gateway.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_gateway.py new file mode 100644 index 000000000000..e2ac704aa3f7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_gateway.py @@ -0,0 +1,76 @@ +# 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 .resource import Resource + + +class VpnGateway(Resource): + """VpnGateway Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_hub: The VirtualHub to which the gateway belongs + :type virtual_hub: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param connections: list of all vpn connections to the gateway. + :type connections: + list[~azure.mgmt.network.v2018_04_01.models.VpnConnection] + :param bgp_settings: Local network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2018_04_01.models.BgpSettings + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :param policies: The policies applied to this vpn gateway. + :type policies: ~azure.mgmt.network.v2018_04_01.models.Policies + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'connections': {'key': 'properties.connections', 'type': '[VpnConnection]'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'policies': {'key': 'properties.policies', 'type': 'Policies'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnGateway, self).__init__(**kwargs) + self.virtual_hub = kwargs.get('virtual_hub', None) + self.connections = kwargs.get('connections', None) + self.bgp_settings = kwargs.get('bgp_settings', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.policies = kwargs.get('policies', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_gateway_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_gateway_paged.py new file mode 100644 index 000000000000..d618b0f57107 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_gateway_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 VpnGatewayPaged(Paged): + """ + A paging container for iterating over a list of :class:`VpnGateway ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VpnGateway]'} + } + + def __init__(self, *args, **kwargs): + + super(VpnGatewayPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_gateway_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_gateway_py3.py new file mode 100644 index 000000000000..e855abf387c6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_gateway_py3.py @@ -0,0 +1,76 @@ +# 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 .resource_py3 import Resource + + +class VpnGateway(Resource): + """VpnGateway Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_hub: The VirtualHub to which the gateway belongs + :type virtual_hub: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param connections: list of all vpn connections to the gateway. + :type connections: + list[~azure.mgmt.network.v2018_04_01.models.VpnConnection] + :param bgp_settings: Local network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2018_04_01.models.BgpSettings + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :param policies: The policies applied to this vpn gateway. + :type policies: ~azure.mgmt.network.v2018_04_01.models.Policies + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'connections': {'key': 'properties.connections', 'type': '[VpnConnection]'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'policies': {'key': 'properties.policies', 'type': 'Policies'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_hub=None, connections=None, bgp_settings=None, provisioning_state=None, policies=None, **kwargs) -> None: + super(VpnGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.virtual_hub = virtual_hub + self.connections = connections + self.bgp_settings = bgp_settings + self.provisioning_state = provisioning_state + self.policies = policies + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_site.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_site.py new file mode 100644 index 000000000000..c9889f1e1f8b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_site.py @@ -0,0 +1,85 @@ +# 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 .resource import Resource + + +class VpnSite(Resource): + """VpnSite Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_wan: The VirtualWAN to which the vpnSite belongs + :type virtual_wan: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param device_properties: The device properties + :type device_properties: + ~azure.mgmt.network.v2018_04_01.models.DeviceProperties + :param ip_address: The ip-address for the vpn-site. + :type ip_address: str + :param site_key: The key for vpn-site that can be used for connections. + :type site_key: str + :param address_space: The AddressSpace that contains an array of IP + address ranges. + :type address_space: ~azure.mgmt.network.v2018_04_01.models.AddressSpace + :param bgp_properties: The set of bgp properties. + :type bgp_properties: ~azure.mgmt.network.v2018_04_01.models.BgpSettings + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_wan': {'key': 'properties.virtualWAN', 'type': 'SubResource'}, + 'device_properties': {'key': 'properties.deviceProperties', 'type': 'DeviceProperties'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'site_key': {'key': 'properties.siteKey', 'type': 'str'}, + 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, + 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'BgpSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnSite, self).__init__(**kwargs) + self.virtual_wan = kwargs.get('virtual_wan', None) + self.device_properties = kwargs.get('device_properties', None) + self.ip_address = kwargs.get('ip_address', None) + self.site_key = kwargs.get('site_key', None) + self.address_space = kwargs.get('address_space', None) + self.bgp_properties = kwargs.get('bgp_properties', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_site_id.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_site_id.py new file mode 100644 index 000000000000..f033d813f347 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_site_id.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class VpnSiteId(Model): + """VpnSite Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar vpn_site: The resource-uri of the vpn-site for which config is to be + fetched. + :vartype vpn_site: str + """ + + _validation = { + 'vpn_site': {'readonly': True}, + } + + _attribute_map = { + 'vpn_site': {'key': 'vpnSite', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnSiteId, self).__init__(**kwargs) + self.vpn_site = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_site_id_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_site_id_py3.py new file mode 100644 index 000000000000..3a12683973e3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_site_id_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class VpnSiteId(Model): + """VpnSite Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar vpn_site: The resource-uri of the vpn-site for which config is to be + fetched. + :vartype vpn_site: str + """ + + _validation = { + 'vpn_site': {'readonly': True}, + } + + _attribute_map = { + 'vpn_site': {'key': 'vpnSite', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(VpnSiteId, self).__init__(**kwargs) + self.vpn_site = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_site_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_site_paged.py new file mode 100644 index 000000000000..5cb394171fdf --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_site_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 VpnSitePaged(Paged): + """ + A paging container for iterating over a list of :class:`VpnSite ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VpnSite]'} + } + + def __init__(self, *args, **kwargs): + + super(VpnSitePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_site_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_site_py3.py new file mode 100644 index 000000000000..c79d7ad4b066 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/models/vpn_site_py3.py @@ -0,0 +1,85 @@ +# 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 .resource_py3 import Resource + + +class VpnSite(Resource): + """VpnSite Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_wan: The VirtualWAN to which the vpnSite belongs + :type virtual_wan: ~azure.mgmt.network.v2018_04_01.models.SubResource + :param device_properties: The device properties + :type device_properties: + ~azure.mgmt.network.v2018_04_01.models.DeviceProperties + :param ip_address: The ip-address for the vpn-site. + :type ip_address: str + :param site_key: The key for vpn-site that can be used for connections. + :type site_key: str + :param address_space: The AddressSpace that contains an array of IP + address ranges. + :type address_space: ~azure.mgmt.network.v2018_04_01.models.AddressSpace + :param bgp_properties: The set of bgp properties. + :type bgp_properties: ~azure.mgmt.network.v2018_04_01.models.BgpSettings + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_04_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_wan': {'key': 'properties.virtualWAN', 'type': 'SubResource'}, + 'device_properties': {'key': 'properties.deviceProperties', 'type': 'DeviceProperties'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'site_key': {'key': 'properties.siteKey', 'type': 'str'}, + 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, + 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'BgpSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_wan=None, device_properties=None, ip_address: str=None, site_key: str=None, address_space=None, bgp_properties=None, provisioning_state=None, **kwargs) -> None: + super(VpnSite, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.virtual_wan = virtual_wan + self.device_properties = device_properties + self.ip_address = ip_address + self.site_key = site_key + self.address_space = address_space + self.bgp_properties = bgp_properties + self.provisioning_state = provisioning_state + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/network_management_client.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/network_management_client.py new file mode 100644 index 000000000000..76d6126daca5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/network_management_client.py @@ -0,0 +1,397 @@ +# 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.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling +import uuid +from .operations.azure_firewalls_operations import AzureFirewallsOperations +from .operations.application_gateways_operations import ApplicationGatewaysOperations +from .operations.application_security_groups_operations import ApplicationSecurityGroupsOperations +from .operations.ddos_protection_plans_operations import DdosProtectionPlansOperations +from .operations.available_endpoint_services_operations import AvailableEndpointServicesOperations +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.express_route_circuits_operations import ExpressRouteCircuitsOperations +from .operations.express_route_service_providers_operations import ExpressRouteServiceProvidersOperations +from .operations.express_route_cross_connections_operations import ExpressRouteCrossConnectionsOperations +from .operations.express_route_cross_connection_peerings_operations import ExpressRouteCrossConnectionPeeringsOperations +from .operations.load_balancers_operations import LoadBalancersOperations +from .operations.load_balancer_backend_address_pools_operations import LoadBalancerBackendAddressPoolsOperations +from .operations.load_balancer_frontend_ip_configurations_operations import LoadBalancerFrontendIPConfigurationsOperations +from .operations.inbound_nat_rules_operations import InboundNatRulesOperations +from .operations.load_balancer_load_balancing_rules_operations import LoadBalancerLoadBalancingRulesOperations +from .operations.load_balancer_network_interfaces_operations import LoadBalancerNetworkInterfacesOperations +from .operations.load_balancer_probes_operations import LoadBalancerProbesOperations +from .operations.network_interfaces_operations import NetworkInterfacesOperations +from .operations.network_interface_ip_configurations_operations import NetworkInterfaceIPConfigurationsOperations +from .operations.network_interface_load_balancers_operations import NetworkInterfaceLoadBalancersOperations +from .operations.network_security_groups_operations import NetworkSecurityGroupsOperations +from .operations.security_rules_operations import SecurityRulesOperations +from .operations.default_security_rules_operations import DefaultSecurityRulesOperations +from .operations.network_watchers_operations import NetworkWatchersOperations +from .operations.packet_captures_operations import PacketCapturesOperations +from .operations.connection_monitors_operations import ConnectionMonitorsOperations +from .operations.operations import Operations +from .operations.public_ip_addresses_operations import PublicIPAddressesOperations +from .operations.route_filters_operations import RouteFiltersOperations +from .operations.route_filter_rules_operations import RouteFilterRulesOperations +from .operations.route_tables_operations import RouteTablesOperations +from .operations.routes_operations import RoutesOperations +from .operations.bgp_service_communities_operations import BgpServiceCommunitiesOperations +from .operations.usages_operations import UsagesOperations +from .operations.virtual_networks_operations import VirtualNetworksOperations +from .operations.subnets_operations import SubnetsOperations +from .operations.virtual_network_peerings_operations import VirtualNetworkPeeringsOperations +from .operations.virtual_network_gateways_operations import VirtualNetworkGatewaysOperations +from .operations.virtual_network_gateway_connections_operations import VirtualNetworkGatewayConnectionsOperations +from .operations.local_network_gateways_operations import LocalNetworkGatewaysOperations +from .operations.virtual_wa_ns_operations import VirtualWANsOperations +from .operations.vpn_sites_operations import VpnSitesOperations +from .operations.vpn_sites_configuration_operations import VpnSitesConfigurationOperations +from .operations.virtual_hubs_operations import VirtualHubsOperations +from .operations.hub_virtual_network_connections_operations import HubVirtualNetworkConnectionsOperations +from .operations.vpn_gateways_operations import VpnGatewaysOperations +from .operations.vpn_connections_operations import VpnConnectionsOperations +from . import models + + +class NetworkManagementClientConfiguration(AzureConfiguration): + """Configuration for NetworkManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The subscription credentials which uniquely + identify the Microsoft Azure subscription. The subscription ID forms part + of the URI for every service call. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(NetworkManagementClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-network/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class NetworkManagementClient(SDKClient): + """Network Client + + :ivar config: Configuration for client. + :vartype config: NetworkManagementClientConfiguration + + :ivar azure_firewalls: AzureFirewalls operations + :vartype azure_firewalls: azure.mgmt.network.v2018_04_01.operations.AzureFirewallsOperations + :ivar application_gateways: ApplicationGateways operations + :vartype application_gateways: azure.mgmt.network.v2018_04_01.operations.ApplicationGatewaysOperations + :ivar application_security_groups: ApplicationSecurityGroups operations + :vartype application_security_groups: azure.mgmt.network.v2018_04_01.operations.ApplicationSecurityGroupsOperations + :ivar ddos_protection_plans: DdosProtectionPlans operations + :vartype ddos_protection_plans: azure.mgmt.network.v2018_04_01.operations.DdosProtectionPlansOperations + :ivar available_endpoint_services: AvailableEndpointServices operations + :vartype available_endpoint_services: azure.mgmt.network.v2018_04_01.operations.AvailableEndpointServicesOperations + :ivar express_route_circuit_authorizations: ExpressRouteCircuitAuthorizations operations + :vartype express_route_circuit_authorizations: azure.mgmt.network.v2018_04_01.operations.ExpressRouteCircuitAuthorizationsOperations + :ivar express_route_circuit_peerings: ExpressRouteCircuitPeerings operations + :vartype express_route_circuit_peerings: azure.mgmt.network.v2018_04_01.operations.ExpressRouteCircuitPeeringsOperations + :ivar express_route_circuit_connections: ExpressRouteCircuitConnections operations + :vartype express_route_circuit_connections: azure.mgmt.network.v2018_04_01.operations.ExpressRouteCircuitConnectionsOperations + :ivar express_route_circuits: ExpressRouteCircuits operations + :vartype express_route_circuits: azure.mgmt.network.v2018_04_01.operations.ExpressRouteCircuitsOperations + :ivar express_route_service_providers: ExpressRouteServiceProviders operations + :vartype express_route_service_providers: azure.mgmt.network.v2018_04_01.operations.ExpressRouteServiceProvidersOperations + :ivar express_route_cross_connections: ExpressRouteCrossConnections operations + :vartype express_route_cross_connections: azure.mgmt.network.v2018_04_01.operations.ExpressRouteCrossConnectionsOperations + :ivar express_route_cross_connection_peerings: ExpressRouteCrossConnectionPeerings operations + :vartype express_route_cross_connection_peerings: azure.mgmt.network.v2018_04_01.operations.ExpressRouteCrossConnectionPeeringsOperations + :ivar load_balancers: LoadBalancers operations + :vartype load_balancers: azure.mgmt.network.v2018_04_01.operations.LoadBalancersOperations + :ivar load_balancer_backend_address_pools: LoadBalancerBackendAddressPools operations + :vartype load_balancer_backend_address_pools: azure.mgmt.network.v2018_04_01.operations.LoadBalancerBackendAddressPoolsOperations + :ivar load_balancer_frontend_ip_configurations: LoadBalancerFrontendIPConfigurations operations + :vartype load_balancer_frontend_ip_configurations: azure.mgmt.network.v2018_04_01.operations.LoadBalancerFrontendIPConfigurationsOperations + :ivar inbound_nat_rules: InboundNatRules operations + :vartype inbound_nat_rules: azure.mgmt.network.v2018_04_01.operations.InboundNatRulesOperations + :ivar load_balancer_load_balancing_rules: LoadBalancerLoadBalancingRules operations + :vartype load_balancer_load_balancing_rules: azure.mgmt.network.v2018_04_01.operations.LoadBalancerLoadBalancingRulesOperations + :ivar load_balancer_network_interfaces: LoadBalancerNetworkInterfaces operations + :vartype load_balancer_network_interfaces: azure.mgmt.network.v2018_04_01.operations.LoadBalancerNetworkInterfacesOperations + :ivar load_balancer_probes: LoadBalancerProbes operations + :vartype load_balancer_probes: azure.mgmt.network.v2018_04_01.operations.LoadBalancerProbesOperations + :ivar network_interfaces: NetworkInterfaces operations + :vartype network_interfaces: azure.mgmt.network.v2018_04_01.operations.NetworkInterfacesOperations + :ivar network_interface_ip_configurations: NetworkInterfaceIPConfigurations operations + :vartype network_interface_ip_configurations: azure.mgmt.network.v2018_04_01.operations.NetworkInterfaceIPConfigurationsOperations + :ivar network_interface_load_balancers: NetworkInterfaceLoadBalancers operations + :vartype network_interface_load_balancers: azure.mgmt.network.v2018_04_01.operations.NetworkInterfaceLoadBalancersOperations + :ivar network_security_groups: NetworkSecurityGroups operations + :vartype network_security_groups: azure.mgmt.network.v2018_04_01.operations.NetworkSecurityGroupsOperations + :ivar security_rules: SecurityRules operations + :vartype security_rules: azure.mgmt.network.v2018_04_01.operations.SecurityRulesOperations + :ivar default_security_rules: DefaultSecurityRules operations + :vartype default_security_rules: azure.mgmt.network.v2018_04_01.operations.DefaultSecurityRulesOperations + :ivar network_watchers: NetworkWatchers operations + :vartype network_watchers: azure.mgmt.network.v2018_04_01.operations.NetworkWatchersOperations + :ivar packet_captures: PacketCaptures operations + :vartype packet_captures: azure.mgmt.network.v2018_04_01.operations.PacketCapturesOperations + :ivar connection_monitors: ConnectionMonitors operations + :vartype connection_monitors: azure.mgmt.network.v2018_04_01.operations.ConnectionMonitorsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.network.v2018_04_01.operations.Operations + :ivar public_ip_addresses: PublicIPAddresses operations + :vartype public_ip_addresses: azure.mgmt.network.v2018_04_01.operations.PublicIPAddressesOperations + :ivar route_filters: RouteFilters operations + :vartype route_filters: azure.mgmt.network.v2018_04_01.operations.RouteFiltersOperations + :ivar route_filter_rules: RouteFilterRules operations + :vartype route_filter_rules: azure.mgmt.network.v2018_04_01.operations.RouteFilterRulesOperations + :ivar route_tables: RouteTables operations + :vartype route_tables: azure.mgmt.network.v2018_04_01.operations.RouteTablesOperations + :ivar routes: Routes operations + :vartype routes: azure.mgmt.network.v2018_04_01.operations.RoutesOperations + :ivar bgp_service_communities: BgpServiceCommunities operations + :vartype bgp_service_communities: azure.mgmt.network.v2018_04_01.operations.BgpServiceCommunitiesOperations + :ivar usages: Usages operations + :vartype usages: azure.mgmt.network.v2018_04_01.operations.UsagesOperations + :ivar virtual_networks: VirtualNetworks operations + :vartype virtual_networks: azure.mgmt.network.v2018_04_01.operations.VirtualNetworksOperations + :ivar subnets: Subnets operations + :vartype subnets: azure.mgmt.network.v2018_04_01.operations.SubnetsOperations + :ivar virtual_network_peerings: VirtualNetworkPeerings operations + :vartype virtual_network_peerings: azure.mgmt.network.v2018_04_01.operations.VirtualNetworkPeeringsOperations + :ivar virtual_network_gateways: VirtualNetworkGateways operations + :vartype virtual_network_gateways: azure.mgmt.network.v2018_04_01.operations.VirtualNetworkGatewaysOperations + :ivar virtual_network_gateway_connections: VirtualNetworkGatewayConnections operations + :vartype virtual_network_gateway_connections: azure.mgmt.network.v2018_04_01.operations.VirtualNetworkGatewayConnectionsOperations + :ivar local_network_gateways: LocalNetworkGateways operations + :vartype local_network_gateways: azure.mgmt.network.v2018_04_01.operations.LocalNetworkGatewaysOperations + :ivar virtual_wa_ns: VirtualWANs operations + :vartype virtual_wa_ns: azure.mgmt.network.v2018_04_01.operations.VirtualWANsOperations + :ivar vpn_sites: VpnSites operations + :vartype vpn_sites: azure.mgmt.network.v2018_04_01.operations.VpnSitesOperations + :ivar vpn_sites_configuration: VpnSitesConfiguration operations + :vartype vpn_sites_configuration: azure.mgmt.network.v2018_04_01.operations.VpnSitesConfigurationOperations + :ivar virtual_hubs: VirtualHubs operations + :vartype virtual_hubs: azure.mgmt.network.v2018_04_01.operations.VirtualHubsOperations + :ivar hub_virtual_network_connections: HubVirtualNetworkConnections operations + :vartype hub_virtual_network_connections: azure.mgmt.network.v2018_04_01.operations.HubVirtualNetworkConnectionsOperations + :ivar vpn_gateways: VpnGateways operations + :vartype vpn_gateways: azure.mgmt.network.v2018_04_01.operations.VpnGatewaysOperations + :ivar vpn_connections: VpnConnections operations + :vartype vpn_connections: azure.mgmt.network.v2018_04_01.operations.VpnConnectionsOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The subscription credentials which uniquely + identify the Microsoft Azure subscription. The subscription ID forms part + of the URI for every service call. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = NetworkManagementClientConfiguration(credentials, subscription_id, base_url) + super(NetworkManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.azure_firewalls = AzureFirewallsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.application_gateways = ApplicationGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.application_security_groups = ApplicationSecurityGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.ddos_protection_plans = DdosProtectionPlansOperations( + self._client, self.config, self._serialize, self._deserialize) + self.available_endpoint_services = AvailableEndpointServicesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_circuit_authorizations = ExpressRouteCircuitAuthorizationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_circuit_peerings = ExpressRouteCircuitPeeringsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_circuit_connections = ExpressRouteCircuitConnectionsOperations( + 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( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_cross_connections = ExpressRouteCrossConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_cross_connection_peerings = ExpressRouteCrossConnectionPeeringsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancers = LoadBalancersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_backend_address_pools = LoadBalancerBackendAddressPoolsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_frontend_ip_configurations = LoadBalancerFrontendIPConfigurationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.inbound_nat_rules = InboundNatRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_load_balancing_rules = LoadBalancerLoadBalancingRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_network_interfaces = LoadBalancerNetworkInterfacesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_probes = LoadBalancerProbesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_interfaces = NetworkInterfacesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_interface_ip_configurations = NetworkInterfaceIPConfigurationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_interface_load_balancers = NetworkInterfaceLoadBalancersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_security_groups = NetworkSecurityGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.security_rules = SecurityRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.default_security_rules = DefaultSecurityRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_watchers = NetworkWatchersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.packet_captures = PacketCapturesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.connection_monitors = ConnectionMonitorsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.public_ip_addresses = PublicIPAddressesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.route_filters = RouteFiltersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.route_filter_rules = RouteFilterRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.route_tables = RouteTablesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.routes = RoutesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.bgp_service_communities = BgpServiceCommunitiesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.usages = UsagesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_networks = VirtualNetworksOperations( + self._client, self.config, self._serialize, self._deserialize) + self.subnets = SubnetsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_network_peerings = VirtualNetworkPeeringsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_network_gateways = VirtualNetworkGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_network_gateway_connections = VirtualNetworkGatewayConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.local_network_gateways = LocalNetworkGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_wa_ns = VirtualWANsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_sites = VpnSitesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_sites_configuration = VpnSitesConfigurationOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_hubs = VirtualHubsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.hub_virtual_network_connections = HubVirtualNetworkConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_gateways = VpnGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_connections = VpnConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + + def check_dns_name_availability( + self, location, domain_name_label, custom_headers=None, raw=False, **operation_config): + """Checks whether a domain name in the cloudapp.azure.com zone is + available for use. + + :param location: The location of the domain name. + :type location: str + :param domain_name_label: The domain name to be verified. It must + conform to the following regular expression: + ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. + :type domain_name_label: 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: DnsNameAvailabilityResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2018_04_01.models.DnsNameAvailabilityResult or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2018-04-01" + + # Construct URL + url = self.check_dns_name_availability.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, '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['domainNameLabel'] = self._serialize.query("domain_name_label", domain_name_label, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('DnsNameAvailabilityResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_dns_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/__init__.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/__init__.py new file mode 100644 index 000000000000..7920434f1e6d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/__init__.py @@ -0,0 +1,112 @@ +# 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 .azure_firewalls_operations import AzureFirewallsOperations +from .application_gateways_operations import ApplicationGatewaysOperations +from .application_security_groups_operations import ApplicationSecurityGroupsOperations +from .ddos_protection_plans_operations import DdosProtectionPlansOperations +from .available_endpoint_services_operations import AvailableEndpointServicesOperations +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 .express_route_circuits_operations import ExpressRouteCircuitsOperations +from .express_route_service_providers_operations import ExpressRouteServiceProvidersOperations +from .express_route_cross_connections_operations import ExpressRouteCrossConnectionsOperations +from .express_route_cross_connection_peerings_operations import ExpressRouteCrossConnectionPeeringsOperations +from .load_balancers_operations import LoadBalancersOperations +from .load_balancer_backend_address_pools_operations import LoadBalancerBackendAddressPoolsOperations +from .load_balancer_frontend_ip_configurations_operations import LoadBalancerFrontendIPConfigurationsOperations +from .inbound_nat_rules_operations import InboundNatRulesOperations +from .load_balancer_load_balancing_rules_operations import LoadBalancerLoadBalancingRulesOperations +from .load_balancer_network_interfaces_operations import LoadBalancerNetworkInterfacesOperations +from .load_balancer_probes_operations import LoadBalancerProbesOperations +from .network_interfaces_operations import NetworkInterfacesOperations +from .network_interface_ip_configurations_operations import NetworkInterfaceIPConfigurationsOperations +from .network_interface_load_balancers_operations import NetworkInterfaceLoadBalancersOperations +from .network_security_groups_operations import NetworkSecurityGroupsOperations +from .security_rules_operations import SecurityRulesOperations +from .default_security_rules_operations import DefaultSecurityRulesOperations +from .network_watchers_operations import NetworkWatchersOperations +from .packet_captures_operations import PacketCapturesOperations +from .connection_monitors_operations import ConnectionMonitorsOperations +from .operations import Operations +from .public_ip_addresses_operations import PublicIPAddressesOperations +from .route_filters_operations import RouteFiltersOperations +from .route_filter_rules_operations import RouteFilterRulesOperations +from .route_tables_operations import RouteTablesOperations +from .routes_operations import RoutesOperations +from .bgp_service_communities_operations import BgpServiceCommunitiesOperations +from .usages_operations import UsagesOperations +from .virtual_networks_operations import VirtualNetworksOperations +from .subnets_operations import SubnetsOperations +from .virtual_network_peerings_operations import VirtualNetworkPeeringsOperations +from .virtual_network_gateways_operations import VirtualNetworkGatewaysOperations +from .virtual_network_gateway_connections_operations import VirtualNetworkGatewayConnectionsOperations +from .local_network_gateways_operations import LocalNetworkGatewaysOperations +from .virtual_wa_ns_operations import VirtualWANsOperations +from .vpn_sites_operations import VpnSitesOperations +from .vpn_sites_configuration_operations import VpnSitesConfigurationOperations +from .virtual_hubs_operations import VirtualHubsOperations +from .hub_virtual_network_connections_operations import HubVirtualNetworkConnectionsOperations +from .vpn_gateways_operations import VpnGatewaysOperations +from .vpn_connections_operations import VpnConnectionsOperations + +__all__ = [ + 'AzureFirewallsOperations', + 'ApplicationGatewaysOperations', + 'ApplicationSecurityGroupsOperations', + 'DdosProtectionPlansOperations', + 'AvailableEndpointServicesOperations', + 'ExpressRouteCircuitAuthorizationsOperations', + 'ExpressRouteCircuitPeeringsOperations', + 'ExpressRouteCircuitConnectionsOperations', + 'ExpressRouteCircuitsOperations', + 'ExpressRouteServiceProvidersOperations', + 'ExpressRouteCrossConnectionsOperations', + 'ExpressRouteCrossConnectionPeeringsOperations', + 'LoadBalancersOperations', + 'LoadBalancerBackendAddressPoolsOperations', + 'LoadBalancerFrontendIPConfigurationsOperations', + 'InboundNatRulesOperations', + 'LoadBalancerLoadBalancingRulesOperations', + 'LoadBalancerNetworkInterfacesOperations', + 'LoadBalancerProbesOperations', + 'NetworkInterfacesOperations', + 'NetworkInterfaceIPConfigurationsOperations', + 'NetworkInterfaceLoadBalancersOperations', + 'NetworkSecurityGroupsOperations', + 'SecurityRulesOperations', + 'DefaultSecurityRulesOperations', + 'NetworkWatchersOperations', + 'PacketCapturesOperations', + 'ConnectionMonitorsOperations', + 'Operations', + 'PublicIPAddressesOperations', + 'RouteFiltersOperations', + 'RouteFilterRulesOperations', + 'RouteTablesOperations', + 'RoutesOperations', + 'BgpServiceCommunitiesOperations', + 'UsagesOperations', + 'VirtualNetworksOperations', + 'SubnetsOperations', + 'VirtualNetworkPeeringsOperations', + 'VirtualNetworkGatewaysOperations', + 'VirtualNetworkGatewayConnectionsOperations', + 'LocalNetworkGatewaysOperations', + 'VirtualWANsOperations', + 'VpnSitesOperations', + 'VpnSitesConfigurationOperations', + 'VirtualHubsOperations', + 'HubVirtualNetworkConnectionsOperations', + 'VpnGatewaysOperations', + 'VpnConnectionsOperations', +] diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/application_gateways_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/application_gateways_operations.py new file mode 100644 index 000000000000..50b16091272c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/application_gateways_operations.py @@ -0,0 +1,1025 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ApplicationGatewaysOperations(object): + """ApplicationGatewaysOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified application gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} + + def get( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified application gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_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: ApplicationGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.ApplicationGateway 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'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ApplicationGateway', 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/applicationGateways/{applicationGatewayName}'} + + + def _create_or_update_initial( + self, resource_group_name, application_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'ApplicationGateway') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('ApplicationGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('ApplicationGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, application_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified application gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param parameters: Parameters supplied to the create or update + application gateway operation. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ApplicationGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ApplicationGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ApplicationGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ApplicationGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} + + + def _update_tags_initial( + self, resource_group_name, application_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('ApplicationGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, application_gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates the specified application gateway tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ApplicationGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ApplicationGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ApplicationGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ApplicationGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all application gateways in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 ApplicationGateway + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayPaged[~azure.mgmt.network.v2018_04_01.models.ApplicationGateway] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ApplicationGatewayPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ApplicationGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the application gateways in a subscription. + + :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 ApplicationGateway + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayPaged[~azure.mgmt.network.v2018_04_01.models.ApplicationGateway] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ApplicationGatewayPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ApplicationGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways'} + + + def _start_initial( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.start.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def start( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Starts the specified application gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._start_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start'} + + + def _stop_initial( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.stop.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def stop( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Stops the specified application gateway in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop'} + + + def _backend_health_initial( + self, resource_group_name, application_gateway_name, expand=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.backend_health.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_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') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ApplicationGatewayBackendHealth', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def backend_health( + self, resource_group_name, application_gateway_name, expand=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the backend health of the specified application gateway in a + resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param expand: Expands BackendAddressPool and BackendHttpSettings + referenced in backend health. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ApplicationGatewayBackendHealth or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendHealth] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendHealth]] + :raises: :class:`CloudError` + """ + raw_result = self._backend_health_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + expand=expand, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ApplicationGatewayBackendHealth', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + backend_health.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth'} + + def list_available_waf_rule_sets( + self, custom_headers=None, raw=False, **operation_config): + """Lists all available web application firewall rule sets. + + :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: ApplicationGatewayAvailableWafRuleSetsResult or + ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayAvailableWafRuleSetsResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_available_waf_rule_sets.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ApplicationGatewayAvailableWafRuleSetsResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_available_waf_rule_sets.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets'} + + def list_available_ssl_options( + self, custom_headers=None, raw=False, **operation_config): + """Lists available Ssl options for configuring Ssl policy. + + :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: ApplicationGatewayAvailableSslOptions or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayAvailableSslOptions + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_available_ssl_options.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ApplicationGatewayAvailableSslOptions', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_available_ssl_options.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default'} + + def list_available_ssl_predefined_policies( + self, custom_headers=None, raw=False, **operation_config): + """Lists all SSL predefined policies for configuring Ssl policy. + + :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 + ApplicationGatewaySslPredefinedPolicy + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslPredefinedPolicyPaged[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslPredefinedPolicy] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_available_ssl_predefined_policies.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ApplicationGatewaySslPredefinedPolicyPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ApplicationGatewaySslPredefinedPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_available_ssl_predefined_policies.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies'} + + def get_ssl_predefined_policy( + self, predefined_policy_name, custom_headers=None, raw=False, **operation_config): + """Gets Ssl predefined policy with the specified policy name. + + :param predefined_policy_name: Name of Ssl predefined policy. + :type predefined_policy_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: ApplicationGatewaySslPredefinedPolicy or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslPredefinedPolicy + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_ssl_predefined_policy.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'predefinedPolicyName': self._serialize.url("predefined_policy_name", predefined_policy_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ApplicationGatewaySslPredefinedPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_ssl_predefined_policy.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/application_security_groups_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/application_security_groups_operations.py new file mode 100644 index 000000000000..143dee4af678 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/application_security_groups_operations.py @@ -0,0 +1,424 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ApplicationSecurityGroupsOperations(object): + """ApplicationSecurityGroupsOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified application security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_security_group_name: The name of the application + security group. + :type application_security_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + application_security_group_name=application_security_group_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} + + def get( + self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, **operation_config): + """Gets information about the specified application security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_security_group_name: The name of the application + security group. + :type application_security_group_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: ApplicationSecurityGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ApplicationSecurityGroup 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'), + 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ApplicationSecurityGroup', 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/applicationSecurityGroups/{applicationSecurityGroupName}'} + + + def _create_or_update_initial( + self, resource_group_name, application_security_group_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'ApplicationSecurityGroup') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('ApplicationSecurityGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('ApplicationSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, application_security_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an application security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_security_group_name: The name of the application + security group. + :type application_security_group_name: str + :param parameters: Parameters supplied to the create or update + ApplicationSecurityGroup operation. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.ApplicationSecurityGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ApplicationSecurityGroup or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ApplicationSecurityGroup] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ApplicationSecurityGroup]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + application_security_group_name=application_security_group_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ApplicationSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all application security groups in a subscription. + + :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 ApplicationSecurityGroup + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ApplicationSecurityGroupPaged[~azure.mgmt.network.v2018_04_01.models.ApplicationSecurityGroup] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ApplicationSecurityGroupPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ApplicationSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the application security groups in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 ApplicationSecurityGroup + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ApplicationSecurityGroupPaged[~azure.mgmt.network.v2018_04_01.models.ApplicationSecurityGroup] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ApplicationSecurityGroupPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ApplicationSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/available_endpoint_services_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/available_endpoint_services_operations.py new file mode 100644 index 000000000000..4f62260e8cfd --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/available_endpoint_services_operations.py @@ -0,0 +1,106 @@ +# 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 AvailableEndpointServicesOperations(object): + """AvailableEndpointServicesOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def list( + self, location, custom_headers=None, raw=False, **operation_config): + """List what values of endpoint services are available for use. + + :param location: The location to check available endpoint services. + :type location: 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 EndpointServiceResult + :rtype: + ~azure.mgmt.network.v2018_04_01.models.EndpointServiceResultPaged[~azure.mgmt.network.v2018_04_01.models.EndpointServiceResult] + :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 = { + 'location': self._serialize.url("location", location, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.EndpointServiceResultPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.EndpointServiceResultPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/azure_firewalls_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/azure_firewalls_operations.py new file mode 100644 index 000000000000..b044c86fa4e7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/azure_firewalls_operations.py @@ -0,0 +1,418 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class AzureFirewallsOperations(object): + """AzureFirewallsOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified Azure Firewall. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param azure_firewall_name: The name of the Azure Firewall. + :type azure_firewall_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + azure_firewall_name=azure_firewall_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} + + def get( + self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified Azure Firewall. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param azure_firewall_name: The name of the Azure Firewall. + :type azure_firewall_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: AzureFirewall or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.AzureFirewall 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'), + 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('AzureFirewall', 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/azureFirewalls/{azureFirewallName}'} + + + def _create_or_update_initial( + self, resource_group_name, azure_firewall_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'AzureFirewall') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('AzureFirewall', response) + if response.status_code == 201: + deserialized = self._deserialize('AzureFirewall', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, azure_firewall_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified Azure Firewall. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param azure_firewall_name: The name of the Azure Firewall. + :type azure_firewall_name: str + :param parameters: Parameters supplied to the create or update Azure + Firewall operation. + :type parameters: ~azure.mgmt.network.v2018_04_01.models.AzureFirewall + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns AzureFirewall or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.AzureFirewall] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.AzureFirewall]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + azure_firewall_name=azure_firewall_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AzureFirewall', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all Azure Firewalls in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 AzureFirewall + :rtype: + ~azure.mgmt.network.v2018_04_01.models.AzureFirewallPaged[~azure.mgmt.network.v2018_04_01.models.AzureFirewall] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.AzureFirewallPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.AzureFirewallPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the Azure Firewalls in a subscription. + + :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 AzureFirewall + :rtype: + ~azure.mgmt.network.v2018_04_01.models.AzureFirewallPaged[~azure.mgmt.network.v2018_04_01.models.AzureFirewall] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.AzureFirewallPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.AzureFirewallPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/bgp_service_communities_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/bgp_service_communities_operations.py new file mode 100644 index 000000000000..24a66a5041cf --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/bgp_service_communities_operations.py @@ -0,0 +1,103 @@ +# 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 BgpServiceCommunitiesOperations(object): + """BgpServiceCommunitiesOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the available bgp service communities. + + :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 BgpServiceCommunity + :rtype: + ~azure.mgmt.network.v2018_04_01.models.BgpServiceCommunityPaged[~azure.mgmt.network.v2018_04_01.models.BgpServiceCommunity] + :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 = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.BgpServiceCommunityPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.BgpServiceCommunityPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/bgpServiceCommunities'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/connection_monitors_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/connection_monitors_operations.py new file mode 100644 index 000000000000..eae5645d2fdb --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/connection_monitors_operations.py @@ -0,0 +1,644 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ConnectionMonitorsOperations(object): + """ConnectionMonitorsOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, network_watcher_name, connection_monitor_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'ConnectionMonitor') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('ConnectionMonitorResult', response) + if response.status_code == 201: + deserialized = self._deserialize('ConnectionMonitorResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_watcher_name, connection_monitor_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create or update a connection monitor. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_name: str + :param parameters: Parameters that define the operation to create a + connection monitor. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitor + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ConnectionMonitorResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorResult]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + connection_monitor_name=connection_monitor_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectionMonitorResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} + + def get( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): + """Gets a connection monitor by name. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_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: ConnectionMonitorResult or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorResult + 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'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ConnectionMonitorResult', 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/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} + + + def _delete_initial( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified connection monitor. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + connection_monitor_name=connection_monitor_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} + + + def _stop_initial( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.stop.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def stop( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Stops the specified connection monitor. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + connection_monitor_name=connection_monitor_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop'} + + + def _start_initial( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.start.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def start( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Starts the specified connection monitor. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._start_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + connection_monitor_name=connection_monitor_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start'} + + + def _query_initial( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.query.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ConnectionMonitorQueryResult', response) + if response.status_code == 202: + deserialized = self._deserialize('ConnectionMonitorQueryResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def query( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Query a snapshot of the most recent connection states. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name given to the connection + monitor. + :type connection_monitor_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ConnectionMonitorQueryResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorQueryResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorQueryResult]] + :raises: :class:`CloudError` + """ + raw_result = self._query_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + connection_monitor_name=connection_monitor_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectionMonitorQueryResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + query.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query'} + + def list( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): + """Lists all connection monitors for the specified Network Watcher. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_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 ConnectionMonitorResult + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorResultPaged[~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorResult] + :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'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ConnectionMonitorResultPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ConnectionMonitorResultPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/ddos_protection_plans_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/ddos_protection_plans_operations.py new file mode 100644 index 000000000000..ce8c2ba2ca3b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/ddos_protection_plans_operations.py @@ -0,0 +1,425 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class DdosProtectionPlansOperations(object): + """DdosProtectionPlansOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified DDoS protection plan. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_protection_plan_name: The name of the DDoS protection + plan. + :type ddos_protection_plan_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + ddos_protection_plan_name=ddos_protection_plan_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} + + def get( + self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, **operation_config): + """Gets information about the specified DDoS protection plan. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_protection_plan_name: The name of the DDoS protection + plan. + :type ddos_protection_plan_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: DdosProtectionPlan or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.DdosProtectionPlan 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'), + 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('DdosProtectionPlan', 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/ddosProtectionPlans/{ddosProtectionPlanName}'} + + + def _create_or_update_initial( + self, resource_group_name, ddos_protection_plan_name, location=None, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.DdosProtectionPlan(location=location, tags=tags) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'DdosProtectionPlan') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('DdosProtectionPlan', response) + if response.status_code == 201: + deserialized = self._deserialize('DdosProtectionPlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, ddos_protection_plan_name, location=None, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a DDoS protection plan. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_protection_plan_name: The name of the DDoS protection + plan. + :type ddos_protection_plan_name: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns DdosProtectionPlan or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.DdosProtectionPlan] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.DdosProtectionPlan]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + ddos_protection_plan_name=ddos_protection_plan_name, + location=location, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('DdosProtectionPlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all DDoS protection plans in a subscription. + + :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 DdosProtectionPlan + :rtype: + ~azure.mgmt.network.v2018_04_01.models.DdosProtectionPlanPaged[~azure.mgmt.network.v2018_04_01.models.DdosProtectionPlan] + :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 = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.DdosProtectionPlanPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.DdosProtectionPlanPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the DDoS protection plans in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 DdosProtectionPlan + :rtype: + ~azure.mgmt.network.v2018_04_01.models.DdosProtectionPlanPaged[~azure.mgmt.network.v2018_04_01.models.DdosProtectionPlan] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.DdosProtectionPlanPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.DdosProtectionPlanPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/default_security_rules_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/default_security_rules_operations.py new file mode 100644 index 000000000000..76e09fe071c0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/default_security_rules_operations.py @@ -0,0 +1,177 @@ +# 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 DefaultSecurityRulesOperations(object): + """DefaultSecurityRulesOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def list( + self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all default security rules in a network security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_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 SecurityRule + :rtype: + ~azure.mgmt.network.v2018_04_01.models.SecurityRulePaged[~azure.mgmt.network.v2018_04_01.models.SecurityRule] + :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'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.SecurityRulePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.SecurityRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules'} + + def get( + self, resource_group_name, network_security_group_name, default_security_rule_name, custom_headers=None, raw=False, **operation_config): + """Get the specified default network security rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param default_security_rule_name: The name of the default security + rule. + :type default_security_rule_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: SecurityRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.SecurityRule 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'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + 'defaultSecurityRuleName': self._serialize.url("default_security_rule_name", default_security_rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('SecurityRule', 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/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_circuit_authorizations_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_circuit_authorizations_operations.py new file mode 100644 index 000000000000..43236e8c7a79 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_circuit_authorizations_operations.py @@ -0,0 +1,374 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCircuitAuthorizationsOperations(object): + """ExpressRouteCircuitAuthorizationsOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.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'), + 'authorizationName': self._serialize.url("authorization_name", authorization_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified authorization 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 authorization_name: The name of the authorization. + :type authorization_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + authorization_name=authorization_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}'} + + def get( + self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified authorization 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 authorization_name: The name of the authorization. + :type authorization_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: ExpressRouteCircuitAuthorization or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitAuthorization + 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'), + 'authorizationName': self._serialize.url("authorization_name", authorization_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ExpressRouteCircuitAuthorization', 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}/authorizations/{authorizationName}'} + + + def _create_or_update_initial( + self, resource_group_name, circuit_name, authorization_name, authorization_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.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'), + 'authorizationName': self._serialize.url("authorization_name", authorization_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(authorization_parameters, 'ExpressRouteCircuitAuthorization') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('ExpressRouteCircuitAuthorization', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteCircuitAuthorization', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, circuit_name, authorization_name, authorization_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an authorization in 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 authorization_name: The name of the authorization. + :type authorization_name: str + :param authorization_parameters: Parameters supplied to the create or + update express route circuit authorization operation. + :type authorization_parameters: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitAuthorization + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitAuthorization or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitAuthorization] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitAuthorization]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + authorization_name=authorization_name, + authorization_parameters=authorization_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitAuthorization', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}'} + + def list( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): + """Gets all authorizations 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 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 ExpressRouteCircuitAuthorization + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitAuthorizationPaged[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitAuthorization] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ExpressRouteCircuitAuthorizationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ExpressRouteCircuitAuthorizationPaged(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}/authorizations'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_circuit_connections_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_circuit_connections_operations.py new file mode 100644 index 000000000000..e94c9823008a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_circuit_connections_operations.py @@ -0,0 +1,318 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCircuitConnectionsOperations(object): + """ExpressRouteCircuitConnectionsOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified 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 express route circuit + connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + connection_name=connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}'} + + def get( + self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified 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 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: ExpressRouteCircuitConnection or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitConnection + 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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ExpressRouteCircuitConnection', 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}/connections/{connectionName}'} + + + def _create_or_update_initial( + self, resource_group_name, circuit_name, peering_name, connection_name, express_route_circuit_connection_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(express_route_circuit_connection_parameters, 'ExpressRouteCircuitConnection') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('ExpressRouteCircuitConnection', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteCircuitConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, circuit_name, peering_name, connection_name, express_route_circuit_connection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a Express Route Circuit Connection in the specified + express route circuits. + + :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 express route circuit + connection. + :type connection_name: str + :param express_route_circuit_connection_parameters: Parameters + supplied to the create or update express route circuit circuit + connection operation. + :type express_route_circuit_connection_parameters: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + connection_name=connection_name, + express_route_circuit_connection_parameters=express_route_circuit_connection_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_circuit_peerings_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_circuit_peerings_operations.py new file mode 100644 index 000000000000..bde86bf6ea5f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_circuit_peerings_operations.py @@ -0,0 +1,370 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCircuitPeeringsOperations(object): + """ExpressRouteCircuitPeeringsOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.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') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified peering 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 dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}'} + + def get( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified peering for the 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 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: ExpressRouteCircuitPeering or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeering 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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ExpressRouteCircuitPeering', 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}'} + + + def _create_or_update_initial( + self, resource_group_name, circuit_name, peering_name, peering_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.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') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(peering_parameters, 'ExpressRouteCircuitPeering') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('ExpressRouteCircuitPeering', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteCircuitPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, circuit_name, peering_name, peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a peering in the specified express route circuits. + + :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 peering_parameters: Parameters supplied to the create or update + express route circuit peering operation. + :type peering_parameters: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeering + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitPeering or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeering] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeering]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + peering_parameters=peering_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}'} + + def list( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): + """Gets all peerings in a 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 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 ExpressRouteCircuitPeering + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeeringPaged[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeering] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ExpressRouteCircuitPeeringPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ExpressRouteCircuitPeeringPaged(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'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_circuits_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_circuits_operations.py new file mode 100644 index 000000000000..4a824ce34d99 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_circuits_operations.py @@ -0,0 +1,961 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCircuitsOperations(object): + """ExpressRouteCircuitsOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes 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 dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} + + def get( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): + """Gets information about 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 express route circuit. + :type circuit_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: ExpressRouteCircuit or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuit 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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ExpressRouteCircuit', 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}'} + + + def _create_or_update_initial( + self, resource_group_name, circuit_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'ExpressRouteCircuit') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('ExpressRouteCircuit', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteCircuit', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, circuit_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates 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 parameters: Parameters supplied to the create or update express + route circuit operation. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuit + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ExpressRouteCircuit or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuit] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuit]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuit', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} + + + def _update_tags_initial( + self, resource_group_name, circuit_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('ExpressRouteCircuit', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, circuit_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates an express route circuit tags. + + :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 tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ExpressRouteCircuit or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuit] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuit]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuit', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} + + + def _list_arp_table_initial( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_arp_table.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'), + 'devicePath': self._serialize.url("device_path", device_path, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCircuitsArpTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_arp_table( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the currently advertised ARP table associated with the express + route circuit in a resource group. + + :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 device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitsArpTableListResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitsArpTableListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitsArpTableListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_arp_table_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitsArpTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_arp_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}'} + + + def _list_routes_table_initial( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_routes_table.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'), + 'devicePath': self._serialize.url("device_path", device_path, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCircuitsRoutesTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_routes_table( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the currently advertised routes table associated with the express + route circuit in a resource group. + + :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 device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitsRoutesTableListResult or + ClientRawResponse if + raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitsRoutesTableListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitsRoutesTableListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_routes_table_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_routes_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}'} + + + def _list_routes_table_summary_initial( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_routes_table_summary.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'), + 'devicePath': self._serialize.url("device_path", device_path, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCircuitsRoutesTableSummaryListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_routes_table_summary( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the currently advertised routes table summary associated with the + express route circuit in a resource group. + + :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 device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitsRoutesTableSummaryListResult or + ClientRawResponse if + raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitsRoutesTableSummaryListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitsRoutesTableSummaryListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_routes_table_summary_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableSummaryListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_routes_table_summary.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}'} + + def get_stats( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): + """Gets all the stats from an express route circuit in a resource group. + + :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 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: ExpressRouteCircuitStats or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitStats or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_stats.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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ExpressRouteCircuitStats', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_stats.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats'} + + def get_peering_stats( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): + """Gets all stats from an express route circuit in a resource group. + + :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 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: ExpressRouteCircuitStats or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitStats or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_peering_stats.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') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ExpressRouteCircuitStats', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_peering_stats.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the express route circuits in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 ExpressRouteCircuit + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPaged[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuit] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ExpressRouteCircuitPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ExpressRouteCircuitPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the express route circuits in a subscription. + + :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 ExpressRouteCircuit + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPaged[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuit] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ExpressRouteCircuitPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ExpressRouteCircuitPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_cross_connection_peerings_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_cross_connection_peerings_operations.py new file mode 100644 index 000000000000..cf13b0cf877d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_cross_connection_peerings_operations.py @@ -0,0 +1,377 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCrossConnectionPeeringsOperations(object): + """ExpressRouteCrossConnectionPeeringsOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def list( + self, resource_group_name, cross_connection_name, custom_headers=None, raw=False, **operation_config): + """Gets all peerings in a specified ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_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: An iterator like instance of + ExpressRouteCrossConnectionPeering + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnectionPeeringPaged[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnectionPeering] + :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'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_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') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ExpressRouteCrossConnectionPeeringPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ExpressRouteCrossConnectionPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings'} + + + def _delete_initial( + self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_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') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified peering from the ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_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: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + peering_name=peering_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} + + def get( + self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified peering for the ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_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: ExpressRouteCrossConnectionPeering or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnectionPeering + 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'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_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') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ExpressRouteCrossConnectionPeering', 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/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} + + + def _create_or_update_initial( + self, resource_group_name, cross_connection_name, peering_name, peering_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_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') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(peering_parameters, 'ExpressRouteCrossConnectionPeering') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('ExpressRouteCrossConnectionPeering', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteCrossConnectionPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, cross_connection_name, peering_name, peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a peering in the specified + ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param peering_parameters: Parameters supplied to the create or update + ExpressRouteCrossConnection peering operation. + :type peering_parameters: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnectionPeering + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCrossConnectionPeering or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnectionPeering] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnectionPeering]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + peering_name=peering_name, + peering_parameters=peering_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCrossConnectionPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_cross_connections_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_cross_connections_operations.py new file mode 100644 index 000000000000..84c47aaccc47 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_cross_connections_operations.py @@ -0,0 +1,759 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCrossConnectionsOperations(object): + """ExpressRouteCrossConnectionsOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Retrieves all the ExpressRouteCrossConnections in a subscription. + + :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 ExpressRouteCrossConnection + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnectionPaged[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnection] + :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 = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ExpressRouteCrossConnectionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ExpressRouteCrossConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCrossConnections'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Retrieves all the ExpressRouteCrossConnections in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 ExpressRouteCrossConnection + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnectionPaged[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnection] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ExpressRouteCrossConnectionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ExpressRouteCrossConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections'} + + def get( + self, resource_group_name, cross_connection_name, custom_headers=None, raw=False, **operation_config): + """Gets details about the specified ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group (peering + location of the circuit). + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection (service key of the circuit). + :type cross_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: ExpressRouteCrossConnection or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnection 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'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ExpressRouteCrossConnection', 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/expressRouteCrossConnections/{crossConnectionName}'} + + + def _create_or_update_initial( + self, resource_group_name, cross_connection_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'ExpressRouteCrossConnection') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('ExpressRouteCrossConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, cross_connection_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Update the specified ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param parameters: Parameters supplied to the update express route + crossConnection operation. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCrossConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCrossConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}'} + + + def _update_tags_initial( + self, resource_group_name, cross_connection_name, tags=None, custom_headers=None, raw=False, **operation_config): + cross_connection_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(cross_connection_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('ExpressRouteCrossConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, cross_connection_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates an express route cross connection tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the cross connection. + :type cross_connection_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCrossConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCrossConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}'} + + + def _list_arp_table_initial( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_arp_table.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'devicePath': self._serialize.url("device_path", device_path, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCircuitsArpTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_arp_table( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the currently advertised ARP table associated with the express + route cross connection in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param device_path: The path of the device + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitsArpTableListResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitsArpTableListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitsArpTableListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_arp_table_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitsArpTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_arp_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}'} + + + def _list_routes_table_summary_initial( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_routes_table_summary.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'devicePath': self._serialize.url("device_path", device_path, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCrossConnectionsRoutesTableSummaryListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_routes_table_summary( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the route table summary associated with the express route cross + connection in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCrossConnectionsRoutesTableSummaryListResult or + ClientRawResponse + if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnectionsRoutesTableSummaryListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnectionsRoutesTableSummaryListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_routes_table_summary_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCrossConnectionsRoutesTableSummaryListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_routes_table_summary.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}'} + + + def _list_routes_table_initial( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_routes_table.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'devicePath': self._serialize.url("device_path", device_path, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCircuitsRoutesTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_routes_table( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the currently advertised routes table associated with the express + route cross connection in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitsRoutesTableListResult or + ClientRawResponse if + raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitsRoutesTableListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitsRoutesTableListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_routes_table_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_routes_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_service_providers_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_service_providers_operations.py new file mode 100644 index 000000000000..e8c0484347c3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/express_route_service_providers_operations.py @@ -0,0 +1,103 @@ +# 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 ExpressRouteServiceProvidersOperations(object): + """ExpressRouteServiceProvidersOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the available express route service providers. + + :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 ExpressRouteServiceProvider + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ExpressRouteServiceProviderPaged[~azure.mgmt.network.v2018_04_01.models.ExpressRouteServiceProvider] + :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 = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ExpressRouteServiceProviderPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ExpressRouteServiceProviderPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/hub_virtual_network_connections_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/hub_virtual_network_connections_operations.py new file mode 100644 index 000000000000..ba40d2434437 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/hub_virtual_network_connections_operations.py @@ -0,0 +1,172 @@ +# 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 .. import models + + +class HubVirtualNetworkConnectionsOperations(object): + """HubVirtualNetworkConnectionsOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def get( + self, resource_group_name, virtual_hub_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a HubVirtualNetworkConnection. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param connection_name: The name of the vpn 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: HubVirtualNetworkConnection or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2018_04_01.models.HubVirtualNetworkConnection or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('HubVirtualNetworkConnection', 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/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections/{connectionName}'} + + def list( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of all HubVirtualNetworkConnections. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_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 HubVirtualNetworkConnection + :rtype: + ~azure.mgmt.network.v2018_04_01.models.HubVirtualNetworkConnectionPaged[~azure.mgmt.network.v2018_04_01.models.HubVirtualNetworkConnection] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.HubVirtualNetworkConnectionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.HubVirtualNetworkConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/inbound_nat_rules_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/inbound_nat_rules_operations.py new file mode 100644 index 000000000000..632dd381195b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/inbound_nat_rules_operations.py @@ -0,0 +1,372 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class InboundNatRulesOperations(object): + """InboundNatRulesOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the inbound nat rules in a load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_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 InboundNatRule + :rtype: + ~azure.mgmt.network.v2018_04_01.models.InboundNatRulePaged[~azure.mgmt.network.v2018_04_01.models.InboundNatRule] + :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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.InboundNatRulePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.InboundNatRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules'} + + + def _delete_initial( + self, resource_group_name, load_balancer_name, inbound_nat_rule_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, load_balancer_name, inbound_nat_rule_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified load balancer inbound nat rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param inbound_nat_rule_name: The name of the inbound nat rule. + :type inbound_nat_rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + inbound_nat_rule_name=inbound_nat_rule_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} + + def get( + self, resource_group_name, load_balancer_name, inbound_nat_rule_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified load balancer inbound nat rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param inbound_nat_rule_name: The name of the inbound nat rule. + :type inbound_nat_rule_name: str + :param expand: Expands referenced resources. + :type expand: 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: InboundNatRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.InboundNatRule 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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_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') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('InboundNatRule', 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/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} + + + def _create_or_update_initial( + self, resource_group_name, load_balancer_name, inbound_nat_rule_name, inbound_nat_rule_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(inbound_nat_rule_parameters, 'InboundNatRule') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('InboundNatRule', response) + if response.status_code == 201: + deserialized = self._deserialize('InboundNatRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, load_balancer_name, inbound_nat_rule_name, inbound_nat_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a load balancer inbound nat rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param inbound_nat_rule_name: The name of the inbound nat rule. + :type inbound_nat_rule_name: str + :param inbound_nat_rule_parameters: Parameters supplied to the create + or update inbound nat rule operation. + :type inbound_nat_rule_parameters: + ~azure.mgmt.network.v2018_04_01.models.InboundNatRule + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns InboundNatRule or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.InboundNatRule] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.InboundNatRule]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + inbound_nat_rule_name=inbound_nat_rule_name, + inbound_nat_rule_parameters=inbound_nat_rule_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('InboundNatRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/load_balancer_backend_address_pools_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/load_balancer_backend_address_pools_operations.py new file mode 100644 index 000000000000..61d9bf40166c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/load_balancer_backend_address_pools_operations.py @@ -0,0 +1,175 @@ +# 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 LoadBalancerBackendAddressPoolsOperations(object): + """LoadBalancerBackendAddressPoolsOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancer backed address pools. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_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 BackendAddressPool + :rtype: + ~azure.mgmt.network.v2018_04_01.models.BackendAddressPoolPaged[~azure.mgmt.network.v2018_04_01.models.BackendAddressPool] + :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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.BackendAddressPoolPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.BackendAddressPoolPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools'} + + def get( + self, resource_group_name, load_balancer_name, backend_address_pool_name, custom_headers=None, raw=False, **operation_config): + """Gets load balancer backend address pool. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param backend_address_pool_name: The name of the backend address + pool. + :type backend_address_pool_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: BackendAddressPool or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.BackendAddressPool 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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'backendAddressPoolName': self._serialize.url("backend_address_pool_name", backend_address_pool_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('BackendAddressPool', 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/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/load_balancer_frontend_ip_configurations_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/load_balancer_frontend_ip_configurations_operations.py new file mode 100644 index 000000000000..816a6ddc1b9e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/load_balancer_frontend_ip_configurations_operations.py @@ -0,0 +1,175 @@ +# 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 LoadBalancerFrontendIPConfigurationsOperations(object): + """LoadBalancerFrontendIPConfigurationsOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancer frontend IP configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_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 FrontendIPConfiguration + :rtype: + ~azure.mgmt.network.v2018_04_01.models.FrontendIPConfigurationPaged[~azure.mgmt.network.v2018_04_01.models.FrontendIPConfiguration] + :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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.FrontendIPConfigurationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.FrontendIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations'} + + def get( + self, resource_group_name, load_balancer_name, frontend_ip_configuration_name, custom_headers=None, raw=False, **operation_config): + """Gets load balancer frontend IP configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param frontend_ip_configuration_name: The name of the frontend IP + configuration. + :type frontend_ip_configuration_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: FrontendIPConfiguration or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.FrontendIPConfiguration + 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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'frontendIPConfigurationName': self._serialize.url("frontend_ip_configuration_name", frontend_ip_configuration_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('FrontendIPConfiguration', 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/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/load_balancer_load_balancing_rules_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/load_balancer_load_balancing_rules_operations.py new file mode 100644 index 000000000000..d2b1aa8f8f2d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/load_balancer_load_balancing_rules_operations.py @@ -0,0 +1,174 @@ +# 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 LoadBalancerLoadBalancingRulesOperations(object): + """LoadBalancerLoadBalancingRulesOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancing rules in a load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_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 LoadBalancingRule + :rtype: + ~azure.mgmt.network.v2018_04_01.models.LoadBalancingRulePaged[~azure.mgmt.network.v2018_04_01.models.LoadBalancingRule] + :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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.LoadBalancingRulePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.LoadBalancingRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules'} + + def get( + self, resource_group_name, load_balancer_name, load_balancing_rule_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified load balancer load balancing rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param load_balancing_rule_name: The name of the load balancing rule. + :type load_balancing_rule_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: LoadBalancingRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.LoadBalancingRule 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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'loadBalancingRuleName': self._serialize.url("load_balancing_rule_name", load_balancing_rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('LoadBalancingRule', 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/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/load_balancer_network_interfaces_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/load_balancer_network_interfaces_operations.py new file mode 100644 index 000000000000..920e8a873cc6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/load_balancer_network_interfaces_operations.py @@ -0,0 +1,109 @@ +# 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 LoadBalancerNetworkInterfacesOperations(object): + """LoadBalancerNetworkInterfacesOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets associated load balancer network interfaces. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_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 NetworkInterface + :rtype: + ~azure.mgmt.network.v2018_04_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2018_04_01.models.NetworkInterface] + :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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/load_balancer_probes_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/load_balancer_probes_operations.py new file mode 100644 index 000000000000..e94178445f9f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/load_balancer_probes_operations.py @@ -0,0 +1,174 @@ +# 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 LoadBalancerProbesOperations(object): + """LoadBalancerProbesOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancer probes. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_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 Probe + :rtype: + ~azure.mgmt.network.v2018_04_01.models.ProbePaged[~azure.mgmt.network.v2018_04_01.models.Probe] + :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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ProbePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ProbePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes'} + + def get( + self, resource_group_name, load_balancer_name, probe_name, custom_headers=None, raw=False, **operation_config): + """Gets load balancer probe. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param probe_name: The name of the probe. + :type probe_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: Probe or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.Probe 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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'probeName': self._serialize.url("probe_name", probe_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('Probe', 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/loadBalancers/{loadBalancerName}/probes/{probeName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/load_balancers_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/load_balancers_operations.py new file mode 100644 index 000000000000..aa655f4794a5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/load_balancers_operations.py @@ -0,0 +1,524 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class LoadBalancersOperations(object): + """LoadBalancersOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} + + def get( + self, resource_group_name, load_balancer_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param expand: Expands referenced resources. + :type expand: 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: LoadBalancer or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.LoadBalancer 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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_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') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('LoadBalancer', 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/loadBalancers/{loadBalancerName}'} + + + def _create_or_update_initial( + self, resource_group_name, load_balancer_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'LoadBalancer') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('LoadBalancer', response) + if response.status_code == 201: + deserialized = self._deserialize('LoadBalancer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, load_balancer_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param parameters: Parameters supplied to the create or update load + balancer operation. + :type parameters: ~azure.mgmt.network.v2018_04_01.models.LoadBalancer + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns LoadBalancer or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.LoadBalancer] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.LoadBalancer]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('LoadBalancer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} + + + def _update_tags_initial( + self, resource_group_name, load_balancer_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('LoadBalancer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, load_balancer_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a load balancer tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns LoadBalancer or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.LoadBalancer] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.LoadBalancer]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('LoadBalancer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancers in a subscription. + + :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 LoadBalancer + :rtype: + ~azure.mgmt.network.v2018_04_01.models.LoadBalancerPaged[~azure.mgmt.network.v2018_04_01.models.LoadBalancer] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.LoadBalancerPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancers in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 LoadBalancer + :rtype: + ~azure.mgmt.network.v2018_04_01.models.LoadBalancerPaged[~azure.mgmt.network.v2018_04_01.models.LoadBalancer] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.LoadBalancerPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/local_network_gateways_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/local_network_gateways_operations.py new file mode 100644 index 000000000000..59a55533c6d0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/local_network_gateways_operations.py @@ -0,0 +1,461 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class LocalNetworkGatewaysOperations(object): + """LocalNetworkGatewaysOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, local_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'LocalNetworkGateway') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('LocalNetworkGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('LocalNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, local_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a local network gateway in the specified resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param local_network_gateway_name: The name of the local network + gateway. + :type local_network_gateway_name: str + :param parameters: Parameters supplied to the create or update local + network gateway operation. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.LocalNetworkGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns LocalNetworkGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.LocalNetworkGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.LocalNetworkGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + local_network_gateway_name=local_network_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('LocalNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} + + def get( + self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified local network gateway in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param local_network_gateway_name: The name of the local network + gateway. + :type local_network_gateway_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: LocalNetworkGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.LocalNetworkGateway 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'), + 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('LocalNetworkGateway', 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/localNetworkGateways/{localNetworkGatewayName}'} + + + def _delete_initial( + self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified local network gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param local_network_gateway_name: The name of the local network + gateway. + :type local_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + local_network_gateway_name=local_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} + + + def _update_tags_initial( + self, resource_group_name, local_network_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('LocalNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, local_network_gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a local network gateway tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param local_network_gateway_name: The name of the local network + gateway. + :type local_network_gateway_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns LocalNetworkGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.LocalNetworkGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.LocalNetworkGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + local_network_gateway_name=local_network_gateway_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('LocalNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the local network gateways in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 LocalNetworkGateway + :rtype: + ~azure.mgmt.network.v2018_04_01.models.LocalNetworkGatewayPaged[~azure.mgmt.network.v2018_04_01.models.LocalNetworkGateway] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.LocalNetworkGatewayPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.LocalNetworkGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/network_interface_ip_configurations_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/network_interface_ip_configurations_operations.py new file mode 100644 index 000000000000..68b11dd7b164 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/network_interface_ip_configurations_operations.py @@ -0,0 +1,176 @@ +# 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 NetworkInterfaceIPConfigurationsOperations(object): + """NetworkInterfaceIPConfigurationsOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def list( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + """Get all ip configurations in a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_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 NetworkInterfaceIPConfiguration + :rtype: + ~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfigurationPaged[~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfiguration] + :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'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkInterfaceIPConfigurationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkInterfaceIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations'} + + def get( + self, resource_group_name, network_interface_name, ip_configuration_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified network interface ip configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param ip_configuration_name: The name of the ip configuration name. + :type ip_configuration_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: NetworkInterfaceIPConfiguration or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfiguration + 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'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('NetworkInterfaceIPConfiguration', 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/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/network_interface_load_balancers_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/network_interface_load_balancers_operations.py new file mode 100644 index 000000000000..7f7fa95c1b73 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/network_interface_load_balancers_operations.py @@ -0,0 +1,109 @@ +# 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 NetworkInterfaceLoadBalancersOperations(object): + """NetworkInterfaceLoadBalancersOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def list( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + """List all load balancers in a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_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 LoadBalancer + :rtype: + ~azure.mgmt.network.v2018_04_01.models.LoadBalancerPaged[~azure.mgmt.network.v2018_04_01.models.LoadBalancer] + :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'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.LoadBalancerPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/network_interfaces_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/network_interfaces_operations.py new file mode 100644 index 000000000000..f8d9075a3f21 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/network_interfaces_operations.py @@ -0,0 +1,1121 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class NetworkInterfacesOperations(object): + """NetworkInterfacesOperations 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. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self.config = config + + + def _delete_initial( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + api_version = "2018-04-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} + + def get( + self, resource_group_name, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets information about the specified network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param expand: Expands referenced resources. + :type expand: 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: NetworkInterface or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.NetworkInterface or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2018-04-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('NetworkInterface', 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/networkInterfaces/{networkInterfaceName}'} + + + def _create_or_update_initial( + self, resource_group_name, network_interface_name, parameters, custom_headers=None, raw=False, **operation_config): + api_version = "2018-04-01" + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'NetworkInterface') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('NetworkInterface', response) + if response.status_code == 201: + deserialized = self._deserialize('NetworkInterface', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_interface_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param parameters: Parameters supplied to the create or update network + interface operation. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.NetworkInterface + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NetworkInterface or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.NetworkInterface] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.NetworkInterface]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NetworkInterface', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} + + + def _update_tags_initial( + self, resource_group_name, network_interface_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + api_version = "2018-04-01" + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('NetworkInterface', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, network_interface_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a network interface tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NetworkInterface or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.NetworkInterface] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.NetworkInterface]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NetworkInterface', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all network interfaces in a subscription. + + :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 NetworkInterface + :rtype: + ~azure.mgmt.network.v2018_04_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2018_04_01.models.NetworkInterface] + :raises: :class:`CloudError` + """ + api_version = "2018-04-01" + + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all network interfaces in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 NetworkInterface + :rtype: + ~azure.mgmt.network.v2018_04_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2018_04_01.models.NetworkInterface] + :raises: :class:`CloudError` + """ + api_version = "2018-04-01" + + 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'), + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces'} + + + def _get_effective_route_table_initial( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + api_version = "2018-04-01" + + # Construct URL + url = self.get_effective_route_table.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('EffectiveRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_effective_route_table( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets all route tables applied to a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + EffectiveRouteListResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.EffectiveRouteListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.EffectiveRouteListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_effective_route_table_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('EffectiveRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_effective_route_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable'} + + + def _list_effective_network_security_groups_initial( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + api_version = "2018-04-01" + + # Construct URL + url = self.list_effective_network_security_groups.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('EffectiveNetworkSecurityGroupListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_effective_network_security_groups( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets all network security groups applied to a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + EffectiveNetworkSecurityGroupListResult or + ClientRawResponse if + raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.EffectiveNetworkSecurityGroupListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.EffectiveNetworkSecurityGroupListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_effective_network_security_groups_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('EffectiveNetworkSecurityGroupListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_effective_network_security_groups.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups'} + + def list_virtual_machine_scale_set_vm_network_interfaces( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, custom_headers=None, raw=False, **operation_config): + """Gets information about all network interfaces in a virtual machine in a + virtual machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: 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 NetworkInterface + :rtype: + ~azure.mgmt.network.v2018_04_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2018_04_01.models.NetworkInterface] + :raises: :class:`CloudError` + """ + api_version = "2017-03-30" + + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_virtual_machine_scale_set_vm_network_interfaces.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_virtual_machine_scale_set_vm_network_interfaces.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces'} + + def list_virtual_machine_scale_set_network_interfaces( + self, resource_group_name, virtual_machine_scale_set_name, custom_headers=None, raw=False, **operation_config): + """Gets all network interfaces in a virtual machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_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 NetworkInterface + :rtype: + ~azure.mgmt.network.v2018_04_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2018_04_01.models.NetworkInterface] + :raises: :class:`CloudError` + """ + api_version = "2017-03-30" + + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_virtual_machine_scale_set_network_interfaces.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_virtual_machine_scale_set_network_interfaces.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces'} + + def get_virtual_machine_scale_set_network_interface( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Get the specified network interface in a virtual machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param expand: Expands referenced resources. + :type expand: 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: NetworkInterface or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.NetworkInterface or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2017-03-30" + + # Construct URL + url = self.get_virtual_machine_scale_set_network_interface.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('NetworkInterface', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_virtual_machine_scale_set_network_interface.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}'} + + def list_virtual_machine_scale_set_ip_configurations( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Get the specified network interface ip configuration in a virtual + machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param expand: Expands referenced resources. + :type expand: 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 NetworkInterfaceIPConfiguration + :rtype: + ~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfigurationPaged[~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfiguration] + :raises: :class:`CloudError` + """ + api_version = "2017-03-30" + + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_virtual_machine_scale_set_ip_configurations.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkInterfaceIPConfigurationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkInterfaceIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_virtual_machine_scale_set_ip_configurations.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations'} + + def get_virtual_machine_scale_set_ip_configuration( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Get the specified network interface ip configuration in a virtual + machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param ip_configuration_name: The name of the ip configuration. + :type ip_configuration_name: str + :param expand: Expands referenced resources. + :type expand: 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: NetworkInterfaceIPConfiguration or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2017-03-30" + + # Construct URL + url = self.get_virtual_machine_scale_set_ip_configuration.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('NetworkInterfaceIPConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_virtual_machine_scale_set_ip_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/network_security_groups_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/network_security_groups_operations.py new file mode 100644 index 000000000000..55fe5bd51081 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/network_security_groups_operations.py @@ -0,0 +1,530 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class NetworkSecurityGroupsOperations(object): + """NetworkSecurityGroupsOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified network security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_security_group_name=network_security_group_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} + + def get( + self, resource_group_name, network_security_group_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified network security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param expand: Expands referenced resources. + :type expand: 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: NetworkSecurityGroup or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.NetworkSecurityGroup 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'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_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') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('NetworkSecurityGroup', 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/networkSecurityGroups/{networkSecurityGroupName}'} + + + def _create_or_update_initial( + self, resource_group_name, network_security_group_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'NetworkSecurityGroup') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('NetworkSecurityGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('NetworkSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_security_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a network security group in the specified resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param parameters: Parameters supplied to the create or update network + security group operation. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.NetworkSecurityGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NetworkSecurityGroup or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.NetworkSecurityGroup] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.NetworkSecurityGroup]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_security_group_name=network_security_group_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NetworkSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} + + + def _update_tags_initial( + self, resource_group_name, network_security_group_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('NetworkSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, network_security_group_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a network security group tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NetworkSecurityGroup or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.NetworkSecurityGroup] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.NetworkSecurityGroup]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + network_security_group_name=network_security_group_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NetworkSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all network security groups in a subscription. + + :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 NetworkSecurityGroup + :rtype: + ~azure.mgmt.network.v2018_04_01.models.NetworkSecurityGroupPaged[~azure.mgmt.network.v2018_04_01.models.NetworkSecurityGroup] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkSecurityGroupPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all network security groups in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 NetworkSecurityGroup + :rtype: + ~azure.mgmt.network.v2018_04_01.models.NetworkSecurityGroupPaged[~azure.mgmt.network.v2018_04_01.models.NetworkSecurityGroup] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkSecurityGroupPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/network_watchers_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/network_watchers_operations.py new file mode 100644 index 000000000000..2d738f88e21b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/network_watchers_operations.py @@ -0,0 +1,1582 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class NetworkWatchersOperations(object): + """NetworkWatchersOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def create_or_update( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a network watcher in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param parameters: Parameters that define the network watcher + resource. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.NetworkWatcher + :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: NetworkWatcher or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.NetworkWatcher or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'NetworkWatcher') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('NetworkWatcher', response) + if response.status_code == 201: + deserialized = self._deserialize('NetworkWatcher', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} + + def get( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified network watcher by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_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: NetworkWatcher or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.NetworkWatcher 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'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('NetworkWatcher', 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/networkWatchers/{networkWatcherName}'} + + + def _delete_initial( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified network watcher resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} + + def update_tags( + self, resource_group_name, network_watcher_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a network watcher tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param tags: Resource tags. + :type tags: dict[str, 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: NetworkWatcher or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.NetworkWatcher or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('NetworkWatcher', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all network watchers by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 NetworkWatcher + :rtype: + ~azure.mgmt.network.v2018_04_01.models.NetworkWatcherPaged[~azure.mgmt.network.v2018_04_01.models.NetworkWatcher] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkWatcherPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkWatcherPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all network watchers by subscription. + + :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 NetworkWatcher + :rtype: + ~azure.mgmt.network.v2018_04_01.models.NetworkWatcherPaged[~azure.mgmt.network.v2018_04_01.models.NetworkWatcher] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkWatcherPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkWatcherPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers'} + + def get_topology( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + """Gets the current network topology by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param parameters: Parameters that define the representation of + topology. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.TopologyParameters + :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: Topology or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.Topology or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_topology.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TopologyParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('Topology', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_topology.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology'} + + + def _verify_ip_flow_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.verify_ip_flow.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'VerificationIPFlowParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VerificationIPFlowResult', response) + if response.status_code == 202: + deserialized = self._deserialize('VerificationIPFlowResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def verify_ip_flow( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Verify IP flow from the specified VM to a location given the currently + configured NSG rules. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param parameters: Parameters that define the IP flow to be verified. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.VerificationIPFlowParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VerificationIPFlowResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.VerificationIPFlowResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.VerificationIPFlowResult]] + :raises: :class:`CloudError` + """ + raw_result = self._verify_ip_flow_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VerificationIPFlowResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + verify_ip_flow.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify'} + + + def _get_next_hop_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_next_hop.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'NextHopParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('NextHopResult', response) + if response.status_code == 202: + deserialized = self._deserialize('NextHopResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_next_hop( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the next hop from the specified VM. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param parameters: Parameters that define the source and destination + endpoint. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.NextHopParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NextHopResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.NextHopResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.NextHopResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_next_hop_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NextHopResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_next_hop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop'} + + + def _get_vm_security_rules_initial( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): + parameters = models.SecurityGroupViewParameters(target_resource_id=target_resource_id) + + # Construct URL + url = self.get_vm_security_rules.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'SecurityGroupViewParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('SecurityGroupViewResult', response) + if response.status_code == 202: + deserialized = self._deserialize('SecurityGroupViewResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_vm_security_rules( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the configured and effective security group rules on the specified + VM. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param target_resource_id: ID of the target VM. + :type target_resource_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns SecurityGroupViewResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.SecurityGroupViewResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.SecurityGroupViewResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_vm_security_rules_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + target_resource_id=target_resource_id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('SecurityGroupViewResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_vm_security_rules.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView'} + + + def _get_troubleshooting_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_troubleshooting.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TroubleshootingParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('TroubleshootingResult', response) + if response.status_code == 202: + deserialized = self._deserialize('TroubleshootingResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_troubleshooting( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Initiate troubleshooting on a specified resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param parameters: Parameters that define the resource to + troubleshoot. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.TroubleshootingParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns TroubleshootingResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.TroubleshootingResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.TroubleshootingResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_troubleshooting_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('TroubleshootingResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_troubleshooting.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot'} + + + def _get_troubleshooting_result_initial( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): + parameters = models.QueryTroubleshootingParameters(target_resource_id=target_resource_id) + + # Construct URL + url = self.get_troubleshooting_result.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'QueryTroubleshootingParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('TroubleshootingResult', response) + if response.status_code == 202: + deserialized = self._deserialize('TroubleshootingResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_troubleshooting_result( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): + """Get the last completed troubleshooting result on a specified resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param target_resource_id: The target resource ID to query the + troubleshooting result. + :type target_resource_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns TroubleshootingResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.TroubleshootingResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.TroubleshootingResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_troubleshooting_result_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + target_resource_id=target_resource_id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('TroubleshootingResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_troubleshooting_result.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult'} + + + def _set_flow_log_configuration_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.set_flow_log_configuration.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'FlowLogInformation') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('FlowLogInformation', response) + if response.status_code == 202: + deserialized = self._deserialize('FlowLogInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def set_flow_log_configuration( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Configures flow log and traffic analytics (optional) on a specified + resource. + + :param resource_group_name: The name of the network watcher resource + group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param parameters: Parameters that define the configuration of flow + log. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.FlowLogInformation + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns FlowLogInformation or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.FlowLogInformation] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.FlowLogInformation]] + :raises: :class:`CloudError` + """ + raw_result = self._set_flow_log_configuration_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('FlowLogInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + set_flow_log_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog'} + + + def _get_flow_log_status_initial( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): + parameters = models.FlowLogStatusParameters(target_resource_id=target_resource_id) + + # Construct URL + url = self.get_flow_log_status.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'FlowLogStatusParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('FlowLogInformation', response) + if response.status_code == 202: + deserialized = self._deserialize('FlowLogInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_flow_log_status( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): + """Queries status of flow log and traffic analytics (optional) on a + specified resource. + + :param resource_group_name: The name of the network watcher resource + group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param target_resource_id: The target resource where getting the flow + log and traffic analytics (optional) status. + :type target_resource_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns FlowLogInformation or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.FlowLogInformation] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.FlowLogInformation]] + :raises: :class:`CloudError` + """ + raw_result = self._get_flow_log_status_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + target_resource_id=target_resource_id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('FlowLogInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_flow_log_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus'} + + + def _check_connectivity_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.check_connectivity.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'ConnectivityParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ConnectivityInformation', response) + if response.status_code == 202: + deserialized = self._deserialize('ConnectivityInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def check_connectivity( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Verifies the possibility of establishing a direct TCP connection from a + virtual machine to a given endpoint including another VM or an + arbitrary remote server. + + :param resource_group_name: The name of the network watcher resource + group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param parameters: Parameters that determine how the connectivity + check will be performed. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.ConnectivityParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ConnectivityInformation + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ConnectivityInformation] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ConnectivityInformation]] + :raises: :class:`CloudError` + """ + raw_result = self._check_connectivity_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectivityInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + check_connectivity.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck'} + + + def _get_azure_reachability_report_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_azure_reachability_report.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'AzureReachabilityReportParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('AzureReachabilityReport', response) + if response.status_code == 202: + deserialized = self._deserialize('AzureReachabilityReport', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_azure_reachability_report( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the relative latency score for internet service providers from a + specified location to Azure regions. + + :param resource_group_name: The name of the network watcher resource + group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param parameters: Parameters that determine Azure reachability report + configuration. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.AzureReachabilityReportParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns AzureReachabilityReport + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.AzureReachabilityReport] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.AzureReachabilityReport]] + :raises: :class:`CloudError` + """ + raw_result = self._get_azure_reachability_report_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AzureReachabilityReport', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_azure_reachability_report.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport'} + + + def _list_available_providers_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_available_providers.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'AvailableProvidersListParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('AvailableProvidersList', response) + if response.status_code == 202: + deserialized = self._deserialize('AvailableProvidersList', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_available_providers( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Lists all available internet service providers for a specified Azure + region. + + :param resource_group_name: The name of the network watcher resource + group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param parameters: Parameters that scope the list of available + providers. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.AvailableProvidersListParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns AvailableProvidersList + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.AvailableProvidersList] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.AvailableProvidersList]] + :raises: :class:`CloudError` + """ + raw_result = self._list_available_providers_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AvailableProvidersList', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_available_providers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/operations.py new file mode 100644 index 000000000000..c7487634770e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/operations.py @@ -0,0 +1,99 @@ +# 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 Operations(object): + """Operations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available Network Rest API operations. + + :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 Operation + :rtype: + ~azure.mgmt.network.v2018_04_01.models.OperationPaged[~azure.mgmt.network.v2018_04_01.models.Operation] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # 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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.OperationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/providers/Microsoft.Network/operations'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/packet_captures_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/packet_captures_operations.py new file mode 100644 index 000000000000..a44937357b71 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/packet_captures_operations.py @@ -0,0 +1,550 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class PacketCapturesOperations(object): + """PacketCapturesOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _create_initial( + self, resource_group_name, network_watcher_name, packet_capture_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'PacketCapture') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PacketCaptureResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create( + self, resource_group_name, network_watcher_name, packet_capture_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create and start a packet capture on the specified VM. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param packet_capture_name: The name of the packet capture session. + :type packet_capture_name: str + :param parameters: Parameters that define the create packet capture + operation. + :type parameters: ~azure.mgmt.network.v2018_04_01.models.PacketCapture + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PacketCaptureResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.PacketCaptureResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.PacketCaptureResult]] + :raises: :class:`CloudError` + """ + raw_result = self._create_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + packet_capture_name=packet_capture_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PacketCaptureResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} + + def get( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): + """Gets a packet capture session by name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param packet_capture_name: The name of the packet capture session. + :type packet_capture_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: PacketCaptureResult or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.PacketCaptureResult 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'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('PacketCaptureResult', 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/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} + + + def _delete_initial( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified packet capture session. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param packet_capture_name: The name of the packet capture session. + :type packet_capture_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + packet_capture_name=packet_capture_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} + + + def _stop_initial( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.stop.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def stop( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Stops a specified packet capture session. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param packet_capture_name: The name of the packet capture session. + :type packet_capture_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + packet_capture_name=packet_capture_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop'} + + + def _get_status_initial( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_status.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('PacketCaptureQueryStatusResult', response) + if response.status_code == 202: + deserialized = self._deserialize('PacketCaptureQueryStatusResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_status( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Query the status of a running packet capture session. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param packet_capture_name: The name given to the packet capture + session. + :type packet_capture_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + PacketCaptureQueryStatusResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.PacketCaptureQueryStatusResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.PacketCaptureQueryStatusResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_status_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + packet_capture_name=packet_capture_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PacketCaptureQueryStatusResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus'} + + def list( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): + """Lists all packet capture sessions within the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_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 PacketCaptureResult + :rtype: + ~azure.mgmt.network.v2018_04_01.models.PacketCaptureResultPaged[~azure.mgmt.network.v2018_04_01.models.PacketCaptureResult] + :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'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.PacketCaptureResultPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PacketCaptureResultPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/public_ip_addresses_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/public_ip_addresses_operations.py new file mode 100644 index 000000000000..4dda01462aac --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/public_ip_addresses_operations.py @@ -0,0 +1,775 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class PublicIPAddressesOperations(object): + """PublicIPAddressesOperations 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. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self.config = config + + + def _delete_initial( + self, resource_group_name, public_ip_address_name, custom_headers=None, raw=False, **operation_config): + api_version = "2018-04-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, public_ip_address_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified public IP address. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_address_name: The name of the subnet. + :type public_ip_address_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + public_ip_address_name=public_ip_address_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} + + def get( + self, resource_group_name, public_ip_address_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified public IP address in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_address_name: The name of the subnet. + :type public_ip_address_name: str + :param expand: Expands referenced resources. + :type expand: 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: PublicIPAddress or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.PublicIPAddress or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2018-04-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('PublicIPAddress', 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/publicIPAddresses/{publicIpAddressName}'} + + + def _create_or_update_initial( + self, resource_group_name, public_ip_address_name, parameters, custom_headers=None, raw=False, **operation_config): + api_version = "2018-04-01" + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'PublicIPAddress') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('PublicIPAddress', response) + if response.status_code == 201: + deserialized = self._deserialize('PublicIPAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, public_ip_address_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a static or dynamic public IP address. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_address_name: The name of the public IP address. + :type public_ip_address_name: str + :param parameters: Parameters supplied to the create or update public + IP address operation. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.PublicIPAddress + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PublicIPAddress or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.PublicIPAddress] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.PublicIPAddress]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + public_ip_address_name=public_ip_address_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PublicIPAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} + + + def _update_tags_initial( + self, resource_group_name, public_ip_address_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + api_version = "2018-04-01" + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('PublicIPAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, public_ip_address_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates public IP address tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_address_name: The name of the public IP address. + :type public_ip_address_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PublicIPAddress or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.PublicIPAddress] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.PublicIPAddress]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + public_ip_address_name=public_ip_address_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PublicIPAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the public IP addresses in a subscription. + + :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 PublicIPAddress + :rtype: + ~azure.mgmt.network.v2018_04_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2018_04_01.models.PublicIPAddress] + :raises: :class:`CloudError` + """ + api_version = "2018-04-01" + + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all public IP addresses in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 PublicIPAddress + :rtype: + ~azure.mgmt.network.v2018_04_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2018_04_01.models.PublicIPAddress] + :raises: :class:`CloudError` + """ + api_version = "2018-04-01" + + 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'), + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses'} + + def list_virtual_machine_scale_set_public_ip_addresses( + self, resource_group_name, virtual_machine_scale_set_name, custom_headers=None, raw=False, **operation_config): + """Gets information about all public IP addresses on a virtual machine + scale set level. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_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 PublicIPAddress + :rtype: + ~azure.mgmt.network.v2018_04_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2018_04_01.models.PublicIPAddress] + :raises: :class:`CloudError` + """ + api_version = "2017-03-30" + + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_virtual_machine_scale_set_public_ip_addresses.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_virtual_machine_scale_set_public_ip_addresses.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses'} + + def list_virtual_machine_scale_set_vm_public_ip_addresses( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, custom_headers=None, raw=False, **operation_config): + """Gets information about all public IP addresses in a virtual machine IP + configuration in a virtual machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param network_interface_name: The network interface name. + :type network_interface_name: str + :param ip_configuration_name: The IP configuration name. + :type ip_configuration_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 PublicIPAddress + :rtype: + ~azure.mgmt.network.v2018_04_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2018_04_01.models.PublicIPAddress] + :raises: :class:`CloudError` + """ + api_version = "2017-03-30" + + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_virtual_machine_scale_set_vm_public_ip_addresses.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_virtual_machine_scale_set_vm_public_ip_addresses.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses'} + + def get_virtual_machine_scale_set_public_ip_address( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, public_ip_address_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Get the specified public IP address in a virtual machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param ip_configuration_name: The name of the IP configuration. + :type ip_configuration_name: str + :param public_ip_address_name: The name of the public IP Address. + :type public_ip_address_name: str + :param expand: Expands referenced resources. + :type expand: 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: PublicIPAddress or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.PublicIPAddress or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2017-03-30" + + # Construct URL + url = self.get_virtual_machine_scale_set_public_ip_address.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), + 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('PublicIPAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_virtual_machine_scale_set_public_ip_address.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/route_filter_rules_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/route_filter_rules_operations.py new file mode 100644 index 000000000000..05371052040c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/route_filter_rules_operations.py @@ -0,0 +1,474 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class RouteFilterRulesOperations(object): + """RouteFilterRulesOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + 'ruleName': self._serialize.url("rule_name", rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified rule from a route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param rule_name: The name of the rule. + :type rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + route_filter_name=route_filter_name, + rule_name=rule_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} + + def get( + self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified rule from a route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param rule_name: The name of the rule. + :type rule_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: RouteFilterRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.RouteFilterRule 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'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + 'ruleName': self._serialize.url("rule_name", rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('RouteFilterRule', 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/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} + + + def _create_or_update_initial( + self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + 'ruleName': self._serialize.url("rule_name", rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(route_filter_rule_parameters, 'RouteFilterRule') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('RouteFilterRule', response) + if response.status_code == 201: + deserialized = self._deserialize('RouteFilterRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a route in the specified route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param rule_name: The name of the route filter rule. + :type rule_name: str + :param route_filter_rule_parameters: Parameters supplied to the create + or update route filter rule operation. + :type route_filter_rule_parameters: + ~azure.mgmt.network.v2018_04_01.models.RouteFilterRule + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns RouteFilterRule or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.RouteFilterRule] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.RouteFilterRule]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + route_filter_name=route_filter_name, + rule_name=rule_name, + route_filter_rule_parameters=route_filter_rule_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RouteFilterRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} + + + def _update_initial( + self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + 'ruleName': self._serialize.url("rule_name", rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(route_filter_rule_parameters, 'PatchRouteFilterRule') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('RouteFilterRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a route in the specified route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param rule_name: The name of the route filter rule. + :type rule_name: str + :param route_filter_rule_parameters: Parameters supplied to the update + route filter rule operation. + :type route_filter_rule_parameters: + ~azure.mgmt.network.v2018_04_01.models.PatchRouteFilterRule + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns RouteFilterRule or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.RouteFilterRule] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.RouteFilterRule]] + :raises: :class:`CloudError` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + route_filter_name=route_filter_name, + rule_name=rule_name, + route_filter_rule_parameters=route_filter_rule_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RouteFilterRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} + + def list_by_route_filter( + self, resource_group_name, route_filter_name, custom_headers=None, raw=False, **operation_config): + """Gets all RouteFilterRules in a route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_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 RouteFilterRule + :rtype: + ~azure.mgmt.network.v2018_04_01.models.RouteFilterRulePaged[~azure.mgmt.network.v2018_04_01.models.RouteFilterRule] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_route_filter.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.RouteFilterRulePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.RouteFilterRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_route_filter.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/route_filters_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/route_filters_operations.py new file mode 100644 index 000000000000..fbe36e8f9a43 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/route_filters_operations.py @@ -0,0 +1,525 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class RouteFiltersOperations(object): + """RouteFiltersOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, route_filter_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, route_filter_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + route_filter_name=route_filter_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} + + def get( + self, resource_group_name, route_filter_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param expand: Expands referenced express route bgp peering resources. + :type expand: 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: RouteFilter or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.RouteFilter 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'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_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') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('RouteFilter', 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/routeFilters/{routeFilterName}'} + + + def _create_or_update_initial( + self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(route_filter_parameters, 'RouteFilter') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('RouteFilter', response) + if response.status_code == 201: + deserialized = self._deserialize('RouteFilter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a route filter in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param route_filter_parameters: Parameters supplied to the create or + update route filter operation. + :type route_filter_parameters: + ~azure.mgmt.network.v2018_04_01.models.RouteFilter + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns RouteFilter or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.RouteFilter] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.RouteFilter]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + route_filter_name=route_filter_name, + route_filter_parameters=route_filter_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RouteFilter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} + + + def _update_initial( + self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(route_filter_parameters, 'PatchRouteFilter') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('RouteFilter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a route filter in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param route_filter_parameters: Parameters supplied to the update + route filter operation. + :type route_filter_parameters: + ~azure.mgmt.network.v2018_04_01.models.PatchRouteFilter + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns RouteFilter or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.RouteFilter] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.RouteFilter]] + :raises: :class:`CloudError` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + route_filter_name=route_filter_name, + route_filter_parameters=route_filter_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RouteFilter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all route filters in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 RouteFilter + :rtype: + ~azure.mgmt.network.v2018_04_01.models.RouteFilterPaged[~azure.mgmt.network.v2018_04_01.models.RouteFilter] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.RouteFilterPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.RouteFilterPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all route filters in a subscription. + + :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 RouteFilter + :rtype: + ~azure.mgmt.network.v2018_04_01.models.RouteFilterPaged[~azure.mgmt.network.v2018_04_01.models.RouteFilter] + :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 = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.RouteFilterPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.RouteFilterPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/route_tables_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/route_tables_operations.py new file mode 100644 index 000000000000..01a73a194f22 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/route_tables_operations.py @@ -0,0 +1,524 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class RouteTablesOperations(object): + """RouteTablesOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, route_table_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, route_table_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + route_table_name=route_table_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} + + def get( + self, resource_group_name, route_table_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param expand: Expands referenced resources. + :type expand: 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: RouteTable or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.RouteTable 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'), + 'routeTableName': self._serialize.url("route_table_name", route_table_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') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('RouteTable', 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/routeTables/{routeTableName}'} + + + def _create_or_update_initial( + self, resource_group_name, route_table_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'RouteTable') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('RouteTable', response) + if response.status_code == 201: + deserialized = self._deserialize('RouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, route_table_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create or updates a route table in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param parameters: Parameters supplied to the create or update route + table operation. + :type parameters: ~azure.mgmt.network.v2018_04_01.models.RouteTable + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns RouteTable or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.RouteTable] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.RouteTable]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + route_table_name=route_table_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} + + + def _update_tags_initial( + self, resource_group_name, route_table_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('RouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, route_table_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a route table tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns RouteTable or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.RouteTable] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.RouteTable]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + route_table_name=route_table_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all route tables in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 RouteTable + :rtype: + ~azure.mgmt.network.v2018_04_01.models.RouteTablePaged[~azure.mgmt.network.v2018_04_01.models.RouteTable] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.RouteTablePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.RouteTablePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all route tables in a subscription. + + :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 RouteTable + :rtype: + ~azure.mgmt.network.v2018_04_01.models.RouteTablePaged[~azure.mgmt.network.v2018_04_01.models.RouteTable] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.RouteTablePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.RouteTablePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/routes_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/routes_operations.py new file mode 100644 index 000000000000..c89efa986546 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/routes_operations.py @@ -0,0 +1,367 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class RoutesOperations(object): + """RoutesOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + 'routeName': self._serialize.url("route_name", route_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified route from a route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param route_name: The name of the route. + :type route_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + route_table_name=route_table_name, + route_name=route_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'} + + def get( + self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified route from a route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param route_name: The name of the route. + :type route_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: Route or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.Route 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'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + 'routeName': self._serialize.url("route_name", route_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('Route', 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/routeTables/{routeTableName}/routes/{routeName}'} + + + def _create_or_update_initial( + self, resource_group_name, route_table_name, route_name, route_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + 'routeName': self._serialize.url("route_name", route_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(route_parameters, 'Route') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('Route', response) + if response.status_code == 201: + deserialized = self._deserialize('Route', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, route_table_name, route_name, route_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a route in the specified route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param route_name: The name of the route. + :type route_name: str + :param route_parameters: Parameters supplied to the create or update + route operation. + :type route_parameters: ~azure.mgmt.network.v2018_04_01.models.Route + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Route or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.Route] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.Route]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + route_table_name=route_table_name, + route_name=route_name, + route_parameters=route_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Route', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'} + + def list( + self, resource_group_name, route_table_name, custom_headers=None, raw=False, **operation_config): + """Gets all routes in a route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_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 Route + :rtype: + ~azure.mgmt.network.v2018_04_01.models.RoutePaged[~azure.mgmt.network.v2018_04_01.models.Route] + :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'), + 'routeTableName': self._serialize.url("route_table_name", route_table_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.RoutePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.RoutePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/security_rules_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/security_rules_operations.py new file mode 100644 index 000000000000..62de49217c33 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/security_rules_operations.py @@ -0,0 +1,373 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class SecurityRulesOperations(object): + """SecurityRulesOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + 'securityRuleName': self._serialize.url("security_rule_name", security_rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified network security rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param security_rule_name: The name of the security rule. + :type security_rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_security_group_name=network_security_group_name, + security_rule_name=security_rule_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} + + def get( + self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, **operation_config): + """Get the specified network security rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param security_rule_name: The name of the security rule. + :type security_rule_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: SecurityRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.SecurityRule 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'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + 'securityRuleName': self._serialize.url("security_rule_name", security_rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('SecurityRule', 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/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} + + + def _create_or_update_initial( + self, resource_group_name, network_security_group_name, security_rule_name, security_rule_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + 'securityRuleName': self._serialize.url("security_rule_name", security_rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(security_rule_parameters, 'SecurityRule') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('SecurityRule', response) + if response.status_code == 201: + deserialized = self._deserialize('SecurityRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_security_group_name, security_rule_name, security_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a security rule in the specified network security + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param security_rule_name: The name of the security rule. + :type security_rule_name: str + :param security_rule_parameters: Parameters supplied to the create or + update network security rule operation. + :type security_rule_parameters: + ~azure.mgmt.network.v2018_04_01.models.SecurityRule + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns SecurityRule or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.SecurityRule] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.SecurityRule]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_security_group_name=network_security_group_name, + security_rule_name=security_rule_name, + security_rule_parameters=security_rule_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('SecurityRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} + + def list( + self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all security rules in a network security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_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 SecurityRule + :rtype: + ~azure.mgmt.network.v2018_04_01.models.SecurityRulePaged[~azure.mgmt.network.v2018_04_01.models.SecurityRule] + :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'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.SecurityRulePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.SecurityRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/subnets_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/subnets_operations.py new file mode 100644 index 000000000000..77fe972b3043 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/subnets_operations.py @@ -0,0 +1,371 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class SubnetsOperations(object): + """SubnetsOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'subnetName': self._serialize.url("subnet_name", subnet_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified subnet. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param subnet_name: The name of the subnet. + :type subnet_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + subnet_name=subnet_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} + + def get( + self, resource_group_name, virtual_network_name, subnet_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified subnet by virtual network and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param subnet_name: The name of the subnet. + :type subnet_name: str + :param expand: Expands referenced resources. + :type expand: 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: Subnet or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.Subnet 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'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'subnetName': self._serialize.url("subnet_name", subnet_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') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('Subnet', 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/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_network_name, subnet_name, subnet_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'subnetName': self._serialize.url("subnet_name", subnet_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(subnet_parameters, 'Subnet') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('Subnet', response) + if response.status_code == 201: + deserialized = self._deserialize('Subnet', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_network_name, subnet_name, subnet_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a subnet in the specified virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param subnet_name: The name of the subnet. + :type subnet_name: str + :param subnet_parameters: Parameters supplied to the create or update + subnet operation. + :type subnet_parameters: ~azure.mgmt.network.v2018_04_01.models.Subnet + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Subnet or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.Subnet] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.Subnet]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + subnet_name=subnet_name, + subnet_parameters=subnet_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Subnet', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} + + def list( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): + """Gets all subnets in a virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_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 Subnet + :rtype: + ~azure.mgmt.network.v2018_04_01.models.SubnetPaged[~azure.mgmt.network.v2018_04_01.models.Subnet] + :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'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.SubnetPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.SubnetPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/usages_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/usages_operations.py new file mode 100644 index 000000000000..88f7074eb945 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/usages_operations.py @@ -0,0 +1,106 @@ +# 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 UsagesOperations(object): + """UsagesOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def list( + self, location, custom_headers=None, raw=False, **operation_config): + """List network usages for a subscription. + + :param location: The location where resource usage is queried. + :type location: 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 Usage + :rtype: + ~azure.mgmt.network.v2018_04_01.models.UsagePaged[~azure.mgmt.network.v2018_04_01.models.Usage] + :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 = { + 'location': self._serialize.url("location", location, 'str', pattern=r'^[-\w\._]+$'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.UsagePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.UsagePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/virtual_hubs_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/virtual_hubs_operations.py new file mode 100644 index 000000000000..327f64172a26 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/virtual_hubs_operations.py @@ -0,0 +1,517 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualHubsOperations(object): + """VirtualHubsOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def get( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a VirtualHub. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_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: VirtualHub or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.VirtualHub or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualHub', 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/virtualHubs/{virtualHubName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_hub_name, virtual_hub_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(virtual_hub_parameters, 'VirtualHub') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualHub', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualHub', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_hub_name, virtual_hub_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a VirtualHub resource if it doesn't exist else updates the + existing VirtualHub. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param virtual_hub_parameters: Parameters supplied to create or update + VirtualHub. + :type virtual_hub_parameters: + ~azure.mgmt.network.v2018_04_01.models.VirtualHub + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualHub or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.VirtualHub] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.VirtualHub]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + virtual_hub_parameters=virtual_hub_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualHub', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} + + + def _update_tags_initial( + self, resource_group_name, virtual_hub_name, tags=None, custom_headers=None, raw=False, **operation_config): + virtual_hub_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(virtual_hub_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualHub', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualHub', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, virtual_hub_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates VirtualHub tags. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualHub or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.VirtualHub] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.VirtualHub]] + :raises: + :class:`ErrorException` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualHub', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} + + + def _delete_initial( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a VirtualHub. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the VirtualHubs in a resource group. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_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 VirtualHub + :rtype: + ~azure.mgmt.network.v2018_04_01.models.VirtualHubPaged[~azure.mgmt.network.v2018_04_01.models.VirtualHub] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VirtualHubPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualHubPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the VirtualHubs in a subscription. + + :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 VirtualHub + :rtype: + ~azure.mgmt.network.v2018_04_01.models.VirtualHubPaged[~azure.mgmt.network.v2018_04_01.models.VirtualHub] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VirtualHubPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualHubPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualHubs'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/virtual_network_gateway_connections_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/virtual_network_gateway_connections_operations.py new file mode 100644 index 000000000000..b7b0061ef018 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/virtual_network_gateway_connections_operations.py @@ -0,0 +1,751 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualNetworkGatewayConnectionsOperations(object): + """VirtualNetworkGatewayConnectionsOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'VirtualNetworkGatewayConnection') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('VirtualNetworkGatewayConnection', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a virtual network gateway connection in the + specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection. + :type virtual_network_gateway_connection_name: str + :param parameters: Parameters supplied to the create or update virtual + network gateway connection operation. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VirtualNetworkGatewayConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} + + def get( + self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified virtual network gateway connection by resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection. + :type virtual_network_gateway_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: VirtualNetworkGatewayConnection or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnection + 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'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('VirtualNetworkGatewayConnection', 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/connections/{virtualNetworkGatewayConnectionName}'} + + + def _delete_initial( + self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified virtual network Gateway connection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection. + :type virtual_network_gateway_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} + + + def _update_tags_initial( + self, resource_group_name, virtual_network_gateway_connection_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('VirtualNetworkGatewayConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, virtual_network_gateway_connection_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a virtual network gateway connection tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection. + :type virtual_network_gateway_connection_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VirtualNetworkGatewayConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} + + + def _set_shared_key_initial( + self, resource_group_name, virtual_network_gateway_connection_name, value, id=None, custom_headers=None, raw=False, **operation_config): + parameters = models.ConnectionSharedKey(id=id, value=value) + + # Construct URL + url = self.set_shared_key.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'ConnectionSharedKey') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('ConnectionSharedKey', response) + if response.status_code == 201: + deserialized = self._deserialize('ConnectionSharedKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def set_shared_key( + self, resource_group_name, virtual_network_gateway_connection_name, value, id=None, custom_headers=None, raw=False, polling=True, **operation_config): + """The Put VirtualNetworkGatewayConnectionSharedKey operation sets the + virtual network gateway connection shared key for passed virtual + network gateway connection in the specified resource group through + Network resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The virtual network + gateway connection name. + :type virtual_network_gateway_connection_name: str + :param value: The virtual network connection shared key value. + :type value: str + :param id: Resource ID. + :type id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ConnectionSharedKey or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ConnectionSharedKey] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ConnectionSharedKey]] + :raises: :class:`CloudError` + """ + raw_result = self._set_shared_key_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + value=value, + id=id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectionSharedKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + set_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey'} + + def get_shared_key( + self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): + """The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves + information about the specified virtual network gateway connection + shared key through Network resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The virtual network + gateway connection shared key name. + :type virtual_network_gateway_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: ConnectionSharedKey or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.ConnectionSharedKey or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_shared_key.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ConnectionSharedKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """The List VirtualNetworkGatewayConnections operation retrieves all the + virtual network gateways connections created. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 VirtualNetworkGatewayConnection + :rtype: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnectionPaged[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnection] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.VirtualNetworkGatewayConnectionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualNetworkGatewayConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections'} + + + def _reset_shared_key_initial( + self, resource_group_name, virtual_network_gateway_connection_name, key_length, custom_headers=None, raw=False, **operation_config): + parameters = models.ConnectionResetSharedKey(key_length=key_length) + + # Construct URL + url = self.reset_shared_key.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'ConnectionResetSharedKey') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ConnectionResetSharedKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def reset_shared_key( + self, resource_group_name, virtual_network_gateway_connection_name, key_length, custom_headers=None, raw=False, polling=True, **operation_config): + """The VirtualNetworkGatewayConnectionResetSharedKey operation resets the + virtual network gateway connection shared key for passed virtual + network gateway connection in the specified resource group through + Network resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The virtual network + gateway connection reset shared key Name. + :type virtual_network_gateway_connection_name: str + :param key_length: The virtual network connection reset shared key + length, should between 1 and 128. + :type key_length: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ConnectionResetSharedKey or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.ConnectionResetSharedKey] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.ConnectionResetSharedKey]] + :raises: :class:`CloudError` + """ + raw_result = self._reset_shared_key_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + key_length=key_length, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectionResetSharedKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + reset_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/virtual_network_gateways_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/virtual_network_gateways_operations.py new file mode 100644 index 000000000000..9dc98a4b03e9 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/virtual_network_gateways_operations.py @@ -0,0 +1,1563 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualNetworkGatewaysOperations(object): + """VirtualNetworkGatewaysOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'VirtualNetworkGateway') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('VirtualNetworkGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a virtual network gateway in the specified resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param parameters: Parameters supplied to create or update virtual + network gateway operation. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetworkGateway + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} + + def get( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified virtual network gateway by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_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: VirtualNetworkGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGateway + 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'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('VirtualNetworkGateway', 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/virtualNetworkGateways/{virtualNetworkGatewayName}'} + + + def _delete_initial( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified virtual network gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} + + + def _update_tags_initial( + self, resource_group_name, virtual_network_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, virtual_network_gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a virtual network gateway tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetworkGateway + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all virtual network gateways by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 VirtualNetworkGateway + :rtype: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayPaged[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGateway] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.VirtualNetworkGatewayPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualNetworkGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways'} + + def list_connections( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets all the connections in a virtual network gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_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 + VirtualNetworkGatewayConnectionListEntity + :rtype: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnectionListEntityPaged[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnectionListEntity] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_connections.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.VirtualNetworkGatewayConnectionListEntityPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualNetworkGatewayConnectionListEntityPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_connections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections'} + + + def _reset_initial( + self, resource_group_name, virtual_network_gateway_name, gateway_vip=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.reset.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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 = {} + if gateway_vip is not None: + query_parameters['gatewayVip'] = self._serialize.query("gateway_vip", gateway_vip, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def reset( + self, resource_group_name, virtual_network_gateway_name, gateway_vip=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Resets the primary of the virtual network gateway in the specified + resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param gateway_vip: Virtual network gateway vip address supplied to + the begin reset of the active-active feature enabled gateway. + :type gateway_vip: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetworkGateway + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._reset_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + gateway_vip=gateway_vip, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + reset.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset'} + + + def _generatevpnclientpackage_initial( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.generatevpnclientpackage.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'VpnClientParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def generatevpnclientpackage( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Generates VPN client package for P2S client of the virtual network + gateway in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param parameters: Parameters supplied to the generate virtual network + gateway VPN client package operation. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.VpnClientParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns str or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] + :raises: :class:`CloudError` + """ + raw_result = self._generatevpnclientpackage_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + generatevpnclientpackage.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage'} + + + def _generate_vpn_profile_initial( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.generate_vpn_profile.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'VpnClientParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def generate_vpn_profile( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Generates VPN profile for P2S client of the virtual network gateway in + the specified resource group. Used for IKEV2 and radius based + authentication. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param parameters: Parameters supplied to the generate virtual network + gateway VPN client package operation. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.VpnClientParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns str or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] + :raises: :class:`CloudError` + """ + raw_result = self._generate_vpn_profile_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + generate_vpn_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile'} + + + def _get_vpn_profile_package_url_initial( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_vpn_profile_package_url.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_vpn_profile_package_url( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets pre-generated VPN profile for P2S client of the virtual network + gateway in the specified resource group. The profile needs to be + generated first using generateVpnProfile. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns str or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] + :raises: :class:`CloudError` + """ + raw_result = self._get_vpn_profile_package_url_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_vpn_profile_package_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl'} + + + def _get_bgp_peer_status_initial( + self, resource_group_name, virtual_network_gateway_name, peer=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_bgp_peer_status.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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 = {} + if peer is not None: + query_parameters['peer'] = self._serialize.query("peer", peer, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('BgpPeerStatusListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_bgp_peer_status( + self, resource_group_name, virtual_network_gateway_name, peer=None, custom_headers=None, raw=False, polling=True, **operation_config): + """The GetBgpPeerStatus operation retrieves the status of all BGP peers. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param peer: The IP address of the peer to retrieve the status of. + :type peer: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns BgpPeerStatusListResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.BgpPeerStatusListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.BgpPeerStatusListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_bgp_peer_status_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + peer=peer, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('BgpPeerStatusListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_bgp_peer_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus'} + + def supported_vpn_devices( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets a xml format representation for supported vpn devices. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_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: str or ClientRawResponse if raw=true + :rtype: str or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.supported_vpn_devices.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + supported_vpn_devices.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices'} + + + def _get_learned_routes_initial( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_learned_routes.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('GatewayRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_learned_routes( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """This operation retrieves a list of routes the virtual network gateway + has learned, including routes learned from BGP peers. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GatewayRouteListResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.GatewayRouteListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.GatewayRouteListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_learned_routes_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GatewayRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_learned_routes.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes'} + + + def _get_advertised_routes_initial( + self, resource_group_name, virtual_network_gateway_name, peer, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_advertised_routes.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['peer'] = self._serialize.query("peer", peer, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('GatewayRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_advertised_routes( + self, resource_group_name, virtual_network_gateway_name, peer, custom_headers=None, raw=False, polling=True, **operation_config): + """This operation retrieves a list of routes the virtual network gateway + is advertising to the specified peer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param peer: The IP address of the peer + :type peer: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GatewayRouteListResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.GatewayRouteListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.GatewayRouteListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_advertised_routes_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + peer=peer, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GatewayRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_advertised_routes.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes'} + + + def _set_vpnclient_ipsec_parameters_initial( + self, resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.set_vpnclient_ipsec_parameters.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(vpnclient_ipsec_params, 'VpnClientIPsecParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VpnClientIPsecParameters', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def set_vpnclient_ipsec_parameters( + self, resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers=None, raw=False, polling=True, **operation_config): + """The Set VpnclientIpsecParameters operation sets the vpnclient ipsec + policy for P2S client of virtual network gateway in the specified + resource group through Network resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param vpnclient_ipsec_params: Parameters supplied to the Begin Set + vpnclient ipsec parameters of Virtual Network Gateway P2S client + operation through Network resource provider. + :type vpnclient_ipsec_params: + ~azure.mgmt.network.v2018_04_01.models.VpnClientIPsecParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VpnClientIPsecParameters or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.VpnClientIPsecParameters] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.VpnClientIPsecParameters]] + :raises: :class:`CloudError` + """ + raw_result = self._set_vpnclient_ipsec_parameters_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + vpnclient_ipsec_params=vpnclient_ipsec_params, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnClientIPsecParameters', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + set_vpnclient_ipsec_parameters.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters'} + + + def _get_vpnclient_ipsec_parameters_initial( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_vpnclient_ipsec_parameters.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, 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('VpnClientIPsecParameters', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_vpnclient_ipsec_parameters( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """The Get VpnclientIpsecParameters operation retrieves information about + the vpnclient ipsec policy for P2S client of virtual network gateway in + the specified resource group through Network resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The virtual network gateway name. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VpnClientIPsecParameters or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.VpnClientIPsecParameters] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.VpnClientIPsecParameters]] + :raises: :class:`CloudError` + """ + raw_result = self._get_vpnclient_ipsec_parameters_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnClientIPsecParameters', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_vpnclient_ipsec_parameters.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters'} + + def vpn_device_configuration_script( + self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, **operation_config): + """Gets a xml format representation for vpn device configuration script. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection for which the configuration script + is generated. + :type virtual_network_gateway_connection_name: str + :param parameters: Parameters supplied to the generate vpn device + script operation. + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.VpnDeviceScriptParameters + :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: str or ClientRawResponse if raw=true + :rtype: str or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.vpn_device_configuration_script.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'VpnDeviceScriptParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + vpn_device_configuration_script.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/virtual_network_peerings_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/virtual_network_peerings_operations.py new file mode 100644 index 000000000000..0ddae57f4424 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/virtual_network_peerings_operations.py @@ -0,0 +1,370 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualNetworkPeeringsOperations(object): + """VirtualNetworkPeeringsOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_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') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified virtual network peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param virtual_network_peering_name: The name of the virtual network + peering. + :type virtual_network_peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + virtual_network_peering_name=virtual_network_peering_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} + + def get( + self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified virtual network peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param virtual_network_peering_name: The name of the virtual network + peering. + :type virtual_network_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: VirtualNetworkPeering or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkPeering + 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'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_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') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('VirtualNetworkPeering', 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/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_network_name, virtual_network_peering_name, virtual_network_peering_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_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') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(virtual_network_peering_parameters, 'VirtualNetworkPeering') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('VirtualNetworkPeering', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetworkPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_network_name, virtual_network_peering_name, virtual_network_peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a peering in the specified virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param virtual_network_peering_name: The name of the peering. + :type virtual_network_peering_name: str + :param virtual_network_peering_parameters: Parameters supplied to the + create or update virtual network peering operation. + :type virtual_network_peering_parameters: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkPeering + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetworkPeering + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkPeering] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkPeering]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + virtual_network_peering_name=virtual_network_peering_name, + virtual_network_peering_parameters=virtual_network_peering_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} + + def list( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): + """Gets all virtual network peerings in a virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_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 VirtualNetworkPeering + :rtype: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkPeeringPaged[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkPeering] + :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'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.VirtualNetworkPeeringPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualNetworkPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/virtual_networks_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/virtual_networks_operations.py new file mode 100644 index 000000000000..f55d0e9d5dd4 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/virtual_networks_operations.py @@ -0,0 +1,663 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualNetworksOperations(object): + """VirtualNetworksOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} + + def get( + self, resource_group_name, virtual_network_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified virtual network by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param expand: Expands referenced resources. + :type expand: 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: VirtualNetwork or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.VirtualNetwork 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'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_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') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('VirtualNetwork', 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/virtualNetworks/{virtualNetworkName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_network_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'VirtualNetwork') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('VirtualNetwork', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetwork', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_network_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a virtual network in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param parameters: Parameters supplied to the create or update virtual + network operation + :type parameters: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetwork + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetwork or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.VirtualNetwork] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.VirtualNetwork]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetwork', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} + + + def _update_tags_initial( + self, resource_group_name, virtual_network_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('VirtualNetwork', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, virtual_network_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a virtual network tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetwork or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.VirtualNetwork] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.VirtualNetwork]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetwork', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all virtual networks in a subscription. + + :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 VirtualNetwork + :rtype: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkPaged[~azure.mgmt.network.v2018_04_01.models.VirtualNetwork] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all virtual networks in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 VirtualNetwork + :rtype: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkPaged[~azure.mgmt.network.v2018_04_01.models.VirtualNetwork] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks'} + + def check_ip_address_availability( + self, resource_group_name, virtual_network_name, ip_address=None, custom_headers=None, raw=False, **operation_config): + """Checks whether a private IP address is available for use. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param ip_address: The private IP address to be verified. + :type ip_address: 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: IPAddressAvailabilityResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2018_04_01.models.IPAddressAvailabilityResult or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_ip_address_availability.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_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 = {} + if ip_address is not None: + query_parameters['ipAddress'] = self._serialize.query("ip_address", ip_address, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('IPAddressAvailabilityResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_ip_address_availability.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability'} + + def list_usage( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): + """Lists usage stats. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_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 VirtualNetworkUsage + :rtype: + ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkUsagePaged[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkUsage] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_usage.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.VirtualNetworkUsagePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualNetworkUsagePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_usage.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/virtual_wa_ns_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/virtual_wa_ns_operations.py new file mode 100644 index 000000000000..ceea0fbc11fd --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/virtual_wa_ns_operations.py @@ -0,0 +1,518 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualWANsOperations(object): + """VirtualWANsOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def get( + self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a VirtualWAN. + + :param resource_group_name: The resource group name of the VirtualWan. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN being retrieved. + :type virtual_wan_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: VirtualWAN or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.VirtualWAN or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualWAN', 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/virtualWans/{VirtualWANName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_wan_name, wan_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(wan_parameters, 'VirtualWAN') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualWAN', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualWAN', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_wan_name, wan_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a VirtualWAN resource if it doesn't exist else updates the + existing VirtualWAN. + + :param resource_group_name: The resource group name of the VirtualWan. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN being created or + updated. + :type virtual_wan_name: str + :param wan_parameters: Parameters supplied to create or update + VirtualWAN. + :type wan_parameters: + ~azure.mgmt.network.v2018_04_01.models.VirtualWAN + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualWAN or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.VirtualWAN] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.VirtualWAN]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_wan_name=virtual_wan_name, + wan_parameters=wan_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualWAN', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} + + + def _update_tags_initial( + self, resource_group_name, virtual_wan_name, tags=None, custom_headers=None, raw=False, **operation_config): + wan_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(wan_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualWAN', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualWAN', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, virtual_wan_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a VirtualWAN tags. + + :param resource_group_name: The resource group name of the VirtualWan. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN being updated. + :type virtual_wan_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualWAN or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.VirtualWAN] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.VirtualWAN]] + :raises: + :class:`ErrorException` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + virtual_wan_name=virtual_wan_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualWAN', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} + + + def _delete_initial( + self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a VirtualWAN. + + :param resource_group_name: The resource group name of the VirtualWan. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN being deleted. + :type virtual_wan_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_wan_name=virtual_wan_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the VirtualWANs in a resource group. + + :param resource_group_name: The resource group name of the VirtualWan. + :type resource_group_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 VirtualWAN + :rtype: + ~azure.mgmt.network.v2018_04_01.models.VirtualWANPaged[~azure.mgmt.network.v2018_04_01.models.VirtualWAN] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VirtualWANPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualWANPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the VirtualWANs in a subscription. + + :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 VirtualWAN + :rtype: + ~azure.mgmt.network.v2018_04_01.models.VirtualWANPaged[~azure.mgmt.network.v2018_04_01.models.VirtualWAN] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VirtualWANPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualWANPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualWans'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/vpn_connections_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/vpn_connections_operations.py new file mode 100644 index 000000000000..a433e9d9b9e5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/vpn_connections_operations.py @@ -0,0 +1,364 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VpnConnectionsOperations(object): + """VpnConnectionsOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def get( + self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a vpn connection. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param connection_name: The name of the vpn 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: VpnConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.VpnConnection or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VpnConnection', 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/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} + + + def _create_or_update_initial( + self, resource_group_name, gateway_name, connection_name, vpn_connection_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(vpn_connection_parameters, 'VpnConnection') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VpnConnection', response) + if response.status_code == 201: + deserialized = self._deserialize('VpnConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, gateway_name, connection_name, vpn_connection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a vpn connection to a scalable vpn gateway if it doesn't exist + else updates the existing connection. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param connection_name: The name of the connection. + :type connection_name: str + :param vpn_connection_parameters: Parameters supplied to create or + Update a VPN Connection. + :type vpn_connection_parameters: + ~azure.mgmt.network.v2018_04_01.models.VpnConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.VpnConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.VpnConnection]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + connection_name=connection_name, + vpn_connection_parameters=vpn_connection_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} + + + def _delete_initial( + self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a vpn connection. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param connection_name: The name of the connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + connection_name=connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} + + def list_by_vpn_gateway( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): + """Retrieves all vpn connections for a particular virtual wan vpn gateway. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_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 VpnConnection + :rtype: + ~azure.mgmt.network.v2018_04_01.models.VpnConnectionPaged[~azure.mgmt.network.v2018_04_01.models.VpnConnection] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_vpn_gateway.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VpnConnectionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VpnConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_vpn_gateway.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/vpn_gateways_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/vpn_gateways_operations.py new file mode 100644 index 000000000000..83de1cb91e64 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/vpn_gateways_operations.py @@ -0,0 +1,517 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VpnGatewaysOperations(object): + """VpnGatewaysOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def get( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a virtual wan vpn gateway. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_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: VpnGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.VpnGateway or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VpnGateway', 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/vpnGateways/{gatewayName}'} + + + def _create_or_update_initial( + self, resource_group_name, gateway_name, vpn_gateway_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(vpn_gateway_parameters, 'VpnGateway') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VpnGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('VpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, gateway_name, vpn_gateway_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a virtual wan vpn gateway if it doesn't exist else updates the + existing gateway. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param vpn_gateway_parameters: Parameters supplied to create or Update + a virtual wan vpn gateway. + :type vpn_gateway_parameters: + ~azure.mgmt.network.v2018_04_01.models.VpnGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.VpnGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.VpnGateway]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + vpn_gateway_parameters=vpn_gateway_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} + + + def _update_tags_initial( + self, resource_group_name, gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): + vpn_gateway_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(vpn_gateway_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VpnGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('VpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates virtual wan vpn gateway tags. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.VpnGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.VpnGateway]] + :raises: + :class:`ErrorException` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} + + + def _delete_initial( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a virtual wan vpn gateway. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the VpnGateways in a resource group. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_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 VpnGateway + :rtype: + ~azure.mgmt.network.v2018_04_01.models.VpnGatewayPaged[~azure.mgmt.network.v2018_04_01.models.VpnGateway] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VpnGatewayPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the VpnGateways in a subscription. + + :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 VpnGateway + :rtype: + ~azure.mgmt.network.v2018_04_01.models.VpnGatewayPaged[~azure.mgmt.network.v2018_04_01.models.VpnGateway] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VpnGatewayPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnGateways'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/vpn_sites_configuration_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/vpn_sites_configuration_operations.py new file mode 100644 index 000000000000..75771e4554fd --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/vpn_sites_configuration_operations.py @@ -0,0 +1,135 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VpnSitesConfigurationOperations(object): + """VpnSitesConfigurationOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + + def _download_initial( + self, resource_group_name, virtual_wan_name, vpn_sites=None, output_blob_sas_url=None, custom_headers=None, raw=False, **operation_config): + request = models.GetVpnSitesConfigurationRequest(vpn_sites=vpn_sites, output_blob_sas_url=output_blob_sas_url) + + # Construct URL + url = self.download.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(request, 'GetVpnSitesConfigurationRequest') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def download( + self, resource_group_name, virtual_wan_name, vpn_sites=None, output_blob_sas_url=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Gives the sas-url to download the configurations for vpn-sites in a + resource group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN for which + configuration of all vpn-sites is needed. + :type virtual_wan_name: str + :param vpn_sites: List of resource-ids of the vpn-sites for which + config is to be downloaded. + :type vpn_sites: + list[~azure.mgmt.network.v2018_04_01.models.SubResource] + :param output_blob_sas_url: The sas-url to download the configurations + for vpn-sites + :type output_blob_sas_url: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._download_initial( + resource_group_name=resource_group_name, + virtual_wan_name=virtual_wan_name, + vpn_sites=vpn_sites, + output_blob_sas_url=output_blob_sas_url, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + download.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnConfiguration'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/vpn_sites_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/vpn_sites_operations.py new file mode 100644 index 000000000000..93c723a6508d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/operations/vpn_sites_operations.py @@ -0,0 +1,518 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VpnSitesOperations(object): + """VpnSitesOperations 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-04-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-04-01" + + self.config = config + + def get( + self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a VPNsite. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param vpn_site_name: The name of the VpnSite being retrieved. + :type vpn_site_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: VpnSite or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_04_01.models.VpnSite or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VpnSite', 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/vpnSites/{vpnSiteName}'} + + + def _create_or_update_initial( + self, resource_group_name, vpn_site_name, vpn_site_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(vpn_site_parameters, 'VpnSite') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VpnSite', response) + if response.status_code == 201: + deserialized = self._deserialize('VpnSite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, vpn_site_name, vpn_site_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a VpnSite resource if it doesn't exist else updates the + existing VpnSite. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param vpn_site_name: The name of the VpnSite being created or + updated. + :type vpn_site_name: str + :param vpn_site_parameters: Parameters supplied to create or update + VpnSite. + :type vpn_site_parameters: + ~azure.mgmt.network.v2018_04_01.models.VpnSite + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnSite or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.VpnSite] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.VpnSite]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + vpn_site_name=vpn_site_name, + vpn_site_parameters=vpn_site_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnSite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} + + + def _update_tags_initial( + self, resource_group_name, vpn_site_name, tags=None, custom_headers=None, raw=False, **operation_config): + vpn_site_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(vpn_site_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VpnSite', response) + if response.status_code == 201: + deserialized = self._deserialize('VpnSite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, vpn_site_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates VpnSite tags. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param vpn_site_name: The name of the VpnSite being updated. + :type vpn_site_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnSite or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_04_01.models.VpnSite] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_04_01.models.VpnSite]] + :raises: + :class:`ErrorException` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + vpn_site_name=vpn_site_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnSite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} + + + def _delete_initial( + self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a VpnSite. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param vpn_site_name: The name of the VpnSite being deleted. + :type vpn_site_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + vpn_site_name=vpn_site_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the vpnSites in a resource group. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_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 VpnSite + :rtype: + ~azure.mgmt.network.v2018_04_01.models.VpnSitePaged[~azure.mgmt.network.v2018_04_01.models.VpnSite] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VpnSitePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VpnSitePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the VpnSites in a subscription. + + :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 VpnSite + :rtype: + ~azure.mgmt.network.v2018_04_01.models.VpnSitePaged[~azure.mgmt.network.v2018_04_01.models.VpnSite] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VpnSitePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VpnSitePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnSites'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_04_01/version.py b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/version.py new file mode 100644 index 000000000000..53a203f32aaf --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_04_01/version.py @@ -0,0 +1,13 @@ +# 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. +# -------------------------------------------------------------------------- + +VERSION = "" + diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/__init__.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/__init__.py new file mode 100644 index 000000000000..2a2f032f38aa --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/__init__.py @@ -0,0 +1,18 @@ +# 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 .network_management_client import NetworkManagementClient +from .version import VERSION + +__all__ = ['NetworkManagementClient'] + +__version__ = VERSION + diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/__init__.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/__init__.py new file mode 100644 index 000000000000..5dbefcc0eb66 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/__init__.py @@ -0,0 +1,910 @@ +# 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. +# -------------------------------------------------------------------------- + +try: + from .sub_resource_py3 import SubResource + from .azure_firewall_ip_configuration_py3 import AzureFirewallIPConfiguration + from .azure_firewall_rc_action_py3 import AzureFirewallRCAction + from .azure_firewall_application_rule_protocol_py3 import AzureFirewallApplicationRuleProtocol + from .azure_firewall_application_rule_py3 import AzureFirewallApplicationRule + from .azure_firewall_application_rule_collection_py3 import AzureFirewallApplicationRuleCollection + from .azure_firewall_network_rule_py3 import AzureFirewallNetworkRule + from .azure_firewall_network_rule_collection_py3 import AzureFirewallNetworkRuleCollection + from .azure_firewall_py3 import AzureFirewall + from .resource_py3 import Resource + from .backend_address_pool_py3 import BackendAddressPool + from .inbound_nat_rule_py3 import InboundNatRule + from .application_security_group_py3 import ApplicationSecurityGroup + from .security_rule_py3 import SecurityRule + from .network_interface_dns_settings_py3 import NetworkInterfaceDnsSettings + from .network_interface_py3 import NetworkInterface + from .network_security_group_py3 import NetworkSecurityGroup + from .route_py3 import Route + from .route_table_py3 import RouteTable + from .service_endpoint_properties_format_py3 import ServiceEndpointPropertiesFormat + from .public_ip_address_sku_py3 import PublicIPAddressSku + from .public_ip_address_dns_settings_py3 import PublicIPAddressDnsSettings + from .ip_tag_py3 import IpTag + from .public_ip_address_py3 import PublicIPAddress + from .ip_configuration_py3 import IPConfiguration + from .resource_navigation_link_py3 import ResourceNavigationLink + from .subnet_py3 import Subnet + from .network_interface_ip_configuration_py3 import NetworkInterfaceIPConfiguration + from .application_gateway_backend_address_py3 import ApplicationGatewayBackendAddress + from .application_gateway_backend_address_pool_py3 import ApplicationGatewayBackendAddressPool + from .application_gateway_connection_draining_py3 import ApplicationGatewayConnectionDraining + from .application_gateway_backend_http_settings_py3 import ApplicationGatewayBackendHttpSettings + from .application_gateway_backend_health_server_py3 import ApplicationGatewayBackendHealthServer + from .application_gateway_backend_health_http_settings_py3 import ApplicationGatewayBackendHealthHttpSettings + from .application_gateway_backend_health_pool_py3 import ApplicationGatewayBackendHealthPool + from .application_gateway_backend_health_py3 import ApplicationGatewayBackendHealth + from .application_gateway_sku_py3 import ApplicationGatewaySku + from .application_gateway_ssl_policy_py3 import ApplicationGatewaySslPolicy + from .application_gateway_ip_configuration_py3 import ApplicationGatewayIPConfiguration + from .application_gateway_authentication_certificate_py3 import ApplicationGatewayAuthenticationCertificate + from .application_gateway_ssl_certificate_py3 import ApplicationGatewaySslCertificate + from .application_gateway_frontend_ip_configuration_py3 import ApplicationGatewayFrontendIPConfiguration + from .application_gateway_frontend_port_py3 import ApplicationGatewayFrontendPort + from .application_gateway_http_listener_py3 import ApplicationGatewayHttpListener + from .application_gateway_path_rule_py3 import ApplicationGatewayPathRule + from .application_gateway_probe_health_response_match_py3 import ApplicationGatewayProbeHealthResponseMatch + from .application_gateway_probe_py3 import ApplicationGatewayProbe + from .application_gateway_request_routing_rule_py3 import ApplicationGatewayRequestRoutingRule + from .application_gateway_redirect_configuration_py3 import ApplicationGatewayRedirectConfiguration + from .application_gateway_url_path_map_py3 import ApplicationGatewayUrlPathMap + from .application_gateway_firewall_disabled_rule_group_py3 import ApplicationGatewayFirewallDisabledRuleGroup + from .application_gateway_web_application_firewall_configuration_py3 import ApplicationGatewayWebApplicationFirewallConfiguration + from .application_gateway_autoscale_bounds_py3 import ApplicationGatewayAutoscaleBounds + from .application_gateway_autoscale_configuration_py3 import ApplicationGatewayAutoscaleConfiguration + from .application_gateway_py3 import ApplicationGateway + from .application_gateway_firewall_rule_py3 import ApplicationGatewayFirewallRule + from .application_gateway_firewall_rule_group_py3 import ApplicationGatewayFirewallRuleGroup + from .application_gateway_firewall_rule_set_py3 import ApplicationGatewayFirewallRuleSet + from .application_gateway_available_waf_rule_sets_result_py3 import ApplicationGatewayAvailableWafRuleSetsResult + from .application_gateway_available_ssl_options_py3 import ApplicationGatewayAvailableSslOptions + from .application_gateway_ssl_predefined_policy_py3 import ApplicationGatewaySslPredefinedPolicy + from .tags_object_py3 import TagsObject + from .dns_name_availability_result_py3 import DnsNameAvailabilityResult + from .ddos_protection_plan_py3 import DdosProtectionPlan + from .endpoint_service_result_py3 import EndpointServiceResult + from .express_route_circuit_authorization_py3 import ExpressRouteCircuitAuthorization + from .express_route_circuit_peering_config_py3 import ExpressRouteCircuitPeeringConfig + from .route_filter_rule_py3 import RouteFilterRule + from .express_route_circuit_stats_py3 import ExpressRouteCircuitStats + from .express_route_circuit_connection_py3 import ExpressRouteCircuitConnection + from .express_route_circuit_peering_py3 import ExpressRouteCircuitPeering + from .route_filter_py3 import RouteFilter + from .ipv6_express_route_circuit_peering_config_py3 import Ipv6ExpressRouteCircuitPeeringConfig + from .express_route_circuit_sku_py3 import ExpressRouteCircuitSku + from .express_route_circuit_service_provider_properties_py3 import ExpressRouteCircuitServiceProviderProperties + from .express_route_circuit_py3 import ExpressRouteCircuit + from .express_route_circuit_arp_table_py3 import ExpressRouteCircuitArpTable + from .express_route_circuits_arp_table_list_result_py3 import ExpressRouteCircuitsArpTableListResult + from .express_route_circuit_routes_table_py3 import ExpressRouteCircuitRoutesTable + from .express_route_circuits_routes_table_list_result_py3 import ExpressRouteCircuitsRoutesTableListResult + from .express_route_circuit_routes_table_summary_py3 import ExpressRouteCircuitRoutesTableSummary + from .express_route_circuits_routes_table_summary_list_result_py3 import ExpressRouteCircuitsRoutesTableSummaryListResult + from .express_route_service_provider_bandwidths_offered_py3 import ExpressRouteServiceProviderBandwidthsOffered + from .express_route_service_provider_py3 import ExpressRouteServiceProvider + from .express_route_cross_connection_routes_table_summary_py3 import ExpressRouteCrossConnectionRoutesTableSummary + from .express_route_cross_connections_routes_table_summary_list_result_py3 import ExpressRouteCrossConnectionsRoutesTableSummaryListResult + from .express_route_circuit_reference_py3 import ExpressRouteCircuitReference + from .express_route_cross_connection_peering_py3 import ExpressRouteCrossConnectionPeering + from .express_route_cross_connection_py3 import ExpressRouteCrossConnection + from .load_balancer_sku_py3 import LoadBalancerSku + from .frontend_ip_configuration_py3 import FrontendIPConfiguration + from .load_balancing_rule_py3 import LoadBalancingRule + from .probe_py3 import Probe + from .inbound_nat_pool_py3 import InboundNatPool + from .outbound_nat_rule_py3 import OutboundNatRule + from .load_balancer_py3 import LoadBalancer + from .error_details_py3 import ErrorDetails + from .error_py3 import Error, ErrorException + from .azure_async_operation_result_py3 import AzureAsyncOperationResult + from .effective_network_security_group_association_py3 import EffectiveNetworkSecurityGroupAssociation + from .effective_network_security_rule_py3 import EffectiveNetworkSecurityRule + from .effective_network_security_group_py3 import EffectiveNetworkSecurityGroup + from .effective_network_security_group_list_result_py3 import EffectiveNetworkSecurityGroupListResult + from .effective_route_py3 import EffectiveRoute + from .effective_route_list_result_py3 import EffectiveRouteListResult + from .network_watcher_py3 import NetworkWatcher + from .topology_parameters_py3 import TopologyParameters + from .topology_association_py3 import TopologyAssociation + from .topology_resource_py3 import TopologyResource + from .topology_py3 import Topology + from .verification_ip_flow_parameters_py3 import VerificationIPFlowParameters + from .verification_ip_flow_result_py3 import VerificationIPFlowResult + from .next_hop_parameters_py3 import NextHopParameters + from .next_hop_result_py3 import NextHopResult + from .security_group_view_parameters_py3 import SecurityGroupViewParameters + from .network_interface_association_py3 import NetworkInterfaceAssociation + from .subnet_association_py3 import SubnetAssociation + from .security_rule_associations_py3 import SecurityRuleAssociations + from .security_group_network_interface_py3 import SecurityGroupNetworkInterface + from .security_group_view_result_py3 import SecurityGroupViewResult + from .packet_capture_storage_location_py3 import PacketCaptureStorageLocation + from .packet_capture_filter_py3 import PacketCaptureFilter + from .packet_capture_parameters_py3 import PacketCaptureParameters + from .packet_capture_py3 import PacketCapture + from .packet_capture_result_py3 import PacketCaptureResult + from .packet_capture_query_status_result_py3 import PacketCaptureQueryStatusResult + from .troubleshooting_parameters_py3 import TroubleshootingParameters + from .query_troubleshooting_parameters_py3 import QueryTroubleshootingParameters + from .troubleshooting_recommended_actions_py3 import TroubleshootingRecommendedActions + from .troubleshooting_details_py3 import TroubleshootingDetails + from .troubleshooting_result_py3 import TroubleshootingResult + from .retention_policy_parameters_py3 import RetentionPolicyParameters + from .flow_log_status_parameters_py3 import FlowLogStatusParameters + from .traffic_analytics_configuration_properties_py3 import TrafficAnalyticsConfigurationProperties + from .traffic_analytics_properties_py3 import TrafficAnalyticsProperties + from .flow_log_information_py3 import FlowLogInformation + from .connectivity_source_py3 import ConnectivitySource + from .connectivity_destination_py3 import ConnectivityDestination + from .http_header_py3 import HTTPHeader + from .http_configuration_py3 import HTTPConfiguration + from .protocol_configuration_py3 import ProtocolConfiguration + from .connectivity_parameters_py3 import ConnectivityParameters + from .connectivity_issue_py3 import ConnectivityIssue + from .connectivity_hop_py3 import ConnectivityHop + from .connectivity_information_py3 import ConnectivityInformation + from .azure_reachability_report_location_py3 import AzureReachabilityReportLocation + from .azure_reachability_report_parameters_py3 import AzureReachabilityReportParameters + from .azure_reachability_report_latency_info_py3 import AzureReachabilityReportLatencyInfo + from .azure_reachability_report_item_py3 import AzureReachabilityReportItem + from .azure_reachability_report_py3 import AzureReachabilityReport + from .available_providers_list_parameters_py3 import AvailableProvidersListParameters + from .available_providers_list_city_py3 import AvailableProvidersListCity + from .available_providers_list_state_py3 import AvailableProvidersListState + from .available_providers_list_country_py3 import AvailableProvidersListCountry + from .available_providers_list_py3 import AvailableProvidersList + from .connection_monitor_source_py3 import ConnectionMonitorSource + from .connection_monitor_destination_py3 import ConnectionMonitorDestination + from .connection_monitor_parameters_py3 import ConnectionMonitorParameters + from .connection_monitor_py3 import ConnectionMonitor + from .connection_monitor_result_py3 import ConnectionMonitorResult + from .connection_state_snapshot_py3 import ConnectionStateSnapshot + from .connection_monitor_query_result_py3 import ConnectionMonitorQueryResult + from .operation_display_py3 import OperationDisplay + from .availability_py3 import Availability + from .dimension_py3 import Dimension + from .metric_specification_py3 import MetricSpecification + from .log_specification_py3 import LogSpecification + from .operation_properties_format_service_specification_py3 import OperationPropertiesFormatServiceSpecification + from .operation_py3 import Operation + from .patch_route_filter_rule_py3 import PatchRouteFilterRule + from .patch_route_filter_py3 import PatchRouteFilter + from .bgp_community_py3 import BGPCommunity + from .bgp_service_community_py3 import BgpServiceCommunity + from .usage_name_py3 import UsageName + from .usage_py3 import Usage + from .address_space_py3 import AddressSpace + from .virtual_network_peering_py3 import VirtualNetworkPeering + from .dhcp_options_py3 import DhcpOptions + from .virtual_network_py3 import VirtualNetwork + from .ip_address_availability_result_py3 import IPAddressAvailabilityResult + from .virtual_network_usage_name_py3 import VirtualNetworkUsageName + from .virtual_network_usage_py3 import VirtualNetworkUsage + from .virtual_network_gateway_ip_configuration_py3 import VirtualNetworkGatewayIPConfiguration + from .virtual_network_gateway_sku_py3 import VirtualNetworkGatewaySku + from .vpn_client_root_certificate_py3 import VpnClientRootCertificate + from .vpn_client_revoked_certificate_py3 import VpnClientRevokedCertificate + from .ipsec_policy_py3 import IpsecPolicy + from .vpn_client_configuration_py3 import VpnClientConfiguration + from .bgp_settings_py3 import BgpSettings + from .bgp_peer_status_py3 import BgpPeerStatus + from .gateway_route_py3 import GatewayRoute + from .virtual_network_gateway_py3 import VirtualNetworkGateway + from .vpn_client_parameters_py3 import VpnClientParameters + from .bgp_peer_status_list_result_py3 import BgpPeerStatusListResult + from .gateway_route_list_result_py3 import GatewayRouteListResult + from .tunnel_connection_health_py3 import TunnelConnectionHealth + from .local_network_gateway_py3 import LocalNetworkGateway + from .virtual_network_gateway_connection_py3 import VirtualNetworkGatewayConnection + from .connection_reset_shared_key_py3 import ConnectionResetSharedKey + from .connection_shared_key_py3 import ConnectionSharedKey + from .vpn_client_ipsec_parameters_py3 import VpnClientIPsecParameters + from .virtual_network_connection_gateway_reference_py3 import VirtualNetworkConnectionGatewayReference + from .virtual_network_gateway_connection_list_entity_py3 import VirtualNetworkGatewayConnectionListEntity + from .vpn_device_script_parameters_py3 import VpnDeviceScriptParameters + from .virtual_wan_py3 import VirtualWAN + from .device_properties_py3 import DeviceProperties + from .vpn_site_py3 import VpnSite + from .get_vpn_sites_configuration_request_py3 import GetVpnSitesConfigurationRequest + from .hub_virtual_network_connection_py3 import HubVirtualNetworkConnection + from .virtual_hub_py3 import VirtualHub + from .vpn_connection_py3 import VpnConnection + from .policies_py3 import Policies + from .vpn_gateway_py3 import VpnGateway + from .vpn_site_id_py3 import VpnSiteId +except (SyntaxError, ImportError): + from .sub_resource import SubResource + from .azure_firewall_ip_configuration import AzureFirewallIPConfiguration + from .azure_firewall_rc_action import AzureFirewallRCAction + from .azure_firewall_application_rule_protocol import AzureFirewallApplicationRuleProtocol + from .azure_firewall_application_rule import AzureFirewallApplicationRule + from .azure_firewall_application_rule_collection import AzureFirewallApplicationRuleCollection + from .azure_firewall_network_rule import AzureFirewallNetworkRule + from .azure_firewall_network_rule_collection import AzureFirewallNetworkRuleCollection + from .azure_firewall import AzureFirewall + from .resource import Resource + from .backend_address_pool import BackendAddressPool + from .inbound_nat_rule import InboundNatRule + from .application_security_group import ApplicationSecurityGroup + from .security_rule import SecurityRule + from .network_interface_dns_settings import NetworkInterfaceDnsSettings + from .network_interface import NetworkInterface + from .network_security_group import NetworkSecurityGroup + from .route import Route + from .route_table import RouteTable + from .service_endpoint_properties_format import ServiceEndpointPropertiesFormat + from .public_ip_address_sku import PublicIPAddressSku + from .public_ip_address_dns_settings import PublicIPAddressDnsSettings + from .ip_tag import IpTag + from .public_ip_address import PublicIPAddress + from .ip_configuration import IPConfiguration + from .resource_navigation_link import ResourceNavigationLink + from .subnet import Subnet + from .network_interface_ip_configuration import NetworkInterfaceIPConfiguration + from .application_gateway_backend_address import ApplicationGatewayBackendAddress + from .application_gateway_backend_address_pool import ApplicationGatewayBackendAddressPool + from .application_gateway_connection_draining import ApplicationGatewayConnectionDraining + from .application_gateway_backend_http_settings import ApplicationGatewayBackendHttpSettings + from .application_gateway_backend_health_server import ApplicationGatewayBackendHealthServer + from .application_gateway_backend_health_http_settings import ApplicationGatewayBackendHealthHttpSettings + from .application_gateway_backend_health_pool import ApplicationGatewayBackendHealthPool + from .application_gateway_backend_health import ApplicationGatewayBackendHealth + from .application_gateway_sku import ApplicationGatewaySku + from .application_gateway_ssl_policy import ApplicationGatewaySslPolicy + from .application_gateway_ip_configuration import ApplicationGatewayIPConfiguration + from .application_gateway_authentication_certificate import ApplicationGatewayAuthenticationCertificate + from .application_gateway_ssl_certificate import ApplicationGatewaySslCertificate + from .application_gateway_frontend_ip_configuration import ApplicationGatewayFrontendIPConfiguration + from .application_gateway_frontend_port import ApplicationGatewayFrontendPort + from .application_gateway_http_listener import ApplicationGatewayHttpListener + from .application_gateway_path_rule import ApplicationGatewayPathRule + from .application_gateway_probe_health_response_match import ApplicationGatewayProbeHealthResponseMatch + from .application_gateway_probe import ApplicationGatewayProbe + from .application_gateway_request_routing_rule import ApplicationGatewayRequestRoutingRule + from .application_gateway_redirect_configuration import ApplicationGatewayRedirectConfiguration + from .application_gateway_url_path_map import ApplicationGatewayUrlPathMap + from .application_gateway_firewall_disabled_rule_group import ApplicationGatewayFirewallDisabledRuleGroup + from .application_gateway_web_application_firewall_configuration import ApplicationGatewayWebApplicationFirewallConfiguration + from .application_gateway_autoscale_bounds import ApplicationGatewayAutoscaleBounds + from .application_gateway_autoscale_configuration import ApplicationGatewayAutoscaleConfiguration + from .application_gateway import ApplicationGateway + from .application_gateway_firewall_rule import ApplicationGatewayFirewallRule + from .application_gateway_firewall_rule_group import ApplicationGatewayFirewallRuleGroup + from .application_gateway_firewall_rule_set import ApplicationGatewayFirewallRuleSet + from .application_gateway_available_waf_rule_sets_result import ApplicationGatewayAvailableWafRuleSetsResult + from .application_gateway_available_ssl_options import ApplicationGatewayAvailableSslOptions + from .application_gateway_ssl_predefined_policy import ApplicationGatewaySslPredefinedPolicy + from .tags_object import TagsObject + from .dns_name_availability_result import DnsNameAvailabilityResult + from .ddos_protection_plan import DdosProtectionPlan + from .endpoint_service_result import EndpointServiceResult + from .express_route_circuit_authorization import ExpressRouteCircuitAuthorization + from .express_route_circuit_peering_config import ExpressRouteCircuitPeeringConfig + from .route_filter_rule import RouteFilterRule + from .express_route_circuit_stats import ExpressRouteCircuitStats + from .express_route_circuit_connection import ExpressRouteCircuitConnection + from .express_route_circuit_peering import ExpressRouteCircuitPeering + from .route_filter import RouteFilter + from .ipv6_express_route_circuit_peering_config import Ipv6ExpressRouteCircuitPeeringConfig + from .express_route_circuit_sku import ExpressRouteCircuitSku + from .express_route_circuit_service_provider_properties import ExpressRouteCircuitServiceProviderProperties + from .express_route_circuit import ExpressRouteCircuit + from .express_route_circuit_arp_table import ExpressRouteCircuitArpTable + from .express_route_circuits_arp_table_list_result import ExpressRouteCircuitsArpTableListResult + from .express_route_circuit_routes_table import ExpressRouteCircuitRoutesTable + from .express_route_circuits_routes_table_list_result import ExpressRouteCircuitsRoutesTableListResult + from .express_route_circuit_routes_table_summary import ExpressRouteCircuitRoutesTableSummary + from .express_route_circuits_routes_table_summary_list_result import ExpressRouteCircuitsRoutesTableSummaryListResult + from .express_route_service_provider_bandwidths_offered import ExpressRouteServiceProviderBandwidthsOffered + from .express_route_service_provider import ExpressRouteServiceProvider + from .express_route_cross_connection_routes_table_summary import ExpressRouteCrossConnectionRoutesTableSummary + from .express_route_cross_connections_routes_table_summary_list_result import ExpressRouteCrossConnectionsRoutesTableSummaryListResult + from .express_route_circuit_reference import ExpressRouteCircuitReference + from .express_route_cross_connection_peering import ExpressRouteCrossConnectionPeering + from .express_route_cross_connection import ExpressRouteCrossConnection + from .load_balancer_sku import LoadBalancerSku + from .frontend_ip_configuration import FrontendIPConfiguration + from .load_balancing_rule import LoadBalancingRule + from .probe import Probe + from .inbound_nat_pool import InboundNatPool + from .outbound_nat_rule import OutboundNatRule + from .load_balancer import LoadBalancer + from .error_details import ErrorDetails + from .error import Error, ErrorException + from .azure_async_operation_result import AzureAsyncOperationResult + from .effective_network_security_group_association import EffectiveNetworkSecurityGroupAssociation + from .effective_network_security_rule import EffectiveNetworkSecurityRule + from .effective_network_security_group import EffectiveNetworkSecurityGroup + from .effective_network_security_group_list_result import EffectiveNetworkSecurityGroupListResult + from .effective_route import EffectiveRoute + from .effective_route_list_result import EffectiveRouteListResult + from .network_watcher import NetworkWatcher + from .topology_parameters import TopologyParameters + from .topology_association import TopologyAssociation + from .topology_resource import TopologyResource + from .topology import Topology + from .verification_ip_flow_parameters import VerificationIPFlowParameters + from .verification_ip_flow_result import VerificationIPFlowResult + from .next_hop_parameters import NextHopParameters + from .next_hop_result import NextHopResult + from .security_group_view_parameters import SecurityGroupViewParameters + from .network_interface_association import NetworkInterfaceAssociation + from .subnet_association import SubnetAssociation + from .security_rule_associations import SecurityRuleAssociations + from .security_group_network_interface import SecurityGroupNetworkInterface + from .security_group_view_result import SecurityGroupViewResult + from .packet_capture_storage_location import PacketCaptureStorageLocation + from .packet_capture_filter import PacketCaptureFilter + from .packet_capture_parameters import PacketCaptureParameters + from .packet_capture import PacketCapture + from .packet_capture_result import PacketCaptureResult + from .packet_capture_query_status_result import PacketCaptureQueryStatusResult + from .troubleshooting_parameters import TroubleshootingParameters + from .query_troubleshooting_parameters import QueryTroubleshootingParameters + from .troubleshooting_recommended_actions import TroubleshootingRecommendedActions + from .troubleshooting_details import TroubleshootingDetails + from .troubleshooting_result import TroubleshootingResult + from .retention_policy_parameters import RetentionPolicyParameters + from .flow_log_status_parameters import FlowLogStatusParameters + from .traffic_analytics_configuration_properties import TrafficAnalyticsConfigurationProperties + from .traffic_analytics_properties import TrafficAnalyticsProperties + from .flow_log_information import FlowLogInformation + from .connectivity_source import ConnectivitySource + from .connectivity_destination import ConnectivityDestination + from .http_header import HTTPHeader + from .http_configuration import HTTPConfiguration + from .protocol_configuration import ProtocolConfiguration + from .connectivity_parameters import ConnectivityParameters + from .connectivity_issue import ConnectivityIssue + from .connectivity_hop import ConnectivityHop + from .connectivity_information import ConnectivityInformation + from .azure_reachability_report_location import AzureReachabilityReportLocation + from .azure_reachability_report_parameters import AzureReachabilityReportParameters + from .azure_reachability_report_latency_info import AzureReachabilityReportLatencyInfo + from .azure_reachability_report_item import AzureReachabilityReportItem + from .azure_reachability_report import AzureReachabilityReport + from .available_providers_list_parameters import AvailableProvidersListParameters + from .available_providers_list_city import AvailableProvidersListCity + from .available_providers_list_state import AvailableProvidersListState + from .available_providers_list_country import AvailableProvidersListCountry + from .available_providers_list import AvailableProvidersList + from .connection_monitor_source import ConnectionMonitorSource + from .connection_monitor_destination import ConnectionMonitorDestination + from .connection_monitor_parameters import ConnectionMonitorParameters + from .connection_monitor import ConnectionMonitor + from .connection_monitor_result import ConnectionMonitorResult + from .connection_state_snapshot import ConnectionStateSnapshot + from .connection_monitor_query_result import ConnectionMonitorQueryResult + from .operation_display import OperationDisplay + from .availability import Availability + from .dimension import Dimension + from .metric_specification import MetricSpecification + from .log_specification import LogSpecification + from .operation_properties_format_service_specification import OperationPropertiesFormatServiceSpecification + from .operation import Operation + from .patch_route_filter_rule import PatchRouteFilterRule + from .patch_route_filter import PatchRouteFilter + from .bgp_community import BGPCommunity + from .bgp_service_community import BgpServiceCommunity + from .usage_name import UsageName + from .usage import Usage + from .address_space import AddressSpace + from .virtual_network_peering import VirtualNetworkPeering + from .dhcp_options import DhcpOptions + from .virtual_network import VirtualNetwork + from .ip_address_availability_result import IPAddressAvailabilityResult + from .virtual_network_usage_name import VirtualNetworkUsageName + from .virtual_network_usage import VirtualNetworkUsage + from .virtual_network_gateway_ip_configuration import VirtualNetworkGatewayIPConfiguration + from .virtual_network_gateway_sku import VirtualNetworkGatewaySku + from .vpn_client_root_certificate import VpnClientRootCertificate + from .vpn_client_revoked_certificate import VpnClientRevokedCertificate + from .ipsec_policy import IpsecPolicy + from .vpn_client_configuration import VpnClientConfiguration + from .bgp_settings import BgpSettings + from .bgp_peer_status import BgpPeerStatus + from .gateway_route import GatewayRoute + from .virtual_network_gateway import VirtualNetworkGateway + from .vpn_client_parameters import VpnClientParameters + from .bgp_peer_status_list_result import BgpPeerStatusListResult + from .gateway_route_list_result import GatewayRouteListResult + from .tunnel_connection_health import TunnelConnectionHealth + from .local_network_gateway import LocalNetworkGateway + from .virtual_network_gateway_connection import VirtualNetworkGatewayConnection + from .connection_reset_shared_key import ConnectionResetSharedKey + from .connection_shared_key import ConnectionSharedKey + from .vpn_client_ipsec_parameters import VpnClientIPsecParameters + from .virtual_network_connection_gateway_reference import VirtualNetworkConnectionGatewayReference + from .virtual_network_gateway_connection_list_entity import VirtualNetworkGatewayConnectionListEntity + from .vpn_device_script_parameters import VpnDeviceScriptParameters + from .virtual_wan import VirtualWAN + from .device_properties import DeviceProperties + from .vpn_site import VpnSite + from .get_vpn_sites_configuration_request import GetVpnSitesConfigurationRequest + from .hub_virtual_network_connection import HubVirtualNetworkConnection + from .virtual_hub import VirtualHub + from .vpn_connection import VpnConnection + from .policies import Policies + from .vpn_gateway import VpnGateway + from .vpn_site_id import VpnSiteId +from .azure_firewall_paged import AzureFirewallPaged +from .application_gateway_paged import ApplicationGatewayPaged +from .application_gateway_ssl_predefined_policy_paged import ApplicationGatewaySslPredefinedPolicyPaged +from .application_security_group_paged import ApplicationSecurityGroupPaged +from .ddos_protection_plan_paged import DdosProtectionPlanPaged +from .endpoint_service_result_paged import EndpointServiceResultPaged +from .express_route_circuit_authorization_paged import ExpressRouteCircuitAuthorizationPaged +from .express_route_circuit_peering_paged import ExpressRouteCircuitPeeringPaged +from .express_route_circuit_paged import ExpressRouteCircuitPaged +from .express_route_service_provider_paged import ExpressRouteServiceProviderPaged +from .express_route_cross_connection_paged import ExpressRouteCrossConnectionPaged +from .express_route_cross_connection_peering_paged import ExpressRouteCrossConnectionPeeringPaged +from .load_balancer_paged import LoadBalancerPaged +from .backend_address_pool_paged import BackendAddressPoolPaged +from .frontend_ip_configuration_paged import FrontendIPConfigurationPaged +from .inbound_nat_rule_paged import InboundNatRulePaged +from .load_balancing_rule_paged import LoadBalancingRulePaged +from .network_interface_paged import NetworkInterfacePaged +from .probe_paged import ProbePaged +from .network_interface_ip_configuration_paged import NetworkInterfaceIPConfigurationPaged +from .network_security_group_paged import NetworkSecurityGroupPaged +from .security_rule_paged import SecurityRulePaged +from .network_watcher_paged import NetworkWatcherPaged +from .packet_capture_result_paged import PacketCaptureResultPaged +from .connection_monitor_result_paged import ConnectionMonitorResultPaged +from .operation_paged import OperationPaged +from .public_ip_address_paged import PublicIPAddressPaged +from .route_filter_paged import RouteFilterPaged +from .route_filter_rule_paged import RouteFilterRulePaged +from .route_table_paged import RouteTablePaged +from .route_paged import RoutePaged +from .bgp_service_community_paged import BgpServiceCommunityPaged +from .usage_paged import UsagePaged +from .virtual_network_paged import VirtualNetworkPaged +from .virtual_network_usage_paged import VirtualNetworkUsagePaged +from .subnet_paged import SubnetPaged +from .virtual_network_peering_paged import VirtualNetworkPeeringPaged +from .virtual_network_gateway_paged import VirtualNetworkGatewayPaged +from .virtual_network_gateway_connection_list_entity_paged import VirtualNetworkGatewayConnectionListEntityPaged +from .virtual_network_gateway_connection_paged import VirtualNetworkGatewayConnectionPaged +from .local_network_gateway_paged import LocalNetworkGatewayPaged +from .virtual_wan_paged import VirtualWANPaged +from .vpn_site_paged import VpnSitePaged +from .virtual_hub_paged import VirtualHubPaged +from .hub_virtual_network_connection_paged import HubVirtualNetworkConnectionPaged +from .vpn_gateway_paged import VpnGatewayPaged +from .vpn_connection_paged import VpnConnectionPaged +from .network_management_client_enums import ( + ProvisioningState, + AzureFirewallRCActionType, + AzureFirewallApplicationRuleProtocolType, + AzureFirewallNetworkRuleProtocol, + TransportProtocol, + IPAllocationMethod, + IPVersion, + SecurityRuleProtocol, + SecurityRuleAccess, + SecurityRuleDirection, + RouteNextHopType, + PublicIPAddressSkuName, + ApplicationGatewayProtocol, + ApplicationGatewayCookieBasedAffinity, + ApplicationGatewayBackendHealthServerHealth, + ApplicationGatewaySkuName, + ApplicationGatewayTier, + ApplicationGatewaySslProtocol, + ApplicationGatewaySslPolicyType, + ApplicationGatewaySslPolicyName, + ApplicationGatewaySslCipherSuite, + ApplicationGatewayRequestRoutingRuleType, + ApplicationGatewayRedirectType, + ApplicationGatewayOperationalState, + ApplicationGatewayFirewallMode, + AuthorizationUseStatus, + ExpressRouteCircuitPeeringAdvertisedPublicPrefixState, + Access, + ExpressRoutePeeringType, + ExpressRoutePeeringState, + CircuitConnectionStatus, + ExpressRouteCircuitPeeringState, + ExpressRouteCircuitSkuTier, + ExpressRouteCircuitSkuFamily, + ServiceProviderProvisioningState, + LoadBalancerSkuName, + LoadDistribution, + ProbeProtocol, + NetworkOperationStatus, + EffectiveSecurityRuleProtocol, + EffectiveRouteSource, + EffectiveRouteState, + AssociationType, + Direction, + IpFlowProtocol, + NextHopType, + PcProtocol, + PcStatus, + PcError, + Protocol, + HTTPMethod, + Origin, + Severity, + IssueType, + ConnectionStatus, + ConnectionMonitorSourceStatus, + ConnectionState, + EvaluationState, + VirtualNetworkPeeringState, + VirtualNetworkGatewayType, + VpnType, + VirtualNetworkGatewaySkuName, + VirtualNetworkGatewaySkuTier, + VpnClientProtocol, + IpsecEncryption, + IpsecIntegrity, + IkeEncryption, + IkeIntegrity, + DhGroup, + PfsGroup, + BgpPeerState, + ProcessorArchitecture, + AuthenticationMethod, + VirtualNetworkGatewayConnectionStatus, + VirtualNetworkGatewayConnectionType, + VpnConnectionStatus, + TunnelConnectionStatus, + HubVirtualNetworkConnectionStatus, +) + +__all__ = [ + 'SubResource', + 'AzureFirewallIPConfiguration', + 'AzureFirewallRCAction', + 'AzureFirewallApplicationRuleProtocol', + 'AzureFirewallApplicationRule', + 'AzureFirewallApplicationRuleCollection', + 'AzureFirewallNetworkRule', + 'AzureFirewallNetworkRuleCollection', + 'AzureFirewall', + 'Resource', + 'BackendAddressPool', + 'InboundNatRule', + 'ApplicationSecurityGroup', + 'SecurityRule', + 'NetworkInterfaceDnsSettings', + 'NetworkInterface', + 'NetworkSecurityGroup', + 'Route', + 'RouteTable', + 'ServiceEndpointPropertiesFormat', + 'PublicIPAddressSku', + 'PublicIPAddressDnsSettings', + 'IpTag', + 'PublicIPAddress', + 'IPConfiguration', + 'ResourceNavigationLink', + 'Subnet', + 'NetworkInterfaceIPConfiguration', + 'ApplicationGatewayBackendAddress', + 'ApplicationGatewayBackendAddressPool', + 'ApplicationGatewayConnectionDraining', + 'ApplicationGatewayBackendHttpSettings', + 'ApplicationGatewayBackendHealthServer', + 'ApplicationGatewayBackendHealthHttpSettings', + 'ApplicationGatewayBackendHealthPool', + 'ApplicationGatewayBackendHealth', + 'ApplicationGatewaySku', + 'ApplicationGatewaySslPolicy', + 'ApplicationGatewayIPConfiguration', + 'ApplicationGatewayAuthenticationCertificate', + 'ApplicationGatewaySslCertificate', + 'ApplicationGatewayFrontendIPConfiguration', + 'ApplicationGatewayFrontendPort', + 'ApplicationGatewayHttpListener', + 'ApplicationGatewayPathRule', + 'ApplicationGatewayProbeHealthResponseMatch', + 'ApplicationGatewayProbe', + 'ApplicationGatewayRequestRoutingRule', + 'ApplicationGatewayRedirectConfiguration', + 'ApplicationGatewayUrlPathMap', + 'ApplicationGatewayFirewallDisabledRuleGroup', + 'ApplicationGatewayWebApplicationFirewallConfiguration', + 'ApplicationGatewayAutoscaleBounds', + 'ApplicationGatewayAutoscaleConfiguration', + 'ApplicationGateway', + 'ApplicationGatewayFirewallRule', + 'ApplicationGatewayFirewallRuleGroup', + 'ApplicationGatewayFirewallRuleSet', + 'ApplicationGatewayAvailableWafRuleSetsResult', + 'ApplicationGatewayAvailableSslOptions', + 'ApplicationGatewaySslPredefinedPolicy', + 'TagsObject', + 'DnsNameAvailabilityResult', + 'DdosProtectionPlan', + 'EndpointServiceResult', + 'ExpressRouteCircuitAuthorization', + 'ExpressRouteCircuitPeeringConfig', + 'RouteFilterRule', + 'ExpressRouteCircuitStats', + 'ExpressRouteCircuitConnection', + 'ExpressRouteCircuitPeering', + 'RouteFilter', + 'Ipv6ExpressRouteCircuitPeeringConfig', + 'ExpressRouteCircuitSku', + 'ExpressRouteCircuitServiceProviderProperties', + 'ExpressRouteCircuit', + 'ExpressRouteCircuitArpTable', + 'ExpressRouteCircuitsArpTableListResult', + 'ExpressRouteCircuitRoutesTable', + 'ExpressRouteCircuitsRoutesTableListResult', + 'ExpressRouteCircuitRoutesTableSummary', + 'ExpressRouteCircuitsRoutesTableSummaryListResult', + 'ExpressRouteServiceProviderBandwidthsOffered', + 'ExpressRouteServiceProvider', + 'ExpressRouteCrossConnectionRoutesTableSummary', + 'ExpressRouteCrossConnectionsRoutesTableSummaryListResult', + 'ExpressRouteCircuitReference', + 'ExpressRouteCrossConnectionPeering', + 'ExpressRouteCrossConnection', + 'LoadBalancerSku', + 'FrontendIPConfiguration', + 'LoadBalancingRule', + 'Probe', + 'InboundNatPool', + 'OutboundNatRule', + 'LoadBalancer', + 'ErrorDetails', + 'Error', 'ErrorException', + 'AzureAsyncOperationResult', + 'EffectiveNetworkSecurityGroupAssociation', + 'EffectiveNetworkSecurityRule', + 'EffectiveNetworkSecurityGroup', + 'EffectiveNetworkSecurityGroupListResult', + 'EffectiveRoute', + 'EffectiveRouteListResult', + 'NetworkWatcher', + 'TopologyParameters', + 'TopologyAssociation', + 'TopologyResource', + 'Topology', + 'VerificationIPFlowParameters', + 'VerificationIPFlowResult', + 'NextHopParameters', + 'NextHopResult', + 'SecurityGroupViewParameters', + 'NetworkInterfaceAssociation', + 'SubnetAssociation', + 'SecurityRuleAssociations', + 'SecurityGroupNetworkInterface', + 'SecurityGroupViewResult', + 'PacketCaptureStorageLocation', + 'PacketCaptureFilter', + 'PacketCaptureParameters', + 'PacketCapture', + 'PacketCaptureResult', + 'PacketCaptureQueryStatusResult', + 'TroubleshootingParameters', + 'QueryTroubleshootingParameters', + 'TroubleshootingRecommendedActions', + 'TroubleshootingDetails', + 'TroubleshootingResult', + 'RetentionPolicyParameters', + 'FlowLogStatusParameters', + 'TrafficAnalyticsConfigurationProperties', + 'TrafficAnalyticsProperties', + 'FlowLogInformation', + 'ConnectivitySource', + 'ConnectivityDestination', + 'HTTPHeader', + 'HTTPConfiguration', + 'ProtocolConfiguration', + 'ConnectivityParameters', + 'ConnectivityIssue', + 'ConnectivityHop', + 'ConnectivityInformation', + 'AzureReachabilityReportLocation', + 'AzureReachabilityReportParameters', + 'AzureReachabilityReportLatencyInfo', + 'AzureReachabilityReportItem', + 'AzureReachabilityReport', + 'AvailableProvidersListParameters', + 'AvailableProvidersListCity', + 'AvailableProvidersListState', + 'AvailableProvidersListCountry', + 'AvailableProvidersList', + 'ConnectionMonitorSource', + 'ConnectionMonitorDestination', + 'ConnectionMonitorParameters', + 'ConnectionMonitor', + 'ConnectionMonitorResult', + 'ConnectionStateSnapshot', + 'ConnectionMonitorQueryResult', + 'OperationDisplay', + 'Availability', + 'Dimension', + 'MetricSpecification', + 'LogSpecification', + 'OperationPropertiesFormatServiceSpecification', + 'Operation', + 'PatchRouteFilterRule', + 'PatchRouteFilter', + 'BGPCommunity', + 'BgpServiceCommunity', + 'UsageName', + 'Usage', + 'AddressSpace', + 'VirtualNetworkPeering', + 'DhcpOptions', + 'VirtualNetwork', + 'IPAddressAvailabilityResult', + 'VirtualNetworkUsageName', + 'VirtualNetworkUsage', + 'VirtualNetworkGatewayIPConfiguration', + 'VirtualNetworkGatewaySku', + 'VpnClientRootCertificate', + 'VpnClientRevokedCertificate', + 'IpsecPolicy', + 'VpnClientConfiguration', + 'BgpSettings', + 'BgpPeerStatus', + 'GatewayRoute', + 'VirtualNetworkGateway', + 'VpnClientParameters', + 'BgpPeerStatusListResult', + 'GatewayRouteListResult', + 'TunnelConnectionHealth', + 'LocalNetworkGateway', + 'VirtualNetworkGatewayConnection', + 'ConnectionResetSharedKey', + 'ConnectionSharedKey', + 'VpnClientIPsecParameters', + 'VirtualNetworkConnectionGatewayReference', + 'VirtualNetworkGatewayConnectionListEntity', + 'VpnDeviceScriptParameters', + 'VirtualWAN', + 'DeviceProperties', + 'VpnSite', + 'GetVpnSitesConfigurationRequest', + 'HubVirtualNetworkConnection', + 'VirtualHub', + 'VpnConnection', + 'Policies', + 'VpnGateway', + 'VpnSiteId', + 'AzureFirewallPaged', + 'ApplicationGatewayPaged', + 'ApplicationGatewaySslPredefinedPolicyPaged', + 'ApplicationSecurityGroupPaged', + 'DdosProtectionPlanPaged', + 'EndpointServiceResultPaged', + 'ExpressRouteCircuitAuthorizationPaged', + 'ExpressRouteCircuitPeeringPaged', + 'ExpressRouteCircuitPaged', + 'ExpressRouteServiceProviderPaged', + 'ExpressRouteCrossConnectionPaged', + 'ExpressRouteCrossConnectionPeeringPaged', + 'LoadBalancerPaged', + 'BackendAddressPoolPaged', + 'FrontendIPConfigurationPaged', + 'InboundNatRulePaged', + 'LoadBalancingRulePaged', + 'NetworkInterfacePaged', + 'ProbePaged', + 'NetworkInterfaceIPConfigurationPaged', + 'NetworkSecurityGroupPaged', + 'SecurityRulePaged', + 'NetworkWatcherPaged', + 'PacketCaptureResultPaged', + 'ConnectionMonitorResultPaged', + 'OperationPaged', + 'PublicIPAddressPaged', + 'RouteFilterPaged', + 'RouteFilterRulePaged', + 'RouteTablePaged', + 'RoutePaged', + 'BgpServiceCommunityPaged', + 'UsagePaged', + 'VirtualNetworkPaged', + 'VirtualNetworkUsagePaged', + 'SubnetPaged', + 'VirtualNetworkPeeringPaged', + 'VirtualNetworkGatewayPaged', + 'VirtualNetworkGatewayConnectionListEntityPaged', + 'VirtualNetworkGatewayConnectionPaged', + 'LocalNetworkGatewayPaged', + 'VirtualWANPaged', + 'VpnSitePaged', + 'VirtualHubPaged', + 'HubVirtualNetworkConnectionPaged', + 'VpnGatewayPaged', + 'VpnConnectionPaged', + 'ProvisioningState', + 'AzureFirewallRCActionType', + 'AzureFirewallApplicationRuleProtocolType', + 'AzureFirewallNetworkRuleProtocol', + 'TransportProtocol', + 'IPAllocationMethod', + 'IPVersion', + 'SecurityRuleProtocol', + 'SecurityRuleAccess', + 'SecurityRuleDirection', + 'RouteNextHopType', + 'PublicIPAddressSkuName', + 'ApplicationGatewayProtocol', + 'ApplicationGatewayCookieBasedAffinity', + 'ApplicationGatewayBackendHealthServerHealth', + 'ApplicationGatewaySkuName', + 'ApplicationGatewayTier', + 'ApplicationGatewaySslProtocol', + 'ApplicationGatewaySslPolicyType', + 'ApplicationGatewaySslPolicyName', + 'ApplicationGatewaySslCipherSuite', + 'ApplicationGatewayRequestRoutingRuleType', + 'ApplicationGatewayRedirectType', + 'ApplicationGatewayOperationalState', + 'ApplicationGatewayFirewallMode', + 'AuthorizationUseStatus', + 'ExpressRouteCircuitPeeringAdvertisedPublicPrefixState', + 'Access', + 'ExpressRoutePeeringType', + 'ExpressRoutePeeringState', + 'CircuitConnectionStatus', + 'ExpressRouteCircuitPeeringState', + 'ExpressRouteCircuitSkuTier', + 'ExpressRouteCircuitSkuFamily', + 'ServiceProviderProvisioningState', + 'LoadBalancerSkuName', + 'LoadDistribution', + 'ProbeProtocol', + 'NetworkOperationStatus', + 'EffectiveSecurityRuleProtocol', + 'EffectiveRouteSource', + 'EffectiveRouteState', + 'AssociationType', + 'Direction', + 'IpFlowProtocol', + 'NextHopType', + 'PcProtocol', + 'PcStatus', + 'PcError', + 'Protocol', + 'HTTPMethod', + 'Origin', + 'Severity', + 'IssueType', + 'ConnectionStatus', + 'ConnectionMonitorSourceStatus', + 'ConnectionState', + 'EvaluationState', + 'VirtualNetworkPeeringState', + 'VirtualNetworkGatewayType', + 'VpnType', + 'VirtualNetworkGatewaySkuName', + 'VirtualNetworkGatewaySkuTier', + 'VpnClientProtocol', + 'IpsecEncryption', + 'IpsecIntegrity', + 'IkeEncryption', + 'IkeIntegrity', + 'DhGroup', + 'PfsGroup', + 'BgpPeerState', + 'ProcessorArchitecture', + 'AuthenticationMethod', + 'VirtualNetworkGatewayConnectionStatus', + 'VirtualNetworkGatewayConnectionType', + 'VpnConnectionStatus', + 'TunnelConnectionStatus', + 'HubVirtualNetworkConnectionStatus', +] diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/address_space.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/address_space.py new file mode 100644 index 000000000000..fbf42c9e0ade --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/address_space.py @@ -0,0 +1,30 @@ +# 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.serialization import Model + + +class AddressSpace(Model): + """AddressSpace contains an array of IP address ranges that can be used by + subnets of the virtual network. + + :param address_prefixes: A list of address blocks reserved for this + virtual network in CIDR notation. + :type address_prefixes: list[str] + """ + + _attribute_map = { + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AddressSpace, self).__init__(**kwargs) + self.address_prefixes = kwargs.get('address_prefixes', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/address_space_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/address_space_py3.py new file mode 100644 index 000000000000..9794cc805efa --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/address_space_py3.py @@ -0,0 +1,30 @@ +# 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.serialization import Model + + +class AddressSpace(Model): + """AddressSpace contains an array of IP address ranges that can be used by + subnets of the virtual network. + + :param address_prefixes: A list of address blocks reserved for this + virtual network in CIDR notation. + :type address_prefixes: list[str] + """ + + _attribute_map = { + 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, + } + + def __init__(self, *, address_prefixes=None, **kwargs) -> None: + super(AddressSpace, self).__init__(**kwargs) + self.address_prefixes = address_prefixes diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway.py new file mode 100644 index 000000000000..aae65e5d6bfd --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway.py @@ -0,0 +1,173 @@ +# 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 .resource import Resource + + +class ApplicationGateway(Resource): + """Application gateway resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: SKU of the application gateway resource. + :type sku: ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySku + :param ssl_policy: SSL policy of the application gateway resource. + :type ssl_policy: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslPolicy + :ivar operational_state: Operational state of the application gateway + resource. Possible values include: 'Stopped', 'Starting', 'Running', + 'Stopping' + :vartype operational_state: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayOperationalState + :param gateway_ip_configurations: Subnets of application the gateway + resource. + :type gateway_ip_configurations: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayIPConfiguration] + :param authentication_certificates: Authentication certificates of the + application gateway resource. + :type authentication_certificates: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayAuthenticationCertificate] + :param ssl_certificates: SSL certificates of the application gateway + resource. + :type ssl_certificates: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslCertificate] + :param frontend_ip_configurations: Frontend IP addresses of the + application gateway resource. + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayFrontendIPConfiguration] + :param frontend_ports: Frontend ports of the application gateway resource. + :type frontend_ports: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayFrontendPort] + :param probes: Probes of the application gateway resource. + :type probes: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayProbe] + :param backend_address_pools: Backend address pool of the application + gateway resource. + :type backend_address_pools: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendAddressPool] + :param backend_http_settings_collection: Backend http settings of the + application gateway resource. + :type backend_http_settings_collection: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendHttpSettings] + :param http_listeners: Http listeners of the application gateway resource. + :type http_listeners: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayHttpListener] + :param url_path_maps: URL path map of the application gateway resource. + :type url_path_maps: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayUrlPathMap] + :param request_routing_rules: Request routing rules of the application + gateway resource. + :type request_routing_rules: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayRequestRoutingRule] + :param redirect_configurations: Redirect configurations of the application + gateway resource. + :type redirect_configurations: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayRedirectConfiguration] + :param web_application_firewall_configuration: Web application firewall + configuration. + :type web_application_firewall_configuration: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayWebApplicationFirewallConfiguration + :param enable_http2: Whether HTTP2 is enabled on the application gateway + resource. + :type enable_http2: bool + :param enable_fips: Whether FIPS is enabled on the application gateway + resource. + :type enable_fips: bool + :param autoscale_configuration: Autoscale Configuration. + :type autoscale_configuration: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayAutoscaleConfiguration + :param resource_guid: Resource GUID property of the application gateway + resource. + :type resource_guid: str + :param provisioning_state: Provisioning state of the application gateway + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param zones: A list of availability zones denoting where the resource + needs to come from. + :type zones: list[str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'operational_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, + 'ssl_policy': {'key': 'properties.sslPolicy', 'type': 'ApplicationGatewaySslPolicy'}, + 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, + 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, + 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[ApplicationGatewayAuthenticationCertificate]'}, + 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, + 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, + 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, + 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, + 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, + 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, + 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, + 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, + 'redirect_configurations': {'key': 'properties.redirectConfigurations', 'type': '[ApplicationGatewayRedirectConfiguration]'}, + 'web_application_firewall_configuration': {'key': 'properties.webApplicationFirewallConfiguration', 'type': 'ApplicationGatewayWebApplicationFirewallConfiguration'}, + 'enable_http2': {'key': 'properties.enableHttp2', 'type': 'bool'}, + 'enable_fips': {'key': 'properties.enableFips', 'type': 'bool'}, + 'autoscale_configuration': {'key': 'properties.autoscaleConfiguration', 'type': 'ApplicationGatewayAutoscaleConfiguration'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGateway, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.ssl_policy = kwargs.get('ssl_policy', None) + self.operational_state = None + self.gateway_ip_configurations = kwargs.get('gateway_ip_configurations', None) + self.authentication_certificates = kwargs.get('authentication_certificates', None) + self.ssl_certificates = kwargs.get('ssl_certificates', None) + self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) + self.frontend_ports = kwargs.get('frontend_ports', None) + self.probes = kwargs.get('probes', None) + self.backend_address_pools = kwargs.get('backend_address_pools', None) + self.backend_http_settings_collection = kwargs.get('backend_http_settings_collection', None) + self.http_listeners = kwargs.get('http_listeners', None) + self.url_path_maps = kwargs.get('url_path_maps', None) + self.request_routing_rules = kwargs.get('request_routing_rules', None) + self.redirect_configurations = kwargs.get('redirect_configurations', None) + self.web_application_firewall_configuration = kwargs.get('web_application_firewall_configuration', None) + self.enable_http2 = kwargs.get('enable_http2', None) + self.enable_fips = kwargs.get('enable_fips', None) + self.autoscale_configuration = kwargs.get('autoscale_configuration', None) + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = kwargs.get('etag', None) + self.zones = kwargs.get('zones', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_authentication_certificate.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_authentication_certificate.py new file mode 100644 index 000000000000..3b766e657c6b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_authentication_certificate.py @@ -0,0 +1,51 @@ +# 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 ApplicationGatewayAuthenticationCertificate(SubResource): + """Authentication certificates of an application gateway. + + :param id: Resource ID. + :type id: str + :param data: Certificate public data. + :type data: str + :param provisioning_state: Provisioning state of the authentication + certificate resource. Possible values are: 'Updating', 'Deleting', and + 'Failed'. + :type provisioning_state: str + :param name: Name of the authentication certificate that is unique within + an Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'data': {'key': 'properties.data', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayAuthenticationCertificate, self).__init__(**kwargs) + self.data = kwargs.get('data', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_authentication_certificate_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_authentication_certificate_py3.py new file mode 100644 index 000000000000..d0c7f378884b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_authentication_certificate_py3.py @@ -0,0 +1,51 @@ +# 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 ApplicationGatewayAuthenticationCertificate(SubResource): + """Authentication certificates of an application gateway. + + :param id: Resource ID. + :type id: str + :param data: Certificate public data. + :type data: str + :param provisioning_state: Provisioning state of the authentication + certificate resource. Possible values are: 'Updating', 'Deleting', and + 'Failed'. + :type provisioning_state: str + :param name: Name of the authentication certificate that is unique within + an Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'data': {'key': 'properties.data', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, data: str=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayAuthenticationCertificate, self).__init__(id=id, **kwargs) + self.data = data + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_autoscale_bounds.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_autoscale_bounds.py new file mode 100644 index 000000000000..f36b8744e511 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_autoscale_bounds.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class ApplicationGatewayAutoscaleBounds(Model): + """Application Gateway autoscale bounds on number of Application Gateway + instance. + + All required parameters must be populated in order to send to Azure. + + :param min: Required. Lower bound on number of Application Gateway + instances. + :type min: int + :param max: Required. Upper bound on number of Application Gateway + instances. + :type max: int + """ + + _validation = { + 'min': {'required': True}, + 'max': {'required': True}, + } + + _attribute_map = { + 'min': {'key': 'min', 'type': 'int'}, + 'max': {'key': 'max', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayAutoscaleBounds, self).__init__(**kwargs) + self.min = kwargs.get('min', None) + self.max = kwargs.get('max', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_autoscale_bounds_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_autoscale_bounds_py3.py new file mode 100644 index 000000000000..fd93bf10f8f2 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_autoscale_bounds_py3.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class ApplicationGatewayAutoscaleBounds(Model): + """Application Gateway autoscale bounds on number of Application Gateway + instance. + + All required parameters must be populated in order to send to Azure. + + :param min: Required. Lower bound on number of Application Gateway + instances. + :type min: int + :param max: Required. Upper bound on number of Application Gateway + instances. + :type max: int + """ + + _validation = { + 'min': {'required': True}, + 'max': {'required': True}, + } + + _attribute_map = { + 'min': {'key': 'min', 'type': 'int'}, + 'max': {'key': 'max', 'type': 'int'}, + } + + def __init__(self, *, min: int, max: int, **kwargs) -> None: + super(ApplicationGatewayAutoscaleBounds, self).__init__(**kwargs) + self.min = min + self.max = max diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_autoscale_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_autoscale_configuration.py new file mode 100644 index 000000000000..eee1ee8a62df --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_autoscale_configuration.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class ApplicationGatewayAutoscaleConfiguration(Model): + """Application Gateway autoscale configuration. + + All required parameters must be populated in order to send to Azure. + + :param bounds: Required. Autoscale bounds + :type bounds: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayAutoscaleBounds + """ + + _validation = { + 'bounds': {'required': True}, + } + + _attribute_map = { + 'bounds': {'key': 'bounds', 'type': 'ApplicationGatewayAutoscaleBounds'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayAutoscaleConfiguration, self).__init__(**kwargs) + self.bounds = kwargs.get('bounds', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_autoscale_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_autoscale_configuration_py3.py new file mode 100644 index 000000000000..6321e0d2f493 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_autoscale_configuration_py3.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class ApplicationGatewayAutoscaleConfiguration(Model): + """Application Gateway autoscale configuration. + + All required parameters must be populated in order to send to Azure. + + :param bounds: Required. Autoscale bounds + :type bounds: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayAutoscaleBounds + """ + + _validation = { + 'bounds': {'required': True}, + } + + _attribute_map = { + 'bounds': {'key': 'bounds', 'type': 'ApplicationGatewayAutoscaleBounds'}, + } + + def __init__(self, *, bounds, **kwargs) -> None: + super(ApplicationGatewayAutoscaleConfiguration, self).__init__(**kwargs) + self.bounds = bounds diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_available_ssl_options.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_available_ssl_options.py new file mode 100644 index 000000000000..6bbacd85e645 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_available_ssl_options.py @@ -0,0 +1,70 @@ +# 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 .resource import Resource + + +class ApplicationGatewayAvailableSslOptions(Resource): + """Response for ApplicationGatewayAvailableSslOptions API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param predefined_policies: List of available Ssl predefined policy. + :type predefined_policies: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param default_policy: Name of the Ssl predefined policy applied by + default to application gateway. Possible values include: + 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', + 'AppGwSslPolicy20170401S' + :type default_policy: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslPolicyName + :param available_cipher_suites: List of available Ssl cipher suites. + :type available_cipher_suites: list[str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslCipherSuite] + :param available_protocols: List of available Ssl protocols. + :type available_protocols: list[str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslProtocol] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'predefined_policies': {'key': 'properties.predefinedPolicies', 'type': '[SubResource]'}, + 'default_policy': {'key': 'properties.defaultPolicy', 'type': 'str'}, + 'available_cipher_suites': {'key': 'properties.availableCipherSuites', 'type': '[str]'}, + 'available_protocols': {'key': 'properties.availableProtocols', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayAvailableSslOptions, self).__init__(**kwargs) + self.predefined_policies = kwargs.get('predefined_policies', None) + self.default_policy = kwargs.get('default_policy', None) + self.available_cipher_suites = kwargs.get('available_cipher_suites', None) + self.available_protocols = kwargs.get('available_protocols', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_available_ssl_options_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_available_ssl_options_py3.py new file mode 100644 index 000000000000..66444df1f4a6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_available_ssl_options_py3.py @@ -0,0 +1,70 @@ +# 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 .resource_py3 import Resource + + +class ApplicationGatewayAvailableSslOptions(Resource): + """Response for ApplicationGatewayAvailableSslOptions API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param predefined_policies: List of available Ssl predefined policy. + :type predefined_policies: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param default_policy: Name of the Ssl predefined policy applied by + default to application gateway. Possible values include: + 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', + 'AppGwSslPolicy20170401S' + :type default_policy: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslPolicyName + :param available_cipher_suites: List of available Ssl cipher suites. + :type available_cipher_suites: list[str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslCipherSuite] + :param available_protocols: List of available Ssl protocols. + :type available_protocols: list[str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslProtocol] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'predefined_policies': {'key': 'properties.predefinedPolicies', 'type': '[SubResource]'}, + 'default_policy': {'key': 'properties.defaultPolicy', 'type': 'str'}, + 'available_cipher_suites': {'key': 'properties.availableCipherSuites', 'type': '[str]'}, + 'available_protocols': {'key': 'properties.availableProtocols', 'type': '[str]'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, predefined_policies=None, default_policy=None, available_cipher_suites=None, available_protocols=None, **kwargs) -> None: + super(ApplicationGatewayAvailableSslOptions, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.predefined_policies = predefined_policies + self.default_policy = default_policy + self.available_cipher_suites = available_cipher_suites + self.available_protocols = available_protocols diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_available_waf_rule_sets_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_available_waf_rule_sets_result.py new file mode 100644 index 000000000000..ff38e7b938c5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_available_waf_rule_sets_result.py @@ -0,0 +1,29 @@ +# 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.serialization import Model + + +class ApplicationGatewayAvailableWafRuleSetsResult(Model): + """Response for ApplicationGatewayAvailableWafRuleSets API service call. + + :param value: The list of application gateway rule sets. + :type value: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayFirewallRuleSet] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ApplicationGatewayFirewallRuleSet]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayAvailableWafRuleSetsResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_available_waf_rule_sets_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_available_waf_rule_sets_result_py3.py new file mode 100644 index 000000000000..1ddcf97a56d1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_available_waf_rule_sets_result_py3.py @@ -0,0 +1,29 @@ +# 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.serialization import Model + + +class ApplicationGatewayAvailableWafRuleSetsResult(Model): + """Response for ApplicationGatewayAvailableWafRuleSets API service call. + + :param value: The list of application gateway rule sets. + :type value: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayFirewallRuleSet] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ApplicationGatewayFirewallRuleSet]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(ApplicationGatewayAvailableWafRuleSetsResult, self).__init__(**kwargs) + self.value = value diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_address.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_address.py new file mode 100644 index 000000000000..e7a61fe1705c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_address.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class ApplicationGatewayBackendAddress(Model): + """Backend address of an application gateway. + + :param fqdn: Fully qualified domain name (FQDN). + :type fqdn: str + :param ip_address: IP address + :type ip_address: str + """ + + _attribute_map = { + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) + self.fqdn = kwargs.get('fqdn', None) + self.ip_address = kwargs.get('ip_address', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_address_pool.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_address_pool.py new file mode 100644 index 000000000000..c3ba23e10d0e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_address_pool.py @@ -0,0 +1,57 @@ +# 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 ApplicationGatewayBackendAddressPool(SubResource): + """Backend Address Pool of an application gateway. + + :param id: Resource ID. + :type id: str + :param backend_ip_configurations: Collection of references to IPs defined + in network interfaces. + :type backend_ip_configurations: + list[~azure.mgmt.network.v2018_06_01.models.NetworkInterfaceIPConfiguration] + :param backend_addresses: Backend addresses + :type backend_addresses: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendAddress] + :param provisioning_state: Provisioning state of the backend address pool + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the backend address pool that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendAddressPool, self).__init__(**kwargs) + self.backend_ip_configurations = kwargs.get('backend_ip_configurations', None) + self.backend_addresses = kwargs.get('backend_addresses', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_address_pool_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_address_pool_py3.py new file mode 100644 index 000000000000..e913c277fd02 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_address_pool_py3.py @@ -0,0 +1,57 @@ +# 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 ApplicationGatewayBackendAddressPool(SubResource): + """Backend Address Pool of an application gateway. + + :param id: Resource ID. + :type id: str + :param backend_ip_configurations: Collection of references to IPs defined + in network interfaces. + :type backend_ip_configurations: + list[~azure.mgmt.network.v2018_06_01.models.NetworkInterfaceIPConfiguration] + :param backend_addresses: Backend addresses + :type backend_addresses: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendAddress] + :param provisioning_state: Provisioning state of the backend address pool + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the backend address pool that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, backend_ip_configurations=None, backend_addresses=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayBackendAddressPool, self).__init__(id=id, **kwargs) + self.backend_ip_configurations = backend_ip_configurations + self.backend_addresses = backend_addresses + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_address_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_address_py3.py new file mode 100644 index 000000000000..d18e476244d8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_address_py3.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class ApplicationGatewayBackendAddress(Model): + """Backend address of an application gateway. + + :param fqdn: Fully qualified domain name (FQDN). + :type fqdn: str + :param ip_address: IP address + :type ip_address: str + """ + + _attribute_map = { + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + } + + def __init__(self, *, fqdn: str=None, ip_address: str=None, **kwargs) -> None: + super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) + self.fqdn = fqdn + self.ip_address = ip_address diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health.py new file mode 100644 index 000000000000..d89e1849a3c5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health.py @@ -0,0 +1,29 @@ +# 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.serialization import Model + + +class ApplicationGatewayBackendHealth(Model): + """List of ApplicationGatewayBackendHealthPool resources. + + :param backend_address_pools: + :type backend_address_pools: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendHealthPool] + """ + + _attribute_map = { + 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[ApplicationGatewayBackendHealthPool]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHealth, self).__init__(**kwargs) + self.backend_address_pools = kwargs.get('backend_address_pools', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_http_settings.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_http_settings.py new file mode 100644 index 000000000000..3c8aa52c615a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_http_settings.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class ApplicationGatewayBackendHealthHttpSettings(Model): + """Application gateway BackendHealthHttp settings. + + :param backend_http_settings: Reference of an + ApplicationGatewayBackendHttpSettings resource. + :type backend_http_settings: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendHttpSettings + :param servers: List of ApplicationGatewayBackendHealthServer resources. + :type servers: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendHealthServer] + """ + + _attribute_map = { + 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'ApplicationGatewayBackendHttpSettings'}, + 'servers': {'key': 'servers', 'type': '[ApplicationGatewayBackendHealthServer]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHealthHttpSettings, self).__init__(**kwargs) + self.backend_http_settings = kwargs.get('backend_http_settings', None) + self.servers = kwargs.get('servers', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_http_settings_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_http_settings_py3.py new file mode 100644 index 000000000000..aff6a2025657 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_http_settings_py3.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class ApplicationGatewayBackendHealthHttpSettings(Model): + """Application gateway BackendHealthHttp settings. + + :param backend_http_settings: Reference of an + ApplicationGatewayBackendHttpSettings resource. + :type backend_http_settings: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendHttpSettings + :param servers: List of ApplicationGatewayBackendHealthServer resources. + :type servers: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendHealthServer] + """ + + _attribute_map = { + 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'ApplicationGatewayBackendHttpSettings'}, + 'servers': {'key': 'servers', 'type': '[ApplicationGatewayBackendHealthServer]'}, + } + + def __init__(self, *, backend_http_settings=None, servers=None, **kwargs) -> None: + super(ApplicationGatewayBackendHealthHttpSettings, self).__init__(**kwargs) + self.backend_http_settings = backend_http_settings + self.servers = servers diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_pool.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_pool.py new file mode 100644 index 000000000000..fd2b1601dbec --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_pool.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class ApplicationGatewayBackendHealthPool(Model): + """Application gateway BackendHealth pool. + + :param backend_address_pool: Reference of an + ApplicationGatewayBackendAddressPool resource. + :type backend_address_pool: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendAddressPool + :param backend_http_settings_collection: List of + ApplicationGatewayBackendHealthHttpSettings resources. + :type backend_http_settings_collection: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendHealthHttpSettings] + """ + + _attribute_map = { + 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, + 'backend_http_settings_collection': {'key': 'backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHealthHttpSettings]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHealthPool, self).__init__(**kwargs) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.backend_http_settings_collection = kwargs.get('backend_http_settings_collection', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_pool_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_pool_py3.py new file mode 100644 index 000000000000..13e04415f00f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_pool_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class ApplicationGatewayBackendHealthPool(Model): + """Application gateway BackendHealth pool. + + :param backend_address_pool: Reference of an + ApplicationGatewayBackendAddressPool resource. + :type backend_address_pool: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendAddressPool + :param backend_http_settings_collection: List of + ApplicationGatewayBackendHealthHttpSettings resources. + :type backend_http_settings_collection: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendHealthHttpSettings] + """ + + _attribute_map = { + 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, + 'backend_http_settings_collection': {'key': 'backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHealthHttpSettings]'}, + } + + def __init__(self, *, backend_address_pool=None, backend_http_settings_collection=None, **kwargs) -> None: + super(ApplicationGatewayBackendHealthPool, self).__init__(**kwargs) + self.backend_address_pool = backend_address_pool + self.backend_http_settings_collection = backend_http_settings_collection diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_py3.py new file mode 100644 index 000000000000..6977a3052501 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_py3.py @@ -0,0 +1,29 @@ +# 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.serialization import Model + + +class ApplicationGatewayBackendHealth(Model): + """List of ApplicationGatewayBackendHealthPool resources. + + :param backend_address_pools: + :type backend_address_pools: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendHealthPool] + """ + + _attribute_map = { + 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[ApplicationGatewayBackendHealthPool]'}, + } + + def __init__(self, *, backend_address_pools=None, **kwargs) -> None: + super(ApplicationGatewayBackendHealth, self).__init__(**kwargs) + self.backend_address_pools = backend_address_pools diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_server.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_server.py new file mode 100644 index 000000000000..915774002ed1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_server.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class ApplicationGatewayBackendHealthServer(Model): + """Application gateway backendhealth http settings. + + :param address: IP address or FQDN of backend server. + :type address: str + :param ip_configuration: Reference of IP configuration of backend server. + :type ip_configuration: + ~azure.mgmt.network.v2018_06_01.models.NetworkInterfaceIPConfiguration + :param health: Health of backend server. Possible values include: + 'Unknown', 'Up', 'Down', 'Partial', 'Draining' + :type health: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendHealthServerHealth + """ + + _attribute_map = { + 'address': {'key': 'address', 'type': 'str'}, + 'ip_configuration': {'key': 'ipConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'health': {'key': 'health', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHealthServer, self).__init__(**kwargs) + self.address = kwargs.get('address', None) + self.ip_configuration = kwargs.get('ip_configuration', None) + self.health = kwargs.get('health', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_server_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_server_py3.py new file mode 100644 index 000000000000..6704d795755a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_health_server_py3.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class ApplicationGatewayBackendHealthServer(Model): + """Application gateway backendhealth http settings. + + :param address: IP address or FQDN of backend server. + :type address: str + :param ip_configuration: Reference of IP configuration of backend server. + :type ip_configuration: + ~azure.mgmt.network.v2018_06_01.models.NetworkInterfaceIPConfiguration + :param health: Health of backend server. Possible values include: + 'Unknown', 'Up', 'Down', 'Partial', 'Draining' + :type health: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendHealthServerHealth + """ + + _attribute_map = { + 'address': {'key': 'address', 'type': 'str'}, + 'ip_configuration': {'key': 'ipConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'health': {'key': 'health', 'type': 'str'}, + } + + def __init__(self, *, address: str=None, ip_configuration=None, health=None, **kwargs) -> None: + super(ApplicationGatewayBackendHealthServer, self).__init__(**kwargs) + self.address = address + self.ip_configuration = ip_configuration + self.health = health diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_http_settings.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_http_settings.py new file mode 100644 index 000000000000..bb718a2e9370 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_http_settings.py @@ -0,0 +1,109 @@ +# 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 ApplicationGatewayBackendHttpSettings(SubResource): + """Backend address pool settings of an application gateway. + + :param id: Resource ID. + :type id: str + :param port: The destination port on the backend. + :type port: int + :param protocol: The protocol used to communicate with the backend. + Possible values are 'Http' and 'Https'. Possible values include: 'Http', + 'Https' + :type protocol: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayProtocol + :param cookie_based_affinity: Cookie based affinity. Possible values + include: 'Enabled', 'Disabled' + :type cookie_based_affinity: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayCookieBasedAffinity + :param request_timeout: Request timeout in seconds. Application Gateway + will fail the request if response is not received within RequestTimeout. + Acceptable values are from 1 second to 86400 seconds. + :type request_timeout: int + :param probe: Probe resource of an application gateway. + :type probe: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param authentication_certificates: Array of references to application + gateway authentication certificates. + :type authentication_certificates: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param connection_draining: Connection draining of the backend http + settings resource. + :type connection_draining: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayConnectionDraining + :param host_name: Host header to be sent to the backend servers. + :type host_name: str + :param pick_host_name_from_backend_address: Whether to pick host header + should be picked from the host name of the backend server. Default value + is false. + :type pick_host_name_from_backend_address: bool + :param affinity_cookie_name: Cookie name to use for the affinity cookie. + :type affinity_cookie_name: str + :param probe_enabled: Whether the probe is enabled. Default value is + false. + :type probe_enabled: bool + :param path: Path which should be used as a prefix for all HTTP requests. + Null means no path will be prefixed. Default value is null. + :type path: str + :param provisioning_state: Provisioning state of the backend http settings + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the backend http settings that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, + 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, + 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, + 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[SubResource]'}, + 'connection_draining': {'key': 'properties.connectionDraining', 'type': 'ApplicationGatewayConnectionDraining'}, + 'host_name': {'key': 'properties.hostName', 'type': 'str'}, + 'pick_host_name_from_backend_address': {'key': 'properties.pickHostNameFromBackendAddress', 'type': 'bool'}, + 'affinity_cookie_name': {'key': 'properties.affinityCookieName', 'type': 'str'}, + 'probe_enabled': {'key': 'properties.probeEnabled', 'type': 'bool'}, + 'path': {'key': 'properties.path', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayBackendHttpSettings, self).__init__(**kwargs) + self.port = kwargs.get('port', None) + self.protocol = kwargs.get('protocol', None) + self.cookie_based_affinity = kwargs.get('cookie_based_affinity', None) + self.request_timeout = kwargs.get('request_timeout', None) + self.probe = kwargs.get('probe', None) + self.authentication_certificates = kwargs.get('authentication_certificates', None) + self.connection_draining = kwargs.get('connection_draining', None) + self.host_name = kwargs.get('host_name', None) + self.pick_host_name_from_backend_address = kwargs.get('pick_host_name_from_backend_address', None) + self.affinity_cookie_name = kwargs.get('affinity_cookie_name', None) + self.probe_enabled = kwargs.get('probe_enabled', None) + self.path = kwargs.get('path', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_http_settings_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_http_settings_py3.py new file mode 100644 index 000000000000..423e67a7765d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_backend_http_settings_py3.py @@ -0,0 +1,109 @@ +# 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 ApplicationGatewayBackendHttpSettings(SubResource): + """Backend address pool settings of an application gateway. + + :param id: Resource ID. + :type id: str + :param port: The destination port on the backend. + :type port: int + :param protocol: The protocol used to communicate with the backend. + Possible values are 'Http' and 'Https'. Possible values include: 'Http', + 'Https' + :type protocol: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayProtocol + :param cookie_based_affinity: Cookie based affinity. Possible values + include: 'Enabled', 'Disabled' + :type cookie_based_affinity: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayCookieBasedAffinity + :param request_timeout: Request timeout in seconds. Application Gateway + will fail the request if response is not received within RequestTimeout. + Acceptable values are from 1 second to 86400 seconds. + :type request_timeout: int + :param probe: Probe resource of an application gateway. + :type probe: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param authentication_certificates: Array of references to application + gateway authentication certificates. + :type authentication_certificates: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param connection_draining: Connection draining of the backend http + settings resource. + :type connection_draining: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayConnectionDraining + :param host_name: Host header to be sent to the backend servers. + :type host_name: str + :param pick_host_name_from_backend_address: Whether to pick host header + should be picked from the host name of the backend server. Default value + is false. + :type pick_host_name_from_backend_address: bool + :param affinity_cookie_name: Cookie name to use for the affinity cookie. + :type affinity_cookie_name: str + :param probe_enabled: Whether the probe is enabled. Default value is + false. + :type probe_enabled: bool + :param path: Path which should be used as a prefix for all HTTP requests. + Null means no path will be prefixed. Default value is null. + :type path: str + :param provisioning_state: Provisioning state of the backend http settings + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the backend http settings that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, + 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, + 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, + 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[SubResource]'}, + 'connection_draining': {'key': 'properties.connectionDraining', 'type': 'ApplicationGatewayConnectionDraining'}, + 'host_name': {'key': 'properties.hostName', 'type': 'str'}, + 'pick_host_name_from_backend_address': {'key': 'properties.pickHostNameFromBackendAddress', 'type': 'bool'}, + 'affinity_cookie_name': {'key': 'properties.affinityCookieName', 'type': 'str'}, + 'probe_enabled': {'key': 'properties.probeEnabled', 'type': 'bool'}, + 'path': {'key': 'properties.path', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, port: int=None, protocol=None, cookie_based_affinity=None, request_timeout: int=None, probe=None, authentication_certificates=None, connection_draining=None, host_name: str=None, pick_host_name_from_backend_address: bool=None, affinity_cookie_name: str=None, probe_enabled: bool=None, path: str=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayBackendHttpSettings, self).__init__(id=id, **kwargs) + self.port = port + self.protocol = protocol + self.cookie_based_affinity = cookie_based_affinity + self.request_timeout = request_timeout + self.probe = probe + self.authentication_certificates = authentication_certificates + self.connection_draining = connection_draining + self.host_name = host_name + self.pick_host_name_from_backend_address = pick_host_name_from_backend_address + self.affinity_cookie_name = affinity_cookie_name + self.probe_enabled = probe_enabled + self.path = path + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_connection_draining.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_connection_draining.py new file mode 100644 index 000000000000..531b3cb05dd3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_connection_draining.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class ApplicationGatewayConnectionDraining(Model): + """Connection draining allows open connections to a backend server to be + active for a specified time after the backend server got removed from the + configuration. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Whether connection draining is enabled or not. + :type enabled: bool + :param drain_timeout_in_sec: Required. The number of seconds connection + draining is active. Acceptable values are from 1 second to 3600 seconds. + :type drain_timeout_in_sec: int + """ + + _validation = { + 'enabled': {'required': True}, + 'drain_timeout_in_sec': {'required': True, 'maximum': 3600, 'minimum': 1}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'drain_timeout_in_sec': {'key': 'drainTimeoutInSec', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayConnectionDraining, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.drain_timeout_in_sec = kwargs.get('drain_timeout_in_sec', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_connection_draining_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_connection_draining_py3.py new file mode 100644 index 000000000000..c46fb01cae72 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_connection_draining_py3.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class ApplicationGatewayConnectionDraining(Model): + """Connection draining allows open connections to a backend server to be + active for a specified time after the backend server got removed from the + configuration. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Whether connection draining is enabled or not. + :type enabled: bool + :param drain_timeout_in_sec: Required. The number of seconds connection + draining is active. Acceptable values are from 1 second to 3600 seconds. + :type drain_timeout_in_sec: int + """ + + _validation = { + 'enabled': {'required': True}, + 'drain_timeout_in_sec': {'required': True, 'maximum': 3600, 'minimum': 1}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'drain_timeout_in_sec': {'key': 'drainTimeoutInSec', 'type': 'int'}, + } + + def __init__(self, *, enabled: bool, drain_timeout_in_sec: int, **kwargs) -> None: + super(ApplicationGatewayConnectionDraining, self).__init__(**kwargs) + self.enabled = enabled + self.drain_timeout_in_sec = drain_timeout_in_sec diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_disabled_rule_group.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_disabled_rule_group.py new file mode 100644 index 000000000000..085ae3d78c5c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_disabled_rule_group.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class ApplicationGatewayFirewallDisabledRuleGroup(Model): + """Allows to disable rules within a rule group or an entire rule group. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. The name of the rule group that will be + disabled. + :type rule_group_name: str + :param rules: The list of rules that will be disabled. If null, all rules + of the rule group will be disabled. + :type rules: list[int] + """ + + _validation = { + 'rule_group_name': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[int]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFirewallDisabledRuleGroup, self).__init__(**kwargs) + self.rule_group_name = kwargs.get('rule_group_name', None) + self.rules = kwargs.get('rules', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_disabled_rule_group_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_disabled_rule_group_py3.py new file mode 100644 index 000000000000..44ac696b801c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_disabled_rule_group_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class ApplicationGatewayFirewallDisabledRuleGroup(Model): + """Allows to disable rules within a rule group or an entire rule group. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. The name of the rule group that will be + disabled. + :type rule_group_name: str + :param rules: The list of rules that will be disabled. If null, all rules + of the rule group will be disabled. + :type rules: list[int] + """ + + _validation = { + 'rule_group_name': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[int]'}, + } + + def __init__(self, *, rule_group_name: str, rules=None, **kwargs) -> None: + super(ApplicationGatewayFirewallDisabledRuleGroup, self).__init__(**kwargs) + self.rule_group_name = rule_group_name + self.rules = rules diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_rule.py new file mode 100644 index 000000000000..661b0d146e16 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_rule.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class ApplicationGatewayFirewallRule(Model): + """A web application firewall rule. + + All required parameters must be populated in order to send to Azure. + + :param rule_id: Required. The identifier of the web application firewall + rule. + :type rule_id: int + :param description: The description of the web application firewall rule. + :type description: str + """ + + _validation = { + 'rule_id': {'required': True}, + } + + _attribute_map = { + 'rule_id': {'key': 'ruleId', 'type': 'int'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFirewallRule, self).__init__(**kwargs) + self.rule_id = kwargs.get('rule_id', None) + self.description = kwargs.get('description', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_rule_group.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_rule_group.py new file mode 100644 index 000000000000..d0a2a836858a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_rule_group.py @@ -0,0 +1,47 @@ +# 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.serialization import Model + + +class ApplicationGatewayFirewallRuleGroup(Model): + """A web application firewall rule group. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. The name of the web application firewall + rule group. + :type rule_group_name: str + :param description: The description of the web application firewall rule + group. + :type description: str + :param rules: Required. The rules of the web application firewall rule + group. + :type rules: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayFirewallRule] + """ + + _validation = { + 'rule_group_name': {'required': True}, + 'rules': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[ApplicationGatewayFirewallRule]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFirewallRuleGroup, self).__init__(**kwargs) + self.rule_group_name = kwargs.get('rule_group_name', None) + self.description = kwargs.get('description', None) + self.rules = kwargs.get('rules', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_rule_group_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_rule_group_py3.py new file mode 100644 index 000000000000..222f80b7b06e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_rule_group_py3.py @@ -0,0 +1,47 @@ +# 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.serialization import Model + + +class ApplicationGatewayFirewallRuleGroup(Model): + """A web application firewall rule group. + + All required parameters must be populated in order to send to Azure. + + :param rule_group_name: Required. The name of the web application firewall + rule group. + :type rule_group_name: str + :param description: The description of the web application firewall rule + group. + :type description: str + :param rules: Required. The rules of the web application firewall rule + group. + :type rules: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayFirewallRule] + """ + + _validation = { + 'rule_group_name': {'required': True}, + 'rules': {'required': True}, + } + + _attribute_map = { + 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'rules': {'key': 'rules', 'type': '[ApplicationGatewayFirewallRule]'}, + } + + def __init__(self, *, rule_group_name: str, rules, description: str=None, **kwargs) -> None: + super(ApplicationGatewayFirewallRuleGroup, self).__init__(**kwargs) + self.rule_group_name = rule_group_name + self.description = description + self.rules = rules diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_rule_py3.py new file mode 100644 index 000000000000..e332fbd16853 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_rule_py3.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class ApplicationGatewayFirewallRule(Model): + """A web application firewall rule. + + All required parameters must be populated in order to send to Azure. + + :param rule_id: Required. The identifier of the web application firewall + rule. + :type rule_id: int + :param description: The description of the web application firewall rule. + :type description: str + """ + + _validation = { + 'rule_id': {'required': True}, + } + + _attribute_map = { + 'rule_id': {'key': 'ruleId', 'type': 'int'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, rule_id: int, description: str=None, **kwargs) -> None: + super(ApplicationGatewayFirewallRule, self).__init__(**kwargs) + self.rule_id = rule_id + self.description = description diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_rule_set.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_rule_set.py new file mode 100644 index 000000000000..29d9f334498a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_rule_set.py @@ -0,0 +1,73 @@ +# 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 .resource import Resource + + +class ApplicationGatewayFirewallRuleSet(Resource): + """A web application firewall rule set. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param provisioning_state: The provisioning state of the web application + firewall rule set. + :type provisioning_state: str + :param rule_set_type: Required. The type of the web application firewall + rule set. + :type rule_set_type: str + :param rule_set_version: Required. The version of the web application + firewall rule set type. + :type rule_set_version: str + :param rule_groups: Required. The rule groups of the web application + firewall rule set. + :type rule_groups: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayFirewallRuleGroup] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + 'rule_groups': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, + 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ApplicationGatewayFirewallRuleGroup]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFirewallRuleSet, self).__init__(**kwargs) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.rule_set_type = kwargs.get('rule_set_type', None) + self.rule_set_version = kwargs.get('rule_set_version', None) + self.rule_groups = kwargs.get('rule_groups', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_rule_set_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_rule_set_py3.py new file mode 100644 index 000000000000..e6afe648961f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_firewall_rule_set_py3.py @@ -0,0 +1,73 @@ +# 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 .resource_py3 import Resource + + +class ApplicationGatewayFirewallRuleSet(Resource): + """A web application firewall rule set. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param provisioning_state: The provisioning state of the web application + firewall rule set. + :type provisioning_state: str + :param rule_set_type: Required. The type of the web application firewall + rule set. + :type rule_set_type: str + :param rule_set_version: Required. The version of the web application + firewall rule set type. + :type rule_set_version: str + :param rule_groups: Required. The rule groups of the web application + firewall rule set. + :type rule_groups: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayFirewallRuleGroup] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + 'rule_groups': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, + 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ApplicationGatewayFirewallRuleGroup]'}, + } + + def __init__(self, *, rule_set_type: str, rule_set_version: str, rule_groups, id: str=None, location: str=None, tags=None, provisioning_state: str=None, **kwargs) -> None: + super(ApplicationGatewayFirewallRuleSet, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.provisioning_state = provisioning_state + self.rule_set_type = rule_set_type + self.rule_set_version = rule_set_version + self.rule_groups = rule_groups diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_frontend_ip_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_frontend_ip_configuration.py new file mode 100644 index 000000000000..84cf30bf4620 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_frontend_ip_configuration.py @@ -0,0 +1,66 @@ +# 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 ApplicationGatewayFrontendIPConfiguration(SubResource): + """Frontend IP configuration of an application gateway. + + :param id: Resource ID. + :type id: str + :param private_ip_address: PrivateIPAddress of the network interface IP + Configuration. + :type private_ip_address: str + :param private_ip_allocation_method: PrivateIP allocation method. Possible + values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2018_06_01.models.IPAllocationMethod + :param subnet: Reference of the subnet resource. + :type subnet: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param public_ip_address: Reference of the PublicIP resource. + :type public_ip_address: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param provisioning_state: Provisioning state of the public IP resource. + Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the frontend IP configuration that is unique within + an Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFrontendIPConfiguration, self).__init__(**kwargs) + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_frontend_ip_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_frontend_ip_configuration_py3.py new file mode 100644 index 000000000000..dba2523d6d46 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_frontend_ip_configuration_py3.py @@ -0,0 +1,66 @@ +# 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 ApplicationGatewayFrontendIPConfiguration(SubResource): + """Frontend IP configuration of an application gateway. + + :param id: Resource ID. + :type id: str + :param private_ip_address: PrivateIPAddress of the network interface IP + Configuration. + :type private_ip_address: str + :param private_ip_allocation_method: PrivateIP allocation method. Possible + values include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2018_06_01.models.IPAllocationMethod + :param subnet: Reference of the subnet resource. + :type subnet: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param public_ip_address: Reference of the PublicIP resource. + :type public_ip_address: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param provisioning_state: Provisioning state of the public IP resource. + Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the frontend IP configuration that is unique within + an Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayFrontendIPConfiguration, self).__init__(id=id, **kwargs) + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.subnet = subnet + self.public_ip_address = public_ip_address + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_frontend_port.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_frontend_port.py new file mode 100644 index 000000000000..b245c950f3ed --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_frontend_port.py @@ -0,0 +1,50 @@ +# 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 ApplicationGatewayFrontendPort(SubResource): + """Frontend port of an application gateway. + + :param id: Resource ID. + :type id: str + :param port: Frontend port + :type port: int + :param provisioning_state: Provisioning state of the frontend port + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the frontend port that is unique within an + Application Gateway + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayFrontendPort, self).__init__(**kwargs) + self.port = kwargs.get('port', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_frontend_port_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_frontend_port_py3.py new file mode 100644 index 000000000000..a6bd3f7a3606 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_frontend_port_py3.py @@ -0,0 +1,50 @@ +# 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 ApplicationGatewayFrontendPort(SubResource): + """Frontend port of an application gateway. + + :param id: Resource ID. + :type id: str + :param port: Frontend port + :type port: int + :param provisioning_state: Provisioning state of the frontend port + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the frontend port that is unique within an + Application Gateway + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, port: int=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayFrontendPort, self).__init__(id=id, **kwargs) + self.port = port + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_http_listener.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_http_listener.py new file mode 100644 index 000000000000..b7466f076a5a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_http_listener.py @@ -0,0 +1,76 @@ +# 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 ApplicationGatewayHttpListener(SubResource): + """Http listener of an application gateway. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: Frontend IP configuration resource of an + application gateway. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param frontend_port: Frontend port resource of an application gateway. + :type frontend_port: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param protocol: Protocol of the HTTP listener. Possible values are 'Http' + and 'Https'. Possible values include: 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayProtocol + :param host_name: Host name of HTTP listener. + :type host_name: str + :param ssl_certificate: SSL certificate resource of an application + gateway. + :type ssl_certificate: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param require_server_name_indication: Applicable only if protocol is + https. Enables SNI for multi-hosting. + :type require_server_name_indication: bool + :param provisioning_state: Provisioning state of the HTTP listener + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the HTTP listener that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'host_name': {'key': 'properties.hostName', 'type': 'str'}, + 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, + 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayHttpListener, self).__init__(**kwargs) + self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) + self.frontend_port = kwargs.get('frontend_port', None) + self.protocol = kwargs.get('protocol', None) + self.host_name = kwargs.get('host_name', None) + self.ssl_certificate = kwargs.get('ssl_certificate', None) + self.require_server_name_indication = kwargs.get('require_server_name_indication', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_http_listener_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_http_listener_py3.py new file mode 100644 index 000000000000..bf53bd865c76 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_http_listener_py3.py @@ -0,0 +1,76 @@ +# 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 ApplicationGatewayHttpListener(SubResource): + """Http listener of an application gateway. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: Frontend IP configuration resource of an + application gateway. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param frontend_port: Frontend port resource of an application gateway. + :type frontend_port: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param protocol: Protocol of the HTTP listener. Possible values are 'Http' + and 'Https'. Possible values include: 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayProtocol + :param host_name: Host name of HTTP listener. + :type host_name: str + :param ssl_certificate: SSL certificate resource of an application + gateway. + :type ssl_certificate: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param require_server_name_indication: Applicable only if protocol is + https. Enables SNI for multi-hosting. + :type require_server_name_indication: bool + :param provisioning_state: Provisioning state of the HTTP listener + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the HTTP listener that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'host_name': {'key': 'properties.hostName', 'type': 'str'}, + 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, + 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, frontend_ip_configuration=None, frontend_port=None, protocol=None, host_name: str=None, ssl_certificate=None, require_server_name_indication: bool=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayHttpListener, self).__init__(id=id, **kwargs) + self.frontend_ip_configuration = frontend_ip_configuration + self.frontend_port = frontend_port + self.protocol = protocol + self.host_name = host_name + self.ssl_certificate = ssl_certificate + self.require_server_name_indication = require_server_name_indication + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ip_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ip_configuration.py new file mode 100644 index 000000000000..efa9c2ffd113 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ip_configuration.py @@ -0,0 +1,53 @@ +# 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 ApplicationGatewayIPConfiguration(SubResource): + """IP configuration of an application gateway. Currently 1 public and 1 + private IP configuration is allowed. + + :param id: Resource ID. + :type id: str + :param subnet: Reference of the subnet resource. A subnet from where + application gateway gets its private address. + :type subnet: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param provisioning_state: Provisioning state of the application gateway + subnet resource. Possible values are: 'Updating', 'Deleting', and + 'Failed'. + :type provisioning_state: str + :param name: Name of the IP configuration that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayIPConfiguration, self).__init__(**kwargs) + self.subnet = kwargs.get('subnet', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ip_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ip_configuration_py3.py new file mode 100644 index 000000000000..cff97ed49670 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ip_configuration_py3.py @@ -0,0 +1,53 @@ +# 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 ApplicationGatewayIPConfiguration(SubResource): + """IP configuration of an application gateway. Currently 1 public and 1 + private IP configuration is allowed. + + :param id: Resource ID. + :type id: str + :param subnet: Reference of the subnet resource. A subnet from where + application gateway gets its private address. + :type subnet: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param provisioning_state: Provisioning state of the application gateway + subnet resource. Possible values are: 'Updating', 'Deleting', and + 'Failed'. + :type provisioning_state: str + :param name: Name of the IP configuration that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, subnet=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayIPConfiguration, self).__init__(id=id, **kwargs) + self.subnet = subnet + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_paged.py new file mode 100644 index 000000000000..a91a01425cef --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_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 ApplicationGatewayPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApplicationGateway ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApplicationGateway]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationGatewayPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_path_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_path_rule.py new file mode 100644 index 000000000000..ef285b09f8e4 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_path_rule.py @@ -0,0 +1,68 @@ +# 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 ApplicationGatewayPathRule(SubResource): + """Path rule of URL path map of an application gateway. + + :param id: Resource ID. + :type id: str + :param paths: Path rules of URL path map. + :type paths: list[str] + :param backend_address_pool: Backend address pool resource of URL path map + path rule. + :type backend_address_pool: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param backend_http_settings: Backend http settings resource of URL path + map path rule. + :type backend_http_settings: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param redirect_configuration: Redirect configuration resource of URL path + map path rule. + :type redirect_configuration: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param provisioning_state: Path rule of URL path map resource. Possible + values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the path rule that is unique within an Application + Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'paths': {'key': 'properties.paths', 'type': '[str]'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, + 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayPathRule, self).__init__(**kwargs) + self.paths = kwargs.get('paths', None) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.backend_http_settings = kwargs.get('backend_http_settings', None) + self.redirect_configuration = kwargs.get('redirect_configuration', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_path_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_path_rule_py3.py new file mode 100644 index 000000000000..09a2255abf0b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_path_rule_py3.py @@ -0,0 +1,68 @@ +# 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 ApplicationGatewayPathRule(SubResource): + """Path rule of URL path map of an application gateway. + + :param id: Resource ID. + :type id: str + :param paths: Path rules of URL path map. + :type paths: list[str] + :param backend_address_pool: Backend address pool resource of URL path map + path rule. + :type backend_address_pool: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param backend_http_settings: Backend http settings resource of URL path + map path rule. + :type backend_http_settings: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param redirect_configuration: Redirect configuration resource of URL path + map path rule. + :type redirect_configuration: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param provisioning_state: Path rule of URL path map resource. Possible + values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the path rule that is unique within an Application + Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'paths': {'key': 'properties.paths', 'type': '[str]'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, + 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, paths=None, backend_address_pool=None, backend_http_settings=None, redirect_configuration=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayPathRule, self).__init__(id=id, **kwargs) + self.paths = paths + self.backend_address_pool = backend_address_pool + self.backend_http_settings = backend_http_settings + self.redirect_configuration = redirect_configuration + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_probe.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_probe.py new file mode 100644 index 000000000000..d04d03bf9721 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_probe.py @@ -0,0 +1,94 @@ +# 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 ApplicationGatewayProbe(SubResource): + """Probe of the application gateway. + + :param id: Resource ID. + :type id: str + :param protocol: The protocol used for the probe. Possible values are + 'Http' and 'Https'. Possible values include: 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayProtocol + :param host: Host name to send the probe to. + :type host: str + :param path: Relative path of probe. Valid path starts from '/'. Probe is + sent to ://: + :type path: str + :param interval: The probing interval in seconds. This is the time + interval between two consecutive probes. Acceptable values are from 1 + second to 86400 seconds. + :type interval: int + :param timeout: the probe timeout in seconds. Probe marked as failed if + valid response is not received with this timeout period. Acceptable values + are from 1 second to 86400 seconds. + :type timeout: int + :param unhealthy_threshold: The probe retry count. Backend server is + marked down after consecutive probe failure count reaches + UnhealthyThreshold. Acceptable values are from 1 second to 20. + :type unhealthy_threshold: int + :param pick_host_name_from_backend_http_settings: Whether the host header + should be picked from the backend http settings. Default value is false. + :type pick_host_name_from_backend_http_settings: bool + :param min_servers: Minimum number of servers that are always marked + healthy. Default value is 0. + :type min_servers: int + :param match: Criterion for classifying a healthy probe response. + :type match: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayProbeHealthResponseMatch + :param provisioning_state: Provisioning state of the backend http settings + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the probe that is unique within an Application + Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'host': {'key': 'properties.host', 'type': 'str'}, + 'path': {'key': 'properties.path', 'type': 'str'}, + 'interval': {'key': 'properties.interval', 'type': 'int'}, + 'timeout': {'key': 'properties.timeout', 'type': 'int'}, + 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, + 'pick_host_name_from_backend_http_settings': {'key': 'properties.pickHostNameFromBackendHttpSettings', 'type': 'bool'}, + 'min_servers': {'key': 'properties.minServers', 'type': 'int'}, + 'match': {'key': 'properties.match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayProbe, self).__init__(**kwargs) + self.protocol = kwargs.get('protocol', None) + self.host = kwargs.get('host', None) + self.path = kwargs.get('path', None) + self.interval = kwargs.get('interval', None) + self.timeout = kwargs.get('timeout', None) + self.unhealthy_threshold = kwargs.get('unhealthy_threshold', None) + self.pick_host_name_from_backend_http_settings = kwargs.get('pick_host_name_from_backend_http_settings', None) + self.min_servers = kwargs.get('min_servers', None) + self.match = kwargs.get('match', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_probe_health_response_match.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_probe_health_response_match.py new file mode 100644 index 000000000000..b439b9677f8b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_probe_health_response_match.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class ApplicationGatewayProbeHealthResponseMatch(Model): + """Application gateway probe health response match. + + :param body: Body that must be contained in the health response. Default + value is empty. + :type body: str + :param status_codes: Allowed ranges of healthy status codes. Default range + of healthy status codes is 200-399. + :type status_codes: list[str] + """ + + _attribute_map = { + 'body': {'key': 'body', 'type': 'str'}, + 'status_codes': {'key': 'statusCodes', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayProbeHealthResponseMatch, self).__init__(**kwargs) + self.body = kwargs.get('body', None) + self.status_codes = kwargs.get('status_codes', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_probe_health_response_match_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_probe_health_response_match_py3.py new file mode 100644 index 000000000000..6ed2ee8c04ed --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_probe_health_response_match_py3.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class ApplicationGatewayProbeHealthResponseMatch(Model): + """Application gateway probe health response match. + + :param body: Body that must be contained in the health response. Default + value is empty. + :type body: str + :param status_codes: Allowed ranges of healthy status codes. Default range + of healthy status codes is 200-399. + :type status_codes: list[str] + """ + + _attribute_map = { + 'body': {'key': 'body', 'type': 'str'}, + 'status_codes': {'key': 'statusCodes', 'type': '[str]'}, + } + + def __init__(self, *, body: str=None, status_codes=None, **kwargs) -> None: + super(ApplicationGatewayProbeHealthResponseMatch, self).__init__(**kwargs) + self.body = body + self.status_codes = status_codes diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_probe_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_probe_py3.py new file mode 100644 index 000000000000..81255c188e06 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_probe_py3.py @@ -0,0 +1,94 @@ +# 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 ApplicationGatewayProbe(SubResource): + """Probe of the application gateway. + + :param id: Resource ID. + :type id: str + :param protocol: The protocol used for the probe. Possible values are + 'Http' and 'Https'. Possible values include: 'Http', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayProtocol + :param host: Host name to send the probe to. + :type host: str + :param path: Relative path of probe. Valid path starts from '/'. Probe is + sent to ://: + :type path: str + :param interval: The probing interval in seconds. This is the time + interval between two consecutive probes. Acceptable values are from 1 + second to 86400 seconds. + :type interval: int + :param timeout: the probe timeout in seconds. Probe marked as failed if + valid response is not received with this timeout period. Acceptable values + are from 1 second to 86400 seconds. + :type timeout: int + :param unhealthy_threshold: The probe retry count. Backend server is + marked down after consecutive probe failure count reaches + UnhealthyThreshold. Acceptable values are from 1 second to 20. + :type unhealthy_threshold: int + :param pick_host_name_from_backend_http_settings: Whether the host header + should be picked from the backend http settings. Default value is false. + :type pick_host_name_from_backend_http_settings: bool + :param min_servers: Minimum number of servers that are always marked + healthy. Default value is 0. + :type min_servers: int + :param match: Criterion for classifying a healthy probe response. + :type match: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayProbeHealthResponseMatch + :param provisioning_state: Provisioning state of the backend http settings + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the probe that is unique within an Application + Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'host': {'key': 'properties.host', 'type': 'str'}, + 'path': {'key': 'properties.path', 'type': 'str'}, + 'interval': {'key': 'properties.interval', 'type': 'int'}, + 'timeout': {'key': 'properties.timeout', 'type': 'int'}, + 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, + 'pick_host_name_from_backend_http_settings': {'key': 'properties.pickHostNameFromBackendHttpSettings', 'type': 'bool'}, + 'min_servers': {'key': 'properties.minServers', 'type': 'int'}, + 'match': {'key': 'properties.match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, protocol=None, host: str=None, path: str=None, interval: int=None, timeout: int=None, unhealthy_threshold: int=None, pick_host_name_from_backend_http_settings: bool=None, min_servers: int=None, match=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayProbe, self).__init__(id=id, **kwargs) + self.protocol = protocol + self.host = host + self.path = path + self.interval = interval + self.timeout = timeout + self.unhealthy_threshold = unhealthy_threshold + self.pick_host_name_from_backend_http_settings = pick_host_name_from_backend_http_settings + self.min_servers = min_servers + self.match = match + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_py3.py new file mode 100644 index 000000000000..667a39c4a21c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_py3.py @@ -0,0 +1,173 @@ +# 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 .resource_py3 import Resource + + +class ApplicationGateway(Resource): + """Application gateway resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: SKU of the application gateway resource. + :type sku: ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySku + :param ssl_policy: SSL policy of the application gateway resource. + :type ssl_policy: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslPolicy + :ivar operational_state: Operational state of the application gateway + resource. Possible values include: 'Stopped', 'Starting', 'Running', + 'Stopping' + :vartype operational_state: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayOperationalState + :param gateway_ip_configurations: Subnets of application the gateway + resource. + :type gateway_ip_configurations: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayIPConfiguration] + :param authentication_certificates: Authentication certificates of the + application gateway resource. + :type authentication_certificates: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayAuthenticationCertificate] + :param ssl_certificates: SSL certificates of the application gateway + resource. + :type ssl_certificates: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslCertificate] + :param frontend_ip_configurations: Frontend IP addresses of the + application gateway resource. + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayFrontendIPConfiguration] + :param frontend_ports: Frontend ports of the application gateway resource. + :type frontend_ports: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayFrontendPort] + :param probes: Probes of the application gateway resource. + :type probes: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayProbe] + :param backend_address_pools: Backend address pool of the application + gateway resource. + :type backend_address_pools: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendAddressPool] + :param backend_http_settings_collection: Backend http settings of the + application gateway resource. + :type backend_http_settings_collection: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendHttpSettings] + :param http_listeners: Http listeners of the application gateway resource. + :type http_listeners: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayHttpListener] + :param url_path_maps: URL path map of the application gateway resource. + :type url_path_maps: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayUrlPathMap] + :param request_routing_rules: Request routing rules of the application + gateway resource. + :type request_routing_rules: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayRequestRoutingRule] + :param redirect_configurations: Redirect configurations of the application + gateway resource. + :type redirect_configurations: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayRedirectConfiguration] + :param web_application_firewall_configuration: Web application firewall + configuration. + :type web_application_firewall_configuration: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayWebApplicationFirewallConfiguration + :param enable_http2: Whether HTTP2 is enabled on the application gateway + resource. + :type enable_http2: bool + :param enable_fips: Whether FIPS is enabled on the application gateway + resource. + :type enable_fips: bool + :param autoscale_configuration: Autoscale Configuration. + :type autoscale_configuration: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayAutoscaleConfiguration + :param resource_guid: Resource GUID property of the application gateway + resource. + :type resource_guid: str + :param provisioning_state: Provisioning state of the application gateway + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param zones: A list of availability zones denoting where the resource + needs to come from. + :type zones: list[str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'operational_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, + 'ssl_policy': {'key': 'properties.sslPolicy', 'type': 'ApplicationGatewaySslPolicy'}, + 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, + 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, + 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[ApplicationGatewayAuthenticationCertificate]'}, + 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, + 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, + 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, + 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, + 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, + 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, + 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, + 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, + 'redirect_configurations': {'key': 'properties.redirectConfigurations', 'type': '[ApplicationGatewayRedirectConfiguration]'}, + 'web_application_firewall_configuration': {'key': 'properties.webApplicationFirewallConfiguration', 'type': 'ApplicationGatewayWebApplicationFirewallConfiguration'}, + 'enable_http2': {'key': 'properties.enableHttp2', 'type': 'bool'}, + 'enable_fips': {'key': 'properties.enableFips', 'type': 'bool'}, + 'autoscale_configuration': {'key': 'properties.autoscaleConfiguration', 'type': 'ApplicationGatewayAutoscaleConfiguration'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, ssl_policy=None, gateway_ip_configurations=None, authentication_certificates=None, ssl_certificates=None, frontend_ip_configurations=None, frontend_ports=None, probes=None, backend_address_pools=None, backend_http_settings_collection=None, http_listeners=None, url_path_maps=None, request_routing_rules=None, redirect_configurations=None, web_application_firewall_configuration=None, enable_http2: bool=None, enable_fips: bool=None, autoscale_configuration=None, resource_guid: str=None, provisioning_state: str=None, etag: str=None, zones=None, **kwargs) -> None: + super(ApplicationGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.ssl_policy = ssl_policy + self.operational_state = None + self.gateway_ip_configurations = gateway_ip_configurations + self.authentication_certificates = authentication_certificates + self.ssl_certificates = ssl_certificates + self.frontend_ip_configurations = frontend_ip_configurations + self.frontend_ports = frontend_ports + self.probes = probes + self.backend_address_pools = backend_address_pools + self.backend_http_settings_collection = backend_http_settings_collection + self.http_listeners = http_listeners + self.url_path_maps = url_path_maps + self.request_routing_rules = request_routing_rules + self.redirect_configurations = redirect_configurations + self.web_application_firewall_configuration = web_application_firewall_configuration + self.enable_http2 = enable_http2 + self.enable_fips = enable_fips + self.autoscale_configuration = autoscale_configuration + self.resource_guid = resource_guid + self.provisioning_state = provisioning_state + self.etag = etag + self.zones = zones diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_redirect_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_redirect_configuration.py new file mode 100644 index 000000000000..0dde12745269 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_redirect_configuration.py @@ -0,0 +1,81 @@ +# 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 ApplicationGatewayRedirectConfiguration(SubResource): + """Redirect configuration of an application gateway. + + :param id: Resource ID. + :type id: str + :param redirect_type: Supported http redirection types - Permanent, + Temporary, Found, SeeOther. Possible values include: 'Permanent', 'Found', + 'SeeOther', 'Temporary' + :type redirect_type: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayRedirectType + :param target_listener: Reference to a listener to redirect the request + to. + :type target_listener: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param target_url: Url to redirect the request to. + :type target_url: str + :param include_path: Include path in the redirected url. + :type include_path: bool + :param include_query_string: Include query string in the redirected url. + :type include_query_string: bool + :param request_routing_rules: Request routing specifying redirect + configuration. + :type request_routing_rules: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param url_path_maps: Url path maps specifying default redirect + configuration. + :type url_path_maps: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param path_rules: Path rules specifying redirect configuration. + :type path_rules: list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param name: Name of the redirect configuration that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'redirect_type': {'key': 'properties.redirectType', 'type': 'str'}, + 'target_listener': {'key': 'properties.targetListener', 'type': 'SubResource'}, + 'target_url': {'key': 'properties.targetUrl', 'type': 'str'}, + 'include_path': {'key': 'properties.includePath', 'type': 'bool'}, + 'include_query_string': {'key': 'properties.includeQueryString', 'type': 'bool'}, + 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[SubResource]'}, + 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[SubResource]'}, + 'path_rules': {'key': 'properties.pathRules', 'type': '[SubResource]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayRedirectConfiguration, self).__init__(**kwargs) + self.redirect_type = kwargs.get('redirect_type', None) + self.target_listener = kwargs.get('target_listener', None) + self.target_url = kwargs.get('target_url', None) + self.include_path = kwargs.get('include_path', None) + self.include_query_string = kwargs.get('include_query_string', None) + self.request_routing_rules = kwargs.get('request_routing_rules', None) + self.url_path_maps = kwargs.get('url_path_maps', None) + self.path_rules = kwargs.get('path_rules', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_redirect_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_redirect_configuration_py3.py new file mode 100644 index 000000000000..687a51515ed9 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_redirect_configuration_py3.py @@ -0,0 +1,81 @@ +# 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 ApplicationGatewayRedirectConfiguration(SubResource): + """Redirect configuration of an application gateway. + + :param id: Resource ID. + :type id: str + :param redirect_type: Supported http redirection types - Permanent, + Temporary, Found, SeeOther. Possible values include: 'Permanent', 'Found', + 'SeeOther', 'Temporary' + :type redirect_type: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayRedirectType + :param target_listener: Reference to a listener to redirect the request + to. + :type target_listener: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param target_url: Url to redirect the request to. + :type target_url: str + :param include_path: Include path in the redirected url. + :type include_path: bool + :param include_query_string: Include query string in the redirected url. + :type include_query_string: bool + :param request_routing_rules: Request routing specifying redirect + configuration. + :type request_routing_rules: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param url_path_maps: Url path maps specifying default redirect + configuration. + :type url_path_maps: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param path_rules: Path rules specifying redirect configuration. + :type path_rules: list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param name: Name of the redirect configuration that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'redirect_type': {'key': 'properties.redirectType', 'type': 'str'}, + 'target_listener': {'key': 'properties.targetListener', 'type': 'SubResource'}, + 'target_url': {'key': 'properties.targetUrl', 'type': 'str'}, + 'include_path': {'key': 'properties.includePath', 'type': 'bool'}, + 'include_query_string': {'key': 'properties.includeQueryString', 'type': 'bool'}, + 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[SubResource]'}, + 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[SubResource]'}, + 'path_rules': {'key': 'properties.pathRules', 'type': '[SubResource]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, redirect_type=None, target_listener=None, target_url: str=None, include_path: bool=None, include_query_string: bool=None, request_routing_rules=None, url_path_maps=None, path_rules=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayRedirectConfiguration, self).__init__(id=id, **kwargs) + self.redirect_type = redirect_type + self.target_listener = target_listener + self.target_url = target_url + self.include_path = include_path + self.include_query_string = include_query_string + self.request_routing_rules = request_routing_rules + self.url_path_maps = url_path_maps + self.path_rules = path_rules + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_request_routing_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_request_routing_rule.py new file mode 100644 index 000000000000..2c41c03dcaf6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_request_routing_rule.py @@ -0,0 +1,78 @@ +# 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 ApplicationGatewayRequestRoutingRule(SubResource): + """Request routing rule of an application gateway. + + :param id: Resource ID. + :type id: str + :param rule_type: Rule type. Possible values include: 'Basic', + 'PathBasedRouting' + :type rule_type: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayRequestRoutingRuleType + :param backend_address_pool: Backend address pool resource of the + application gateway. + :type backend_address_pool: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param backend_http_settings: Backend http settings resource of the + application gateway. + :type backend_http_settings: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param http_listener: Http listener resource of the application gateway. + :type http_listener: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param url_path_map: URL path map resource of the application gateway. + :type url_path_map: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param redirect_configuration: Redirect configuration resource of the + application gateway. + :type redirect_configuration: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param provisioning_state: Provisioning state of the request routing rule + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the request routing rule that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, + 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, + 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, + 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayRequestRoutingRule, self).__init__(**kwargs) + self.rule_type = kwargs.get('rule_type', None) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.backend_http_settings = kwargs.get('backend_http_settings', None) + self.http_listener = kwargs.get('http_listener', None) + self.url_path_map = kwargs.get('url_path_map', None) + self.redirect_configuration = kwargs.get('redirect_configuration', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_request_routing_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_request_routing_rule_py3.py new file mode 100644 index 000000000000..12d42f300d1d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_request_routing_rule_py3.py @@ -0,0 +1,78 @@ +# 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 ApplicationGatewayRequestRoutingRule(SubResource): + """Request routing rule of an application gateway. + + :param id: Resource ID. + :type id: str + :param rule_type: Rule type. Possible values include: 'Basic', + 'PathBasedRouting' + :type rule_type: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayRequestRoutingRuleType + :param backend_address_pool: Backend address pool resource of the + application gateway. + :type backend_address_pool: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param backend_http_settings: Backend http settings resource of the + application gateway. + :type backend_http_settings: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param http_listener: Http listener resource of the application gateway. + :type http_listener: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param url_path_map: URL path map resource of the application gateway. + :type url_path_map: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param redirect_configuration: Redirect configuration resource of the + application gateway. + :type redirect_configuration: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param provisioning_state: Provisioning state of the request routing rule + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the request routing rule that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, + 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, + 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, + 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, rule_type=None, backend_address_pool=None, backend_http_settings=None, http_listener=None, url_path_map=None, redirect_configuration=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayRequestRoutingRule, self).__init__(id=id, **kwargs) + self.rule_type = rule_type + self.backend_address_pool = backend_address_pool + self.backend_http_settings = backend_http_settings + self.http_listener = http_listener + self.url_path_map = url_path_map + self.redirect_configuration = redirect_configuration + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_sku.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_sku.py new file mode 100644 index 000000000000..54af7bf51986 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_sku.py @@ -0,0 +1,41 @@ +# 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.serialization import Model + + +class ApplicationGatewaySku(Model): + """SKU of an application gateway. + + :param name: Name of an application gateway SKU. Possible values include: + 'Standard_Small', 'Standard_Medium', 'Standard_Large', 'WAF_Medium', + 'WAF_Large', 'Standard_v2', 'WAF_v2' + :type name: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySkuName + :param tier: Tier of an application gateway. Possible values include: + 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' + :type tier: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayTier + :param capacity: Capacity (instance count) of an application gateway. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewaySku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.capacity = kwargs.get('capacity', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_sku_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_sku_py3.py new file mode 100644 index 000000000000..5ee500e9252e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_sku_py3.py @@ -0,0 +1,41 @@ +# 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.serialization import Model + + +class ApplicationGatewaySku(Model): + """SKU of an application gateway. + + :param name: Name of an application gateway SKU. Possible values include: + 'Standard_Small', 'Standard_Medium', 'Standard_Large', 'WAF_Medium', + 'WAF_Large', 'Standard_v2', 'WAF_v2' + :type name: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySkuName + :param tier: Tier of an application gateway. Possible values include: + 'Standard', 'WAF', 'Standard_v2', 'WAF_v2' + :type tier: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayTier + :param capacity: Capacity (instance count) of an application gateway. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, *, name=None, tier=None, capacity: int=None, **kwargs) -> None: + super(ApplicationGatewaySku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.capacity = capacity diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_certificate.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_certificate.py new file mode 100644 index 000000000000..20c9614fe87e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_certificate.py @@ -0,0 +1,61 @@ +# 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 ApplicationGatewaySslCertificate(SubResource): + """SSL certificates of an application gateway. + + :param id: Resource ID. + :type id: str + :param data: Base-64 encoded pfx certificate. Only applicable in PUT + Request. + :type data: str + :param password: Password for the pfx file specified in data. Only + applicable in PUT request. + :type password: str + :param public_cert_data: Base-64 encoded Public cert data corresponding to + pfx specified in data. Only applicable in GET request. + :type public_cert_data: str + :param provisioning_state: Provisioning state of the SSL certificate + resource Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the SSL certificate that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'data': {'key': 'properties.data', 'type': 'str'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewaySslCertificate, self).__init__(**kwargs) + self.data = kwargs.get('data', None) + self.password = kwargs.get('password', None) + self.public_cert_data = kwargs.get('public_cert_data', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_certificate_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_certificate_py3.py new file mode 100644 index 000000000000..4ed572592e87 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_certificate_py3.py @@ -0,0 +1,61 @@ +# 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 ApplicationGatewaySslCertificate(SubResource): + """SSL certificates of an application gateway. + + :param id: Resource ID. + :type id: str + :param data: Base-64 encoded pfx certificate. Only applicable in PUT + Request. + :type data: str + :param password: Password for the pfx file specified in data. Only + applicable in PUT request. + :type password: str + :param public_cert_data: Base-64 encoded Public cert data corresponding to + pfx specified in data. Only applicable in GET request. + :type public_cert_data: str + :param provisioning_state: Provisioning state of the SSL certificate + resource Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the SSL certificate that is unique within an + Application Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'data': {'key': 'properties.data', 'type': 'str'}, + 'password': {'key': 'properties.password', 'type': 'str'}, + 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, data: str=None, password: str=None, public_cert_data: str=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewaySslCertificate, self).__init__(id=id, **kwargs) + self.data = data + self.password = password + self.public_cert_data = public_cert_data + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_policy.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_policy.py new file mode 100644 index 000000000000..c458a2932923 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_policy.py @@ -0,0 +1,56 @@ +# 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.serialization import Model + + +class ApplicationGatewaySslPolicy(Model): + """Application Gateway Ssl policy. + + :param disabled_ssl_protocols: Ssl protocols to be disabled on application + gateway. + :type disabled_ssl_protocols: list[str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslProtocol] + :param policy_type: Type of Ssl Policy. Possible values include: + 'Predefined', 'Custom' + :type policy_type: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslPolicyType + :param policy_name: Name of Ssl predefined policy. Possible values + include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', + 'AppGwSslPolicy20170401S' + :type policy_name: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslPolicyName + :param cipher_suites: Ssl cipher suites to be enabled in the specified + order to application gateway. + :type cipher_suites: list[str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslCipherSuite] + :param min_protocol_version: Minimum version of Ssl protocol to be + supported on application gateway. Possible values include: 'TLSv1_0', + 'TLSv1_1', 'TLSv1_2' + :type min_protocol_version: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslProtocol + """ + + _attribute_map = { + 'disabled_ssl_protocols': {'key': 'disabledSslProtocols', 'type': '[str]'}, + 'policy_type': {'key': 'policyType', 'type': 'str'}, + 'policy_name': {'key': 'policyName', 'type': 'str'}, + 'cipher_suites': {'key': 'cipherSuites', 'type': '[str]'}, + 'min_protocol_version': {'key': 'minProtocolVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewaySslPolicy, self).__init__(**kwargs) + self.disabled_ssl_protocols = kwargs.get('disabled_ssl_protocols', None) + self.policy_type = kwargs.get('policy_type', None) + self.policy_name = kwargs.get('policy_name', None) + self.cipher_suites = kwargs.get('cipher_suites', None) + self.min_protocol_version = kwargs.get('min_protocol_version', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_policy_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_policy_py3.py new file mode 100644 index 000000000000..933ecb60c5d5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_policy_py3.py @@ -0,0 +1,56 @@ +# 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.serialization import Model + + +class ApplicationGatewaySslPolicy(Model): + """Application Gateway Ssl policy. + + :param disabled_ssl_protocols: Ssl protocols to be disabled on application + gateway. + :type disabled_ssl_protocols: list[str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslProtocol] + :param policy_type: Type of Ssl Policy. Possible values include: + 'Predefined', 'Custom' + :type policy_type: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslPolicyType + :param policy_name: Name of Ssl predefined policy. Possible values + include: 'AppGwSslPolicy20150501', 'AppGwSslPolicy20170401', + 'AppGwSslPolicy20170401S' + :type policy_name: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslPolicyName + :param cipher_suites: Ssl cipher suites to be enabled in the specified + order to application gateway. + :type cipher_suites: list[str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslCipherSuite] + :param min_protocol_version: Minimum version of Ssl protocol to be + supported on application gateway. Possible values include: 'TLSv1_0', + 'TLSv1_1', 'TLSv1_2' + :type min_protocol_version: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslProtocol + """ + + _attribute_map = { + 'disabled_ssl_protocols': {'key': 'disabledSslProtocols', 'type': '[str]'}, + 'policy_type': {'key': 'policyType', 'type': 'str'}, + 'policy_name': {'key': 'policyName', 'type': 'str'}, + 'cipher_suites': {'key': 'cipherSuites', 'type': '[str]'}, + 'min_protocol_version': {'key': 'minProtocolVersion', 'type': 'str'}, + } + + def __init__(self, *, disabled_ssl_protocols=None, policy_type=None, policy_name=None, cipher_suites=None, min_protocol_version=None, **kwargs) -> None: + super(ApplicationGatewaySslPolicy, self).__init__(**kwargs) + self.disabled_ssl_protocols = disabled_ssl_protocols + self.policy_type = policy_type + self.policy_name = policy_name + self.cipher_suites = cipher_suites + self.min_protocol_version = min_protocol_version diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_predefined_policy.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_predefined_policy.py new file mode 100644 index 000000000000..8e3d44aede44 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_predefined_policy.py @@ -0,0 +1,44 @@ +# 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 ApplicationGatewaySslPredefinedPolicy(SubResource): + """An Ssl predefined policy. + + :param id: Resource ID. + :type id: str + :param name: Name of the Ssl predefined policy. + :type name: str + :param cipher_suites: Ssl cipher suites to be enabled in the specified + order for application gateway. + :type cipher_suites: list[str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslCipherSuite] + :param min_protocol_version: Minimum version of Ssl protocol to be + supported on application gateway. Possible values include: 'TLSv1_0', + 'TLSv1_1', 'TLSv1_2' + :type min_protocol_version: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslProtocol + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'cipher_suites': {'key': 'properties.cipherSuites', 'type': '[str]'}, + 'min_protocol_version': {'key': 'properties.minProtocolVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewaySslPredefinedPolicy, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.cipher_suites = kwargs.get('cipher_suites', None) + self.min_protocol_version = kwargs.get('min_protocol_version', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_predefined_policy_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_predefined_policy_paged.py new file mode 100644 index 000000000000..76b106913378 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_predefined_policy_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 ApplicationGatewaySslPredefinedPolicyPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApplicationGatewaySslPredefinedPolicy ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApplicationGatewaySslPredefinedPolicy]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationGatewaySslPredefinedPolicyPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_predefined_policy_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_predefined_policy_py3.py new file mode 100644 index 000000000000..b2ca049a0a50 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_ssl_predefined_policy_py3.py @@ -0,0 +1,44 @@ +# 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 ApplicationGatewaySslPredefinedPolicy(SubResource): + """An Ssl predefined policy. + + :param id: Resource ID. + :type id: str + :param name: Name of the Ssl predefined policy. + :type name: str + :param cipher_suites: Ssl cipher suites to be enabled in the specified + order for application gateway. + :type cipher_suites: list[str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslCipherSuite] + :param min_protocol_version: Minimum version of Ssl protocol to be + supported on application gateway. Possible values include: 'TLSv1_0', + 'TLSv1_1', 'TLSv1_2' + :type min_protocol_version: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslProtocol + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'cipher_suites': {'key': 'properties.cipherSuites', 'type': '[str]'}, + 'min_protocol_version': {'key': 'properties.minProtocolVersion', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, name: str=None, cipher_suites=None, min_protocol_version=None, **kwargs) -> None: + super(ApplicationGatewaySslPredefinedPolicy, self).__init__(id=id, **kwargs) + self.name = name + self.cipher_suites = cipher_suites + self.min_protocol_version = min_protocol_version diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_url_path_map.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_url_path_map.py new file mode 100644 index 000000000000..79fc9615b6a0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_url_path_map.py @@ -0,0 +1,70 @@ +# 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 ApplicationGatewayUrlPathMap(SubResource): + """UrlPathMaps give a url path to the backend mapping information for + PathBasedRouting. + + :param id: Resource ID. + :type id: str + :param default_backend_address_pool: Default backend address pool resource + of URL path map. + :type default_backend_address_pool: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param default_backend_http_settings: Default backend http settings + resource of URL path map. + :type default_backend_http_settings: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param default_redirect_configuration: Default redirect configuration + resource of URL path map. + :type default_redirect_configuration: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param path_rules: Path rule of URL path map resource. + :type path_rules: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayPathRule] + :param provisioning_state: Provisioning state of the backend http settings + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the URL path map that is unique within an Application + Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, + 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, + 'default_redirect_configuration': {'key': 'properties.defaultRedirectConfiguration', 'type': 'SubResource'}, + 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayUrlPathMap, self).__init__(**kwargs) + self.default_backend_address_pool = kwargs.get('default_backend_address_pool', None) + self.default_backend_http_settings = kwargs.get('default_backend_http_settings', None) + self.default_redirect_configuration = kwargs.get('default_redirect_configuration', None) + self.path_rules = kwargs.get('path_rules', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_url_path_map_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_url_path_map_py3.py new file mode 100644 index 000000000000..8275c0270ede --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_url_path_map_py3.py @@ -0,0 +1,70 @@ +# 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 ApplicationGatewayUrlPathMap(SubResource): + """UrlPathMaps give a url path to the backend mapping information for + PathBasedRouting. + + :param id: Resource ID. + :type id: str + :param default_backend_address_pool: Default backend address pool resource + of URL path map. + :type default_backend_address_pool: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param default_backend_http_settings: Default backend http settings + resource of URL path map. + :type default_backend_http_settings: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param default_redirect_configuration: Default redirect configuration + resource of URL path map. + :type default_redirect_configuration: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param path_rules: Path rule of URL path map resource. + :type path_rules: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayPathRule] + :param provisioning_state: Provisioning state of the backend http settings + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: Name of the URL path map that is unique within an Application + Gateway. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param type: Type of the resource. + :type type: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, + 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, + 'default_redirect_configuration': {'key': 'properties.defaultRedirectConfiguration', 'type': 'SubResource'}, + 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, default_backend_address_pool=None, default_backend_http_settings=None, default_redirect_configuration=None, path_rules=None, provisioning_state: str=None, name: str=None, etag: str=None, type: str=None, **kwargs) -> None: + super(ApplicationGatewayUrlPathMap, self).__init__(id=id, **kwargs) + self.default_backend_address_pool = default_backend_address_pool + self.default_backend_http_settings = default_backend_http_settings + self.default_redirect_configuration = default_redirect_configuration + self.path_rules = path_rules + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_web_application_firewall_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_web_application_firewall_configuration.py new file mode 100644 index 000000000000..8ad5c4827e7f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_web_application_firewall_configuration.py @@ -0,0 +1,67 @@ +# 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.serialization import Model + + +class ApplicationGatewayWebApplicationFirewallConfiguration(Model): + """Application gateway web application firewall configuration. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Whether the web application firewall is enabled + or not. + :type enabled: bool + :param firewall_mode: Required. Web application firewall mode. Possible + values include: 'Detection', 'Prevention' + :type firewall_mode: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayFirewallMode + :param rule_set_type: Required. The type of the web application firewall + rule set. Possible values are: 'OWASP'. + :type rule_set_type: str + :param rule_set_version: Required. The version of the rule set type. + :type rule_set_version: str + :param disabled_rule_groups: The disabled rule groups. + :type disabled_rule_groups: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayFirewallDisabledRuleGroup] + :param request_body_check: Whether allow WAF to check request Body. + :type request_body_check: bool + :param max_request_body_size: Maxium request body size for WAF. + :type max_request_body_size: int + """ + + _validation = { + 'enabled': {'required': True}, + 'firewall_mode': {'required': True}, + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + 'max_request_body_size': {'maximum': 128, 'minimum': 8}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'firewall_mode': {'key': 'firewallMode', 'type': 'str'}, + 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, + 'disabled_rule_groups': {'key': 'disabledRuleGroups', 'type': '[ApplicationGatewayFirewallDisabledRuleGroup]'}, + 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, + 'max_request_body_size': {'key': 'maxRequestBodySize', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ApplicationGatewayWebApplicationFirewallConfiguration, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.firewall_mode = kwargs.get('firewall_mode', None) + self.rule_set_type = kwargs.get('rule_set_type', None) + self.rule_set_version = kwargs.get('rule_set_version', None) + self.disabled_rule_groups = kwargs.get('disabled_rule_groups', None) + self.request_body_check = kwargs.get('request_body_check', None) + self.max_request_body_size = kwargs.get('max_request_body_size', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_web_application_firewall_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_web_application_firewall_configuration_py3.py new file mode 100644 index 000000000000..976745671c8d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_gateway_web_application_firewall_configuration_py3.py @@ -0,0 +1,67 @@ +# 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.serialization import Model + + +class ApplicationGatewayWebApplicationFirewallConfiguration(Model): + """Application gateway web application firewall configuration. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Whether the web application firewall is enabled + or not. + :type enabled: bool + :param firewall_mode: Required. Web application firewall mode. Possible + values include: 'Detection', 'Prevention' + :type firewall_mode: str or + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayFirewallMode + :param rule_set_type: Required. The type of the web application firewall + rule set. Possible values are: 'OWASP'. + :type rule_set_type: str + :param rule_set_version: Required. The version of the rule set type. + :type rule_set_version: str + :param disabled_rule_groups: The disabled rule groups. + :type disabled_rule_groups: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayFirewallDisabledRuleGroup] + :param request_body_check: Whether allow WAF to check request Body. + :type request_body_check: bool + :param max_request_body_size: Maxium request body size for WAF. + :type max_request_body_size: int + """ + + _validation = { + 'enabled': {'required': True}, + 'firewall_mode': {'required': True}, + 'rule_set_type': {'required': True}, + 'rule_set_version': {'required': True}, + 'max_request_body_size': {'maximum': 128, 'minimum': 8}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'firewall_mode': {'key': 'firewallMode', 'type': 'str'}, + 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, + 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, + 'disabled_rule_groups': {'key': 'disabledRuleGroups', 'type': '[ApplicationGatewayFirewallDisabledRuleGroup]'}, + 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, + 'max_request_body_size': {'key': 'maxRequestBodySize', 'type': 'int'}, + } + + def __init__(self, *, enabled: bool, firewall_mode, rule_set_type: str, rule_set_version: str, disabled_rule_groups=None, request_body_check: bool=None, max_request_body_size: int=None, **kwargs) -> None: + super(ApplicationGatewayWebApplicationFirewallConfiguration, self).__init__(**kwargs) + self.enabled = enabled + self.firewall_mode = firewall_mode + self.rule_set_type = rule_set_type + self.rule_set_version = rule_set_version + self.disabled_rule_groups = disabled_rule_groups + self.request_body_check = request_body_check + self.max_request_body_size = max_request_body_size diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_security_group.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_security_group.py new file mode 100644 index 000000000000..1372f778ae62 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_security_group.py @@ -0,0 +1,68 @@ +# 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 .resource import Resource + + +class ApplicationSecurityGroup(Resource): + """An application security group in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar resource_guid: The resource GUID property of the application + security group resource. It uniquely identifies a resource, even if the + user changes its name or migrate the resource across subscriptions or + resource groups. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the application + security group resource. Possible values are: 'Succeeded', 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ApplicationSecurityGroup, self).__init__(**kwargs) + self.resource_guid = None + self.provisioning_state = None + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_security_group_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_security_group_paged.py new file mode 100644 index 000000000000..d286409dc6db --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_security_group_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 ApplicationSecurityGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`ApplicationSecurityGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ApplicationSecurityGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(ApplicationSecurityGroupPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_security_group_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_security_group_py3.py new file mode 100644 index 000000000000..fba3b3a222a5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/application_security_group_py3.py @@ -0,0 +1,68 @@ +# 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 .resource_py3 import Resource + + +class ApplicationSecurityGroup(Resource): + """An application security group in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar resource_guid: The resource GUID property of the application + security group resource. It uniquely identifies a resource, even if the + user changes its name or migrate the resource across subscriptions or + resource groups. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the application + security group resource. Possible values are: 'Succeeded', 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: + super(ApplicationSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.resource_guid = None + self.provisioning_state = None + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/availability.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/availability.py new file mode 100644 index 000000000000..16b7cfa04955 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/availability.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class Availability(Model): + """Availability of the metric. + + :param time_grain: The time grain of the availability. + :type time_grain: str + :param retention: The retention of the availability. + :type retention: str + :param blob_duration: Duration of the availability blob. + :type blob_duration: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Availability, self).__init__(**kwargs) + self.time_grain = kwargs.get('time_grain', None) + self.retention = kwargs.get('retention', None) + self.blob_duration = kwargs.get('blob_duration', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/availability_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/availability_py3.py new file mode 100644 index 000000000000..874d8878184f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/availability_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class Availability(Model): + """Availability of the metric. + + :param time_grain: The time grain of the availability. + :type time_grain: str + :param retention: The retention of the availability. + :type retention: str + :param blob_duration: Duration of the availability blob. + :type blob_duration: str + """ + + _attribute_map = { + 'time_grain': {'key': 'timeGrain', 'type': 'str'}, + 'retention': {'key': 'retention', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, *, time_grain: str=None, retention: str=None, blob_duration: str=None, **kwargs) -> None: + super(Availability, self).__init__(**kwargs) + self.time_grain = time_grain + self.retention = retention + self.blob_duration = blob_duration diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list.py new file mode 100644 index 000000000000..b3f7d1ba47b3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class AvailableProvidersList(Model): + """List of available countries with details. + + All required parameters must be populated in order to send to Azure. + + :param countries: Required. List of available countries. + :type countries: + list[~azure.mgmt.network.v2018_06_01.models.AvailableProvidersListCountry] + """ + + _validation = { + 'countries': {'required': True}, + } + + _attribute_map = { + 'countries': {'key': 'countries', 'type': '[AvailableProvidersListCountry]'}, + } + + def __init__(self, **kwargs): + super(AvailableProvidersList, self).__init__(**kwargs) + self.countries = kwargs.get('countries', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_city.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_city.py new file mode 100644 index 000000000000..5f9aa271b981 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_city.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class AvailableProvidersListCity(Model): + """City or town details. + + :param city_name: The city or town name. + :type city_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + """ + + _attribute_map = { + 'city_name': {'key': 'cityName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AvailableProvidersListCity, self).__init__(**kwargs) + self.city_name = kwargs.get('city_name', None) + self.providers = kwargs.get('providers', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_city_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_city_py3.py new file mode 100644 index 000000000000..888aa46a7cfc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_city_py3.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class AvailableProvidersListCity(Model): + """City or town details. + + :param city_name: The city or town name. + :type city_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + """ + + _attribute_map = { + 'city_name': {'key': 'cityName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + } + + def __init__(self, *, city_name: str=None, providers=None, **kwargs) -> None: + super(AvailableProvidersListCity, self).__init__(**kwargs) + self.city_name = city_name + self.providers = providers diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_country.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_country.py new file mode 100644 index 000000000000..d0a33c8f5912 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_country.py @@ -0,0 +1,37 @@ +# 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.serialization import Model + + +class AvailableProvidersListCountry(Model): + """Country details. + + :param country_name: The country name. + :type country_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + :param states: List of available states in the country. + :type states: + list[~azure.mgmt.network.v2018_06_01.models.AvailableProvidersListState] + """ + + _attribute_map = { + 'country_name': {'key': 'countryName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'states': {'key': 'states', 'type': '[AvailableProvidersListState]'}, + } + + def __init__(self, **kwargs): + super(AvailableProvidersListCountry, self).__init__(**kwargs) + self.country_name = kwargs.get('country_name', None) + self.providers = kwargs.get('providers', None) + self.states = kwargs.get('states', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_country_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_country_py3.py new file mode 100644 index 000000000000..f81b5f09ac60 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_country_py3.py @@ -0,0 +1,37 @@ +# 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.serialization import Model + + +class AvailableProvidersListCountry(Model): + """Country details. + + :param country_name: The country name. + :type country_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + :param states: List of available states in the country. + :type states: + list[~azure.mgmt.network.v2018_06_01.models.AvailableProvidersListState] + """ + + _attribute_map = { + 'country_name': {'key': 'countryName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'states': {'key': 'states', 'type': '[AvailableProvidersListState]'}, + } + + def __init__(self, *, country_name: str=None, providers=None, states=None, **kwargs) -> None: + super(AvailableProvidersListCountry, self).__init__(**kwargs) + self.country_name = country_name + self.providers = providers + self.states = states diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_parameters.py new file mode 100644 index 000000000000..152b3b787c2b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_parameters.py @@ -0,0 +1,41 @@ +# 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.serialization import Model + + +class AvailableProvidersListParameters(Model): + """Constraints that determine the list of available Internet service + providers. + + :param azure_locations: A list of Azure regions. + :type azure_locations: list[str] + :param country: The country for available providers list. + :type country: str + :param state: The state for available providers list. + :type state: str + :param city: The city or town for available providers list. + :type city: str + """ + + _attribute_map = { + 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, + 'country': {'key': 'country', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AvailableProvidersListParameters, self).__init__(**kwargs) + self.azure_locations = kwargs.get('azure_locations', None) + self.country = kwargs.get('country', None) + self.state = kwargs.get('state', None) + self.city = kwargs.get('city', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_parameters_py3.py new file mode 100644 index 000000000000..d5c541a7fcb6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_parameters_py3.py @@ -0,0 +1,41 @@ +# 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.serialization import Model + + +class AvailableProvidersListParameters(Model): + """Constraints that determine the list of available Internet service + providers. + + :param azure_locations: A list of Azure regions. + :type azure_locations: list[str] + :param country: The country for available providers list. + :type country: str + :param state: The state for available providers list. + :type state: str + :param city: The city or town for available providers list. + :type city: str + """ + + _attribute_map = { + 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, + 'country': {'key': 'country', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + } + + def __init__(self, *, azure_locations=None, country: str=None, state: str=None, city: str=None, **kwargs) -> None: + super(AvailableProvidersListParameters, self).__init__(**kwargs) + self.azure_locations = azure_locations + self.country = country + self.state = state + self.city = city diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_py3.py new file mode 100644 index 000000000000..27df3787cc54 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_py3.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class AvailableProvidersList(Model): + """List of available countries with details. + + All required parameters must be populated in order to send to Azure. + + :param countries: Required. List of available countries. + :type countries: + list[~azure.mgmt.network.v2018_06_01.models.AvailableProvidersListCountry] + """ + + _validation = { + 'countries': {'required': True}, + } + + _attribute_map = { + 'countries': {'key': 'countries', 'type': '[AvailableProvidersListCountry]'}, + } + + def __init__(self, *, countries, **kwargs) -> None: + super(AvailableProvidersList, self).__init__(**kwargs) + self.countries = countries diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_state.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_state.py new file mode 100644 index 000000000000..a6dccba3964b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_state.py @@ -0,0 +1,37 @@ +# 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.serialization import Model + + +class AvailableProvidersListState(Model): + """State details. + + :param state_name: The state name. + :type state_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + :param cities: List of available cities or towns in the state. + :type cities: + list[~azure.mgmt.network.v2018_06_01.models.AvailableProvidersListCity] + """ + + _attribute_map = { + 'state_name': {'key': 'stateName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'cities': {'key': 'cities', 'type': '[AvailableProvidersListCity]'}, + } + + def __init__(self, **kwargs): + super(AvailableProvidersListState, self).__init__(**kwargs) + self.state_name = kwargs.get('state_name', None) + self.providers = kwargs.get('providers', None) + self.cities = kwargs.get('cities', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_state_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_state_py3.py new file mode 100644 index 000000000000..6d3f75cd89e5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/available_providers_list_state_py3.py @@ -0,0 +1,37 @@ +# 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.serialization import Model + + +class AvailableProvidersListState(Model): + """State details. + + :param state_name: The state name. + :type state_name: str + :param providers: A list of Internet service providers. + :type providers: list[str] + :param cities: List of available cities or towns in the state. + :type cities: + list[~azure.mgmt.network.v2018_06_01.models.AvailableProvidersListCity] + """ + + _attribute_map = { + 'state_name': {'key': 'stateName', 'type': 'str'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'cities': {'key': 'cities', 'type': '[AvailableProvidersListCity]'}, + } + + def __init__(self, *, state_name: str=None, providers=None, cities=None, **kwargs) -> None: + super(AvailableProvidersListState, self).__init__(**kwargs) + self.state_name = state_name + self.providers = providers + self.cities = cities diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_async_operation_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_async_operation_result.py new file mode 100644 index 000000000000..b14e743b4f70 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_async_operation_result.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class AzureAsyncOperationResult(Model): + """The response body contains the status of the specified asynchronous + operation, indicating whether it has succeeded, is in progress, or has + failed. Note that this status is distinct from the HTTP status code + returned for the Get Operation Status operation itself. If the asynchronous + operation succeeded, the response body includes the HTTP status code for + the successful request. If the asynchronous operation failed, the response + body includes the HTTP status code for the failed request and error + information regarding the failure. + + :param status: Status of the Azure async operation. Possible values are: + 'InProgress', 'Succeeded', and 'Failed'. Possible values include: + 'InProgress', 'Succeeded', 'Failed' + :type status: str or + ~azure.mgmt.network.v2018_06_01.models.NetworkOperationStatus + :param error: + :type error: ~azure.mgmt.network.v2018_06_01.models.Error + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + } + + def __init__(self, **kwargs): + super(AzureAsyncOperationResult, self).__init__(**kwargs) + self.status = kwargs.get('status', None) + self.error = kwargs.get('error', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_async_operation_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_async_operation_result_py3.py new file mode 100644 index 000000000000..de8fc8a02069 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_async_operation_result_py3.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class AzureAsyncOperationResult(Model): + """The response body contains the status of the specified asynchronous + operation, indicating whether it has succeeded, is in progress, or has + failed. Note that this status is distinct from the HTTP status code + returned for the Get Operation Status operation itself. If the asynchronous + operation succeeded, the response body includes the HTTP status code for + the successful request. If the asynchronous operation failed, the response + body includes the HTTP status code for the failed request and error + information regarding the failure. + + :param status: Status of the Azure async operation. Possible values are: + 'InProgress', 'Succeeded', and 'Failed'. Possible values include: + 'InProgress', 'Succeeded', 'Failed' + :type status: str or + ~azure.mgmt.network.v2018_06_01.models.NetworkOperationStatus + :param error: + :type error: ~azure.mgmt.network.v2018_06_01.models.Error + """ + + _attribute_map = { + 'status': {'key': 'status', 'type': 'str'}, + 'error': {'key': 'error', 'type': 'Error'}, + } + + def __init__(self, *, status=None, error=None, **kwargs) -> None: + super(AzureAsyncOperationResult, self).__init__(**kwargs) + self.status = status + self.error = error diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall.py new file mode 100644 index 000000000000..3415bea9a3ed --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall.py @@ -0,0 +1,76 @@ +# 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 .resource import Resource + + +class AzureFirewall(Resource): + """Azure Firewall resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param application_rule_collections: Collection of application rule + collections used by a Azure Firewall. + :type application_rule_collections: + list[~azure.mgmt.network.v2018_06_01.models.AzureFirewallApplicationRuleCollection] + :param network_rule_collections: Collection of network rule collections + used by a Azure Firewall. + :type network_rule_collections: + list[~azure.mgmt.network.v2018_06_01.models.AzureFirewallNetworkRuleCollection] + :param ip_configurations: IP configuration of the Azure Firewall resource. + :type ip_configurations: + list[~azure.mgmt.network.v2018_06_01.models.AzureFirewallIPConfiguration] + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'application_rule_collections': {'key': 'properties.applicationRuleCollections', 'type': '[AzureFirewallApplicationRuleCollection]'}, + 'network_rule_collections': {'key': 'properties.networkRuleCollections', 'type': '[AzureFirewallNetworkRuleCollection]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[AzureFirewallIPConfiguration]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewall, self).__init__(**kwargs) + self.application_rule_collections = kwargs.get('application_rule_collections', None) + self.network_rule_collections = kwargs.get('network_rule_collections', None) + self.ip_configurations = kwargs.get('ip_configurations', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_application_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_application_rule.py new file mode 100644 index 000000000000..077a6ca8a3f3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_application_rule.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class AzureFirewallApplicationRule(Model): + """Properties of an application rule. + + :param name: Name of the application rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param protocols: Array of ApplicationRuleProtocols. + :type protocols: + list[~azure.mgmt.network.v2018_06_01.models.AzureFirewallApplicationRuleProtocol] + :param target_urls: List of URLs for this rule. + :type target_urls: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'protocols': {'key': 'protocols', 'type': '[AzureFirewallApplicationRuleProtocol]'}, + 'target_urls': {'key': 'targetUrls', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallApplicationRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.source_addresses = kwargs.get('source_addresses', None) + self.protocols = kwargs.get('protocols', None) + self.target_urls = kwargs.get('target_urls', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_application_rule_collection.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_application_rule_collection.py new file mode 100644 index 000000000000..29574780d312 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_application_rule_collection.py @@ -0,0 +1,64 @@ +# 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 AzureFirewallApplicationRuleCollection(SubResource): + """Application rule collection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the application rule collection resource. + :type priority: int + :param action: The action type of a rule collection + :type action: ~azure.mgmt.network.v2018_06_01.models.AzureFirewallRCAction + :param rules: Collection of rules used by a application rule collection. + :type rules: + list[~azure.mgmt.network.v2018_06_01.models.AzureFirewallApplicationRule] + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :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: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, + 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallApplicationRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallApplicationRuleCollection, self).__init__(**kwargs) + self.priority = kwargs.get('priority', None) + self.action = kwargs.get('action', None) + self.rules = kwargs.get('rules', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_application_rule_collection_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_application_rule_collection_py3.py new file mode 100644 index 000000000000..b44ebbddfcab --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_application_rule_collection_py3.py @@ -0,0 +1,64 @@ +# 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 AzureFirewallApplicationRuleCollection(SubResource): + """Application rule collection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the application rule collection resource. + :type priority: int + :param action: The action type of a rule collection + :type action: ~azure.mgmt.network.v2018_06_01.models.AzureFirewallRCAction + :param rules: Collection of rules used by a application rule collection. + :type rules: + list[~azure.mgmt.network.v2018_06_01.models.AzureFirewallApplicationRule] + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :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: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, + 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallApplicationRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, priority: int=None, action=None, rules=None, provisioning_state=None, name: str=None, **kwargs) -> None: + super(AzureFirewallApplicationRuleCollection, self).__init__(id=id, **kwargs) + self.priority = priority + self.action = action + self.rules = rules + self.provisioning_state = provisioning_state + self.name = name + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_application_rule_protocol.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_application_rule_protocol.py new file mode 100644 index 000000000000..23ecf2aa2ad6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_application_rule_protocol.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class AzureFirewallApplicationRuleProtocol(Model): + """Properties of the application rule protocol. + + :param protocol_type: Protocol type. Possible values include: 'Http', + 'Https' + :type protocol_type: str or + ~azure.mgmt.network.v2018_06_01.models.AzureFirewallApplicationRuleProtocolType + :param port: Port number for the protocol, cannot be greater than 64000. + This field is optional. + :type port: int + """ + + _validation = { + 'port': {'maximum': 64000, 'minimum': 0}, + } + + _attribute_map = { + 'protocol_type': {'key': 'protocolType', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallApplicationRuleProtocol, self).__init__(**kwargs) + self.protocol_type = kwargs.get('protocol_type', None) + self.port = kwargs.get('port', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_application_rule_protocol_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_application_rule_protocol_py3.py new file mode 100644 index 000000000000..360d2e152e6e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_application_rule_protocol_py3.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class AzureFirewallApplicationRuleProtocol(Model): + """Properties of the application rule protocol. + + :param protocol_type: Protocol type. Possible values include: 'Http', + 'Https' + :type protocol_type: str or + ~azure.mgmt.network.v2018_06_01.models.AzureFirewallApplicationRuleProtocolType + :param port: Port number for the protocol, cannot be greater than 64000. + This field is optional. + :type port: int + """ + + _validation = { + 'port': {'maximum': 64000, 'minimum': 0}, + } + + _attribute_map = { + 'protocol_type': {'key': 'protocolType', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, protocol_type=None, port: int=None, **kwargs) -> None: + super(AzureFirewallApplicationRuleProtocol, self).__init__(**kwargs) + self.protocol_type = protocol_type + self.port = port diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_application_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_application_rule_py3.py new file mode 100644 index 000000000000..95e68ad57bff --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_application_rule_py3.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class AzureFirewallApplicationRule(Model): + """Properties of an application rule. + + :param name: Name of the application rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param protocols: Array of ApplicationRuleProtocols. + :type protocols: + list[~azure.mgmt.network.v2018_06_01.models.AzureFirewallApplicationRuleProtocol] + :param target_urls: List of URLs for this rule. + :type target_urls: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'protocols': {'key': 'protocols', 'type': '[AzureFirewallApplicationRuleProtocol]'}, + 'target_urls': {'key': 'targetUrls', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, description: str=None, source_addresses=None, protocols=None, target_urls=None, **kwargs) -> None: + super(AzureFirewallApplicationRule, self).__init__(**kwargs) + self.name = name + self.description = description + self.source_addresses = source_addresses + self.protocols = protocols + self.target_urls = target_urls diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_ip_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_ip_configuration.py new file mode 100644 index 000000000000..15aa5436e5c5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_ip_configuration.py @@ -0,0 +1,65 @@ +# 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 AzureFirewallIPConfiguration(SubResource): + """IP configuration of an Azure Firewall. + + :param id: Resource ID. + :type id: str + :param private_ip_address: The Firewall Internal Load Balancer IP to be + used as the next hop in User Defined Routes. + :type private_ip_address: str + :param subnet: Reference of the subnet resource. This resource must be + named 'AzureFirewallSubnet'. + :type subnet: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param internal_public_ip_address: Reference of the PublicIP resource. + This field is a mandatory input. + :type internal_public_ip_address: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param public_ip_address: Reference of the PublicIP resource. This field + is populated in the output. + :type public_ip_address: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'internal_public_ip_address': {'key': 'properties.internalPublicIpAddress', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallIPConfiguration, self).__init__(**kwargs) + self.private_ip_address = kwargs.get('private_ip_address', None) + self.subnet = kwargs.get('subnet', None) + self.internal_public_ip_address = kwargs.get('internal_public_ip_address', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_ip_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_ip_configuration_py3.py new file mode 100644 index 000000000000..64d6a9e7b1ae --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_ip_configuration_py3.py @@ -0,0 +1,65 @@ +# 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 AzureFirewallIPConfiguration(SubResource): + """IP configuration of an Azure Firewall. + + :param id: Resource ID. + :type id: str + :param private_ip_address: The Firewall Internal Load Balancer IP to be + used as the next hop in User Defined Routes. + :type private_ip_address: str + :param subnet: Reference of the subnet resource. This resource must be + named 'AzureFirewallSubnet'. + :type subnet: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param internal_public_ip_address: Reference of the PublicIP resource. + This field is a mandatory input. + :type internal_public_ip_address: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param public_ip_address: Reference of the PublicIP resource. This field + is populated in the output. + :type public_ip_address: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :param name: Name of the resource that is unique within a resource group. + This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'internal_public_ip_address': {'key': 'properties.internalPublicIpAddress', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_ip_address: str=None, subnet=None, internal_public_ip_address=None, public_ip_address=None, provisioning_state=None, name: str=None, etag: str=None, **kwargs) -> None: + super(AzureFirewallIPConfiguration, self).__init__(id=id, **kwargs) + self.private_ip_address = private_ip_address + self.subnet = subnet + self.internal_public_ip_address = internal_public_ip_address + self.public_ip_address = public_ip_address + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_network_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_network_rule.py new file mode 100644 index 000000000000..c32509edd056 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_network_rule.py @@ -0,0 +1,49 @@ +# 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.serialization import Model + + +class AzureFirewallNetworkRule(Model): + """Properties of the network rule. + + :param name: Name of the network rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param protocols: Array of AzureFirewallNetworkRuleProtocols. + :type protocols: list[str or + ~azure.mgmt.network.v2018_06_01.models.AzureFirewallNetworkRuleProtocol] + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses. + :type destination_addresses: list[str] + :param destination_ports: List of destination ports. + :type destination_ports: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'protocols': {'key': 'protocols', 'type': '[str]'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallNetworkRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.description = kwargs.get('description', None) + self.protocols = kwargs.get('protocols', None) + self.source_addresses = kwargs.get('source_addresses', None) + self.destination_addresses = kwargs.get('destination_addresses', None) + self.destination_ports = kwargs.get('destination_ports', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_network_rule_collection.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_network_rule_collection.py new file mode 100644 index 000000000000..5da218a035d5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_network_rule_collection.py @@ -0,0 +1,64 @@ +# 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 AzureFirewallNetworkRuleCollection(SubResource): + """Network rule collection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the network rule collection resource. + :type priority: int + :param action: The action type of a rule collection + :type action: ~azure.mgmt.network.v2018_06_01.models.AzureFirewallRCAction + :param rules: Collection of rules used by a network rule collection. + :type rules: + list[~azure.mgmt.network.v2018_06_01.models.AzureFirewallNetworkRule] + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :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: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, + 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNetworkRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallNetworkRuleCollection, self).__init__(**kwargs) + self.priority = kwargs.get('priority', None) + self.action = kwargs.get('action', None) + self.rules = kwargs.get('rules', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_network_rule_collection_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_network_rule_collection_py3.py new file mode 100644 index 000000000000..43d54d22b0ff --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_network_rule_collection_py3.py @@ -0,0 +1,64 @@ +# 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 AzureFirewallNetworkRuleCollection(SubResource): + """Network rule collection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param priority: Priority of the network rule collection resource. + :type priority: int + :param action: The action type of a rule collection + :type action: ~azure.mgmt.network.v2018_06_01.models.AzureFirewallRCAction + :param rules: Collection of rules used by a network rule collection. + :type rules: + list[~azure.mgmt.network.v2018_06_01.models.AzureFirewallNetworkRule] + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :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: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'priority': {'maximum': 65000, 'minimum': 100}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, + 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNetworkRule]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, priority: int=None, action=None, rules=None, provisioning_state=None, name: str=None, **kwargs) -> None: + super(AzureFirewallNetworkRuleCollection, self).__init__(id=id, **kwargs) + self.priority = priority + self.action = action + self.rules = rules + self.provisioning_state = provisioning_state + self.name = name + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_network_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_network_rule_py3.py new file mode 100644 index 000000000000..60bb3e22fa68 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_network_rule_py3.py @@ -0,0 +1,49 @@ +# 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.serialization import Model + + +class AzureFirewallNetworkRule(Model): + """Properties of the network rule. + + :param name: Name of the network rule. + :type name: str + :param description: Description of the rule. + :type description: str + :param protocols: Array of AzureFirewallNetworkRuleProtocols. + :type protocols: list[str or + ~azure.mgmt.network.v2018_06_01.models.AzureFirewallNetworkRuleProtocol] + :param source_addresses: List of source IP addresses for this rule. + :type source_addresses: list[str] + :param destination_addresses: List of destination IP addresses. + :type destination_addresses: list[str] + :param destination_ports: List of destination ports. + :type destination_ports: list[str] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + 'protocols': {'key': 'protocols', 'type': '[str]'}, + 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, + 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, + 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, description: str=None, protocols=None, source_addresses=None, destination_addresses=None, destination_ports=None, **kwargs) -> None: + super(AzureFirewallNetworkRule, self).__init__(**kwargs) + self.name = name + self.description = description + self.protocols = protocols + self.source_addresses = source_addresses + self.destination_addresses = destination_addresses + self.destination_ports = destination_ports diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_paged.py new file mode 100644 index 000000000000..4d2bdc8cb4dd --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_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 AzureFirewallPaged(Paged): + """ + A paging container for iterating over a list of :class:`AzureFirewall ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[AzureFirewall]'} + } + + def __init__(self, *args, **kwargs): + + super(AzureFirewallPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_py3.py new file mode 100644 index 000000000000..e2684537f7ed --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_py3.py @@ -0,0 +1,76 @@ +# 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 .resource_py3 import Resource + + +class AzureFirewall(Resource): + """Azure Firewall resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param application_rule_collections: Collection of application rule + collections used by a Azure Firewall. + :type application_rule_collections: + list[~azure.mgmt.network.v2018_06_01.models.AzureFirewallApplicationRuleCollection] + :param network_rule_collections: Collection of network rule collections + used by a Azure Firewall. + :type network_rule_collections: + list[~azure.mgmt.network.v2018_06_01.models.AzureFirewallNetworkRuleCollection] + :param ip_configurations: IP configuration of the Azure Firewall resource. + :type ip_configurations: + list[~azure.mgmt.network.v2018_06_01.models.AzureFirewallIPConfiguration] + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'application_rule_collections': {'key': 'properties.applicationRuleCollections', 'type': '[AzureFirewallApplicationRuleCollection]'}, + 'network_rule_collections': {'key': 'properties.networkRuleCollections', 'type': '[AzureFirewallNetworkRuleCollection]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[AzureFirewallIPConfiguration]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, application_rule_collections=None, network_rule_collections=None, ip_configurations=None, provisioning_state=None, **kwargs) -> None: + super(AzureFirewall, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.application_rule_collections = application_rule_collections + self.network_rule_collections = network_rule_collections + self.ip_configurations = ip_configurations + self.provisioning_state = provisioning_state + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_rc_action.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_rc_action.py new file mode 100644 index 000000000000..6c3e555e1544 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_rc_action.py @@ -0,0 +1,29 @@ +# 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.serialization import Model + + +class AzureFirewallRCAction(Model): + """Properties of the AzureFirewallRCAction. + + :param type: The type of action. Possible values include: 'Allow', 'Deny' + :type type: str or + ~azure.mgmt.network.v2018_06_01.models.AzureFirewallRCActionType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureFirewallRCAction, self).__init__(**kwargs) + self.type = kwargs.get('type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_rc_action_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_rc_action_py3.py new file mode 100644 index 000000000000..e8df5ff3256c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_firewall_rc_action_py3.py @@ -0,0 +1,29 @@ +# 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.serialization import Model + + +class AzureFirewallRCAction(Model): + """Properties of the AzureFirewallRCAction. + + :param type: The type of action. Possible values include: 'Allow', 'Deny' + :type type: str or + ~azure.mgmt.network.v2018_06_01.models.AzureFirewallRCActionType + """ + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, type=None, **kwargs) -> None: + super(AzureFirewallRCAction, self).__init__(**kwargs) + self.type = type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report.py new file mode 100644 index 000000000000..9ddf028ceb5a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report.py @@ -0,0 +1,48 @@ +# 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.serialization import Model + + +class AzureReachabilityReport(Model): + """Azure reachability report details. + + All required parameters must be populated in order to send to Azure. + + :param aggregation_level: Required. The aggregation level of Azure + reachability report. Can be Country, State or City. + :type aggregation_level: str + :param provider_location: Required. + :type provider_location: + ~azure.mgmt.network.v2018_06_01.models.AzureReachabilityReportLocation + :param reachability_report: Required. List of Azure reachability report + items. + :type reachability_report: + list[~azure.mgmt.network.v2018_06_01.models.AzureReachabilityReportItem] + """ + + _validation = { + 'aggregation_level': {'required': True}, + 'provider_location': {'required': True}, + 'reachability_report': {'required': True}, + } + + _attribute_map = { + 'aggregation_level': {'key': 'aggregationLevel', 'type': 'str'}, + 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, + 'reachability_report': {'key': 'reachabilityReport', 'type': '[AzureReachabilityReportItem]'}, + } + + def __init__(self, **kwargs): + super(AzureReachabilityReport, self).__init__(**kwargs) + self.aggregation_level = kwargs.get('aggregation_level', None) + self.provider_location = kwargs.get('provider_location', None) + self.reachability_report = kwargs.get('reachability_report', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_item.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_item.py new file mode 100644 index 000000000000..972bd132519f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_item.py @@ -0,0 +1,37 @@ +# 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.serialization import Model + + +class AzureReachabilityReportItem(Model): + """Azure reachability report details for a given provider location. + + :param provider: The Internet service provider. + :type provider: str + :param azure_location: The Azure region. + :type azure_location: str + :param latencies: List of latency details for each of the time series. + :type latencies: + list[~azure.mgmt.network.v2018_06_01.models.AzureReachabilityReportLatencyInfo] + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'azure_location': {'key': 'azureLocation', 'type': 'str'}, + 'latencies': {'key': 'latencies', 'type': '[AzureReachabilityReportLatencyInfo]'}, + } + + def __init__(self, **kwargs): + super(AzureReachabilityReportItem, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.azure_location = kwargs.get('azure_location', None) + self.latencies = kwargs.get('latencies', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_item_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_item_py3.py new file mode 100644 index 000000000000..b58420cb2359 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_item_py3.py @@ -0,0 +1,37 @@ +# 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.serialization import Model + + +class AzureReachabilityReportItem(Model): + """Azure reachability report details for a given provider location. + + :param provider: The Internet service provider. + :type provider: str + :param azure_location: The Azure region. + :type azure_location: str + :param latencies: List of latency details for each of the time series. + :type latencies: + list[~azure.mgmt.network.v2018_06_01.models.AzureReachabilityReportLatencyInfo] + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'azure_location': {'key': 'azureLocation', 'type': 'str'}, + 'latencies': {'key': 'latencies', 'type': '[AzureReachabilityReportLatencyInfo]'}, + } + + def __init__(self, *, provider: str=None, azure_location: str=None, latencies=None, **kwargs) -> None: + super(AzureReachabilityReportItem, self).__init__(**kwargs) + self.provider = provider + self.azure_location = azure_location + self.latencies = latencies diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_latency_info.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_latency_info.py new file mode 100644 index 000000000000..e5f77641a138 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_latency_info.py @@ -0,0 +1,37 @@ +# 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.serialization import Model + + +class AzureReachabilityReportLatencyInfo(Model): + """Details on latency for a time series. + + :param time_stamp: The time stamp. + :type time_stamp: datetime + :param score: The relative latency score between 1 and 100, higher values + indicating a faster connection. + :type score: int + """ + + _validation = { + 'score': {'maximum': 100, 'minimum': 1}, + } + + _attribute_map = { + 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, + 'score': {'key': 'score', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(AzureReachabilityReportLatencyInfo, self).__init__(**kwargs) + self.time_stamp = kwargs.get('time_stamp', None) + self.score = kwargs.get('score', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_latency_info_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_latency_info_py3.py new file mode 100644 index 000000000000..dd9d8fda369c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_latency_info_py3.py @@ -0,0 +1,37 @@ +# 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.serialization import Model + + +class AzureReachabilityReportLatencyInfo(Model): + """Details on latency for a time series. + + :param time_stamp: The time stamp. + :type time_stamp: datetime + :param score: The relative latency score between 1 and 100, higher values + indicating a faster connection. + :type score: int + """ + + _validation = { + 'score': {'maximum': 100, 'minimum': 1}, + } + + _attribute_map = { + 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, + 'score': {'key': 'score', 'type': 'int'}, + } + + def __init__(self, *, time_stamp=None, score: int=None, **kwargs) -> None: + super(AzureReachabilityReportLatencyInfo, self).__init__(**kwargs) + self.time_stamp = time_stamp + self.score = score diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_location.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_location.py new file mode 100644 index 000000000000..76c132e89575 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_location.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class AzureReachabilityReportLocation(Model): + """Parameters that define a geographic location. + + All required parameters must be populated in order to send to Azure. + + :param country: Required. The name of the country. + :type country: str + :param state: The name of the state. + :type state: str + :param city: The name of the city or town. + :type city: str + """ + + _validation = { + 'country': {'required': True}, + } + + _attribute_map = { + 'country': {'key': 'country', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(AzureReachabilityReportLocation, self).__init__(**kwargs) + self.country = kwargs.get('country', None) + self.state = kwargs.get('state', None) + self.city = kwargs.get('city', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_location_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_location_py3.py new file mode 100644 index 000000000000..1db868eab46f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_location_py3.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class AzureReachabilityReportLocation(Model): + """Parameters that define a geographic location. + + All required parameters must be populated in order to send to Azure. + + :param country: Required. The name of the country. + :type country: str + :param state: The name of the state. + :type state: str + :param city: The name of the city or town. + :type city: str + """ + + _validation = { + 'country': {'required': True}, + } + + _attribute_map = { + 'country': {'key': 'country', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'city': {'key': 'city', 'type': 'str'}, + } + + def __init__(self, *, country: str, state: str=None, city: str=None, **kwargs) -> None: + super(AzureReachabilityReportLocation, self).__init__(**kwargs) + self.country = country + self.state = state + self.city = city diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_parameters.py new file mode 100644 index 000000000000..9ed98a14632c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_parameters.py @@ -0,0 +1,54 @@ +# 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.serialization import Model + + +class AzureReachabilityReportParameters(Model): + """Geographic and time constraints for Azure reachability report. + + All required parameters must be populated in order to send to Azure. + + :param provider_location: Required. + :type provider_location: + ~azure.mgmt.network.v2018_06_01.models.AzureReachabilityReportLocation + :param providers: List of Internet service providers. + :type providers: list[str] + :param azure_locations: Optional Azure regions to scope the query to. + :type azure_locations: list[str] + :param start_time: Required. The start time for the Azure reachability + report. + :type start_time: datetime + :param end_time: Required. The end time for the Azure reachability report. + :type end_time: datetime + """ + + _validation = { + 'provider_location': {'required': True}, + 'start_time': {'required': True}, + 'end_time': {'required': True}, + } + + _attribute_map = { + 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + } + + def __init__(self, **kwargs): + super(AzureReachabilityReportParameters, self).__init__(**kwargs) + self.provider_location = kwargs.get('provider_location', None) + self.providers = kwargs.get('providers', None) + self.azure_locations = kwargs.get('azure_locations', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_parameters_py3.py new file mode 100644 index 000000000000..2ef9bbe81f8b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_parameters_py3.py @@ -0,0 +1,54 @@ +# 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.serialization import Model + + +class AzureReachabilityReportParameters(Model): + """Geographic and time constraints for Azure reachability report. + + All required parameters must be populated in order to send to Azure. + + :param provider_location: Required. + :type provider_location: + ~azure.mgmt.network.v2018_06_01.models.AzureReachabilityReportLocation + :param providers: List of Internet service providers. + :type providers: list[str] + :param azure_locations: Optional Azure regions to scope the query to. + :type azure_locations: list[str] + :param start_time: Required. The start time for the Azure reachability + report. + :type start_time: datetime + :param end_time: Required. The end time for the Azure reachability report. + :type end_time: datetime + """ + + _validation = { + 'provider_location': {'required': True}, + 'start_time': {'required': True}, + 'end_time': {'required': True}, + } + + _attribute_map = { + 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, + 'providers': {'key': 'providers', 'type': '[str]'}, + 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + } + + def __init__(self, *, provider_location, start_time, end_time, providers=None, azure_locations=None, **kwargs) -> None: + super(AzureReachabilityReportParameters, self).__init__(**kwargs) + self.provider_location = provider_location + self.providers = providers + self.azure_locations = azure_locations + self.start_time = start_time + self.end_time = end_time diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_py3.py new file mode 100644 index 000000000000..52b486ff119c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/azure_reachability_report_py3.py @@ -0,0 +1,48 @@ +# 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.serialization import Model + + +class AzureReachabilityReport(Model): + """Azure reachability report details. + + All required parameters must be populated in order to send to Azure. + + :param aggregation_level: Required. The aggregation level of Azure + reachability report. Can be Country, State or City. + :type aggregation_level: str + :param provider_location: Required. + :type provider_location: + ~azure.mgmt.network.v2018_06_01.models.AzureReachabilityReportLocation + :param reachability_report: Required. List of Azure reachability report + items. + :type reachability_report: + list[~azure.mgmt.network.v2018_06_01.models.AzureReachabilityReportItem] + """ + + _validation = { + 'aggregation_level': {'required': True}, + 'provider_location': {'required': True}, + 'reachability_report': {'required': True}, + } + + _attribute_map = { + 'aggregation_level': {'key': 'aggregationLevel', 'type': 'str'}, + 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, + 'reachability_report': {'key': 'reachabilityReport', 'type': '[AzureReachabilityReportItem]'}, + } + + def __init__(self, *, aggregation_level: str, provider_location, reachability_report, **kwargs) -> None: + super(AzureReachabilityReport, self).__init__(**kwargs) + self.aggregation_level = aggregation_level + self.provider_location = provider_location + self.reachability_report = reachability_report diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/backend_address_pool.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/backend_address_pool.py new file mode 100644 index 000000000000..3fed0eeb2c73 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/backend_address_pool.py @@ -0,0 +1,69 @@ +# 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 BackendAddressPool(SubResource): + """Pool of backend IP addresses. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar backend_ip_configurations: Gets collection of references to IP + addresses defined in network interfaces. + :vartype backend_ip_configurations: + list[~azure.mgmt.network.v2018_06_01.models.NetworkInterfaceIPConfiguration] + :ivar load_balancing_rules: Gets load balancing rules that use this + backend address pool. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :ivar outbound_nat_rule: Gets outbound rules that use this backend address + pool. + :vartype outbound_nat_rule: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param provisioning_state: Get provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type 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 + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'backend_ip_configurations': {'readonly': True}, + 'load_balancing_rules': {'readonly': True}, + 'outbound_nat_rule': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'outbound_nat_rule': {'key': 'properties.outboundNatRule', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BackendAddressPool, self).__init__(**kwargs) + self.backend_ip_configurations = None + self.load_balancing_rules = None + self.outbound_nat_rule = None + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/backend_address_pool_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/backend_address_pool_paged.py new file mode 100644 index 000000000000..b23ec06043fd --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/backend_address_pool_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 BackendAddressPoolPaged(Paged): + """ + A paging container for iterating over a list of :class:`BackendAddressPool ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BackendAddressPool]'} + } + + def __init__(self, *args, **kwargs): + + super(BackendAddressPoolPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/backend_address_pool_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/backend_address_pool_py3.py new file mode 100644 index 000000000000..ad4ccd94b4b6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/backend_address_pool_py3.py @@ -0,0 +1,69 @@ +# 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 BackendAddressPool(SubResource): + """Pool of backend IP addresses. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar backend_ip_configurations: Gets collection of references to IP + addresses defined in network interfaces. + :vartype backend_ip_configurations: + list[~azure.mgmt.network.v2018_06_01.models.NetworkInterfaceIPConfiguration] + :ivar load_balancing_rules: Gets load balancing rules that use this + backend address pool. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :ivar outbound_nat_rule: Gets outbound rules that use this backend address + pool. + :vartype outbound_nat_rule: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param provisioning_state: Get provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type 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 + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'backend_ip_configurations': {'readonly': True}, + 'load_balancing_rules': {'readonly': True}, + 'outbound_nat_rule': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'outbound_nat_rule': {'key': 'properties.outboundNatRule', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(BackendAddressPool, self).__init__(id=id, **kwargs) + self.backend_ip_configurations = None + self.load_balancing_rules = None + self.outbound_nat_rule = None + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_community.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_community.py new file mode 100644 index 000000000000..472a170e9ceb --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_community.py @@ -0,0 +1,52 @@ +# 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.serialization import Model + + +class BGPCommunity(Model): + """Contains bgp community information offered in Service Community resources. + + :param service_supported_region: The region which the service support. + e.g. For O365, region is Global. + :type service_supported_region: str + :param community_name: The name of the bgp community. e.g. Skype. + :type community_name: str + :param community_value: The value of the bgp community. For more + information: + https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. + :type community_value: str + :param community_prefixes: The prefixes that the bgp community contains. + :type community_prefixes: list[str] + :param is_authorized_to_use: Customer is authorized to use bgp community + or not. + :type is_authorized_to_use: bool + :param service_group: The service group of the bgp community contains. + :type service_group: str + """ + + _attribute_map = { + 'service_supported_region': {'key': 'serviceSupportedRegion', 'type': 'str'}, + 'community_name': {'key': 'communityName', 'type': 'str'}, + 'community_value': {'key': 'communityValue', 'type': 'str'}, + 'community_prefixes': {'key': 'communityPrefixes', 'type': '[str]'}, + 'is_authorized_to_use': {'key': 'isAuthorizedToUse', 'type': 'bool'}, + 'service_group': {'key': 'serviceGroup', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(BGPCommunity, self).__init__(**kwargs) + self.service_supported_region = kwargs.get('service_supported_region', None) + self.community_name = kwargs.get('community_name', None) + self.community_value = kwargs.get('community_value', None) + self.community_prefixes = kwargs.get('community_prefixes', None) + self.is_authorized_to_use = kwargs.get('is_authorized_to_use', None) + self.service_group = kwargs.get('service_group', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_community_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_community_py3.py new file mode 100644 index 000000000000..86b740c84404 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_community_py3.py @@ -0,0 +1,52 @@ +# 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.serialization import Model + + +class BGPCommunity(Model): + """Contains bgp community information offered in Service Community resources. + + :param service_supported_region: The region which the service support. + e.g. For O365, region is Global. + :type service_supported_region: str + :param community_name: The name of the bgp community. e.g. Skype. + :type community_name: str + :param community_value: The value of the bgp community. For more + information: + https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. + :type community_value: str + :param community_prefixes: The prefixes that the bgp community contains. + :type community_prefixes: list[str] + :param is_authorized_to_use: Customer is authorized to use bgp community + or not. + :type is_authorized_to_use: bool + :param service_group: The service group of the bgp community contains. + :type service_group: str + """ + + _attribute_map = { + 'service_supported_region': {'key': 'serviceSupportedRegion', 'type': 'str'}, + 'community_name': {'key': 'communityName', 'type': 'str'}, + 'community_value': {'key': 'communityValue', 'type': 'str'}, + 'community_prefixes': {'key': 'communityPrefixes', 'type': '[str]'}, + 'is_authorized_to_use': {'key': 'isAuthorizedToUse', 'type': 'bool'}, + 'service_group': {'key': 'serviceGroup', 'type': 'str'}, + } + + def __init__(self, *, service_supported_region: str=None, community_name: str=None, community_value: str=None, community_prefixes=None, is_authorized_to_use: bool=None, service_group: str=None, **kwargs) -> None: + super(BGPCommunity, self).__init__(**kwargs) + self.service_supported_region = service_supported_region + self.community_name = community_name + self.community_value = community_value + self.community_prefixes = community_prefixes + self.is_authorized_to_use = is_authorized_to_use + self.service_group = service_group diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_peer_status.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_peer_status.py new file mode 100644 index 000000000000..4b7d0f4a4c97 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_peer_status.py @@ -0,0 +1,71 @@ +# 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.serialization import Model + + +class BgpPeerStatus(Model): + """BGP peer status details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar local_address: The virtual network gateway's local address + :vartype local_address: str + :ivar neighbor: The remote BGP peer + :vartype neighbor: str + :ivar asn: The autonomous system number of the remote BGP peer + :vartype asn: int + :ivar state: The BGP peer state. Possible values include: 'Unknown', + 'Stopped', 'Idle', 'Connecting', 'Connected' + :vartype state: str or ~azure.mgmt.network.v2018_06_01.models.BgpPeerState + :ivar connected_duration: For how long the peering has been up + :vartype connected_duration: str + :ivar routes_received: The number of routes learned from this peer + :vartype routes_received: long + :ivar messages_sent: The number of BGP messages sent + :vartype messages_sent: long + :ivar messages_received: The number of BGP messages received + :vartype messages_received: long + """ + + _validation = { + 'local_address': {'readonly': True}, + 'neighbor': {'readonly': True}, + 'asn': {'readonly': True}, + 'state': {'readonly': True}, + 'connected_duration': {'readonly': True}, + 'routes_received': {'readonly': True}, + 'messages_sent': {'readonly': True}, + 'messages_received': {'readonly': True}, + } + + _attribute_map = { + 'local_address': {'key': 'localAddress', 'type': 'str'}, + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'asn': {'key': 'asn', 'type': 'int'}, + 'state': {'key': 'state', 'type': 'str'}, + 'connected_duration': {'key': 'connectedDuration', 'type': 'str'}, + 'routes_received': {'key': 'routesReceived', 'type': 'long'}, + 'messages_sent': {'key': 'messagesSent', 'type': 'long'}, + 'messages_received': {'key': 'messagesReceived', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(BgpPeerStatus, self).__init__(**kwargs) + self.local_address = None + self.neighbor = None + self.asn = None + self.state = None + self.connected_duration = None + self.routes_received = None + self.messages_sent = None + self.messages_received = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_peer_status_list_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_peer_status_list_result.py new file mode 100644 index 000000000000..a7f4c296e277 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_peer_status_list_result.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class BgpPeerStatusListResult(Model): + """Response for list BGP peer status API service call. + + :param value: List of BGP peers + :type value: list[~azure.mgmt.network.v2018_06_01.models.BgpPeerStatus] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BgpPeerStatus]'}, + } + + def __init__(self, **kwargs): + super(BgpPeerStatusListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_peer_status_list_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_peer_status_list_result_py3.py new file mode 100644 index 000000000000..37e1f3311ac7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_peer_status_list_result_py3.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class BgpPeerStatusListResult(Model): + """Response for list BGP peer status API service call. + + :param value: List of BGP peers + :type value: list[~azure.mgmt.network.v2018_06_01.models.BgpPeerStatus] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[BgpPeerStatus]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(BgpPeerStatusListResult, self).__init__(**kwargs) + self.value = value diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_peer_status_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_peer_status_py3.py new file mode 100644 index 000000000000..d3a4d74428e6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_peer_status_py3.py @@ -0,0 +1,71 @@ +# 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.serialization import Model + + +class BgpPeerStatus(Model): + """BGP peer status details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar local_address: The virtual network gateway's local address + :vartype local_address: str + :ivar neighbor: The remote BGP peer + :vartype neighbor: str + :ivar asn: The autonomous system number of the remote BGP peer + :vartype asn: int + :ivar state: The BGP peer state. Possible values include: 'Unknown', + 'Stopped', 'Idle', 'Connecting', 'Connected' + :vartype state: str or ~azure.mgmt.network.v2018_06_01.models.BgpPeerState + :ivar connected_duration: For how long the peering has been up + :vartype connected_duration: str + :ivar routes_received: The number of routes learned from this peer + :vartype routes_received: long + :ivar messages_sent: The number of BGP messages sent + :vartype messages_sent: long + :ivar messages_received: The number of BGP messages received + :vartype messages_received: long + """ + + _validation = { + 'local_address': {'readonly': True}, + 'neighbor': {'readonly': True}, + 'asn': {'readonly': True}, + 'state': {'readonly': True}, + 'connected_duration': {'readonly': True}, + 'routes_received': {'readonly': True}, + 'messages_sent': {'readonly': True}, + 'messages_received': {'readonly': True}, + } + + _attribute_map = { + 'local_address': {'key': 'localAddress', 'type': 'str'}, + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'asn': {'key': 'asn', 'type': 'int'}, + 'state': {'key': 'state', 'type': 'str'}, + 'connected_duration': {'key': 'connectedDuration', 'type': 'str'}, + 'routes_received': {'key': 'routesReceived', 'type': 'long'}, + 'messages_sent': {'key': 'messagesSent', 'type': 'long'}, + 'messages_received': {'key': 'messagesReceived', 'type': 'long'}, + } + + def __init__(self, **kwargs) -> None: + super(BgpPeerStatus, self).__init__(**kwargs) + self.local_address = None + self.neighbor = None + self.asn = None + self.state = None + self.connected_duration = None + self.routes_received = None + self.messages_sent = None + self.messages_received = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_service_community.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_service_community.py new file mode 100644 index 000000000000..2d4ef0788ace --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_service_community.py @@ -0,0 +1,56 @@ +# 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 .resource import Resource + + +class BgpServiceCommunity(Resource): + """Service Community Properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param service_name: The name of the bgp community. e.g. Skype. + :type service_name: str + :param bgp_communities: Get a list of bgp communities. + :type bgp_communities: + list[~azure.mgmt.network.v2018_06_01.models.BGPCommunity] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, + 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': '[BGPCommunity]'}, + } + + def __init__(self, **kwargs): + super(BgpServiceCommunity, self).__init__(**kwargs) + self.service_name = kwargs.get('service_name', None) + self.bgp_communities = kwargs.get('bgp_communities', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_service_community_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_service_community_paged.py new file mode 100644 index 000000000000..e76322238755 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_service_community_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 BgpServiceCommunityPaged(Paged): + """ + A paging container for iterating over a list of :class:`BgpServiceCommunity ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[BgpServiceCommunity]'} + } + + def __init__(self, *args, **kwargs): + + super(BgpServiceCommunityPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_service_community_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_service_community_py3.py new file mode 100644 index 000000000000..2d622f4f9fc5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_service_community_py3.py @@ -0,0 +1,56 @@ +# 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 .resource_py3 import Resource + + +class BgpServiceCommunity(Resource): + """Service Community Properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param service_name: The name of the bgp community. e.g. Skype. + :type service_name: str + :param bgp_communities: Get a list of bgp communities. + :type bgp_communities: + list[~azure.mgmt.network.v2018_06_01.models.BGPCommunity] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, + 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': '[BGPCommunity]'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, service_name: str=None, bgp_communities=None, **kwargs) -> None: + super(BgpServiceCommunity, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.service_name = service_name + self.bgp_communities = bgp_communities diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_settings.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_settings.py new file mode 100644 index 000000000000..e6e8d1b90aa6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_settings.py @@ -0,0 +1,38 @@ +# 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.serialization import Model + + +class BgpSettings(Model): + """BGP settings details. + + :param asn: The BGP speaker's ASN. + :type asn: long + :param bgp_peering_address: The BGP peering address and BGP identifier of + this BGP speaker. + :type bgp_peering_address: str + :param peer_weight: The weight added to routes learned from this BGP + speaker. + :type peer_weight: int + """ + + _attribute_map = { + 'asn': {'key': 'asn', 'type': 'long'}, + 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, + 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(BgpSettings, self).__init__(**kwargs) + self.asn = kwargs.get('asn', None) + self.bgp_peering_address = kwargs.get('bgp_peering_address', None) + self.peer_weight = kwargs.get('peer_weight', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_settings_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_settings_py3.py new file mode 100644 index 000000000000..cb3b3e6795f7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/bgp_settings_py3.py @@ -0,0 +1,38 @@ +# 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.serialization import Model + + +class BgpSettings(Model): + """BGP settings details. + + :param asn: The BGP speaker's ASN. + :type asn: long + :param bgp_peering_address: The BGP peering address and BGP identifier of + this BGP speaker. + :type bgp_peering_address: str + :param peer_weight: The weight added to routes learned from this BGP + speaker. + :type peer_weight: int + """ + + _attribute_map = { + 'asn': {'key': 'asn', 'type': 'long'}, + 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, + 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, + } + + def __init__(self, *, asn: int=None, bgp_peering_address: str=None, peer_weight: int=None, **kwargs) -> None: + super(BgpSettings, self).__init__(**kwargs) + self.asn = asn + self.bgp_peering_address = bgp_peering_address + self.peer_weight = peer_weight diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor.py new file mode 100644 index 000000000000..412333e7c838 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor.py @@ -0,0 +1,59 @@ +# 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.serialization import Model + + +class ConnectionMonitor(Model): + """Parameters that define the operation to create a connection monitor. + + All required parameters must be populated in order to send to Azure. + + :param location: Connection monitor location. + :type location: str + :param tags: Connection monitor tags. + :type tags: dict[str, str] + :param source: Required. + :type source: + ~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorSource + :param destination: Required. + :type destination: + ~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + """ + + _validation = { + 'source': {'required': True}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitor, self).__init__(**kwargs) + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.source = kwargs.get('source', None) + self.destination = kwargs.get('destination', None) + self.auto_start = kwargs.get('auto_start', True) + self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_destination.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_destination.py new file mode 100644 index 000000000000..9d1e3885cb38 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_destination.py @@ -0,0 +1,38 @@ +# 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.serialization import Model + + +class ConnectionMonitorDestination(Model): + """Describes the destination of connection monitor. + + :param resource_id: The ID of the resource used as the destination by + connection monitor. + :type resource_id: str + :param address: Address of the connection monitor destination (IP or + domain name). + :type address: str + :param port: The destination port used by connection monitor. + :type port: int + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorDestination, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.address = kwargs.get('address', None) + self.port = kwargs.get('port', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_destination_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_destination_py3.py new file mode 100644 index 000000000000..59e7465804ce --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_destination_py3.py @@ -0,0 +1,38 @@ +# 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.serialization import Model + + +class ConnectionMonitorDestination(Model): + """Describes the destination of connection monitor. + + :param resource_id: The ID of the resource used as the destination by + connection monitor. + :type resource_id: str + :param address: Address of the connection monitor destination (IP or + domain name). + :type address: str + :param port: The destination port used by connection monitor. + :type port: int + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, resource_id: str=None, address: str=None, port: int=None, **kwargs) -> None: + super(ConnectionMonitorDestination, self).__init__(**kwargs) + self.resource_id = resource_id + self.address = address + self.port = port diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_parameters.py new file mode 100644 index 000000000000..c74756789208 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_parameters.py @@ -0,0 +1,51 @@ +# 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.serialization import Model + + +class ConnectionMonitorParameters(Model): + """Parameters that define the operation to create a connection monitor. + + All required parameters must be populated in order to send to Azure. + + :param source: Required. + :type source: + ~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorSource + :param destination: Required. + :type destination: + ~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + """ + + _validation = { + 'source': {'required': True}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorParameters, self).__init__(**kwargs) + self.source = kwargs.get('source', None) + self.destination = kwargs.get('destination', None) + self.auto_start = kwargs.get('auto_start', True) + self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_parameters_py3.py new file mode 100644 index 000000000000..c46a0b8b86b9 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_parameters_py3.py @@ -0,0 +1,51 @@ +# 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.serialization import Model + + +class ConnectionMonitorParameters(Model): + """Parameters that define the operation to create a connection monitor. + + All required parameters must be populated in order to send to Azure. + + :param source: Required. + :type source: + ~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorSource + :param destination: Required. + :type destination: + ~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + """ + + _validation = { + 'source': {'required': True}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, + } + + def __init__(self, *, source, destination, auto_start: bool=True, monitoring_interval_in_seconds: int=60, **kwargs) -> None: + super(ConnectionMonitorParameters, self).__init__(**kwargs) + self.source = source + self.destination = destination + self.auto_start = auto_start + self.monitoring_interval_in_seconds = monitoring_interval_in_seconds diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_py3.py new file mode 100644 index 000000000000..df10ed917434 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_py3.py @@ -0,0 +1,59 @@ +# 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.serialization import Model + + +class ConnectionMonitor(Model): + """Parameters that define the operation to create a connection monitor. + + All required parameters must be populated in order to send to Azure. + + :param location: Connection monitor location. + :type location: str + :param tags: Connection monitor tags. + :type tags: dict[str, str] + :param source: Required. + :type source: + ~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorSource + :param destination: Required. + :type destination: + ~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + """ + + _validation = { + 'source': {'required': True}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, + } + + def __init__(self, *, source, destination, location: str=None, tags=None, auto_start: bool=True, monitoring_interval_in_seconds: int=60, **kwargs) -> None: + super(ConnectionMonitor, self).__init__(**kwargs) + self.location = location + self.tags = tags + self.source = source + self.destination = destination + self.auto_start = auto_start + self.monitoring_interval_in_seconds = monitoring_interval_in_seconds diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_query_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_query_result.py new file mode 100644 index 000000000000..0b5c52c6d670 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_query_result.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class ConnectionMonitorQueryResult(Model): + """List of connection states snaphots. + + :param source_status: Status of connection monitor source. Possible values + include: 'Uknown', 'Active', 'Inactive' + :type source_status: str or + ~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorSourceStatus + :param states: Information about connection states. + :type states: + list[~azure.mgmt.network.v2018_06_01.models.ConnectionStateSnapshot] + """ + + _attribute_map = { + 'source_status': {'key': 'sourceStatus', 'type': 'str'}, + 'states': {'key': 'states', 'type': '[ConnectionStateSnapshot]'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorQueryResult, self).__init__(**kwargs) + self.source_status = kwargs.get('source_status', None) + self.states = kwargs.get('states', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_query_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_query_result_py3.py new file mode 100644 index 000000000000..4460d7bd366b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_query_result_py3.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class ConnectionMonitorQueryResult(Model): + """List of connection states snaphots. + + :param source_status: Status of connection monitor source. Possible values + include: 'Uknown', 'Active', 'Inactive' + :type source_status: str or + ~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorSourceStatus + :param states: Information about connection states. + :type states: + list[~azure.mgmt.network.v2018_06_01.models.ConnectionStateSnapshot] + """ + + _attribute_map = { + 'source_status': {'key': 'sourceStatus', 'type': 'str'}, + 'states': {'key': 'states', 'type': '[ConnectionStateSnapshot]'}, + } + + def __init__(self, *, source_status=None, states=None, **kwargs) -> None: + super(ConnectionMonitorQueryResult, self).__init__(**kwargs) + self.source_status = source_status + self.states = states diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_result.py new file mode 100644 index 000000000000..1f3329fb5dfb --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_result.py @@ -0,0 +1,98 @@ +# 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.serialization import Model + + +class ConnectionMonitorResult(Model): + """Information about the connection monitor. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar name: Name of the connection monitor. + :vartype name: str + :ivar id: ID of the connection monitor. + :vartype id: str + :param etag: Default value: "A unique read-only string that changes + whenever the resource is updated." . + :type etag: str + :ivar type: Connection monitor type. + :vartype type: str + :param location: Connection monitor location. + :type location: str + :param tags: Connection monitor tags. + :type tags: dict[str, str] + :param source: Required. + :type source: + ~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorSource + :param destination: Required. + :type destination: + ~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + :param provisioning_state: The provisioning state of the connection + monitor. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :param start_time: The date and time when the connection monitor was + started. + :type start_time: datetime + :param monitoring_status: The monitoring status of the connection monitor. + :type monitoring_status: str + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'source': {'required': True}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorResult, self).__init__(**kwargs) + self.name = None + self.id = None + self.etag = kwargs.get('etag', "A unique read-only string that changes whenever the resource is updated.") + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.source = kwargs.get('source', None) + self.destination = kwargs.get('destination', None) + self.auto_start = kwargs.get('auto_start', True) + self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.start_time = kwargs.get('start_time', None) + self.monitoring_status = kwargs.get('monitoring_status', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_result_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_result_paged.py new file mode 100644 index 000000000000..ee4fee59f592 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_result_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 ConnectionMonitorResultPaged(Paged): + """ + A paging container for iterating over a list of :class:`ConnectionMonitorResult ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ConnectionMonitorResult]'} + } + + def __init__(self, *args, **kwargs): + + super(ConnectionMonitorResultPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_result_py3.py new file mode 100644 index 000000000000..5c08f1bf4e3c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_result_py3.py @@ -0,0 +1,98 @@ +# 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.serialization import Model + + +class ConnectionMonitorResult(Model): + """Information about the connection monitor. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar name: Name of the connection monitor. + :vartype name: str + :ivar id: ID of the connection monitor. + :vartype id: str + :param etag: Default value: "A unique read-only string that changes + whenever the resource is updated." . + :type etag: str + :ivar type: Connection monitor type. + :vartype type: str + :param location: Connection monitor location. + :type location: str + :param tags: Connection monitor tags. + :type tags: dict[str, str] + :param source: Required. + :type source: + ~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorSource + :param destination: Required. + :type destination: + ~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorDestination + :param auto_start: Determines if the connection monitor will start + automatically once created. Default value: True . + :type auto_start: bool + :param monitoring_interval_in_seconds: Monitoring interval in seconds. + Default value: 60 . + :type monitoring_interval_in_seconds: int + :param provisioning_state: The provisioning state of the connection + monitor. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :param start_time: The date and time when the connection monitor was + started. + :type start_time: datetime + :param monitoring_status: The monitoring status of the connection monitor. + :type monitoring_status: str + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'type': {'readonly': True}, + 'source': {'required': True}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, + 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, + 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, + 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, + 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, + } + + def __init__(self, *, source, destination, etag: str="A unique read-only string that changes whenever the resource is updated.", location: str=None, tags=None, auto_start: bool=True, monitoring_interval_in_seconds: int=60, provisioning_state=None, start_time=None, monitoring_status: str=None, **kwargs) -> None: + super(ConnectionMonitorResult, self).__init__(**kwargs) + self.name = None + self.id = None + self.etag = etag + self.type = None + self.location = location + self.tags = tags + self.source = source + self.destination = destination + self.auto_start = auto_start + self.monitoring_interval_in_seconds = monitoring_interval_in_seconds + self.provisioning_state = provisioning_state + self.start_time = start_time + self.monitoring_status = monitoring_status diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_source.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_source.py new file mode 100644 index 000000000000..1425fa613ce5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_source.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class ConnectionMonitorSource(Model): + """Describes the source of connection monitor. + + All required parameters must be populated in order to send to Azure. + + :param resource_id: Required. The ID of the resource used as the source by + connection monitor. + :type resource_id: str + :param port: The source port used by connection monitor. + :type port: int + """ + + _validation = { + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectionMonitorSource, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.port = kwargs.get('port', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_source_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_source_py3.py new file mode 100644 index 000000000000..4d44fcaf8bf0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_monitor_source_py3.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class ConnectionMonitorSource(Model): + """Describes the source of connection monitor. + + All required parameters must be populated in order to send to Azure. + + :param resource_id: Required. The ID of the resource used as the source by + connection monitor. + :type resource_id: str + :param port: The source port used by connection monitor. + :type port: int + """ + + _validation = { + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, resource_id: str, port: int=None, **kwargs) -> None: + super(ConnectionMonitorSource, self).__init__(**kwargs) + self.resource_id = resource_id + self.port = port diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_reset_shared_key.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_reset_shared_key.py new file mode 100644 index 000000000000..1ade077795ed --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_reset_shared_key.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class ConnectionResetSharedKey(Model): + """The virtual network connection reset shared key. + + All required parameters must be populated in order to send to Azure. + + :param key_length: Required. The virtual network connection reset shared + key length, should between 1 and 128. + :type key_length: int + """ + + _validation = { + 'key_length': {'required': True, 'maximum': 128, 'minimum': 1}, + } + + _attribute_map = { + 'key_length': {'key': 'keyLength', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectionResetSharedKey, self).__init__(**kwargs) + self.key_length = kwargs.get('key_length', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_reset_shared_key_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_reset_shared_key_py3.py new file mode 100644 index 000000000000..47326d4c2082 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_reset_shared_key_py3.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class ConnectionResetSharedKey(Model): + """The virtual network connection reset shared key. + + All required parameters must be populated in order to send to Azure. + + :param key_length: Required. The virtual network connection reset shared + key length, should between 1 and 128. + :type key_length: int + """ + + _validation = { + 'key_length': {'required': True, 'maximum': 128, 'minimum': 1}, + } + + _attribute_map = { + 'key_length': {'key': 'keyLength', 'type': 'int'}, + } + + def __init__(self, *, key_length: int, **kwargs) -> None: + super(ConnectionResetSharedKey, self).__init__(**kwargs) + self.key_length = key_length diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_shared_key.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_shared_key.py new file mode 100644 index 000000000000..f6d742dac00f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_shared_key.py @@ -0,0 +1,37 @@ +# 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 ConnectionSharedKey(SubResource): + """Response for GetConnectionSharedKey API service call. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param value: Required. The virtual network connection shared key value. + :type value: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ConnectionSharedKey, self).__init__(**kwargs) + self.value = kwargs.get('value', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_shared_key_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_shared_key_py3.py new file mode 100644 index 000000000000..819965ba3dbf --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_shared_key_py3.py @@ -0,0 +1,37 @@ +# 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 ConnectionSharedKey(SubResource): + """Response for GetConnectionSharedKey API service call. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param value: Required. The virtual network connection shared key value. + :type value: str + """ + + _validation = { + 'value': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, value: str, id: str=None, **kwargs) -> None: + super(ConnectionSharedKey, self).__init__(id=id, **kwargs) + self.value = value diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_state_snapshot.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_state_snapshot.py new file mode 100644 index 000000000000..1c17f0ab012e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_state_snapshot.py @@ -0,0 +1,56 @@ +# 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.serialization import Model + + +class ConnectionStateSnapshot(Model): + """Connection state snapshot. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param connection_state: The connection state. Possible values include: + 'Reachable', 'Unreachable', 'Unknown' + :type connection_state: str or + ~azure.mgmt.network.v2018_06_01.models.ConnectionState + :param start_time: The start time of the connection snapshot. + :type start_time: datetime + :param end_time: The end time of the connection snapshot. + :type end_time: datetime + :param evaluation_state: Connectivity analysis evaluation state. Possible + values include: 'NotStarted', 'InProgress', 'Completed' + :type evaluation_state: str or + ~azure.mgmt.network.v2018_06_01.models.EvaluationState + :ivar hops: List of hops between the source and the destination. + :vartype hops: + list[~azure.mgmt.network.v2018_06_01.models.ConnectivityHop] + """ + + _validation = { + 'hops': {'readonly': True}, + } + + _attribute_map = { + 'connection_state': {'key': 'connectionState', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'evaluation_state': {'key': 'evaluationState', 'type': 'str'}, + 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, + } + + def __init__(self, **kwargs): + super(ConnectionStateSnapshot, self).__init__(**kwargs) + self.connection_state = kwargs.get('connection_state', None) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.evaluation_state = kwargs.get('evaluation_state', None) + self.hops = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_state_snapshot_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_state_snapshot_py3.py new file mode 100644 index 000000000000..d4580aaa36d1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connection_state_snapshot_py3.py @@ -0,0 +1,56 @@ +# 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.serialization import Model + + +class ConnectionStateSnapshot(Model): + """Connection state snapshot. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param connection_state: The connection state. Possible values include: + 'Reachable', 'Unreachable', 'Unknown' + :type connection_state: str or + ~azure.mgmt.network.v2018_06_01.models.ConnectionState + :param start_time: The start time of the connection snapshot. + :type start_time: datetime + :param end_time: The end time of the connection snapshot. + :type end_time: datetime + :param evaluation_state: Connectivity analysis evaluation state. Possible + values include: 'NotStarted', 'InProgress', 'Completed' + :type evaluation_state: str or + ~azure.mgmt.network.v2018_06_01.models.EvaluationState + :ivar hops: List of hops between the source and the destination. + :vartype hops: + list[~azure.mgmt.network.v2018_06_01.models.ConnectivityHop] + """ + + _validation = { + 'hops': {'readonly': True}, + } + + _attribute_map = { + 'connection_state': {'key': 'connectionState', 'type': 'str'}, + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'evaluation_state': {'key': 'evaluationState', 'type': 'str'}, + 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, + } + + def __init__(self, *, connection_state=None, start_time=None, end_time=None, evaluation_state=None, **kwargs) -> None: + super(ConnectionStateSnapshot, self).__init__(**kwargs) + self.connection_state = connection_state + self.start_time = start_time + self.end_time = end_time + self.evaluation_state = evaluation_state + self.hops = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_destination.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_destination.py new file mode 100644 index 000000000000..964c425a29d3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_destination.py @@ -0,0 +1,38 @@ +# 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.serialization import Model + + +class ConnectivityDestination(Model): + """Parameters that define destination of connection. + + :param resource_id: The ID of the resource to which a connection attempt + will be made. + :type resource_id: str + :param address: The IP address or URI the resource to which a connection + attempt will be made. + :type address: str + :param port: Port on which check connectivity will be performed. + :type port: int + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectivityDestination, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.address = kwargs.get('address', None) + self.port = kwargs.get('port', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_destination_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_destination_py3.py new file mode 100644 index 000000000000..c51619081ed6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_destination_py3.py @@ -0,0 +1,38 @@ +# 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.serialization import Model + + +class ConnectivityDestination(Model): + """Parameters that define destination of connection. + + :param resource_id: The ID of the resource to which a connection attempt + will be made. + :type resource_id: str + :param address: The IP address or URI the resource to which a connection + attempt will be made. + :type address: str + :param port: Port on which check connectivity will be performed. + :type port: int + """ + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, resource_id: str=None, address: str=None, port: int=None, **kwargs) -> None: + super(ConnectivityDestination, self).__init__(**kwargs) + self.resource_id = resource_id + self.address = address + self.port = port diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_hop.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_hop.py new file mode 100644 index 000000000000..2afb35277c6d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_hop.py @@ -0,0 +1,61 @@ +# 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.serialization import Model + + +class ConnectivityHop(Model): + """Information about a hop between the source and the destination. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar type: The type of the hop. + :vartype type: str + :ivar id: The ID of the hop. + :vartype id: str + :ivar address: The IP address of the hop. + :vartype address: str + :ivar resource_id: The ID of the resource corresponding to this hop. + :vartype resource_id: str + :ivar next_hop_ids: List of next hop identifiers. + :vartype next_hop_ids: list[str] + :ivar issues: List of issues. + :vartype issues: + list[~azure.mgmt.network.v2018_06_01.models.ConnectivityIssue] + """ + + _validation = { + 'type': {'readonly': True}, + 'id': {'readonly': True}, + 'address': {'readonly': True}, + 'resource_id': {'readonly': True}, + 'next_hop_ids': {'readonly': True}, + 'issues': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'next_hop_ids': {'key': 'nextHopIds', 'type': '[str]'}, + 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, + } + + def __init__(self, **kwargs): + super(ConnectivityHop, self).__init__(**kwargs) + self.type = None + self.id = None + self.address = None + self.resource_id = None + self.next_hop_ids = None + self.issues = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_hop_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_hop_py3.py new file mode 100644 index 000000000000..2f208c5d7848 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_hop_py3.py @@ -0,0 +1,61 @@ +# 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.serialization import Model + + +class ConnectivityHop(Model): + """Information about a hop between the source and the destination. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar type: The type of the hop. + :vartype type: str + :ivar id: The ID of the hop. + :vartype id: str + :ivar address: The IP address of the hop. + :vartype address: str + :ivar resource_id: The ID of the resource corresponding to this hop. + :vartype resource_id: str + :ivar next_hop_ids: List of next hop identifiers. + :vartype next_hop_ids: list[str] + :ivar issues: List of issues. + :vartype issues: + list[~azure.mgmt.network.v2018_06_01.models.ConnectivityIssue] + """ + + _validation = { + 'type': {'readonly': True}, + 'id': {'readonly': True}, + 'address': {'readonly': True}, + 'resource_id': {'readonly': True}, + 'next_hop_ids': {'readonly': True}, + 'issues': {'readonly': True}, + } + + _attribute_map = { + 'type': {'key': 'type', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'address': {'key': 'address', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'next_hop_ids': {'key': 'nextHopIds', 'type': '[str]'}, + 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, + } + + def __init__(self, **kwargs) -> None: + super(ConnectivityHop, self).__init__(**kwargs) + self.type = None + self.id = None + self.address = None + self.resource_id = None + self.next_hop_ids = None + self.issues = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_information.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_information.py new file mode 100644 index 000000000000..c505377d3a9c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_information.py @@ -0,0 +1,68 @@ +# 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.serialization import Model + + +class ConnectivityInformation(Model): + """Information on the connectivity status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar hops: List of hops between the source and the destination. + :vartype hops: + list[~azure.mgmt.network.v2018_06_01.models.ConnectivityHop] + :ivar connection_status: The connection status. Possible values include: + 'Unknown', 'Connected', 'Disconnected', 'Degraded' + :vartype connection_status: str or + ~azure.mgmt.network.v2018_06_01.models.ConnectionStatus + :ivar avg_latency_in_ms: Average latency in milliseconds. + :vartype avg_latency_in_ms: int + :ivar min_latency_in_ms: Minimum latency in milliseconds. + :vartype min_latency_in_ms: int + :ivar max_latency_in_ms: Maximum latency in milliseconds. + :vartype max_latency_in_ms: int + :ivar probes_sent: Total number of probes sent. + :vartype probes_sent: int + :ivar probes_failed: Number of failed probes. + :vartype probes_failed: int + """ + + _validation = { + 'hops': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'avg_latency_in_ms': {'readonly': True}, + 'min_latency_in_ms': {'readonly': True}, + 'max_latency_in_ms': {'readonly': True}, + 'probes_sent': {'readonly': True}, + 'probes_failed': {'readonly': True}, + } + + _attribute_map = { + 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, + 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, + 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, + 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, + 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, + 'probes_sent': {'key': 'probesSent', 'type': 'int'}, + 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectivityInformation, self).__init__(**kwargs) + self.hops = None + self.connection_status = None + self.avg_latency_in_ms = None + self.min_latency_in_ms = None + self.max_latency_in_ms = None + self.probes_sent = None + self.probes_failed = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_information_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_information_py3.py new file mode 100644 index 000000000000..973056da70d1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_information_py3.py @@ -0,0 +1,68 @@ +# 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.serialization import Model + + +class ConnectivityInformation(Model): + """Information on the connectivity status. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar hops: List of hops between the source and the destination. + :vartype hops: + list[~azure.mgmt.network.v2018_06_01.models.ConnectivityHop] + :ivar connection_status: The connection status. Possible values include: + 'Unknown', 'Connected', 'Disconnected', 'Degraded' + :vartype connection_status: str or + ~azure.mgmt.network.v2018_06_01.models.ConnectionStatus + :ivar avg_latency_in_ms: Average latency in milliseconds. + :vartype avg_latency_in_ms: int + :ivar min_latency_in_ms: Minimum latency in milliseconds. + :vartype min_latency_in_ms: int + :ivar max_latency_in_ms: Maximum latency in milliseconds. + :vartype max_latency_in_ms: int + :ivar probes_sent: Total number of probes sent. + :vartype probes_sent: int + :ivar probes_failed: Number of failed probes. + :vartype probes_failed: int + """ + + _validation = { + 'hops': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'avg_latency_in_ms': {'readonly': True}, + 'min_latency_in_ms': {'readonly': True}, + 'max_latency_in_ms': {'readonly': True}, + 'probes_sent': {'readonly': True}, + 'probes_failed': {'readonly': True}, + } + + _attribute_map = { + 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, + 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, + 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, + 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, + 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, + 'probes_sent': {'key': 'probesSent', 'type': 'int'}, + 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, + } + + def __init__(self, **kwargs) -> None: + super(ConnectivityInformation, self).__init__(**kwargs) + self.hops = None + self.connection_status = None + self.avg_latency_in_ms = None + self.min_latency_in_ms = None + self.max_latency_in_ms = None + self.probes_sent = None + self.probes_failed = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_issue.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_issue.py new file mode 100644 index 000000000000..f4adf04eaf2a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_issue.py @@ -0,0 +1,55 @@ +# 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.serialization import Model + + +class ConnectivityIssue(Model): + """Information about an issue encountered in the process of checking for + connectivity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar origin: The origin of the issue. Possible values include: 'Local', + 'Inbound', 'Outbound' + :vartype origin: str or ~azure.mgmt.network.v2018_06_01.models.Origin + :ivar severity: The severity of the issue. Possible values include: + 'Error', 'Warning' + :vartype severity: str or ~azure.mgmt.network.v2018_06_01.models.Severity + :ivar type: The type of issue. Possible values include: 'Unknown', + 'AgentStopped', 'GuestFirewall', 'DnsResolution', 'SocketBind', + 'NetworkSecurityRule', 'UserDefinedRoute', 'PortThrottled', 'Platform' + :vartype type: str or ~azure.mgmt.network.v2018_06_01.models.IssueType + :ivar context: Provides additional context on the issue. + :vartype context: list[dict[str, str]] + """ + + _validation = { + 'origin': {'readonly': True}, + 'severity': {'readonly': True}, + 'type': {'readonly': True}, + 'context': {'readonly': True}, + } + + _attribute_map = { + 'origin': {'key': 'origin', 'type': 'str'}, + 'severity': {'key': 'severity', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'context': {'key': 'context', 'type': '[{str}]'}, + } + + def __init__(self, **kwargs): + super(ConnectivityIssue, self).__init__(**kwargs) + self.origin = None + self.severity = None + self.type = None + self.context = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_issue_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_issue_py3.py new file mode 100644 index 000000000000..9cdada572d5e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_issue_py3.py @@ -0,0 +1,55 @@ +# 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.serialization import Model + + +class ConnectivityIssue(Model): + """Information about an issue encountered in the process of checking for + connectivity. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar origin: The origin of the issue. Possible values include: 'Local', + 'Inbound', 'Outbound' + :vartype origin: str or ~azure.mgmt.network.v2018_06_01.models.Origin + :ivar severity: The severity of the issue. Possible values include: + 'Error', 'Warning' + :vartype severity: str or ~azure.mgmt.network.v2018_06_01.models.Severity + :ivar type: The type of issue. Possible values include: 'Unknown', + 'AgentStopped', 'GuestFirewall', 'DnsResolution', 'SocketBind', + 'NetworkSecurityRule', 'UserDefinedRoute', 'PortThrottled', 'Platform' + :vartype type: str or ~azure.mgmt.network.v2018_06_01.models.IssueType + :ivar context: Provides additional context on the issue. + :vartype context: list[dict[str, str]] + """ + + _validation = { + 'origin': {'readonly': True}, + 'severity': {'readonly': True}, + 'type': {'readonly': True}, + 'context': {'readonly': True}, + } + + _attribute_map = { + 'origin': {'key': 'origin', 'type': 'str'}, + 'severity': {'key': 'severity', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'context': {'key': 'context', 'type': '[{str}]'}, + } + + def __init__(self, **kwargs) -> None: + super(ConnectivityIssue, self).__init__(**kwargs) + self.origin = None + self.severity = None + self.type = None + self.context = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_parameters.py new file mode 100644 index 000000000000..a92d0883083a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_parameters.py @@ -0,0 +1,50 @@ +# 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.serialization import Model + + +class ConnectivityParameters(Model): + """Parameters that determine how the connectivity check will be performed. + + All required parameters must be populated in order to send to Azure. + + :param source: Required. + :type source: ~azure.mgmt.network.v2018_06_01.models.ConnectivitySource + :param destination: Required. + :type destination: + ~azure.mgmt.network.v2018_06_01.models.ConnectivityDestination + :param protocol: Network protocol. Possible values include: 'Tcp', 'Http', + 'Https', 'Icmp' + :type protocol: str or ~azure.mgmt.network.v2018_06_01.models.Protocol + :param protocol_configuration: + :type protocol_configuration: + ~azure.mgmt.network.v2018_06_01.models.ProtocolConfiguration + """ + + _validation = { + 'source': {'required': True}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'source': {'key': 'source', 'type': 'ConnectivitySource'}, + 'destination': {'key': 'destination', 'type': 'ConnectivityDestination'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'protocol_configuration': {'key': 'protocolConfiguration', 'type': 'ProtocolConfiguration'}, + } + + def __init__(self, **kwargs): + super(ConnectivityParameters, self).__init__(**kwargs) + self.source = kwargs.get('source', None) + self.destination = kwargs.get('destination', None) + self.protocol = kwargs.get('protocol', None) + self.protocol_configuration = kwargs.get('protocol_configuration', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_parameters_py3.py new file mode 100644 index 000000000000..fa0bca4d0df2 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_parameters_py3.py @@ -0,0 +1,50 @@ +# 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.serialization import Model + + +class ConnectivityParameters(Model): + """Parameters that determine how the connectivity check will be performed. + + All required parameters must be populated in order to send to Azure. + + :param source: Required. + :type source: ~azure.mgmt.network.v2018_06_01.models.ConnectivitySource + :param destination: Required. + :type destination: + ~azure.mgmt.network.v2018_06_01.models.ConnectivityDestination + :param protocol: Network protocol. Possible values include: 'Tcp', 'Http', + 'Https', 'Icmp' + :type protocol: str or ~azure.mgmt.network.v2018_06_01.models.Protocol + :param protocol_configuration: + :type protocol_configuration: + ~azure.mgmt.network.v2018_06_01.models.ProtocolConfiguration + """ + + _validation = { + 'source': {'required': True}, + 'destination': {'required': True}, + } + + _attribute_map = { + 'source': {'key': 'source', 'type': 'ConnectivitySource'}, + 'destination': {'key': 'destination', 'type': 'ConnectivityDestination'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'protocol_configuration': {'key': 'protocolConfiguration', 'type': 'ProtocolConfiguration'}, + } + + def __init__(self, *, source, destination, protocol=None, protocol_configuration=None, **kwargs) -> None: + super(ConnectivityParameters, self).__init__(**kwargs) + self.source = source + self.destination = destination + self.protocol = protocol + self.protocol_configuration = protocol_configuration diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_source.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_source.py new file mode 100644 index 000000000000..3fd82793f8d7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_source.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class ConnectivitySource(Model): + """Parameters that define the source of the connection. + + All required parameters must be populated in order to send to Azure. + + :param resource_id: Required. The ID of the resource from which a + connectivity check will be initiated. + :type resource_id: str + :param port: The source port from which a connectivity check will be + performed. + :type port: int + """ + + _validation = { + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ConnectivitySource, self).__init__(**kwargs) + self.resource_id = kwargs.get('resource_id', None) + self.port = kwargs.get('port', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_source_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_source_py3.py new file mode 100644 index 000000000000..f7833d1bef76 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/connectivity_source_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class ConnectivitySource(Model): + """Parameters that define the source of the connection. + + All required parameters must be populated in order to send to Azure. + + :param resource_id: Required. The ID of the resource from which a + connectivity check will be initiated. + :type resource_id: str + :param port: The source port from which a connectivity check will be + performed. + :type port: int + """ + + _validation = { + 'resource_id': {'required': True}, + } + + _attribute_map = { + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'port': {'key': 'port', 'type': 'int'}, + } + + def __init__(self, *, resource_id: str, port: int=None, **kwargs) -> None: + super(ConnectivitySource, self).__init__(**kwargs) + self.resource_id = resource_id + self.port = port diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ddos_protection_plan.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ddos_protection_plan.py new file mode 100644 index 000000000000..54e847db3c0e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ddos_protection_plan.py @@ -0,0 +1,81 @@ +# 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.serialization import Model + + +class DdosProtectionPlan(Model): + """A DDoS protection plan in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar resource_guid: The resource GUID property of the DDoS protection + plan resource. It uniquely identifies the resource, even if the user + changes its name or migrate the resource across subscriptions or resource + groups. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the DDoS protection + plan resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', + and 'Failed'. + :vartype provisioning_state: str + :ivar virtual_networks: The list of virtual networks associated with the + DDoS protection plan resource. This list is read-only. + :vartype virtual_networks: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'virtual_networks': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[SubResource]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(DdosProtectionPlan, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) + self.resource_guid = None + self.provisioning_state = None + self.virtual_networks = None + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ddos_protection_plan_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ddos_protection_plan_paged.py new file mode 100644 index 000000000000..4f73cf8bbe44 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ddos_protection_plan_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 DdosProtectionPlanPaged(Paged): + """ + A paging container for iterating over a list of :class:`DdosProtectionPlan ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[DdosProtectionPlan]'} + } + + def __init__(self, *args, **kwargs): + + super(DdosProtectionPlanPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ddos_protection_plan_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ddos_protection_plan_py3.py new file mode 100644 index 000000000000..97f947d6e18f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ddos_protection_plan_py3.py @@ -0,0 +1,81 @@ +# 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.serialization import Model + + +class DdosProtectionPlan(Model): + """A DDoS protection plan in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Resource ID. + :vartype id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar resource_guid: The resource GUID property of the DDoS protection + plan resource. It uniquely identifies the resource, even if the user + changes its name or migrate the resource across subscriptions or resource + groups. + :vartype resource_guid: str + :ivar provisioning_state: The provisioning state of the DDoS protection + plan resource. Possible values are: 'Succeeded', 'Updating', 'Deleting', + and 'Failed'. + :vartype provisioning_state: str + :ivar virtual_networks: The list of virtual networks associated with the + DDoS protection plan resource. This list is read-only. + :vartype virtual_networks: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'id': {'readonly': True}, + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'resource_guid': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'virtual_networks': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[SubResource]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, location: str=None, tags=None, **kwargs) -> None: + super(DdosProtectionPlan, self).__init__(**kwargs) + self.id = None + self.name = None + self.type = None + self.location = location + self.tags = tags + self.resource_guid = None + self.provisioning_state = None + self.virtual_networks = None + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/device_properties.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/device_properties.py new file mode 100644 index 000000000000..8a1653ad020b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/device_properties.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class DeviceProperties(Model): + """List of properties of the device. + + :param device_vendor: Name of the device Vendor. + :type device_vendor: str + :param device_model: Model of the device. + :type device_model: str + :param link_speed_in_mbps: Link speed. + :type link_speed_in_mbps: int + """ + + _attribute_map = { + 'device_vendor': {'key': 'deviceVendor', 'type': 'str'}, + 'device_model': {'key': 'deviceModel', 'type': 'str'}, + 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(DeviceProperties, self).__init__(**kwargs) + self.device_vendor = kwargs.get('device_vendor', None) + self.device_model = kwargs.get('device_model', None) + self.link_speed_in_mbps = kwargs.get('link_speed_in_mbps', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/device_properties_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/device_properties_py3.py new file mode 100644 index 000000000000..03d9850cbf21 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/device_properties_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class DeviceProperties(Model): + """List of properties of the device. + + :param device_vendor: Name of the device Vendor. + :type device_vendor: str + :param device_model: Model of the device. + :type device_model: str + :param link_speed_in_mbps: Link speed. + :type link_speed_in_mbps: int + """ + + _attribute_map = { + 'device_vendor': {'key': 'deviceVendor', 'type': 'str'}, + 'device_model': {'key': 'deviceModel', 'type': 'str'}, + 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, + } + + def __init__(self, *, device_vendor: str=None, device_model: str=None, link_speed_in_mbps: int=None, **kwargs) -> None: + super(DeviceProperties, self).__init__(**kwargs) + self.device_vendor = device_vendor + self.device_model = device_model + self.link_speed_in_mbps = link_speed_in_mbps diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/dhcp_options.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/dhcp_options.py new file mode 100644 index 000000000000..93b68a7f037c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/dhcp_options.py @@ -0,0 +1,30 @@ +# 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.serialization import Model + + +class DhcpOptions(Model): + """DhcpOptions contains an array of DNS servers available to VMs deployed in + the virtual network. Standard DHCP option for a subnet overrides VNET DHCP + options. + + :param dns_servers: The list of DNS servers IP addresses. + :type dns_servers: list[str] + """ + + _attribute_map = { + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(DhcpOptions, self).__init__(**kwargs) + self.dns_servers = kwargs.get('dns_servers', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/dhcp_options_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/dhcp_options_py3.py new file mode 100644 index 000000000000..7dc4651973a5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/dhcp_options_py3.py @@ -0,0 +1,30 @@ +# 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.serialization import Model + + +class DhcpOptions(Model): + """DhcpOptions contains an array of DNS servers available to VMs deployed in + the virtual network. Standard DHCP option for a subnet overrides VNET DHCP + options. + + :param dns_servers: The list of DNS servers IP addresses. + :type dns_servers: list[str] + """ + + _attribute_map = { + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + } + + def __init__(self, *, dns_servers=None, **kwargs) -> None: + super(DhcpOptions, self).__init__(**kwargs) + self.dns_servers = dns_servers diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/dimension.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/dimension.py new file mode 100644 index 000000000000..e9c8cd977a54 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/dimension.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class Dimension(Model): + """Dimension of the metric. + + :param name: The name of the dimension. + :type name: str + :param display_name: The display name of the dimension. + :type display_name: str + :param internal_name: The internal name of the dimension. + :type internal_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'internal_name': {'key': 'internalName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Dimension, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.internal_name = kwargs.get('internal_name', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/dimension_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/dimension_py3.py new file mode 100644 index 000000000000..20743b6424c1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/dimension_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class Dimension(Model): + """Dimension of the metric. + + :param name: The name of the dimension. + :type name: str + :param display_name: The display name of the dimension. + :type display_name: str + :param internal_name: The internal name of the dimension. + :type internal_name: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'internal_name': {'key': 'internalName', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, internal_name: str=None, **kwargs) -> None: + super(Dimension, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.internal_name = internal_name diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/dns_name_availability_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/dns_name_availability_result.py new file mode 100644 index 000000000000..86ba19eb407b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/dns_name_availability_result.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class DnsNameAvailabilityResult(Model): + """Response for the CheckDnsNameAvailability API service call. + + :param available: Domain availability (True/False). + :type available: bool + """ + + _attribute_map = { + 'available': {'key': 'available', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(DnsNameAvailabilityResult, self).__init__(**kwargs) + self.available = kwargs.get('available', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/dns_name_availability_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/dns_name_availability_result_py3.py new file mode 100644 index 000000000000..de0117c27715 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/dns_name_availability_result_py3.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class DnsNameAvailabilityResult(Model): + """Response for the CheckDnsNameAvailability API service call. + + :param available: Domain availability (True/False). + :type available: bool + """ + + _attribute_map = { + 'available': {'key': 'available', 'type': 'bool'}, + } + + def __init__(self, *, available: bool=None, **kwargs) -> None: + super(DnsNameAvailabilityResult, self).__init__(**kwargs) + self.available = available diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_group.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_group.py new file mode 100644 index 000000000000..94634e454628 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_group.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class EffectiveNetworkSecurityGroup(Model): + """Effective network security group. + + :param network_security_group: The ID of network security group that is + applied. + :type network_security_group: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param association: Associated resources. + :type association: + ~azure.mgmt.network.v2018_06_01.models.EffectiveNetworkSecurityGroupAssociation + :param effective_security_rules: A collection of effective security rules. + :type effective_security_rules: + list[~azure.mgmt.network.v2018_06_01.models.EffectiveNetworkSecurityRule] + :param tag_map: Mapping of tags to list of IP Addresses included within + the tag. + :type tag_map: dict[str, list[str]] + """ + + _attribute_map = { + 'network_security_group': {'key': 'networkSecurityGroup', 'type': 'SubResource'}, + 'association': {'key': 'association', 'type': 'EffectiveNetworkSecurityGroupAssociation'}, + 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, + 'tag_map': {'key': 'tagMap', 'type': '{[str]}'}, + } + + def __init__(self, **kwargs): + super(EffectiveNetworkSecurityGroup, self).__init__(**kwargs) + self.network_security_group = kwargs.get('network_security_group', None) + self.association = kwargs.get('association', None) + self.effective_security_rules = kwargs.get('effective_security_rules', None) + self.tag_map = kwargs.get('tag_map', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_group_association.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_group_association.py new file mode 100644 index 000000000000..b2052cfc7ed4 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_group_association.py @@ -0,0 +1,33 @@ +# 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.serialization import Model + + +class EffectiveNetworkSecurityGroupAssociation(Model): + """The effective network security group association. + + :param subnet: The ID of the subnet if assigned. + :type subnet: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param network_interface: The ID of the network interface if assigned. + :type network_interface: + ~azure.mgmt.network.v2018_06_01.models.SubResource + """ + + _attribute_map = { + 'subnet': {'key': 'subnet', 'type': 'SubResource'}, + 'network_interface': {'key': 'networkInterface', 'type': 'SubResource'}, + } + + def __init__(self, **kwargs): + super(EffectiveNetworkSecurityGroupAssociation, self).__init__(**kwargs) + self.subnet = kwargs.get('subnet', None) + self.network_interface = kwargs.get('network_interface', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_group_association_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_group_association_py3.py new file mode 100644 index 000000000000..d0c8331a3e3e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_group_association_py3.py @@ -0,0 +1,33 @@ +# 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.serialization import Model + + +class EffectiveNetworkSecurityGroupAssociation(Model): + """The effective network security group association. + + :param subnet: The ID of the subnet if assigned. + :type subnet: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param network_interface: The ID of the network interface if assigned. + :type network_interface: + ~azure.mgmt.network.v2018_06_01.models.SubResource + """ + + _attribute_map = { + 'subnet': {'key': 'subnet', 'type': 'SubResource'}, + 'network_interface': {'key': 'networkInterface', 'type': 'SubResource'}, + } + + def __init__(self, *, subnet=None, network_interface=None, **kwargs) -> None: + super(EffectiveNetworkSecurityGroupAssociation, self).__init__(**kwargs) + self.subnet = subnet + self.network_interface = network_interface diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_group_list_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_group_list_result.py new file mode 100644 index 000000000000..4cbdaaf1e4b2 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_group_list_result.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class EffectiveNetworkSecurityGroupListResult(Model): + """Response for list effective network security groups API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of effective network security groups. + :type value: + list[~azure.mgmt.network.v2018_06_01.models.EffectiveNetworkSecurityGroup] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EffectiveNetworkSecurityGroup]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EffectiveNetworkSecurityGroupListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_group_list_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_group_list_result_py3.py new file mode 100644 index 000000000000..f68c294252cd --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_group_list_result_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class EffectiveNetworkSecurityGroupListResult(Model): + """Response for list effective network security groups API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of effective network security groups. + :type value: + list[~azure.mgmt.network.v2018_06_01.models.EffectiveNetworkSecurityGroup] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EffectiveNetworkSecurityGroup]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(EffectiveNetworkSecurityGroupListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_group_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_group_py3.py new file mode 100644 index 000000000000..8b5d846c89a5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_group_py3.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class EffectiveNetworkSecurityGroup(Model): + """Effective network security group. + + :param network_security_group: The ID of network security group that is + applied. + :type network_security_group: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param association: Associated resources. + :type association: + ~azure.mgmt.network.v2018_06_01.models.EffectiveNetworkSecurityGroupAssociation + :param effective_security_rules: A collection of effective security rules. + :type effective_security_rules: + list[~azure.mgmt.network.v2018_06_01.models.EffectiveNetworkSecurityRule] + :param tag_map: Mapping of tags to list of IP Addresses included within + the tag. + :type tag_map: dict[str, list[str]] + """ + + _attribute_map = { + 'network_security_group': {'key': 'networkSecurityGroup', 'type': 'SubResource'}, + 'association': {'key': 'association', 'type': 'EffectiveNetworkSecurityGroupAssociation'}, + 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, + 'tag_map': {'key': 'tagMap', 'type': '{[str]}'}, + } + + def __init__(self, *, network_security_group=None, association=None, effective_security_rules=None, tag_map=None, **kwargs) -> None: + super(EffectiveNetworkSecurityGroup, self).__init__(**kwargs) + self.network_security_group = network_security_group + self.association = association + self.effective_security_rules = effective_security_rules + self.tag_map = tag_map diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_rule.py new file mode 100644 index 000000000000..8b6f15e85600 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_rule.py @@ -0,0 +1,101 @@ +# 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.serialization import Model + + +class EffectiveNetworkSecurityRule(Model): + """Effective network security rules. + + :param name: The name of the security rule specified by the user (if + created by the user). + :type name: str + :param protocol: The network protocol this rule applies to. Possible + values are: 'Tcp', 'Udp', and 'All'. Possible values include: 'Tcp', + 'Udp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2018_06_01.models.EffectiveSecurityRuleProtocol + :param source_port_range: The source port or range. + :type source_port_range: str + :param destination_port_range: The destination port or range. + :type destination_port_range: str + :param source_port_ranges: The source port ranges. Expected values include + a single integer between 0 and 65535, a range using '-' as seperator (e.g. + 100-400), or an asterix (*) + :type source_port_ranges: list[str] + :param destination_port_ranges: The destination port ranges. Expected + values include a single integer between 0 and 65535, a range using '-' as + seperator (e.g. 100-400), or an asterix (*) + :type destination_port_ranges: list[str] + :param source_address_prefix: The source address prefix. + :type source_address_prefix: str + :param destination_address_prefix: The destination address prefix. + :type destination_address_prefix: str + :param source_address_prefixes: The source address prefixes. Expected + values include CIDR IP ranges, Default Tags (VirtualNetwork, + AureLoadBalancer, Internet), System Tags, and the asterix (*). + :type source_address_prefixes: list[str] + :param destination_address_prefixes: The destination address prefixes. + Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, + AureLoadBalancer, Internet), System Tags, and the asterix (*). + :type destination_address_prefixes: list[str] + :param expanded_source_address_prefix: The expanded source address prefix. + :type expanded_source_address_prefix: list[str] + :param expanded_destination_address_prefix: Expanded destination address + prefix. + :type expanded_destination_address_prefix: list[str] + :param access: Whether network traffic is allowed or denied. Possible + values are: 'Allow' and 'Deny'. Possible values include: 'Allow', 'Deny' + :type access: str or + ~azure.mgmt.network.v2018_06_01.models.SecurityRuleAccess + :param priority: The priority of the rule. + :type priority: int + :param direction: The direction of the rule. Possible values are: 'Inbound + and Outbound'. Possible values include: 'Inbound', 'Outbound' + :type direction: str or + ~azure.mgmt.network.v2018_06_01.models.SecurityRuleDirection + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, + 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, + 'source_port_ranges': {'key': 'sourcePortRanges', 'type': '[str]'}, + 'destination_port_ranges': {'key': 'destinationPortRanges', 'type': '[str]'}, + 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, + 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, + 'source_address_prefixes': {'key': 'sourceAddressPrefixes', 'type': '[str]'}, + 'destination_address_prefixes': {'key': 'destinationAddressPrefixes', 'type': '[str]'}, + 'expanded_source_address_prefix': {'key': 'expandedSourceAddressPrefix', 'type': '[str]'}, + 'expanded_destination_address_prefix': {'key': 'expandedDestinationAddressPrefix', 'type': '[str]'}, + 'access': {'key': 'access', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'direction': {'key': 'direction', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EffectiveNetworkSecurityRule, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.protocol = kwargs.get('protocol', None) + self.source_port_range = kwargs.get('source_port_range', None) + self.destination_port_range = kwargs.get('destination_port_range', None) + self.source_port_ranges = kwargs.get('source_port_ranges', None) + self.destination_port_ranges = kwargs.get('destination_port_ranges', None) + self.source_address_prefix = kwargs.get('source_address_prefix', None) + self.destination_address_prefix = kwargs.get('destination_address_prefix', None) + self.source_address_prefixes = kwargs.get('source_address_prefixes', None) + self.destination_address_prefixes = kwargs.get('destination_address_prefixes', None) + self.expanded_source_address_prefix = kwargs.get('expanded_source_address_prefix', None) + self.expanded_destination_address_prefix = kwargs.get('expanded_destination_address_prefix', None) + self.access = kwargs.get('access', None) + self.priority = kwargs.get('priority', None) + self.direction = kwargs.get('direction', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_rule_py3.py new file mode 100644 index 000000000000..80a87ab9ef7d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_network_security_rule_py3.py @@ -0,0 +1,101 @@ +# 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.serialization import Model + + +class EffectiveNetworkSecurityRule(Model): + """Effective network security rules. + + :param name: The name of the security rule specified by the user (if + created by the user). + :type name: str + :param protocol: The network protocol this rule applies to. Possible + values are: 'Tcp', 'Udp', and 'All'. Possible values include: 'Tcp', + 'Udp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2018_06_01.models.EffectiveSecurityRuleProtocol + :param source_port_range: The source port or range. + :type source_port_range: str + :param destination_port_range: The destination port or range. + :type destination_port_range: str + :param source_port_ranges: The source port ranges. Expected values include + a single integer between 0 and 65535, a range using '-' as seperator (e.g. + 100-400), or an asterix (*) + :type source_port_ranges: list[str] + :param destination_port_ranges: The destination port ranges. Expected + values include a single integer between 0 and 65535, a range using '-' as + seperator (e.g. 100-400), or an asterix (*) + :type destination_port_ranges: list[str] + :param source_address_prefix: The source address prefix. + :type source_address_prefix: str + :param destination_address_prefix: The destination address prefix. + :type destination_address_prefix: str + :param source_address_prefixes: The source address prefixes. Expected + values include CIDR IP ranges, Default Tags (VirtualNetwork, + AureLoadBalancer, Internet), System Tags, and the asterix (*). + :type source_address_prefixes: list[str] + :param destination_address_prefixes: The destination address prefixes. + Expected values include CIDR IP ranges, Default Tags (VirtualNetwork, + AureLoadBalancer, Internet), System Tags, and the asterix (*). + :type destination_address_prefixes: list[str] + :param expanded_source_address_prefix: The expanded source address prefix. + :type expanded_source_address_prefix: list[str] + :param expanded_destination_address_prefix: Expanded destination address + prefix. + :type expanded_destination_address_prefix: list[str] + :param access: Whether network traffic is allowed or denied. Possible + values are: 'Allow' and 'Deny'. Possible values include: 'Allow', 'Deny' + :type access: str or + ~azure.mgmt.network.v2018_06_01.models.SecurityRuleAccess + :param priority: The priority of the rule. + :type priority: int + :param direction: The direction of the rule. Possible values are: 'Inbound + and Outbound'. Possible values include: 'Inbound', 'Outbound' + :type direction: str or + ~azure.mgmt.network.v2018_06_01.models.SecurityRuleDirection + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, + 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, + 'source_port_ranges': {'key': 'sourcePortRanges', 'type': '[str]'}, + 'destination_port_ranges': {'key': 'destinationPortRanges', 'type': '[str]'}, + 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, + 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, + 'source_address_prefixes': {'key': 'sourceAddressPrefixes', 'type': '[str]'}, + 'destination_address_prefixes': {'key': 'destinationAddressPrefixes', 'type': '[str]'}, + 'expanded_source_address_prefix': {'key': 'expandedSourceAddressPrefix', 'type': '[str]'}, + 'expanded_destination_address_prefix': {'key': 'expandedDestinationAddressPrefix', 'type': '[str]'}, + 'access': {'key': 'access', 'type': 'str'}, + 'priority': {'key': 'priority', 'type': 'int'}, + 'direction': {'key': 'direction', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, protocol=None, source_port_range: str=None, destination_port_range: str=None, source_port_ranges=None, destination_port_ranges=None, source_address_prefix: str=None, destination_address_prefix: str=None, source_address_prefixes=None, destination_address_prefixes=None, expanded_source_address_prefix=None, expanded_destination_address_prefix=None, access=None, priority: int=None, direction=None, **kwargs) -> None: + super(EffectiveNetworkSecurityRule, self).__init__(**kwargs) + self.name = name + self.protocol = protocol + self.source_port_range = source_port_range + self.destination_port_range = destination_port_range + self.source_port_ranges = source_port_ranges + self.destination_port_ranges = destination_port_ranges + self.source_address_prefix = source_address_prefix + self.destination_address_prefix = destination_address_prefix + self.source_address_prefixes = source_address_prefixes + self.destination_address_prefixes = destination_address_prefixes + self.expanded_source_address_prefix = expanded_source_address_prefix + self.expanded_destination_address_prefix = expanded_destination_address_prefix + self.access = access + self.priority = priority + self.direction = direction diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_route.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_route.py new file mode 100644 index 000000000000..288a6cfe517f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_route.py @@ -0,0 +1,60 @@ +# 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.serialization import Model + + +class EffectiveRoute(Model): + """Effective Route. + + :param name: The name of the user defined route. This is optional. + :type name: str + :param source: Who created the route. Possible values are: 'Unknown', + 'User', 'VirtualNetworkGateway', and 'Default'. Possible values include: + 'Unknown', 'User', 'VirtualNetworkGateway', 'Default' + :type source: str or + ~azure.mgmt.network.v2018_06_01.models.EffectiveRouteSource + :param state: The value of effective route. Possible values are: 'Active' + and 'Invalid'. Possible values include: 'Active', 'Invalid' + :type state: str or + ~azure.mgmt.network.v2018_06_01.models.EffectiveRouteState + :param address_prefix: The address prefixes of the effective routes in + CIDR notation. + :type address_prefix: list[str] + :param next_hop_ip_address: The IP address of the next hop of the + effective route. + :type next_hop_ip_address: list[str] + :param next_hop_type: The type of Azure hop the packet should be sent to. + Possible values are: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', + 'VirtualAppliance', and 'None'. Possible values include: + 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', + 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2018_06_01.models.RouteNextHopType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'address_prefix': {'key': 'addressPrefix', 'type': '[str]'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': '[str]'}, + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EffectiveRoute, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.source = kwargs.get('source', None) + self.state = kwargs.get('state', None) + self.address_prefix = kwargs.get('address_prefix', None) + self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) + self.next_hop_type = kwargs.get('next_hop_type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_route_list_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_route_list_result.py new file mode 100644 index 000000000000..a820ec303289 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_route_list_result.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class EffectiveRouteListResult(Model): + """Response for list effective route API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of effective routes. + :type value: list[~azure.mgmt.network.v2018_06_01.models.EffectiveRoute] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EffectiveRoute]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EffectiveRouteListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_route_list_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_route_list_result_py3.py new file mode 100644 index 000000000000..e6dd1489d0da --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_route_list_result_py3.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class EffectiveRouteListResult(Model): + """Response for list effective route API service call. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of effective routes. + :type value: list[~azure.mgmt.network.v2018_06_01.models.EffectiveRoute] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[EffectiveRoute]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(EffectiveRouteListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_route_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_route_py3.py new file mode 100644 index 000000000000..de85541b37fd --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/effective_route_py3.py @@ -0,0 +1,60 @@ +# 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.serialization import Model + + +class EffectiveRoute(Model): + """Effective Route. + + :param name: The name of the user defined route. This is optional. + :type name: str + :param source: Who created the route. Possible values are: 'Unknown', + 'User', 'VirtualNetworkGateway', and 'Default'. Possible values include: + 'Unknown', 'User', 'VirtualNetworkGateway', 'Default' + :type source: str or + ~azure.mgmt.network.v2018_06_01.models.EffectiveRouteSource + :param state: The value of effective route. Possible values are: 'Active' + and 'Invalid'. Possible values include: 'Active', 'Invalid' + :type state: str or + ~azure.mgmt.network.v2018_06_01.models.EffectiveRouteState + :param address_prefix: The address prefixes of the effective routes in + CIDR notation. + :type address_prefix: list[str] + :param next_hop_ip_address: The IP address of the next hop of the + effective route. + :type next_hop_ip_address: list[str] + :param next_hop_type: The type of Azure hop the packet should be sent to. + Possible values are: 'VirtualNetworkGateway', 'VnetLocal', 'Internet', + 'VirtualAppliance', and 'None'. Possible values include: + 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', + 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2018_06_01.models.RouteNextHopType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'source': {'key': 'source', 'type': 'str'}, + 'state': {'key': 'state', 'type': 'str'}, + 'address_prefix': {'key': 'addressPrefix', 'type': '[str]'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': '[str]'}, + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, source=None, state=None, address_prefix=None, next_hop_ip_address=None, next_hop_type=None, **kwargs) -> None: + super(EffectiveRoute, self).__init__(**kwargs) + self.name = name + self.source = source + self.state = state + self.address_prefix = address_prefix + self.next_hop_ip_address = next_hop_ip_address + self.next_hop_type = next_hop_type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/endpoint_service_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/endpoint_service_result.py new file mode 100644 index 000000000000..9ca0e203a834 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/endpoint_service_result.py @@ -0,0 +1,43 @@ +# 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 EndpointServiceResult(SubResource): + """Endpoint service. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Name of the endpoint service. + :vartype name: str + :ivar type: Type of the endpoint service. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(EndpointServiceResult, self).__init__(**kwargs) + self.name = None + self.type = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/endpoint_service_result_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/endpoint_service_result_paged.py new file mode 100644 index 000000000000..c902a7794672 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/endpoint_service_result_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 EndpointServiceResultPaged(Paged): + """ + A paging container for iterating over a list of :class:`EndpointServiceResult ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[EndpointServiceResult]'} + } + + def __init__(self, *args, **kwargs): + + super(EndpointServiceResultPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/endpoint_service_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/endpoint_service_result_py3.py new file mode 100644 index 000000000000..489a2a2681ca --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/endpoint_service_result_py3.py @@ -0,0 +1,43 @@ +# 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 EndpointServiceResult(SubResource): + """Endpoint service. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Name of the endpoint service. + :vartype name: str + :ivar type: Type of the endpoint service. + :vartype type: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(EndpointServiceResult, self).__init__(id=id, **kwargs) + self.name = None + self.type = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/error.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/error.py new file mode 100644 index 000000000000..12317ac81e59 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/error.py @@ -0,0 +1,57 @@ +# 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.serialization import Model +from msrest.exceptions import HttpOperationError + + +class Error(Model): + """Error. + + :param code: + :type code: str + :param message: + :type message: str + :param target: + :type target: str + :param details: + :type details: list[~azure.mgmt.network.v2018_06_01.models.ErrorDetails] + :param inner_error: + :type inner_error: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDetails]'}, + 'inner_error': {'key': 'innerError', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Error, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.message = kwargs.get('message', None) + self.target = kwargs.get('target', None) + self.details = kwargs.get('details', None) + self.inner_error = kwargs.get('inner_error', None) + + +class ErrorException(HttpOperationError): + """Server responsed with exception of type: 'Error'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorException, self).__init__(deserialize, response, 'Error', *args) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/error_details.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/error_details.py new file mode 100644 index 000000000000..a8c4da6ba955 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/error_details.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class ErrorDetails(Model): + """ErrorDetails. + + :param code: + :type code: str + :param target: + :type target: str + :param message: + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ErrorDetails, self).__init__(**kwargs) + self.code = kwargs.get('code', None) + self.target = kwargs.get('target', None) + self.message = kwargs.get('message', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/error_details_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/error_details_py3.py new file mode 100644 index 000000000000..d791f0895345 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/error_details_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class ErrorDetails(Model): + """ErrorDetails. + + :param code: + :type code: str + :param target: + :type target: str + :param message: + :type message: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, target: str=None, message: str=None, **kwargs) -> None: + super(ErrorDetails, self).__init__(**kwargs) + self.code = code + self.target = target + self.message = message diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/error_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/error_py3.py new file mode 100644 index 000000000000..78a96a0c2cc5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/error_py3.py @@ -0,0 +1,57 @@ +# 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.serialization import Model +from msrest.exceptions import HttpOperationError + + +class Error(Model): + """Error. + + :param code: + :type code: str + :param message: + :type message: str + :param target: + :type target: str + :param details: + :type details: list[~azure.mgmt.network.v2018_06_01.models.ErrorDetails] + :param inner_error: + :type inner_error: str + """ + + _attribute_map = { + 'code': {'key': 'code', 'type': 'str'}, + 'message': {'key': 'message', 'type': 'str'}, + 'target': {'key': 'target', 'type': 'str'}, + 'details': {'key': 'details', 'type': '[ErrorDetails]'}, + 'inner_error': {'key': 'innerError', 'type': 'str'}, + } + + def __init__(self, *, code: str=None, message: str=None, target: str=None, details=None, inner_error: str=None, **kwargs) -> None: + super(Error, self).__init__(**kwargs) + self.code = code + self.message = message + self.target = target + self.details = details + self.inner_error = inner_error + + +class ErrorException(HttpOperationError): + """Server responsed with exception of type: 'Error'. + + :param deserialize: A deserializer + :param response: Server response to be deserialized. + """ + + def __init__(self, deserialize, response, *args): + + super(ErrorException, self).__init__(deserialize, response, 'Error', *args) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit.py new file mode 100644 index 000000000000..01fe7d3c21a5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit.py @@ -0,0 +1,107 @@ +# 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 .resource import Resource + + +class ExpressRouteCircuit(Resource): + """ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The SKU. + :type sku: ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitSku + :param allow_classic_operations: Allow classic operations + :type allow_classic_operations: bool + :param circuit_provisioning_state: The CircuitProvisioningState state of + the resource. + :type circuit_provisioning_state: str + :param service_provider_provisioning_state: The + ServiceProviderProvisioningState state of the resource. Possible values + are 'NotProvisioned', 'Provisioning', 'Provisioned', and 'Deprovisioning'. + Possible values include: 'NotProvisioned', 'Provisioning', 'Provisioned', + 'Deprovisioning' + :type service_provider_provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ServiceProviderProvisioningState + :param authorizations: The list of authorizations. + :type authorizations: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitAuthorization] + :param peerings: The list of peerings. + :type peerings: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeering] + :param service_key: The ServiceKey. + :type service_key: str + :param service_provider_notes: The ServiceProviderNotes. + :type service_provider_notes: str + :param service_provider_properties: The ServiceProviderProperties. + :type service_provider_properties: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitServiceProviderProperties + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, + 'allow_classic_operations': {'key': 'properties.allowClassicOperations', 'type': 'bool'}, + 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, + 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, + 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, + 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, + 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuit, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.allow_classic_operations = kwargs.get('allow_classic_operations', None) + self.circuit_provisioning_state = kwargs.get('circuit_provisioning_state', None) + self.service_provider_provisioning_state = kwargs.get('service_provider_provisioning_state', None) + self.authorizations = kwargs.get('authorizations', None) + self.peerings = kwargs.get('peerings', None) + self.service_key = kwargs.get('service_key', None) + self.service_provider_notes = kwargs.get('service_provider_notes', None) + self.service_provider_properties = kwargs.get('service_provider_properties', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_arp_table.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_arp_table.py new file mode 100644 index 000000000000..ed7864d35e09 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_arp_table.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitArpTable(Model): + """The ARP table associated with the ExpressRouteCircuit. + + :param age: Entry age in minutes + :type age: int + :param interface: Interface address + :type interface: str + :param ip_address: The IP address. + :type ip_address: str + :param mac_address: The MAC address. + :type mac_address: str + """ + + _attribute_map = { + 'age': {'key': 'age', 'type': 'int'}, + 'interface': {'key': 'interface', 'type': 'str'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'mac_address': {'key': 'macAddress', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) + self.age = kwargs.get('age', None) + self.interface = kwargs.get('interface', None) + self.ip_address = kwargs.get('ip_address', None) + self.mac_address = kwargs.get('mac_address', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_arp_table_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_arp_table_py3.py new file mode 100644 index 000000000000..e8c637a092d4 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_arp_table_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitArpTable(Model): + """The ARP table associated with the ExpressRouteCircuit. + + :param age: Entry age in minutes + :type age: int + :param interface: Interface address + :type interface: str + :param ip_address: The IP address. + :type ip_address: str + :param mac_address: The MAC address. + :type mac_address: str + """ + + _attribute_map = { + 'age': {'key': 'age', 'type': 'int'}, + 'interface': {'key': 'interface', 'type': 'str'}, + 'ip_address': {'key': 'ipAddress', 'type': 'str'}, + 'mac_address': {'key': 'macAddress', 'type': 'str'}, + } + + def __init__(self, *, age: int=None, interface: str=None, ip_address: str=None, mac_address: str=None, **kwargs) -> None: + super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) + self.age = age + self.interface = interface + self.ip_address = ip_address + self.mac_address = mac_address diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_authorization.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_authorization.py new file mode 100644 index 000000000000..8c4589949ac0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_authorization.py @@ -0,0 +1,60 @@ +# 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 ExpressRouteCircuitAuthorization(SubResource): + """Authorization in an ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param authorization_key: The authorization key. + :type authorization_key: str + :param authorization_use_status: AuthorizationUseStatus. Possible values + are: 'Available' and 'InUse'. Possible values include: 'Available', + 'InUse' + :type authorization_use_status: str or + ~azure.mgmt.network.v2018_06_01.models.AuthorizationUseStatus + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type 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 = { + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'authorization_use_status': {'key': 'properties.authorizationUseStatus', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitAuthorization, self).__init__(**kwargs) + self.authorization_key = kwargs.get('authorization_key', None) + self.authorization_use_status = kwargs.get('authorization_use_status', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_authorization_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_authorization_paged.py new file mode 100644 index 000000000000..5f7e451ec821 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_authorization_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 ExpressRouteCircuitAuthorizationPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCircuitAuthorization ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuitAuthorization]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCircuitAuthorizationPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_authorization_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_authorization_py3.py new file mode 100644 index 000000000000..9cdc65c1c1d3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_authorization_py3.py @@ -0,0 +1,60 @@ +# 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 ExpressRouteCircuitAuthorization(SubResource): + """Authorization in an ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param authorization_key: The authorization key. + :type authorization_key: str + :param authorization_use_status: AuthorizationUseStatus. Possible values + are: 'Available' and 'InUse'. Possible values include: 'Available', + 'InUse' + :type authorization_use_status: str or + ~azure.mgmt.network.v2018_06_01.models.AuthorizationUseStatus + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type 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 = { + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'authorization_use_status': {'key': 'properties.authorizationUseStatus', '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, authorization_key: str=None, authorization_use_status=None, provisioning_state: str=None, name: str=None, **kwargs) -> None: + super(ExpressRouteCircuitAuthorization, self).__init__(id=id, **kwargs) + self.authorization_key = authorization_key + self.authorization_use_status = authorization_use_status + self.provisioning_state = provisioning_state + self.name = name + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_connection.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_connection.py new file mode 100644 index 000000000000..1253508ffcfc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_connection.py @@ -0,0 +1,80 @@ +# 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 ExpressRouteCircuitConnection(SubResource): + """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 initiating connection. + :type express_route_circuit_peering: + ~azure.mgmt.network.v2018_06_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_06_01.models.SubResource + :param address_prefix: /29 IP address space to carve out Customer + addresses for tunnels. + :type address_prefix: str + :param authorization_key: The authorization key. + :type authorization_key: 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_06_01.models.CircuitConnectionStatus + :ivar provisioning_state: Provisioning state of the circuit connection + resource. Possible values are: 'Succeded', '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'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitConnection, 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.authorization_key = kwargs.get('authorization_key', None) + self.circuit_connection_status = None + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_connection_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_connection_py3.py new file mode 100644 index 000000000000..93ce64e6c213 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_connection_py3.py @@ -0,0 +1,80 @@ +# 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 ExpressRouteCircuitConnection(SubResource): + """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 initiating connection. + :type express_route_circuit_peering: + ~azure.mgmt.network.v2018_06_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_06_01.models.SubResource + :param address_prefix: /29 IP address space to carve out Customer + addresses for tunnels. + :type address_prefix: str + :param authorization_key: The authorization key. + :type authorization_key: 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_06_01.models.CircuitConnectionStatus + :ivar provisioning_state: Provisioning state of the circuit connection + resource. Possible values are: 'Succeded', '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'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', '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, authorization_key: str=None, name: str=None, **kwargs) -> None: + super(ExpressRouteCircuitConnection, 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.authorization_key = authorization_key + self.circuit_connection_status = None + self.provisioning_state = None + self.name = name + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_paged.py new file mode 100644 index 000000000000..42e50a7f9465 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_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 ExpressRouteCircuitPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCircuit ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuit]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCircuitPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_peering.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_peering.py new file mode 100644 index 000000000000..0c1ba9d7b3da --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_peering.py @@ -0,0 +1,128 @@ +# 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 ExpressRouteCircuitPeering(SubResource): + """Peering in an ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peering_type: The peering type. Possible values include: + 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + :type peering_type: str or + ~azure.mgmt.network.v2018_06_01.models.ExpressRoutePeeringType + :param state: The peering state. Possible values include: 'Disabled', + 'Enabled' + :type state: str or + ~azure.mgmt.network.v2018_06_01.models.ExpressRoutePeeringState + :param azure_asn: The Azure ASN. + :type azure_asn: int + :param peer_asn: The peer ASN. + :type peer_asn: long + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :param primary_azure_port: The primary port. + :type primary_azure_port: str + :param secondary_azure_port: The secondary port. + :type secondary_azure_port: str + :param shared_key: The shared key. + :type shared_key: str + :param vlan_id: The VLAN ID. + :type vlan_id: int + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeeringConfig + :param stats: Gets peering stats. + :type stats: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitStats + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :param last_modified_by: Gets whether the provider or the customer last + modified the peering. + :type last_modified_by: str + :param route_filter: The reference of the RouteFilter resource. + :type route_filter: ~azure.mgmt.network.v2018_06_01.models.RouteFilter + :param ipv6_peering_config: The IPv6 peering configuration. + :type ipv6_peering_config: + ~azure.mgmt.network.v2018_06_01.models.Ipv6ExpressRouteCircuitPeeringConfig + :param connections: The list of circuit connections associated with Azure + Private Peering for this circuit. + :type connections: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitConnection] + :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 = { + 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, + 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, + 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, + 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, + 'route_filter': {'key': 'properties.routeFilter', 'type': 'RouteFilter'}, + 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, + 'connections': {'key': 'properties.connections', 'type': '[ExpressRouteCircuitConnection]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitPeering, self).__init__(**kwargs) + self.peering_type = kwargs.get('peering_type', None) + self.state = kwargs.get('state', None) + self.azure_asn = kwargs.get('azure_asn', None) + self.peer_asn = kwargs.get('peer_asn', None) + self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) + self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) + self.primary_azure_port = kwargs.get('primary_azure_port', None) + self.secondary_azure_port = kwargs.get('secondary_azure_port', None) + self.shared_key = kwargs.get('shared_key', None) + self.vlan_id = kwargs.get('vlan_id', None) + self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) + self.stats = kwargs.get('stats', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) + self.last_modified_by = kwargs.get('last_modified_by', None) + self.route_filter = kwargs.get('route_filter', None) + self.ipv6_peering_config = kwargs.get('ipv6_peering_config', None) + self.connections = kwargs.get('connections', None) + self.name = kwargs.get('name', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_peering_config.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_peering_config.py new file mode 100644 index 000000000000..0c078cf17079 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_peering_config.py @@ -0,0 +1,55 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitPeeringConfig(Model): + """Specifies the peering configuration. + + :param advertised_public_prefixes: The reference of + AdvertisedPublicPrefixes. + :type advertised_public_prefixes: list[str] + :param advertised_communities: The communities of bgp peering. Spepcified + for microsoft peering + :type advertised_communities: list[str] + :param advertised_public_prefixes_state: AdvertisedPublicPrefixState of + the Peering resource. Possible values are 'NotConfigured', 'Configuring', + 'Configured', and 'ValidationNeeded'. Possible values include: + 'NotConfigured', 'Configuring', 'Configured', 'ValidationNeeded' + :type advertised_public_prefixes_state: str or + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState + :param legacy_mode: The legacy mode of the peering. + :type legacy_mode: int + :param customer_asn: The CustomerASN of the peering. + :type customer_asn: int + :param routing_registry_name: The RoutingRegistryName of the + configuration. + :type routing_registry_name: str + """ + + _attribute_map = { + 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, + 'advertised_communities': {'key': 'advertisedCommunities', 'type': '[str]'}, + 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, + 'legacy_mode': {'key': 'legacyMode', 'type': 'int'}, + 'customer_asn': {'key': 'customerASN', 'type': 'int'}, + 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) + self.advertised_public_prefixes = kwargs.get('advertised_public_prefixes', None) + self.advertised_communities = kwargs.get('advertised_communities', None) + self.advertised_public_prefixes_state = kwargs.get('advertised_public_prefixes_state', None) + self.legacy_mode = kwargs.get('legacy_mode', None) + self.customer_asn = kwargs.get('customer_asn', None) + self.routing_registry_name = kwargs.get('routing_registry_name', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_peering_config_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_peering_config_py3.py new file mode 100644 index 000000000000..239a8f1aa0c7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_peering_config_py3.py @@ -0,0 +1,55 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitPeeringConfig(Model): + """Specifies the peering configuration. + + :param advertised_public_prefixes: The reference of + AdvertisedPublicPrefixes. + :type advertised_public_prefixes: list[str] + :param advertised_communities: The communities of bgp peering. Spepcified + for microsoft peering + :type advertised_communities: list[str] + :param advertised_public_prefixes_state: AdvertisedPublicPrefixState of + the Peering resource. Possible values are 'NotConfigured', 'Configuring', + 'Configured', and 'ValidationNeeded'. Possible values include: + 'NotConfigured', 'Configuring', 'Configured', 'ValidationNeeded' + :type advertised_public_prefixes_state: str or + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState + :param legacy_mode: The legacy mode of the peering. + :type legacy_mode: int + :param customer_asn: The CustomerASN of the peering. + :type customer_asn: int + :param routing_registry_name: The RoutingRegistryName of the + configuration. + :type routing_registry_name: str + """ + + _attribute_map = { + 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, + 'advertised_communities': {'key': 'advertisedCommunities', 'type': '[str]'}, + 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, + 'legacy_mode': {'key': 'legacyMode', 'type': 'int'}, + 'customer_asn': {'key': 'customerASN', 'type': 'int'}, + 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, + } + + def __init__(self, *, advertised_public_prefixes=None, advertised_communities=None, advertised_public_prefixes_state=None, legacy_mode: int=None, customer_asn: int=None, routing_registry_name: str=None, **kwargs) -> None: + super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) + self.advertised_public_prefixes = advertised_public_prefixes + self.advertised_communities = advertised_communities + self.advertised_public_prefixes_state = advertised_public_prefixes_state + self.legacy_mode = legacy_mode + self.customer_asn = customer_asn + self.routing_registry_name = routing_registry_name diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_peering_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_peering_paged.py new file mode 100644 index 000000000000..03c8daba75cb --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_peering_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 ExpressRouteCircuitPeeringPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCircuitPeering ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCircuitPeering]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCircuitPeeringPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_peering_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_peering_py3.py new file mode 100644 index 000000000000..3c58a28fbaf8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_peering_py3.py @@ -0,0 +1,128 @@ +# 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 ExpressRouteCircuitPeering(SubResource): + """Peering in an ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peering_type: The peering type. Possible values include: + 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + :type peering_type: str or + ~azure.mgmt.network.v2018_06_01.models.ExpressRoutePeeringType + :param state: The peering state. Possible values include: 'Disabled', + 'Enabled' + :type state: str or + ~azure.mgmt.network.v2018_06_01.models.ExpressRoutePeeringState + :param azure_asn: The Azure ASN. + :type azure_asn: int + :param peer_asn: The peer ASN. + :type peer_asn: long + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :param primary_azure_port: The primary port. + :type primary_azure_port: str + :param secondary_azure_port: The secondary port. + :type secondary_azure_port: str + :param shared_key: The shared key. + :type shared_key: str + :param vlan_id: The VLAN ID. + :type vlan_id: int + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeeringConfig + :param stats: Gets peering stats. + :type stats: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitStats + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :param last_modified_by: Gets whether the provider or the customer last + modified the peering. + :type last_modified_by: str + :param route_filter: The reference of the RouteFilter resource. + :type route_filter: ~azure.mgmt.network.v2018_06_01.models.RouteFilter + :param ipv6_peering_config: The IPv6 peering configuration. + :type ipv6_peering_config: + ~azure.mgmt.network.v2018_06_01.models.Ipv6ExpressRouteCircuitPeeringConfig + :param connections: The list of circuit connections associated with Azure + Private Peering for this circuit. + :type connections: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitConnection] + :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 = { + 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, + 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, + 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, + 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, + 'route_filter': {'key': 'properties.routeFilter', 'type': 'RouteFilter'}, + 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, + 'connections': {'key': 'properties.connections', 'type': '[ExpressRouteCircuitConnection]'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, peering_type=None, state=None, azure_asn: int=None, peer_asn: int=None, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, primary_azure_port: str=None, secondary_azure_port: str=None, shared_key: str=None, vlan_id: int=None, microsoft_peering_config=None, stats=None, provisioning_state: str=None, gateway_manager_etag: str=None, last_modified_by: str=None, route_filter=None, ipv6_peering_config=None, connections=None, name: str=None, **kwargs) -> None: + super(ExpressRouteCircuitPeering, self).__init__(id=id, **kwargs) + self.peering_type = peering_type + self.state = state + self.azure_asn = azure_asn + self.peer_asn = peer_asn + self.primary_peer_address_prefix = primary_peer_address_prefix + self.secondary_peer_address_prefix = secondary_peer_address_prefix + self.primary_azure_port = primary_azure_port + self.secondary_azure_port = secondary_azure_port + self.shared_key = shared_key + self.vlan_id = vlan_id + self.microsoft_peering_config = microsoft_peering_config + self.stats = stats + self.provisioning_state = provisioning_state + self.gateway_manager_etag = gateway_manager_etag + self.last_modified_by = last_modified_by + self.route_filter = route_filter + self.ipv6_peering_config = ipv6_peering_config + self.connections = connections + self.name = name + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_py3.py new file mode 100644 index 000000000000..1c0fae896d4c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_py3.py @@ -0,0 +1,107 @@ +# 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 .resource_py3 import Resource + + +class ExpressRouteCircuit(Resource): + """ExpressRouteCircuit resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The SKU. + :type sku: ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitSku + :param allow_classic_operations: Allow classic operations + :type allow_classic_operations: bool + :param circuit_provisioning_state: The CircuitProvisioningState state of + the resource. + :type circuit_provisioning_state: str + :param service_provider_provisioning_state: The + ServiceProviderProvisioningState state of the resource. Possible values + are 'NotProvisioned', 'Provisioning', 'Provisioned', and 'Deprovisioning'. + Possible values include: 'NotProvisioned', 'Provisioning', 'Provisioned', + 'Deprovisioning' + :type service_provider_provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ServiceProviderProvisioningState + :param authorizations: The list of authorizations. + :type authorizations: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitAuthorization] + :param peerings: The list of peerings. + :type peerings: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeering] + :param service_key: The ServiceKey. + :type service_key: str + :param service_provider_notes: The ServiceProviderNotes. + :type service_provider_notes: str + :param service_provider_properties: The ServiceProviderProperties. + :type service_provider_properties: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitServiceProviderProperties + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, + 'allow_classic_operations': {'key': 'properties.allowClassicOperations', 'type': 'bool'}, + 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, + 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, + 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, + 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, + 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + '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, provisioning_state: str=None, gateway_manager_etag: str=None, **kwargs) -> None: + super(ExpressRouteCircuit, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.allow_classic_operations = allow_classic_operations + self.circuit_provisioning_state = circuit_provisioning_state + self.service_provider_provisioning_state = service_provider_provisioning_state + self.authorizations = authorizations + self.peerings = peerings + self.service_key = service_key + self.service_provider_notes = service_provider_notes + self.service_provider_properties = service_provider_properties + self.provisioning_state = provisioning_state + self.gateway_manager_etag = gateway_manager_etag + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_reference.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_reference.py new file mode 100644 index 000000000000..63275cc15917 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_reference.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitReference(Model): + """ExpressRouteCircuitReference. + + :param id: Corresponding Express Route Circuit Id. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitReference, self).__init__(**kwargs) + self.id = kwargs.get('id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_reference_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_reference_py3.py new file mode 100644 index 000000000000..7f6880552144 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_reference_py3.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitReference(Model): + """ExpressRouteCircuitReference. + + :param id: Corresponding Express Route Circuit Id. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(ExpressRouteCircuitReference, self).__init__(**kwargs) + self.id = id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_routes_table.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_routes_table.py new file mode 100644 index 000000000000..5150924765f9 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_routes_table.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitRoutesTable(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param network: IP address of a network entity + :type network: str + :param next_hop: NextHop address + :type next_hop: str + :param loc_prf: Local preference value as set with the set + local-preference route-map configuration command + :type loc_prf: str + :param weight: Route Weight. + :type weight: int + :param path: Autonomous system paths to the destination network. + :type path: str + """ + + _attribute_map = { + 'network': {'key': 'network', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + 'loc_prf': {'key': 'locPrf', 'type': 'str'}, + 'weight': {'key': 'weight', 'type': 'int'}, + 'path': {'key': 'path', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) + self.network = kwargs.get('network', None) + self.next_hop = kwargs.get('next_hop', None) + self.loc_prf = kwargs.get('loc_prf', None) + self.weight = kwargs.get('weight', None) + self.path = kwargs.get('path', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_routes_table_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_routes_table_py3.py new file mode 100644 index 000000000000..3b5829937b83 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_routes_table_py3.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitRoutesTable(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param network: IP address of a network entity + :type network: str + :param next_hop: NextHop address + :type next_hop: str + :param loc_prf: Local preference value as set with the set + local-preference route-map configuration command + :type loc_prf: str + :param weight: Route Weight. + :type weight: int + :param path: Autonomous system paths to the destination network. + :type path: str + """ + + _attribute_map = { + 'network': {'key': 'network', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + 'loc_prf': {'key': 'locPrf', 'type': 'str'}, + 'weight': {'key': 'weight', 'type': 'int'}, + 'path': {'key': 'path', 'type': 'str'}, + } + + def __init__(self, *, network: str=None, next_hop: str=None, loc_prf: str=None, weight: int=None, path: str=None, **kwargs) -> None: + super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) + self.network = network + self.next_hop = next_hop + self.loc_prf = loc_prf + self.weight = weight + self.path = path diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_routes_table_summary.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_routes_table_summary.py new file mode 100644 index 000000000000..1f398383a9f0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_routes_table_summary.py @@ -0,0 +1,46 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitRoutesTableSummary(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param neighbor: IP address of the neighbor. + :type neighbor: str + :param v: BGP version number spoken to the neighbor. + :type v: int + :param as_property: Autonomous system number. + :type as_property: int + :param up_down: The length of time that the BGP session has been in the + Established state, or the current status if not in the Established state. + :type up_down: str + :param state_pfx_rcd: Current state of the BGP session, and the number of + prefixes that have been received from a neighbor or peer group. + :type state_pfx_rcd: str + """ + + _attribute_map = { + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'v': {'key': 'v', 'type': 'int'}, + 'as_property': {'key': 'as', 'type': 'int'}, + 'up_down': {'key': 'upDown', 'type': 'str'}, + 'state_pfx_rcd': {'key': 'statePfxRcd', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitRoutesTableSummary, self).__init__(**kwargs) + self.neighbor = kwargs.get('neighbor', None) + self.v = kwargs.get('v', None) + self.as_property = kwargs.get('as_property', None) + self.up_down = kwargs.get('up_down', None) + self.state_pfx_rcd = kwargs.get('state_pfx_rcd', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_routes_table_summary_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_routes_table_summary_py3.py new file mode 100644 index 000000000000..13f52d9951f3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_routes_table_summary_py3.py @@ -0,0 +1,46 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitRoutesTableSummary(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param neighbor: IP address of the neighbor. + :type neighbor: str + :param v: BGP version number spoken to the neighbor. + :type v: int + :param as_property: Autonomous system number. + :type as_property: int + :param up_down: The length of time that the BGP session has been in the + Established state, or the current status if not in the Established state. + :type up_down: str + :param state_pfx_rcd: Current state of the BGP session, and the number of + prefixes that have been received from a neighbor or peer group. + :type state_pfx_rcd: str + """ + + _attribute_map = { + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'v': {'key': 'v', 'type': 'int'}, + 'as_property': {'key': 'as', 'type': 'int'}, + 'up_down': {'key': 'upDown', 'type': 'str'}, + 'state_pfx_rcd': {'key': 'statePfxRcd', 'type': 'str'}, + } + + def __init__(self, *, neighbor: str=None, v: int=None, as_property: int=None, up_down: str=None, state_pfx_rcd: str=None, **kwargs) -> None: + super(ExpressRouteCircuitRoutesTableSummary, self).__init__(**kwargs) + self.neighbor = neighbor + self.v = v + self.as_property = as_property + self.up_down = up_down + self.state_pfx_rcd = state_pfx_rcd diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_service_provider_properties.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_service_provider_properties.py new file mode 100644 index 000000000000..c51e6d8d653b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_service_provider_properties.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitServiceProviderProperties(Model): + """Contains ServiceProviderProperties in an ExpressRouteCircuit. + + :param service_provider_name: The serviceProviderName. + :type service_provider_name: str + :param peering_location: The peering location. + :type peering_location: str + :param bandwidth_in_mbps: The BandwidthInMbps. + :type bandwidth_in_mbps: int + """ + + _attribute_map = { + 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, + 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, + 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) + self.service_provider_name = kwargs.get('service_provider_name', None) + self.peering_location = kwargs.get('peering_location', None) + self.bandwidth_in_mbps = kwargs.get('bandwidth_in_mbps', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_service_provider_properties_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_service_provider_properties_py3.py new file mode 100644 index 000000000000..ea701a54c3fe --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_service_provider_properties_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitServiceProviderProperties(Model): + """Contains ServiceProviderProperties in an ExpressRouteCircuit. + + :param service_provider_name: The serviceProviderName. + :type service_provider_name: str + :param peering_location: The peering location. + :type peering_location: str + :param bandwidth_in_mbps: The BandwidthInMbps. + :type bandwidth_in_mbps: int + """ + + _attribute_map = { + 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, + 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, + 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, + } + + def __init__(self, *, service_provider_name: str=None, peering_location: str=None, bandwidth_in_mbps: int=None, **kwargs) -> None: + super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) + self.service_provider_name = service_provider_name + self.peering_location = peering_location + self.bandwidth_in_mbps = bandwidth_in_mbps diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_sku.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_sku.py new file mode 100644 index 000000000000..f8c2a941351c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_sku.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitSku(Model): + """Contains SKU in an ExpressRouteCircuit. + + :param name: The name of the SKU. + :type name: str + :param tier: The tier of the SKU. Possible values are 'Standard' and + 'Premium'. Possible values include: 'Standard', 'Premium' + :type tier: str or + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitSkuTier + :param family: The family of the SKU. Possible values are: 'UnlimitedData' + and 'MeteredData'. Possible values include: 'UnlimitedData', 'MeteredData' + :type family: str or + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitSkuFamily + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.family = kwargs.get('family', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_sku_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_sku_py3.py new file mode 100644 index 000000000000..de8ee27c5477 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_sku_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitSku(Model): + """Contains SKU in an ExpressRouteCircuit. + + :param name: The name of the SKU. + :type name: str + :param tier: The tier of the SKU. Possible values are 'Standard' and + 'Premium'. Possible values include: 'Standard', 'Premium' + :type tier: str or + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitSkuTier + :param family: The family of the SKU. Possible values are: 'UnlimitedData' + and 'MeteredData'. Possible values include: 'UnlimitedData', 'MeteredData' + :type family: str or + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitSkuFamily + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'family': {'key': 'family', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, tier=None, family=None, **kwargs) -> None: + super(ExpressRouteCircuitSku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.family = family diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_stats.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_stats.py new file mode 100644 index 000000000000..41c45ae2b19a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_stats.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitStats(Model): + """Contains stats associated with the peering. + + :param primarybytes_in: Gets BytesIn of the peering. + :type primarybytes_in: long + :param primarybytes_out: Gets BytesOut of the peering. + :type primarybytes_out: long + :param secondarybytes_in: Gets BytesIn of the peering. + :type secondarybytes_in: long + :param secondarybytes_out: Gets BytesOut of the peering. + :type secondarybytes_out: long + """ + + _attribute_map = { + 'primarybytes_in': {'key': 'primarybytesIn', 'type': 'long'}, + 'primarybytes_out': {'key': 'primarybytesOut', 'type': 'long'}, + 'secondarybytes_in': {'key': 'secondarybytesIn', 'type': 'long'}, + 'secondarybytes_out': {'key': 'secondarybytesOut', 'type': 'long'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitStats, self).__init__(**kwargs) + self.primarybytes_in = kwargs.get('primarybytes_in', None) + self.primarybytes_out = kwargs.get('primarybytes_out', None) + self.secondarybytes_in = kwargs.get('secondarybytes_in', None) + self.secondarybytes_out = kwargs.get('secondarybytes_out', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_stats_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_stats_py3.py new file mode 100644 index 000000000000..f78335343544 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuit_stats_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitStats(Model): + """Contains stats associated with the peering. + + :param primarybytes_in: Gets BytesIn of the peering. + :type primarybytes_in: long + :param primarybytes_out: Gets BytesOut of the peering. + :type primarybytes_out: long + :param secondarybytes_in: Gets BytesIn of the peering. + :type secondarybytes_in: long + :param secondarybytes_out: Gets BytesOut of the peering. + :type secondarybytes_out: long + """ + + _attribute_map = { + 'primarybytes_in': {'key': 'primarybytesIn', 'type': 'long'}, + 'primarybytes_out': {'key': 'primarybytesOut', 'type': 'long'}, + 'secondarybytes_in': {'key': 'secondarybytesIn', 'type': 'long'}, + 'secondarybytes_out': {'key': 'secondarybytesOut', 'type': 'long'}, + } + + def __init__(self, *, primarybytes_in: int=None, primarybytes_out: int=None, secondarybytes_in: int=None, secondarybytes_out: int=None, **kwargs) -> None: + super(ExpressRouteCircuitStats, self).__init__(**kwargs) + self.primarybytes_in = primarybytes_in + self.primarybytes_out = primarybytes_out + self.secondarybytes_in = secondarybytes_in + self.secondarybytes_out = secondarybytes_out diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuits_arp_table_list_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuits_arp_table_list_result.py new file mode 100644 index 000000000000..f8be8f61ecb6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuits_arp_table_list_result.py @@ -0,0 +1,33 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitsArpTableListResult(Model): + """Response for ListArpTable associated with the Express Route Circuits API. + + :param value: Gets list of the ARP table. + :type value: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitArpTable] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuits_arp_table_list_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuits_arp_table_list_result_py3.py new file mode 100644 index 000000000000..5390338a5709 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuits_arp_table_list_result_py3.py @@ -0,0 +1,33 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitsArpTableListResult(Model): + """Response for ListArpTable associated with the Express Route Circuits API. + + :param value: Gets list of the ARP table. + :type value: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitArpTable] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: + super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuits_routes_table_list_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuits_routes_table_list_result.py new file mode 100644 index 000000000000..8b6572b368cc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuits_routes_table_list_result.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitsRoutesTableListResult(Model): + """Response for ListRoutesTable associated with the Express Route Circuits + API. + + :param value: The list of routes table. + :type value: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitRoutesTable] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuits_routes_table_list_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuits_routes_table_list_result_py3.py new file mode 100644 index 000000000000..8977778b7a8d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuits_routes_table_list_result_py3.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitsRoutesTableListResult(Model): + """Response for ListRoutesTable associated with the Express Route Circuits + API. + + :param value: The list of routes table. + :type value: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitRoutesTable] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: + super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuits_routes_table_summary_list_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuits_routes_table_summary_list_result.py new file mode 100644 index 000000000000..dd956346c6da --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuits_routes_table_summary_list_result.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitsRoutesTableSummaryListResult(Model): + """Response for ListRoutesTable associated with the Express Route Circuits + API. + + :param value: A list of the routes table. + :type value: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitRoutesTableSummary] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTableSummary]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCircuitsRoutesTableSummaryListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = kwargs.get('next_link', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuits_routes_table_summary_list_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuits_routes_table_summary_list_result_py3.py new file mode 100644 index 000000000000..5a10319bd22d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_circuits_routes_table_summary_list_result_py3.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class ExpressRouteCircuitsRoutesTableSummaryListResult(Model): + """Response for ListRoutesTable associated with the Express Route Circuits + API. + + :param value: A list of the routes table. + :type value: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitRoutesTableSummary] + :param next_link: The URL to get the next set of results. + :type next_link: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTableSummary]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, next_link: str=None, **kwargs) -> None: + super(ExpressRouteCircuitsRoutesTableSummaryListResult, self).__init__(**kwargs) + self.value = value + self.next_link = next_link diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection.py new file mode 100644 index 000000000000..c89b4a7f35ee --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection.py @@ -0,0 +1,105 @@ +# 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 .resource import Resource + + +class ExpressRouteCrossConnection(Resource): + """ExpressRouteCrossConnection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar primary_azure_port: The name of the primary port. + :vartype primary_azure_port: str + :ivar secondary_azure_port: The name of the secondary port. + :vartype secondary_azure_port: str + :ivar s_tag: The identifier of the circuit traffic. + :vartype s_tag: int + :param peering_location: The peering location of the ExpressRoute circuit. + :type peering_location: str + :param bandwidth_in_mbps: The circuit bandwidth In Mbps. + :type bandwidth_in_mbps: int + :param express_route_circuit: The ExpressRouteCircuit + :type express_route_circuit: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitReference + :param service_provider_provisioning_state: The provisioning state of the + circuit in the connectivity provider system. Possible values are + 'NotProvisioned', 'Provisioning', 'Provisioned'. Possible values include: + 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' + :type service_provider_provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ServiceProviderProvisioningState + :param service_provider_notes: Additional read only notes set by the + connectivity provider. + :type service_provider_notes: str + :ivar provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param peerings: The list of peerings. + :type peerings: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnectionPeering] + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'primary_azure_port': {'readonly': True}, + 'secondary_azure_port': {'readonly': True}, + 's_tag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 's_tag': {'key': 'properties.sTag', 'type': 'int'}, + 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, + 'bandwidth_in_mbps': {'key': 'properties.bandwidthInMbps', 'type': 'int'}, + 'express_route_circuit': {'key': 'properties.expressRouteCircuit', 'type': 'ExpressRouteCircuitReference'}, + 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, + 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCrossConnectionPeering]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCrossConnection, self).__init__(**kwargs) + self.primary_azure_port = None + self.secondary_azure_port = None + self.s_tag = None + self.peering_location = kwargs.get('peering_location', None) + self.bandwidth_in_mbps = kwargs.get('bandwidth_in_mbps', None) + self.express_route_circuit = kwargs.get('express_route_circuit', None) + self.service_provider_provisioning_state = kwargs.get('service_provider_provisioning_state', None) + self.service_provider_notes = kwargs.get('service_provider_notes', None) + self.provisioning_state = None + self.peerings = kwargs.get('peerings', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection_paged.py new file mode 100644 index 000000000000..e3435384e1fa --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_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 ExpressRouteCrossConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCrossConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCrossConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCrossConnectionPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection_peering.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection_peering.py new file mode 100644 index 000000000000..91ca1c31defa --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection_peering.py @@ -0,0 +1,117 @@ +# 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 ExpressRouteCrossConnectionPeering(SubResource): + """Peering in an ExpressRoute Cross Connection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peering_type: The peering type. Possible values include: + 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + :type peering_type: str or + ~azure.mgmt.network.v2018_06_01.models.ExpressRoutePeeringType + :param state: The peering state. Possible values include: 'Disabled', + 'Enabled' + :type state: str or + ~azure.mgmt.network.v2018_06_01.models.ExpressRoutePeeringState + :ivar azure_asn: The Azure ASN. + :vartype azure_asn: int + :param peer_asn: The peer ASN. + :type peer_asn: long + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :ivar primary_azure_port: The primary port. + :vartype primary_azure_port: str + :ivar secondary_azure_port: The secondary port. + :vartype secondary_azure_port: str + :param shared_key: The shared key. + :type shared_key: str + :param vlan_id: The VLAN ID. + :type vlan_id: int + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeeringConfig + :ivar provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :param last_modified_by: Gets whether the provider or the customer last + modified the peering. + :type last_modified_by: str + :param ipv6_peering_config: The IPv6 peering configuration. + :type ipv6_peering_config: + ~azure.mgmt.network.v2018_06_01.models.Ipv6ExpressRouteCircuitPeeringConfig + :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 = { + 'azure_asn': {'readonly': True}, + 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, + 'primary_azure_port': {'readonly': True}, + 'secondary_azure_port': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, + 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, + 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, + 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, + 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCrossConnectionPeering, self).__init__(**kwargs) + self.peering_type = kwargs.get('peering_type', None) + self.state = kwargs.get('state', None) + self.azure_asn = None + self.peer_asn = kwargs.get('peer_asn', None) + self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) + self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) + self.primary_azure_port = None + self.secondary_azure_port = None + self.shared_key = kwargs.get('shared_key', None) + self.vlan_id = kwargs.get('vlan_id', None) + self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) + self.provisioning_state = None + self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) + self.last_modified_by = kwargs.get('last_modified_by', None) + self.ipv6_peering_config = kwargs.get('ipv6_peering_config', None) + self.name = kwargs.get('name', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection_peering_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection_peering_paged.py new file mode 100644 index 000000000000..a0994c7223b3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection_peering_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 ExpressRouteCrossConnectionPeeringPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteCrossConnectionPeering ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteCrossConnectionPeering]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteCrossConnectionPeeringPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection_peering_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection_peering_py3.py new file mode 100644 index 000000000000..e942e3c195fd --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection_peering_py3.py @@ -0,0 +1,117 @@ +# 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 ExpressRouteCrossConnectionPeering(SubResource): + """Peering in an ExpressRoute Cross Connection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param peering_type: The peering type. Possible values include: + 'AzurePublicPeering', 'AzurePrivatePeering', 'MicrosoftPeering' + :type peering_type: str or + ~azure.mgmt.network.v2018_06_01.models.ExpressRoutePeeringType + :param state: The peering state. Possible values include: 'Disabled', + 'Enabled' + :type state: str or + ~azure.mgmt.network.v2018_06_01.models.ExpressRoutePeeringState + :ivar azure_asn: The Azure ASN. + :vartype azure_asn: int + :param peer_asn: The peer ASN. + :type peer_asn: long + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :ivar primary_azure_port: The primary port. + :vartype primary_azure_port: str + :ivar secondary_azure_port: The secondary port. + :vartype secondary_azure_port: str + :param shared_key: The shared key. + :type shared_key: str + :param vlan_id: The VLAN ID. + :type vlan_id: int + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeeringConfig + :ivar provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param gateway_manager_etag: The GatewayManager Etag. + :type gateway_manager_etag: str + :param last_modified_by: Gets whether the provider or the customer last + modified the peering. + :type last_modified_by: str + :param ipv6_peering_config: The IPv6 peering configuration. + :type ipv6_peering_config: + ~azure.mgmt.network.v2018_06_01.models.Ipv6ExpressRouteCircuitPeeringConfig + :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 = { + 'azure_asn': {'readonly': True}, + 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, + 'primary_azure_port': {'readonly': True}, + 'secondary_azure_port': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, + 'state': {'key': 'properties.state', 'type': 'str'}, + 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, + 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, + 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, + 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, + 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, + 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, peering_type=None, state=None, peer_asn: int=None, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, shared_key: str=None, vlan_id: int=None, microsoft_peering_config=None, gateway_manager_etag: str=None, last_modified_by: str=None, ipv6_peering_config=None, name: str=None, **kwargs) -> None: + super(ExpressRouteCrossConnectionPeering, self).__init__(id=id, **kwargs) + self.peering_type = peering_type + self.state = state + self.azure_asn = None + self.peer_asn = peer_asn + self.primary_peer_address_prefix = primary_peer_address_prefix + self.secondary_peer_address_prefix = secondary_peer_address_prefix + self.primary_azure_port = None + self.secondary_azure_port = None + self.shared_key = shared_key + self.vlan_id = vlan_id + self.microsoft_peering_config = microsoft_peering_config + self.provisioning_state = None + self.gateway_manager_etag = gateway_manager_etag + self.last_modified_by = last_modified_by + self.ipv6_peering_config = ipv6_peering_config + self.name = name + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection_py3.py new file mode 100644 index 000000000000..cd62dfe1060c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection_py3.py @@ -0,0 +1,105 @@ +# 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 .resource_py3 import Resource + + +class ExpressRouteCrossConnection(Resource): + """ExpressRouteCrossConnection resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :ivar primary_azure_port: The name of the primary port. + :vartype primary_azure_port: str + :ivar secondary_azure_port: The name of the secondary port. + :vartype secondary_azure_port: str + :ivar s_tag: The identifier of the circuit traffic. + :vartype s_tag: int + :param peering_location: The peering location of the ExpressRoute circuit. + :type peering_location: str + :param bandwidth_in_mbps: The circuit bandwidth In Mbps. + :type bandwidth_in_mbps: int + :param express_route_circuit: The ExpressRouteCircuit + :type express_route_circuit: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitReference + :param service_provider_provisioning_state: The provisioning state of the + circuit in the connectivity provider system. Possible values are + 'NotProvisioned', 'Provisioning', 'Provisioned'. Possible values include: + 'NotProvisioned', 'Provisioning', 'Provisioned', 'Deprovisioning' + :type service_provider_provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ServiceProviderProvisioningState + :param service_provider_notes: Additional read only notes set by the + connectivity provider. + :type service_provider_notes: str + :ivar provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param peerings: The list of peerings. + :type peerings: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnectionPeering] + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'primary_azure_port': {'readonly': True}, + 'secondary_azure_port': {'readonly': True}, + 's_tag': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, + 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, + 's_tag': {'key': 'properties.sTag', 'type': 'int'}, + 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, + 'bandwidth_in_mbps': {'key': 'properties.bandwidthInMbps', 'type': 'int'}, + 'express_route_circuit': {'key': 'properties.expressRouteCircuit', 'type': 'ExpressRouteCircuitReference'}, + 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, + 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCrossConnectionPeering]'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, peering_location: str=None, bandwidth_in_mbps: int=None, express_route_circuit=None, service_provider_provisioning_state=None, service_provider_notes: str=None, peerings=None, **kwargs) -> None: + super(ExpressRouteCrossConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.primary_azure_port = None + self.secondary_azure_port = None + self.s_tag = None + self.peering_location = peering_location + self.bandwidth_in_mbps = bandwidth_in_mbps + self.express_route_circuit = express_route_circuit + self.service_provider_provisioning_state = service_provider_provisioning_state + self.service_provider_notes = service_provider_notes + self.provisioning_state = None + self.peerings = peerings + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection_routes_table_summary.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection_routes_table_summary.py new file mode 100644 index 000000000000..f6f4ab635293 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection_routes_table_summary.py @@ -0,0 +1,43 @@ +# 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.serialization import Model + + +class ExpressRouteCrossConnectionRoutesTableSummary(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param neighbor: IP address of Neighbor router + :type neighbor: str + :param asn: Autonomous system number. + :type asn: int + :param up_down: The length of time that the BGP session has been in the + Established state, or the current status if not in the Established state. + :type up_down: str + :param state_or_prefixes_received: Current state of the BGP session, and + the number of prefixes that have been received from a neighbor or peer + group. + :type state_or_prefixes_received: str + """ + + _attribute_map = { + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'asn': {'key': 'asn', 'type': 'int'}, + 'up_down': {'key': 'upDown', 'type': 'str'}, + 'state_or_prefixes_received': {'key': 'stateOrPrefixesReceived', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCrossConnectionRoutesTableSummary, self).__init__(**kwargs) + self.neighbor = kwargs.get('neighbor', None) + self.asn = kwargs.get('asn', None) + self.up_down = kwargs.get('up_down', None) + self.state_or_prefixes_received = kwargs.get('state_or_prefixes_received', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection_routes_table_summary_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection_routes_table_summary_py3.py new file mode 100644 index 000000000000..cbf47398ba2e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connection_routes_table_summary_py3.py @@ -0,0 +1,43 @@ +# 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.serialization import Model + + +class ExpressRouteCrossConnectionRoutesTableSummary(Model): + """The routes table associated with the ExpressRouteCircuit. + + :param neighbor: IP address of Neighbor router + :type neighbor: str + :param asn: Autonomous system number. + :type asn: int + :param up_down: The length of time that the BGP session has been in the + Established state, or the current status if not in the Established state. + :type up_down: str + :param state_or_prefixes_received: Current state of the BGP session, and + the number of prefixes that have been received from a neighbor or peer + group. + :type state_or_prefixes_received: str + """ + + _attribute_map = { + 'neighbor': {'key': 'neighbor', 'type': 'str'}, + 'asn': {'key': 'asn', 'type': 'int'}, + 'up_down': {'key': 'upDown', 'type': 'str'}, + 'state_or_prefixes_received': {'key': 'stateOrPrefixesReceived', 'type': 'str'}, + } + + def __init__(self, *, neighbor: str=None, asn: int=None, up_down: str=None, state_or_prefixes_received: str=None, **kwargs) -> None: + super(ExpressRouteCrossConnectionRoutesTableSummary, self).__init__(**kwargs) + self.neighbor = neighbor + self.asn = asn + self.up_down = up_down + self.state_or_prefixes_received = state_or_prefixes_received diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connections_routes_table_summary_list_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connections_routes_table_summary_list_result.py new file mode 100644 index 000000000000..d600878466bc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connections_routes_table_summary_list_result.py @@ -0,0 +1,41 @@ +# 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.serialization import Model + + +class ExpressRouteCrossConnectionsRoutesTableSummaryListResult(Model): + """Response for ListRoutesTable associated with the Express Route Cross + Connections. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of the routes table. + :type value: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnectionRoutesTableSummary] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionRoutesTableSummary]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteCrossConnectionsRoutesTableSummaryListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.next_link = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connections_routes_table_summary_list_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connections_routes_table_summary_list_result_py3.py new file mode 100644 index 000000000000..4d5d91c568d4 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_cross_connections_routes_table_summary_list_result_py3.py @@ -0,0 +1,41 @@ +# 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.serialization import Model + + +class ExpressRouteCrossConnectionsRoutesTableSummaryListResult(Model): + """Response for ListRoutesTable associated with the Express Route Cross + Connections. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param value: A list of the routes table. + :type value: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnectionRoutesTableSummary] + :ivar next_link: The URL to get the next set of results. + :vartype next_link: str + """ + + _validation = { + 'next_link': {'readonly': True}, + } + + _attribute_map = { + 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionRoutesTableSummary]'}, + 'next_link': {'key': 'nextLink', 'type': 'str'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(ExpressRouteCrossConnectionsRoutesTableSummaryListResult, self).__init__(**kwargs) + self.value = value + self.next_link = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_service_provider.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_service_provider.py new file mode 100644 index 000000000000..175708aeb12d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_service_provider.py @@ -0,0 +1,60 @@ +# 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 .resource import Resource + + +class ExpressRouteServiceProvider(Resource): + """A ExpressRouteResourceProvider object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param peering_locations: Get a list of peering locations. + :type peering_locations: list[str] + :param bandwidths_offered: Gets bandwidths offered. + :type bandwidths_offered: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteServiceProviderBandwidthsOffered] + :param provisioning_state: Gets the provisioning state of the resource. + :type provisioning_state: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, + 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteServiceProvider, self).__init__(**kwargs) + self.peering_locations = kwargs.get('peering_locations', None) + self.bandwidths_offered = kwargs.get('bandwidths_offered', None) + self.provisioning_state = kwargs.get('provisioning_state', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_service_provider_bandwidths_offered.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_service_provider_bandwidths_offered.py new file mode 100644 index 000000000000..b27622af42d1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_service_provider_bandwidths_offered.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class ExpressRouteServiceProviderBandwidthsOffered(Model): + """Contains bandwidths offered in ExpressRouteServiceProvider resources. + + :param offer_name: The OfferName. + :type offer_name: str + :param value_in_mbps: The ValueInMbps. + :type value_in_mbps: int + """ + + _attribute_map = { + 'offer_name': {'key': 'offerName', 'type': 'str'}, + 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) + self.offer_name = kwargs.get('offer_name', None) + self.value_in_mbps = kwargs.get('value_in_mbps', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_service_provider_bandwidths_offered_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_service_provider_bandwidths_offered_py3.py new file mode 100644 index 000000000000..88516a0dfcf8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_service_provider_bandwidths_offered_py3.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class ExpressRouteServiceProviderBandwidthsOffered(Model): + """Contains bandwidths offered in ExpressRouteServiceProvider resources. + + :param offer_name: The OfferName. + :type offer_name: str + :param value_in_mbps: The ValueInMbps. + :type value_in_mbps: int + """ + + _attribute_map = { + 'offer_name': {'key': 'offerName', 'type': 'str'}, + 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, + } + + def __init__(self, *, offer_name: str=None, value_in_mbps: int=None, **kwargs) -> None: + super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) + self.offer_name = offer_name + self.value_in_mbps = value_in_mbps diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_service_provider_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_service_provider_paged.py new file mode 100644 index 000000000000..3571cb0940ba --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_service_provider_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 ExpressRouteServiceProviderPaged(Paged): + """ + A paging container for iterating over a list of :class:`ExpressRouteServiceProvider ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[ExpressRouteServiceProvider]'} + } + + def __init__(self, *args, **kwargs): + + super(ExpressRouteServiceProviderPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_service_provider_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_service_provider_py3.py new file mode 100644 index 000000000000..164462c181ea --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/express_route_service_provider_py3.py @@ -0,0 +1,60 @@ +# 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 .resource_py3 import Resource + + +class ExpressRouteServiceProvider(Resource): + """A ExpressRouteResourceProvider object. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param peering_locations: Get a list of peering locations. + :type peering_locations: list[str] + :param bandwidths_offered: Gets bandwidths offered. + :type bandwidths_offered: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteServiceProviderBandwidthsOffered] + :param provisioning_state: Gets the provisioning state of the resource. + :type provisioning_state: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, + 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, peering_locations=None, bandwidths_offered=None, provisioning_state: str=None, **kwargs) -> None: + super(ExpressRouteServiceProvider, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.peering_locations = peering_locations + self.bandwidths_offered = bandwidths_offered + self.provisioning_state = provisioning_state diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/flow_log_information.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/flow_log_information.py new file mode 100644 index 000000000000..b74cc3307b01 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/flow_log_information.py @@ -0,0 +1,57 @@ +# 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.serialization import Model + + +class FlowLogInformation(Model): + """Information on the configuration of flow log and traffic analytics + (optional) . + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The ID of the resource to configure + for flow log and traffic analytics (optional) . + :type target_resource_id: str + :param storage_id: Required. ID of the storage account which is used to + store the flow log. + :type storage_id: str + :param enabled: Required. Flag to enable/disable flow logging. + :type enabled: bool + :param retention_policy: + :type retention_policy: + ~azure.mgmt.network.v2018_06_01.models.RetentionPolicyParameters + :param flow_analytics_configuration: + :type flow_analytics_configuration: + ~azure.mgmt.network.v2018_06_01.models.TrafficAnalyticsProperties + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'storage_id': {'required': True}, + 'enabled': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, + 'flow_analytics_configuration': {'key': 'flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, + } + + def __init__(self, **kwargs): + super(FlowLogInformation, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + self.storage_id = kwargs.get('storage_id', None) + self.enabled = kwargs.get('enabled', None) + self.retention_policy = kwargs.get('retention_policy', None) + self.flow_analytics_configuration = kwargs.get('flow_analytics_configuration', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/flow_log_information_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/flow_log_information_py3.py new file mode 100644 index 000000000000..05dbfca1d336 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/flow_log_information_py3.py @@ -0,0 +1,57 @@ +# 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.serialization import Model + + +class FlowLogInformation(Model): + """Information on the configuration of flow log and traffic analytics + (optional) . + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The ID of the resource to configure + for flow log and traffic analytics (optional) . + :type target_resource_id: str + :param storage_id: Required. ID of the storage account which is used to + store the flow log. + :type storage_id: str + :param enabled: Required. Flag to enable/disable flow logging. + :type enabled: bool + :param retention_policy: + :type retention_policy: + ~azure.mgmt.network.v2018_06_01.models.RetentionPolicyParameters + :param flow_analytics_configuration: + :type flow_analytics_configuration: + ~azure.mgmt.network.v2018_06_01.models.TrafficAnalyticsProperties + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'storage_id': {'required': True}, + 'enabled': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, + 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, + 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, + 'flow_analytics_configuration': {'key': 'flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, + } + + def __init__(self, *, target_resource_id: str, storage_id: str, enabled: bool, retention_policy=None, flow_analytics_configuration=None, **kwargs) -> None: + super(FlowLogInformation, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + self.storage_id = storage_id + self.enabled = enabled + self.retention_policy = retention_policy + self.flow_analytics_configuration = flow_analytics_configuration diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/flow_log_status_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/flow_log_status_parameters.py new file mode 100644 index 000000000000..1e290526a28e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/flow_log_status_parameters.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class FlowLogStatusParameters(Model): + """Parameters that define a resource to query flow log and traffic analytics + (optional) status. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource where getting the + flow log and traffic analytics (optional) status. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(FlowLogStatusParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/flow_log_status_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/flow_log_status_parameters_py3.py new file mode 100644 index 000000000000..89d079fdb715 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/flow_log_status_parameters_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class FlowLogStatusParameters(Model): + """Parameters that define a resource to query flow log and traffic analytics + (optional) status. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource where getting the + flow log and traffic analytics (optional) status. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, **kwargs) -> None: + super(FlowLogStatusParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/frontend_ip_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/frontend_ip_configuration.py new file mode 100644 index 000000000000..80a29313d849 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/frontend_ip_configuration.py @@ -0,0 +1,101 @@ +# 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 FrontendIPConfiguration(SubResource): + """Frontend IP address of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar inbound_nat_rules: Read only. Inbound rules URIs that use this + frontend IP. + :vartype inbound_nat_rules: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :ivar inbound_nat_pools: Read only. Inbound pools URIs that use this + frontend IP. + :vartype inbound_nat_pools: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :ivar outbound_nat_rules: Read only. Outbound rules URIs that use this + frontend IP. + :vartype outbound_nat_rules: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :ivar load_balancing_rules: Gets load balancing rules URIs that use this + frontend IP. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The Private IP allocation method. + Possible values are: 'Static' and 'Dynamic'. Possible values include: + 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2018_06_01.models.IPAllocationMethod + :param subnet: The reference of the subnet resource. + :type subnet: ~azure.mgmt.network.v2018_06_01.models.Subnet + :param public_ip_address: The reference of the Public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2018_06_01.models.PublicIPAddress + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'inbound_nat_rules': {'readonly': True}, + 'inbound_nat_pools': {'readonly': True}, + 'outbound_nat_rules': {'readonly': True}, + 'load_balancing_rules': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, + 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, + 'outbound_nat_rules': {'key': 'properties.outboundNatRules', 'type': '[SubResource]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(FrontendIPConfiguration, self).__init__(**kwargs) + self.inbound_nat_rules = None + self.inbound_nat_pools = None + self.outbound_nat_rules = None + self.load_balancing_rules = None + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) + self.zones = kwargs.get('zones', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/frontend_ip_configuration_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/frontend_ip_configuration_paged.py new file mode 100644 index 000000000000..0a1e1353e439 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/frontend_ip_configuration_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 FrontendIPConfigurationPaged(Paged): + """ + A paging container for iterating over a list of :class:`FrontendIPConfiguration ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[FrontendIPConfiguration]'} + } + + def __init__(self, *args, **kwargs): + + super(FrontendIPConfigurationPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/frontend_ip_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/frontend_ip_configuration_py3.py new file mode 100644 index 000000000000..54bdb1af858c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/frontend_ip_configuration_py3.py @@ -0,0 +1,101 @@ +# 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 FrontendIPConfiguration(SubResource): + """Frontend IP address of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar inbound_nat_rules: Read only. Inbound rules URIs that use this + frontend IP. + :vartype inbound_nat_rules: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :ivar inbound_nat_pools: Read only. Inbound pools URIs that use this + frontend IP. + :vartype inbound_nat_pools: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :ivar outbound_nat_rules: Read only. Outbound rules URIs that use this + frontend IP. + :vartype outbound_nat_rules: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :ivar load_balancing_rules: Gets load balancing rules URIs that use this + frontend IP. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The Private IP allocation method. + Possible values are: 'Static' and 'Dynamic'. Possible values include: + 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2018_06_01.models.IPAllocationMethod + :param subnet: The reference of the subnet resource. + :type subnet: ~azure.mgmt.network.v2018_06_01.models.Subnet + :param public_ip_address: The reference of the Public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2018_06_01.models.PublicIPAddress + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'inbound_nat_rules': {'readonly': True}, + 'inbound_nat_pools': {'readonly': True}, + 'outbound_nat_rules': {'readonly': True}, + 'load_balancing_rules': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, + 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, + 'outbound_nat_rules': {'key': 'properties.outboundNatRules', 'type': '[SubResource]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, provisioning_state: str=None, name: str=None, etag: str=None, zones=None, **kwargs) -> None: + super(FrontendIPConfiguration, self).__init__(id=id, **kwargs) + self.inbound_nat_rules = None + self.inbound_nat_pools = None + self.outbound_nat_rules = None + self.load_balancing_rules = None + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.subnet = subnet + self.public_ip_address = public_ip_address + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag + self.zones = zones diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/gateway_route.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/gateway_route.py new file mode 100644 index 000000000000..0b96cb661e70 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/gateway_route.py @@ -0,0 +1,65 @@ +# 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.serialization import Model + + +class GatewayRoute(Model): + """Gateway routing details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar local_address: The gateway's local address + :vartype local_address: str + :ivar network: The route's network prefix + :vartype network: str + :ivar next_hop: The route's next hop + :vartype next_hop: str + :ivar source_peer: The peer this route was learned from + :vartype source_peer: str + :ivar origin: The source this route was learned from + :vartype origin: str + :ivar as_path: The route's AS path sequence + :vartype as_path: str + :ivar weight: The route's weight + :vartype weight: int + """ + + _validation = { + 'local_address': {'readonly': True}, + 'network': {'readonly': True}, + 'next_hop': {'readonly': True}, + 'source_peer': {'readonly': True}, + 'origin': {'readonly': True}, + 'as_path': {'readonly': True}, + 'weight': {'readonly': True}, + } + + _attribute_map = { + 'local_address': {'key': 'localAddress', 'type': 'str'}, + 'network': {'key': 'network', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + 'source_peer': {'key': 'sourcePeer', 'type': 'str'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'as_path': {'key': 'asPath', 'type': 'str'}, + 'weight': {'key': 'weight', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(GatewayRoute, self).__init__(**kwargs) + self.local_address = None + self.network = None + self.next_hop = None + self.source_peer = None + self.origin = None + self.as_path = None + self.weight = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/gateway_route_list_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/gateway_route_list_result.py new file mode 100644 index 000000000000..0ba89da6df8b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/gateway_route_list_result.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class GatewayRouteListResult(Model): + """List of virtual network gateway routes. + + :param value: List of gateway routes + :type value: list[~azure.mgmt.network.v2018_06_01.models.GatewayRoute] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[GatewayRoute]'}, + } + + def __init__(self, **kwargs): + super(GatewayRouteListResult, self).__init__(**kwargs) + self.value = kwargs.get('value', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/gateway_route_list_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/gateway_route_list_result_py3.py new file mode 100644 index 000000000000..6d9c180373e6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/gateway_route_list_result_py3.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class GatewayRouteListResult(Model): + """List of virtual network gateway routes. + + :param value: List of gateway routes + :type value: list[~azure.mgmt.network.v2018_06_01.models.GatewayRoute] + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': '[GatewayRoute]'}, + } + + def __init__(self, *, value=None, **kwargs) -> None: + super(GatewayRouteListResult, self).__init__(**kwargs) + self.value = value diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/gateway_route_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/gateway_route_py3.py new file mode 100644 index 000000000000..1aa3ba60605f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/gateway_route_py3.py @@ -0,0 +1,65 @@ +# 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.serialization import Model + + +class GatewayRoute(Model): + """Gateway routing details. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar local_address: The gateway's local address + :vartype local_address: str + :ivar network: The route's network prefix + :vartype network: str + :ivar next_hop: The route's next hop + :vartype next_hop: str + :ivar source_peer: The peer this route was learned from + :vartype source_peer: str + :ivar origin: The source this route was learned from + :vartype origin: str + :ivar as_path: The route's AS path sequence + :vartype as_path: str + :ivar weight: The route's weight + :vartype weight: int + """ + + _validation = { + 'local_address': {'readonly': True}, + 'network': {'readonly': True}, + 'next_hop': {'readonly': True}, + 'source_peer': {'readonly': True}, + 'origin': {'readonly': True}, + 'as_path': {'readonly': True}, + 'weight': {'readonly': True}, + } + + _attribute_map = { + 'local_address': {'key': 'localAddress', 'type': 'str'}, + 'network': {'key': 'network', 'type': 'str'}, + 'next_hop': {'key': 'nextHop', 'type': 'str'}, + 'source_peer': {'key': 'sourcePeer', 'type': 'str'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'as_path': {'key': 'asPath', 'type': 'str'}, + 'weight': {'key': 'weight', 'type': 'int'}, + } + + def __init__(self, **kwargs) -> None: + super(GatewayRoute, self).__init__(**kwargs) + self.local_address = None + self.network = None + self.next_hop = None + self.source_peer = None + self.origin = None + self.as_path = None + self.weight = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/get_vpn_sites_configuration_request.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/get_vpn_sites_configuration_request.py new file mode 100644 index 000000000000..11ac5b709f75 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/get_vpn_sites_configuration_request.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class GetVpnSitesConfigurationRequest(Model): + """List of Vpn-Sites. + + :param vpn_sites: List of resource-ids of the vpn-sites for which config + is to be downloaded. + :type vpn_sites: list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param output_blob_sas_url: The sas-url to download the configurations for + vpn-sites + :type output_blob_sas_url: str + """ + + _attribute_map = { + 'vpn_sites': {'key': 'vpnSites', 'type': '[SubResource]'}, + 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(GetVpnSitesConfigurationRequest, self).__init__(**kwargs) + self.vpn_sites = kwargs.get('vpn_sites', None) + self.output_blob_sas_url = kwargs.get('output_blob_sas_url', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/get_vpn_sites_configuration_request_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/get_vpn_sites_configuration_request_py3.py new file mode 100644 index 000000000000..03bc8e2c63b7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/get_vpn_sites_configuration_request_py3.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class GetVpnSitesConfigurationRequest(Model): + """List of Vpn-Sites. + + :param vpn_sites: List of resource-ids of the vpn-sites for which config + is to be downloaded. + :type vpn_sites: list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param output_blob_sas_url: The sas-url to download the configurations for + vpn-sites + :type output_blob_sas_url: str + """ + + _attribute_map = { + 'vpn_sites': {'key': 'vpnSites', 'type': '[SubResource]'}, + 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, + } + + def __init__(self, *, vpn_sites=None, output_blob_sas_url: str=None, **kwargs) -> None: + super(GetVpnSitesConfigurationRequest, self).__init__(**kwargs) + self.vpn_sites = vpn_sites + self.output_blob_sas_url = output_blob_sas_url diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/http_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/http_configuration.py new file mode 100644 index 000000000000..e29a704b3cc1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/http_configuration.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class HTTPConfiguration(Model): + """HTTP configuration of the connectivity check. + + :param method: HTTP method. Possible values include: 'Get' + :type method: str or ~azure.mgmt.network.v2018_06_01.models.HTTPMethod + :param headers: List of HTTP headers. + :type headers: list[~azure.mgmt.network.v2018_06_01.models.HTTPHeader] + :param valid_status_codes: Valid status codes. + :type valid_status_codes: list[int] + """ + + _attribute_map = { + 'method': {'key': 'method', 'type': 'str'}, + 'headers': {'key': 'headers', 'type': '[HTTPHeader]'}, + 'valid_status_codes': {'key': 'validStatusCodes', 'type': '[int]'}, + } + + def __init__(self, **kwargs): + super(HTTPConfiguration, self).__init__(**kwargs) + self.method = kwargs.get('method', None) + self.headers = kwargs.get('headers', None) + self.valid_status_codes = kwargs.get('valid_status_codes', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/http_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/http_configuration_py3.py new file mode 100644 index 000000000000..a326d1d0499a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/http_configuration_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class HTTPConfiguration(Model): + """HTTP configuration of the connectivity check. + + :param method: HTTP method. Possible values include: 'Get' + :type method: str or ~azure.mgmt.network.v2018_06_01.models.HTTPMethod + :param headers: List of HTTP headers. + :type headers: list[~azure.mgmt.network.v2018_06_01.models.HTTPHeader] + :param valid_status_codes: Valid status codes. + :type valid_status_codes: list[int] + """ + + _attribute_map = { + 'method': {'key': 'method', 'type': 'str'}, + 'headers': {'key': 'headers', 'type': '[HTTPHeader]'}, + 'valid_status_codes': {'key': 'validStatusCodes', 'type': '[int]'}, + } + + def __init__(self, *, method=None, headers=None, valid_status_codes=None, **kwargs) -> None: + super(HTTPConfiguration, self).__init__(**kwargs) + self.method = method + self.headers = headers + self.valid_status_codes = valid_status_codes diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/http_header.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/http_header.py new file mode 100644 index 000000000000..0d0a9a93cd5a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/http_header.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class HTTPHeader(Model): + """Describes the HTTP header. + + :param name: The name in HTTP header. + :type name: str + :param value: The value in HTTP header. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HTTPHeader, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.value = kwargs.get('value', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/http_header_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/http_header_py3.py new file mode 100644 index 000000000000..366f1a2bf681 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/http_header_py3.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class HTTPHeader(Model): + """Describes the HTTP header. + + :param name: The name in HTTP header. + :type name: str + :param value: The value in HTTP header. + :type value: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, value: str=None, **kwargs) -> None: + super(HTTPHeader, self).__init__(**kwargs) + self.name = name + self.value = value diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/hub_virtual_network_connection.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/hub_virtual_network_connection.py new file mode 100644 index 000000000000..51d7be245767 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/hub_virtual_network_connection.py @@ -0,0 +1,74 @@ +# 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 .resource import Resource + + +class HubVirtualNetworkConnection(Resource): + """HubVirtualNetworkConnection Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param remote_virtual_network: Reference to the remote virtual network. + :type remote_virtual_network: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param allow_hub_to_remote_vnet_transit: VirtualHub to RemoteVnet transit + to enabled or not. + :type allow_hub_to_remote_vnet_transit: bool + :param allow_remote_vnet_to_use_hub_vnet_gateways: Allow RemoteVnet to use + Virtual Hub's gateways. + :type allow_remote_vnet_to_use_hub_vnet_gateways: bool + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, + 'allow_hub_to_remote_vnet_transit': {'key': 'properties.allowHubToRemoteVnetTransit', 'type': 'bool'}, + 'allow_remote_vnet_to_use_hub_vnet_gateways': {'key': 'properties.allowRemoteVnetToUseHubVnetGateways', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(HubVirtualNetworkConnection, self).__init__(**kwargs) + self.remote_virtual_network = kwargs.get('remote_virtual_network', None) + self.allow_hub_to_remote_vnet_transit = kwargs.get('allow_hub_to_remote_vnet_transit', None) + self.allow_remote_vnet_to_use_hub_vnet_gateways = kwargs.get('allow_remote_vnet_to_use_hub_vnet_gateways', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/hub_virtual_network_connection_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/hub_virtual_network_connection_paged.py new file mode 100644 index 000000000000..beec2162b54f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/hub_virtual_network_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 HubVirtualNetworkConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`HubVirtualNetworkConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[HubVirtualNetworkConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(HubVirtualNetworkConnectionPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/hub_virtual_network_connection_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/hub_virtual_network_connection_py3.py new file mode 100644 index 000000000000..87402d356b0e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/hub_virtual_network_connection_py3.py @@ -0,0 +1,74 @@ +# 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 .resource_py3 import Resource + + +class HubVirtualNetworkConnection(Resource): + """HubVirtualNetworkConnection Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param remote_virtual_network: Reference to the remote virtual network. + :type remote_virtual_network: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param allow_hub_to_remote_vnet_transit: VirtualHub to RemoteVnet transit + to enabled or not. + :type allow_hub_to_remote_vnet_transit: bool + :param allow_remote_vnet_to_use_hub_vnet_gateways: Allow RemoteVnet to use + Virtual Hub's gateways. + :type allow_remote_vnet_to_use_hub_vnet_gateways: bool + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, + 'allow_hub_to_remote_vnet_transit': {'key': 'properties.allowHubToRemoteVnetTransit', 'type': 'bool'}, + 'allow_remote_vnet_to_use_hub_vnet_gateways': {'key': 'properties.allowRemoteVnetToUseHubVnetGateways', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, remote_virtual_network=None, allow_hub_to_remote_vnet_transit: bool=None, allow_remote_vnet_to_use_hub_vnet_gateways: bool=None, provisioning_state=None, **kwargs) -> None: + super(HubVirtualNetworkConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.remote_virtual_network = remote_virtual_network + self.allow_hub_to_remote_vnet_transit = allow_hub_to_remote_vnet_transit + self.allow_remote_vnet_to_use_hub_vnet_gateways = allow_remote_vnet_to_use_hub_vnet_gateways + self.provisioning_state = provisioning_state + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/inbound_nat_pool.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/inbound_nat_pool.py new file mode 100644 index 000000000000..2c91a73881de --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/inbound_nat_pool.py @@ -0,0 +1,94 @@ +# 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 InboundNatPool(SubResource): + """Inbound NAT pool of the load balancer. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param protocol: Required. Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2018_06_01.models.TransportProtocol + :param frontend_port_range_start: Required. The first port number in the + range of external ports that will be used to provide Inbound Nat to NICs + associated with a load balancer. Acceptable values range between 1 and + 65534. + :type frontend_port_range_start: int + :param frontend_port_range_end: Required. The last port number in the + range of external ports that will be used to provide Inbound Nat to NICs + associated with a load balancer. Acceptable values range between 1 and + 65535. + :type frontend_port_range_end: int + :param backend_port: Required. The port used for internal connections on + the endpoint. Acceptable values are between 1 and 65535. + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param provisioning_state: Gets the provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'protocol': {'required': True}, + 'frontend_port_range_start': {'required': True}, + 'frontend_port_range_end': {'required': True}, + 'backend_port': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, + 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(InboundNatPool, self).__init__(**kwargs) + self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) + self.protocol = kwargs.get('protocol', None) + self.frontend_port_range_start = kwargs.get('frontend_port_range_start', None) + self.frontend_port_range_end = kwargs.get('frontend_port_range_end', None) + self.backend_port = kwargs.get('backend_port', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.enable_floating_ip = kwargs.get('enable_floating_ip', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/inbound_nat_pool_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/inbound_nat_pool_py3.py new file mode 100644 index 000000000000..1d92a8c43c4c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/inbound_nat_pool_py3.py @@ -0,0 +1,94 @@ +# 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 InboundNatPool(SubResource): + """Inbound NAT pool of the load balancer. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param protocol: Required. Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2018_06_01.models.TransportProtocol + :param frontend_port_range_start: Required. The first port number in the + range of external ports that will be used to provide Inbound Nat to NICs + associated with a load balancer. Acceptable values range between 1 and + 65534. + :type frontend_port_range_start: int + :param frontend_port_range_end: Required. The last port number in the + range of external ports that will be used to provide Inbound Nat to NICs + associated with a load balancer. Acceptable values range between 1 and + 65535. + :type frontend_port_range_end: int + :param backend_port: Required. The port used for internal connections on + the endpoint. Acceptable values are between 1 and 65535. + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param provisioning_state: Gets the provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'protocol': {'required': True}, + 'frontend_port_range_start': {'required': True}, + 'frontend_port_range_end': {'required': True}, + 'backend_port': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, + 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, protocol, frontend_port_range_start: int, frontend_port_range_end: int, backend_port: int, id: str=None, frontend_ip_configuration=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(InboundNatPool, self).__init__(id=id, **kwargs) + self.frontend_ip_configuration = frontend_ip_configuration + self.protocol = protocol + self.frontend_port_range_start = frontend_port_range_start + self.frontend_port_range_end = frontend_port_range_end + self.backend_port = backend_port + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.enable_floating_ip = enable_floating_ip + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/inbound_nat_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/inbound_nat_rule.py new file mode 100644 index 000000000000..621d9d26ef70 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/inbound_nat_rule.py @@ -0,0 +1,91 @@ +# 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 InboundNatRule(SubResource): + """Inbound NAT rule of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :ivar backend_ip_configuration: A reference to a private IP address + defined on a network interface of a VM. Traffic sent to the frontend port + of each of the frontend IP configurations is forwarded to the backend IP. + :vartype backend_ip_configuration: + ~azure.mgmt.network.v2018_06_01.models.NetworkInterfaceIPConfiguration + :param protocol: Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2018_06_01.models.TransportProtocol + :param frontend_port: The port for the external endpoint. Port numbers for + each rule must be unique within the Load Balancer. Acceptable values range + from 1 to 65534. + :type frontend_port: int + :param backend_port: The port used for the internal endpoint. Acceptable + values range from 1 to 65535. + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type 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 + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'backend_ip_configuration': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(InboundNatRule, self).__init__(**kwargs) + self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) + self.backend_ip_configuration = None + self.protocol = kwargs.get('protocol', None) + self.frontend_port = kwargs.get('frontend_port', None) + self.backend_port = kwargs.get('backend_port', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.enable_floating_ip = kwargs.get('enable_floating_ip', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/inbound_nat_rule_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/inbound_nat_rule_paged.py new file mode 100644 index 000000000000..c2cee333729d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/inbound_nat_rule_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 InboundNatRulePaged(Paged): + """ + A paging container for iterating over a list of :class:`InboundNatRule ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[InboundNatRule]'} + } + + def __init__(self, *args, **kwargs): + + super(InboundNatRulePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/inbound_nat_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/inbound_nat_rule_py3.py new file mode 100644 index 000000000000..e6611bcfffdc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/inbound_nat_rule_py3.py @@ -0,0 +1,91 @@ +# 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 InboundNatRule(SubResource): + """Inbound NAT rule of the load balancer. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :ivar backend_ip_configuration: A reference to a private IP address + defined on a network interface of a VM. Traffic sent to the frontend port + of each of the frontend IP configurations is forwarded to the backend IP. + :vartype backend_ip_configuration: + ~azure.mgmt.network.v2018_06_01.models.NetworkInterfaceIPConfiguration + :param protocol: Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2018_06_01.models.TransportProtocol + :param frontend_port: The port for the external endpoint. Port numbers for + each rule must be unique within the Load Balancer. Acceptable values range + from 1 to 65534. + :type frontend_port: int + :param backend_port: The port used for the internal endpoint. Acceptable + values range from 1 to 65535. + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type 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 + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'backend_ip_configuration': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, frontend_ip_configuration=None, protocol=None, frontend_port: int=None, backend_port: int=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(InboundNatRule, self).__init__(id=id, **kwargs) + self.frontend_ip_configuration = frontend_ip_configuration + self.backend_ip_configuration = None + self.protocol = protocol + self.frontend_port = frontend_port + self.backend_port = backend_port + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.enable_floating_ip = enable_floating_ip + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ip_address_availability_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ip_address_availability_result.py new file mode 100644 index 000000000000..6bcf52275711 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ip_address_availability_result.py @@ -0,0 +1,33 @@ +# 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.serialization import Model + + +class IPAddressAvailabilityResult(Model): + """Response for CheckIPAddressAvailability API service call. + + :param available: Private IP address availability. + :type available: bool + :param available_ip_addresses: Contains other available private IP + addresses if the asked for address is taken. + :type available_ip_addresses: list[str] + """ + + _attribute_map = { + 'available': {'key': 'available', 'type': 'bool'}, + 'available_ip_addresses': {'key': 'availableIPAddresses', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(IPAddressAvailabilityResult, self).__init__(**kwargs) + self.available = kwargs.get('available', None) + self.available_ip_addresses = kwargs.get('available_ip_addresses', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ip_address_availability_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ip_address_availability_result_py3.py new file mode 100644 index 000000000000..e5fc4340d370 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ip_address_availability_result_py3.py @@ -0,0 +1,33 @@ +# 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.serialization import Model + + +class IPAddressAvailabilityResult(Model): + """Response for CheckIPAddressAvailability API service call. + + :param available: Private IP address availability. + :type available: bool + :param available_ip_addresses: Contains other available private IP + addresses if the asked for address is taken. + :type available_ip_addresses: list[str] + """ + + _attribute_map = { + 'available': {'key': 'available', 'type': 'bool'}, + 'available_ip_addresses': {'key': 'availableIPAddresses', 'type': '[str]'}, + } + + def __init__(self, *, available: bool=None, available_ip_addresses=None, **kwargs) -> None: + super(IPAddressAvailabilityResult, self).__init__(**kwargs) + self.available = available + self.available_ip_addresses = available_ip_addresses diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ip_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ip_configuration.py new file mode 100644 index 000000000000..f1e5970e8496 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ip_configuration.py @@ -0,0 +1,62 @@ +# 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 IPConfiguration(SubResource): + """IP configuration. + + :param id: Resource ID. + :type id: str + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP allocation method. + Possible values are 'Static' and 'Dynamic'. Possible values include: + 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2018_06_01.models.IPAllocationMethod + :param subnet: The reference of the subnet resource. + :type subnet: ~azure.mgmt.network.v2018_06_01.models.Subnet + :param public_ip_address: The reference of the public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2018_06_01.models.PublicIPAddress + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IPConfiguration, self).__init__(**kwargs) + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ip_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ip_configuration_py3.py new file mode 100644 index 000000000000..d16f371c8d3b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ip_configuration_py3.py @@ -0,0 +1,62 @@ +# 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 IPConfiguration(SubResource): + """IP configuration. + + :param id: Resource ID. + :type id: str + :param private_ip_address: The private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: The private IP allocation method. + Possible values are 'Static' and 'Dynamic'. Possible values include: + 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2018_06_01.models.IPAllocationMethod + :param subnet: The reference of the subnet resource. + :type subnet: ~azure.mgmt.network.v2018_06_01.models.Subnet + :param public_ip_address: The reference of the public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2018_06_01.models.PublicIPAddress + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_ip_address: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(IPConfiguration, self).__init__(id=id, **kwargs) + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.subnet = subnet + self.public_ip_address = public_ip_address + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ip_tag.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ip_tag.py new file mode 100644 index 000000000000..b8690371226d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ip_tag.py @@ -0,0 +1,33 @@ +# 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.serialization import Model + + +class IpTag(Model): + """Contains the IpTag associated with the public IP address. + + :param ip_tag_type: Gets or sets the ipTag type: Example FirstPartyUsage. + :type ip_tag_type: str + :param tag: Gets or sets value of the IpTag associated with the public IP. + Example SQL, Storage etc + :type tag: str + """ + + _attribute_map = { + 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpTag, self).__init__(**kwargs) + self.ip_tag_type = kwargs.get('ip_tag_type', None) + self.tag = kwargs.get('tag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ip_tag_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ip_tag_py3.py new file mode 100644 index 000000000000..fbb5338ff30e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ip_tag_py3.py @@ -0,0 +1,33 @@ +# 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.serialization import Model + + +class IpTag(Model): + """Contains the IpTag associated with the public IP address. + + :param ip_tag_type: Gets or sets the ipTag type: Example FirstPartyUsage. + :type ip_tag_type: str + :param tag: Gets or sets value of the IpTag associated with the public IP. + Example SQL, Storage etc + :type tag: str + """ + + _attribute_map = { + 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, + 'tag': {'key': 'tag', 'type': 'str'}, + } + + def __init__(self, *, ip_tag_type: str=None, tag: str=None, **kwargs) -> None: + super(IpTag, self).__init__(**kwargs) + self.ip_tag_type = ip_tag_type + self.tag = tag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ipsec_policy.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ipsec_policy.py new file mode 100644 index 000000000000..45d880ed8b71 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ipsec_policy.py @@ -0,0 +1,89 @@ +# 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.serialization import Model + + +class IpsecPolicy(Model): + """An IPSec Policy configuration for a virtual network gateway connection. + + All required parameters must be populated in order to send to Azure. + + :param sa_life_time_seconds: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to + site VPN tunnel. + :type sa_life_time_seconds: int + :param sa_data_size_kilobytes: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) payload size in KB for a site to + site VPN tunnel. + :type sa_data_size_kilobytes: int + :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE + phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', + 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + :type ipsec_encryption: str or + ~azure.mgmt.network.v2018_06_01.models.IpsecEncryption + :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase + 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', + 'GCMAES192', 'GCMAES256' + :type ipsec_integrity: str or + ~azure.mgmt.network.v2018_06_01.models.IpsecIntegrity + :param ike_encryption: Required. The IKE encryption algorithm (IKE phase + 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', + 'GCMAES256', 'GCMAES128' + :type ike_encryption: str or + ~azure.mgmt.network.v2018_06_01.models.IkeEncryption + :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). + Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', + 'GCMAES128' + :type ike_integrity: str or + ~azure.mgmt.network.v2018_06_01.models.IkeIntegrity + :param dh_group: Required. The DH Groups used in IKE Phase 1 for initial + SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', + 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + :type dh_group: str or ~azure.mgmt.network.v2018_06_01.models.DhGroup + :param pfs_group: Required. The Pfs Groups used in IKE Phase 2 for new + child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', + 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + :type pfs_group: str or ~azure.mgmt.network.v2018_06_01.models.PfsGroup + """ + + _validation = { + 'sa_life_time_seconds': {'required': True}, + 'sa_data_size_kilobytes': {'required': True}, + 'ipsec_encryption': {'required': True}, + 'ipsec_integrity': {'required': True}, + 'ike_encryption': {'required': True}, + 'ike_integrity': {'required': True}, + 'dh_group': {'required': True}, + 'pfs_group': {'required': True}, + } + + _attribute_map = { + 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, + 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, + 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, + 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, + 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, + 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, + 'dh_group': {'key': 'dhGroup', 'type': 'str'}, + 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(IpsecPolicy, self).__init__(**kwargs) + self.sa_life_time_seconds = kwargs.get('sa_life_time_seconds', None) + self.sa_data_size_kilobytes = kwargs.get('sa_data_size_kilobytes', None) + self.ipsec_encryption = kwargs.get('ipsec_encryption', None) + self.ipsec_integrity = kwargs.get('ipsec_integrity', None) + self.ike_encryption = kwargs.get('ike_encryption', None) + self.ike_integrity = kwargs.get('ike_integrity', None) + self.dh_group = kwargs.get('dh_group', None) + self.pfs_group = kwargs.get('pfs_group', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ipsec_policy_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ipsec_policy_py3.py new file mode 100644 index 000000000000..8c9965f2382b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ipsec_policy_py3.py @@ -0,0 +1,89 @@ +# 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.serialization import Model + + +class IpsecPolicy(Model): + """An IPSec Policy configuration for a virtual network gateway connection. + + All required parameters must be populated in order to send to Azure. + + :param sa_life_time_seconds: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) lifetime in seconds for a site to + site VPN tunnel. + :type sa_life_time_seconds: int + :param sa_data_size_kilobytes: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) payload size in KB for a site to + site VPN tunnel. + :type sa_data_size_kilobytes: int + :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE + phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', + 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + :type ipsec_encryption: str or + ~azure.mgmt.network.v2018_06_01.models.IpsecEncryption + :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase + 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', + 'GCMAES192', 'GCMAES256' + :type ipsec_integrity: str or + ~azure.mgmt.network.v2018_06_01.models.IpsecIntegrity + :param ike_encryption: Required. The IKE encryption algorithm (IKE phase + 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', + 'GCMAES256', 'GCMAES128' + :type ike_encryption: str or + ~azure.mgmt.network.v2018_06_01.models.IkeEncryption + :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). + Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', + 'GCMAES128' + :type ike_integrity: str or + ~azure.mgmt.network.v2018_06_01.models.IkeIntegrity + :param dh_group: Required. The DH Groups used in IKE Phase 1 for initial + SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', + 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + :type dh_group: str or ~azure.mgmt.network.v2018_06_01.models.DhGroup + :param pfs_group: Required. The Pfs Groups used in IKE Phase 2 for new + child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', + 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + :type pfs_group: str or ~azure.mgmt.network.v2018_06_01.models.PfsGroup + """ + + _validation = { + 'sa_life_time_seconds': {'required': True}, + 'sa_data_size_kilobytes': {'required': True}, + 'ipsec_encryption': {'required': True}, + 'ipsec_integrity': {'required': True}, + 'ike_encryption': {'required': True}, + 'ike_integrity': {'required': True}, + 'dh_group': {'required': True}, + 'pfs_group': {'required': True}, + } + + _attribute_map = { + 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, + 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, + 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, + 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, + 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, + 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, + 'dh_group': {'key': 'dhGroup', 'type': 'str'}, + 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, + } + + def __init__(self, *, sa_life_time_seconds: int, sa_data_size_kilobytes: int, ipsec_encryption, ipsec_integrity, ike_encryption, ike_integrity, dh_group, pfs_group, **kwargs) -> None: + super(IpsecPolicy, self).__init__(**kwargs) + self.sa_life_time_seconds = sa_life_time_seconds + self.sa_data_size_kilobytes = sa_data_size_kilobytes + self.ipsec_encryption = ipsec_encryption + self.ipsec_integrity = ipsec_integrity + self.ike_encryption = ike_encryption + self.ike_integrity = ike_integrity + self.dh_group = dh_group + self.pfs_group = pfs_group diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ipv6_express_route_circuit_peering_config.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ipv6_express_route_circuit_peering_config.py new file mode 100644 index 000000000000..04daeed36350 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ipv6_express_route_circuit_peering_config.py @@ -0,0 +1,47 @@ +# 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.serialization import Model + + +class Ipv6ExpressRouteCircuitPeeringConfig(Model): + """Contains IPv6 peering config. + + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeeringConfig + :param route_filter: The reference of the RouteFilter resource. + :type route_filter: ~azure.mgmt.network.v2018_06_01.models.RouteFilter + :param state: The state of peering. Possible values are: 'Disabled' and + 'Enabled'. Possible values include: 'Disabled', 'Enabled' + :type state: str or + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeeringState + """ + + _attribute_map = { + 'primary_peer_address_prefix': {'key': 'primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'secondaryPeerAddressPrefix', 'type': 'str'}, + 'microsoft_peering_config': {'key': 'microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'route_filter': {'key': 'routeFilter', 'type': 'RouteFilter'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Ipv6ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) + self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) + self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) + self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) + self.route_filter = kwargs.get('route_filter', None) + self.state = kwargs.get('state', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ipv6_express_route_circuit_peering_config_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ipv6_express_route_circuit_peering_config_py3.py new file mode 100644 index 000000000000..8bd5818db2ab --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/ipv6_express_route_circuit_peering_config_py3.py @@ -0,0 +1,47 @@ +# 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.serialization import Model + + +class Ipv6ExpressRouteCircuitPeeringConfig(Model): + """Contains IPv6 peering config. + + :param primary_peer_address_prefix: The primary address prefix. + :type primary_peer_address_prefix: str + :param secondary_peer_address_prefix: The secondary address prefix. + :type secondary_peer_address_prefix: str + :param microsoft_peering_config: The Microsoft peering configuration. + :type microsoft_peering_config: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeeringConfig + :param route_filter: The reference of the RouteFilter resource. + :type route_filter: ~azure.mgmt.network.v2018_06_01.models.RouteFilter + :param state: The state of peering. Possible values are: 'Disabled' and + 'Enabled'. Possible values include: 'Disabled', 'Enabled' + :type state: str or + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeeringState + """ + + _attribute_map = { + 'primary_peer_address_prefix': {'key': 'primaryPeerAddressPrefix', 'type': 'str'}, + 'secondary_peer_address_prefix': {'key': 'secondaryPeerAddressPrefix', 'type': 'str'}, + 'microsoft_peering_config': {'key': 'microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, + 'route_filter': {'key': 'routeFilter', 'type': 'RouteFilter'}, + 'state': {'key': 'state', 'type': 'str'}, + } + + def __init__(self, *, primary_peer_address_prefix: str=None, secondary_peer_address_prefix: str=None, microsoft_peering_config=None, route_filter=None, state=None, **kwargs) -> None: + super(Ipv6ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) + self.primary_peer_address_prefix = primary_peer_address_prefix + self.secondary_peer_address_prefix = secondary_peer_address_prefix + self.microsoft_peering_config = microsoft_peering_config + self.route_filter = route_filter + self.state = state diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancer.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancer.py new file mode 100644 index 000000000000..454d40d191f8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancer.py @@ -0,0 +1,115 @@ +# 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 .resource import Resource + + +class LoadBalancer(Resource): + """LoadBalancer resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The load balancer SKU. + :type sku: ~azure.mgmt.network.v2018_06_01.models.LoadBalancerSku + :param frontend_ip_configurations: Object representing the frontend IPs to + be used for the load balancer + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2018_06_01.models.FrontendIPConfiguration] + :param backend_address_pools: Collection of backend address pools used by + a load balancer + :type backend_address_pools: + list[~azure.mgmt.network.v2018_06_01.models.BackendAddressPool] + :param load_balancing_rules: Object collection representing the load + balancing rules Gets the provisioning + :type load_balancing_rules: + list[~azure.mgmt.network.v2018_06_01.models.LoadBalancingRule] + :param probes: Collection of probe objects used in the load balancer + :type probes: list[~azure.mgmt.network.v2018_06_01.models.Probe] + :param inbound_nat_rules: Collection of inbound NAT Rules used by a load + balancer. Defining inbound NAT rules on your load balancer is mutually + exclusive with defining an inbound NAT pool. Inbound NAT pools are + referenced from virtual machine scale sets. NICs that are associated with + individual virtual machines cannot reference an Inbound NAT pool. They + have to reference individual inbound NAT rules. + :type inbound_nat_rules: + list[~azure.mgmt.network.v2018_06_01.models.InboundNatRule] + :param inbound_nat_pools: Defines an external port range for inbound NAT + to a single backend port on NICs associated with a load balancer. Inbound + NAT rules are created automatically for each NIC associated with the Load + Balancer using an external port from this range. Defining an Inbound NAT + pool on your Load Balancer is mutually exclusive with defining inbound Nat + rules. Inbound NAT pools are referenced from virtual machine scale sets. + NICs that are associated with individual virtual machines cannot reference + an inbound NAT pool. They have to reference individual inbound NAT rules. + :type inbound_nat_pools: + list[~azure.mgmt.network.v2018_06_01.models.InboundNatPool] + :param outbound_nat_rules: The outbound NAT rules. + :type outbound_nat_rules: + list[~azure.mgmt.network.v2018_06_01.models.OutboundNatRule] + :param resource_guid: The resource GUID property of the load balancer + resource. + :type resource_guid: str + :param provisioning_state: Gets the provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'LoadBalancerSku'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, + 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, + 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, + 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, + 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, + 'outbound_nat_rules': {'key': 'properties.outboundNatRules', 'type': '[OutboundNatRule]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LoadBalancer, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) + self.backend_address_pools = kwargs.get('backend_address_pools', None) + self.load_balancing_rules = kwargs.get('load_balancing_rules', None) + self.probes = kwargs.get('probes', None) + self.inbound_nat_rules = kwargs.get('inbound_nat_rules', None) + self.inbound_nat_pools = kwargs.get('inbound_nat_pools', None) + self.outbound_nat_rules = kwargs.get('outbound_nat_rules', None) + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancer_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancer_paged.py new file mode 100644 index 000000000000..28ceeade6160 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancer_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 LoadBalancerPaged(Paged): + """ + A paging container for iterating over a list of :class:`LoadBalancer ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[LoadBalancer]'} + } + + def __init__(self, *args, **kwargs): + + super(LoadBalancerPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancer_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancer_py3.py new file mode 100644 index 000000000000..4ded16a8432a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancer_py3.py @@ -0,0 +1,115 @@ +# 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 .resource_py3 import Resource + + +class LoadBalancer(Resource): + """LoadBalancer resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The load balancer SKU. + :type sku: ~azure.mgmt.network.v2018_06_01.models.LoadBalancerSku + :param frontend_ip_configurations: Object representing the frontend IPs to + be used for the load balancer + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2018_06_01.models.FrontendIPConfiguration] + :param backend_address_pools: Collection of backend address pools used by + a load balancer + :type backend_address_pools: + list[~azure.mgmt.network.v2018_06_01.models.BackendAddressPool] + :param load_balancing_rules: Object collection representing the load + balancing rules Gets the provisioning + :type load_balancing_rules: + list[~azure.mgmt.network.v2018_06_01.models.LoadBalancingRule] + :param probes: Collection of probe objects used in the load balancer + :type probes: list[~azure.mgmt.network.v2018_06_01.models.Probe] + :param inbound_nat_rules: Collection of inbound NAT Rules used by a load + balancer. Defining inbound NAT rules on your load balancer is mutually + exclusive with defining an inbound NAT pool. Inbound NAT pools are + referenced from virtual machine scale sets. NICs that are associated with + individual virtual machines cannot reference an Inbound NAT pool. They + have to reference individual inbound NAT rules. + :type inbound_nat_rules: + list[~azure.mgmt.network.v2018_06_01.models.InboundNatRule] + :param inbound_nat_pools: Defines an external port range for inbound NAT + to a single backend port on NICs associated with a load balancer. Inbound + NAT rules are created automatically for each NIC associated with the Load + Balancer using an external port from this range. Defining an Inbound NAT + pool on your Load Balancer is mutually exclusive with defining inbound Nat + rules. Inbound NAT pools are referenced from virtual machine scale sets. + NICs that are associated with individual virtual machines cannot reference + an inbound NAT pool. They have to reference individual inbound NAT rules. + :type inbound_nat_pools: + list[~azure.mgmt.network.v2018_06_01.models.InboundNatPool] + :param outbound_nat_rules: The outbound NAT rules. + :type outbound_nat_rules: + list[~azure.mgmt.network.v2018_06_01.models.OutboundNatRule] + :param resource_guid: The resource GUID property of the load balancer + resource. + :type resource_guid: str + :param provisioning_state: Gets the provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'LoadBalancerSku'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, + 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, + 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, + 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, + 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, + 'outbound_nat_rules': {'key': 'properties.outboundNatRules', 'type': '[OutboundNatRule]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, frontend_ip_configurations=None, backend_address_pools=None, load_balancing_rules=None, probes=None, inbound_nat_rules=None, inbound_nat_pools=None, outbound_nat_rules=None, resource_guid: str=None, provisioning_state: str=None, etag: str=None, **kwargs) -> None: + super(LoadBalancer, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.frontend_ip_configurations = frontend_ip_configurations + self.backend_address_pools = backend_address_pools + self.load_balancing_rules = load_balancing_rules + self.probes = probes + self.inbound_nat_rules = inbound_nat_rules + self.inbound_nat_pools = inbound_nat_pools + self.outbound_nat_rules = outbound_nat_rules + self.resource_guid = resource_guid + self.provisioning_state = provisioning_state + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancer_sku.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancer_sku.py new file mode 100644 index 000000000000..513f46959e44 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancer_sku.py @@ -0,0 +1,30 @@ +# 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.serialization import Model + + +class LoadBalancerSku(Model): + """SKU of a load balancer. + + :param name: Name of a load balancer SKU. Possible values include: + 'Basic', 'Standard' + :type name: str or + ~azure.mgmt.network.v2018_06_01.models.LoadBalancerSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LoadBalancerSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancer_sku_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancer_sku_py3.py new file mode 100644 index 000000000000..8b75ca2239b1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancer_sku_py3.py @@ -0,0 +1,30 @@ +# 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.serialization import Model + + +class LoadBalancerSku(Model): + """SKU of a load balancer. + + :param name: Name of a load balancer SKU. Possible values include: + 'Basic', 'Standard' + :type name: str or + ~azure.mgmt.network.v2018_06_01.models.LoadBalancerSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name=None, **kwargs) -> None: + super(LoadBalancerSku, self).__init__(**kwargs) + self.name = name diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancing_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancing_rule.py new file mode 100644 index 000000000000..bba832d00bae --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancing_rule.py @@ -0,0 +1,109 @@ +# 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 LoadBalancingRule(SubResource): + """A load balancing rule for a load balancer. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param backend_address_pool: A reference to a pool of DIPs. Inbound + traffic is randomly load balanced across IPs in the backend IPs. + :type backend_address_pool: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param probe: The reference of the load balancer probe used by the load + balancing rule. + :type probe: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param protocol: Required. Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2018_06_01.models.TransportProtocol + :param load_distribution: The load distribution policy for this rule. + Possible values are 'Default', 'SourceIP', and 'SourceIPProtocol'. + Possible values include: 'Default', 'SourceIP', 'SourceIPProtocol' + :type load_distribution: str or + ~azure.mgmt.network.v2018_06_01.models.LoadDistribution + :param frontend_port: Required. The port for the external endpoint. Port + numbers for each rule must be unique within the Load Balancer. Acceptable + values are between 0 and 65534. Note that value 0 enables "Any Port" + :type frontend_port: int + :param backend_port: The port used for internal connections on the + endpoint. Acceptable values are between 0 and 65535. Note that value 0 + enables "Any Port" + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param disable_outbound_snat: Configures SNAT for the VMs in the backend + pool to use the publicIP address specified in the frontend of the load + balancing rule. + :type disable_outbound_snat: bool + :param provisioning_state: Gets the provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'protocol': {'required': True}, + 'frontend_port': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'disable_outbound_snat': {'key': 'properties.disableOutboundSnat', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LoadBalancingRule, self).__init__(**kwargs) + self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.probe = kwargs.get('probe', None) + self.protocol = kwargs.get('protocol', None) + self.load_distribution = kwargs.get('load_distribution', None) + self.frontend_port = kwargs.get('frontend_port', None) + self.backend_port = kwargs.get('backend_port', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.enable_floating_ip = kwargs.get('enable_floating_ip', None) + self.disable_outbound_snat = kwargs.get('disable_outbound_snat', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancing_rule_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancing_rule_paged.py new file mode 100644 index 000000000000..c49676ca971a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancing_rule_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 LoadBalancingRulePaged(Paged): + """ + A paging container for iterating over a list of :class:`LoadBalancingRule ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[LoadBalancingRule]'} + } + + def __init__(self, *args, **kwargs): + + super(LoadBalancingRulePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancing_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancing_rule_py3.py new file mode 100644 index 000000000000..0744d2c0785b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/load_balancing_rule_py3.py @@ -0,0 +1,109 @@ +# 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 LoadBalancingRule(SubResource): + """A load balancing rule for a load balancer. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param frontend_ip_configuration: A reference to frontend IP addresses. + :type frontend_ip_configuration: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param backend_address_pool: A reference to a pool of DIPs. Inbound + traffic is randomly load balanced across IPs in the backend IPs. + :type backend_address_pool: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param probe: The reference of the load balancer probe used by the load + balancing rule. + :type probe: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param protocol: Required. Possible values include: 'Udp', 'Tcp', 'All' + :type protocol: str or + ~azure.mgmt.network.v2018_06_01.models.TransportProtocol + :param load_distribution: The load distribution policy for this rule. + Possible values are 'Default', 'SourceIP', and 'SourceIPProtocol'. + Possible values include: 'Default', 'SourceIP', 'SourceIPProtocol' + :type load_distribution: str or + ~azure.mgmt.network.v2018_06_01.models.LoadDistribution + :param frontend_port: Required. The port for the external endpoint. Port + numbers for each rule must be unique within the Load Balancer. Acceptable + values are between 0 and 65534. Note that value 0 enables "Any Port" + :type frontend_port: int + :param backend_port: The port used for internal connections on the + endpoint. Acceptable values are between 0 and 65535. Note that value 0 + enables "Any Port" + :type backend_port: int + :param idle_timeout_in_minutes: The timeout for the TCP idle connection. + The value can be set between 4 and 30 minutes. The default value is 4 + minutes. This element is only used when the protocol is set to TCP. + :type idle_timeout_in_minutes: int + :param enable_floating_ip: Configures a virtual machine's endpoint for the + floating IP capability required to configure a SQL AlwaysOn Availability + Group. This setting is required when using the SQL AlwaysOn Availability + Groups in SQL server. This setting can't be changed after you create the + endpoint. + :type enable_floating_ip: bool + :param disable_outbound_snat: Configures SNAT for the VMs in the backend + pool to use the publicIP address specified in the frontend of the load + balancing rule. + :type disable_outbound_snat: bool + :param provisioning_state: Gets the provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'protocol': {'required': True}, + 'frontend_port': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, + 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, + 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, + 'disable_outbound_snat': {'key': 'properties.disableOutboundSnat', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, protocol, frontend_port: int, id: str=None, frontend_ip_configuration=None, backend_address_pool=None, probe=None, load_distribution=None, backend_port: int=None, idle_timeout_in_minutes: int=None, enable_floating_ip: bool=None, disable_outbound_snat: bool=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(LoadBalancingRule, self).__init__(id=id, **kwargs) + self.frontend_ip_configuration = frontend_ip_configuration + self.backend_address_pool = backend_address_pool + self.probe = probe + self.protocol = protocol + self.load_distribution = load_distribution + self.frontend_port = frontend_port + self.backend_port = backend_port + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.enable_floating_ip = enable_floating_ip + self.disable_outbound_snat = disable_outbound_snat + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/local_network_gateway.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/local_network_gateway.py new file mode 100644 index 000000000000..b35cc23c9e2e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/local_network_gateway.py @@ -0,0 +1,77 @@ +# 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 .resource import Resource + + +class LocalNetworkGateway(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param local_network_address_space: Local network site address space. + :type local_network_address_space: + ~azure.mgmt.network.v2018_06_01.models.AddressSpace + :param gateway_ip_address: IP address of local network gateway. + :type gateway_ip_address: str + :param bgp_settings: Local network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2018_06_01.models.BgpSettings + :param resource_guid: The resource GUID property of the + LocalNetworkGateway resource. + :type resource_guid: str + :ivar provisioning_state: The provisioning state of the + LocalNetworkGateway resource. Possible values are: 'Updating', 'Deleting', + and 'Failed'. + :vartype provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, + 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LocalNetworkGateway, self).__init__(**kwargs) + self.local_network_address_space = kwargs.get('local_network_address_space', None) + self.gateway_ip_address = kwargs.get('gateway_ip_address', None) + self.bgp_settings = kwargs.get('bgp_settings', None) + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = None + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/local_network_gateway_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/local_network_gateway_paged.py new file mode 100644 index 000000000000..7eb3fef0c8d3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/local_network_gateway_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 LocalNetworkGatewayPaged(Paged): + """ + A paging container for iterating over a list of :class:`LocalNetworkGateway ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[LocalNetworkGateway]'} + } + + def __init__(self, *args, **kwargs): + + super(LocalNetworkGatewayPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/local_network_gateway_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/local_network_gateway_py3.py new file mode 100644 index 000000000000..faadadda0a49 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/local_network_gateway_py3.py @@ -0,0 +1,77 @@ +# 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 .resource_py3 import Resource + + +class LocalNetworkGateway(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param local_network_address_space: Local network site address space. + :type local_network_address_space: + ~azure.mgmt.network.v2018_06_01.models.AddressSpace + :param gateway_ip_address: IP address of local network gateway. + :type gateway_ip_address: str + :param bgp_settings: Local network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2018_06_01.models.BgpSettings + :param resource_guid: The resource GUID property of the + LocalNetworkGateway resource. + :type resource_guid: str + :ivar provisioning_state: The provisioning state of the + LocalNetworkGateway resource. Possible values are: 'Updating', 'Deleting', + and 'Failed'. + :vartype provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, + 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, local_network_address_space=None, gateway_ip_address: str=None, bgp_settings=None, resource_guid: str=None, etag: str=None, **kwargs) -> None: + super(LocalNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.local_network_address_space = local_network_address_space + self.gateway_ip_address = gateway_ip_address + self.bgp_settings = bgp_settings + self.resource_guid = resource_guid + self.provisioning_state = None + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/log_specification.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/log_specification.py new file mode 100644 index 000000000000..ab592992d904 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/log_specification.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class LogSpecification(Model): + """Description of logging specification. + + :param name: The name of the specification. + :type name: str + :param display_name: The display name of the specification. + :type display_name: str + :param blob_duration: Duration of the blob. + :type blob_duration: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(LogSpecification, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.blob_duration = kwargs.get('blob_duration', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/log_specification_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/log_specification_py3.py new file mode 100644 index 000000000000..6184811d393e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/log_specification_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class LogSpecification(Model): + """Description of logging specification. + + :param name: The name of the specification. + :type name: str + :param display_name: The display name of the specification. + :type display_name: str + :param blob_duration: Duration of the blob. + :type blob_duration: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, blob_duration: str=None, **kwargs) -> None: + super(LogSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.blob_duration = blob_duration diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/metric_specification.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/metric_specification.py new file mode 100644 index 000000000000..0c0373027eb6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/metric_specification.py @@ -0,0 +1,82 @@ +# 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.serialization import Model + + +class MetricSpecification(Model): + """Description of metrics specification. + + :param name: The name of the metric. + :type name: str + :param display_name: The display name of the metric. + :type display_name: str + :param display_description: The description of the metric. + :type display_description: str + :param unit: Units the metric to be displayed in. + :type unit: str + :param aggregation_type: The aggregation type. + :type aggregation_type: str + :param availabilities: List of availability. + :type availabilities: + list[~azure.mgmt.network.v2018_06_01.models.Availability] + :param enable_regional_mdm_account: Whether regional MDM account enabled. + :type enable_regional_mdm_account: bool + :param fill_gap_with_zero: Whether gaps would be filled with zeros. + :type fill_gap_with_zero: bool + :param metric_filter_pattern: Pattern for the filter of the metric. + :type metric_filter_pattern: str + :param dimensions: List of dimensions. + :type dimensions: list[~azure.mgmt.network.v2018_06_01.models.Dimension] + :param is_internal: Whether the metric is internal. + :type is_internal: bool + :param source_mdm_account: The source MDM account. + :type source_mdm_account: str + :param source_mdm_namespace: The source MDM namespace. + :type source_mdm_namespace: str + :param resource_id_dimension_name_override: The resource Id dimension name + override. + :type resource_id_dimension_name_override: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'availabilities': {'key': 'availabilities', 'type': '[Availability]'}, + 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'is_internal': {'key': 'isInternal', 'type': 'bool'}, + 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, + 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(MetricSpecification, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display_name = kwargs.get('display_name', None) + self.display_description = kwargs.get('display_description', None) + self.unit = kwargs.get('unit', None) + self.aggregation_type = kwargs.get('aggregation_type', None) + self.availabilities = kwargs.get('availabilities', None) + self.enable_regional_mdm_account = kwargs.get('enable_regional_mdm_account', None) + self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) + self.metric_filter_pattern = kwargs.get('metric_filter_pattern', None) + self.dimensions = kwargs.get('dimensions', None) + self.is_internal = kwargs.get('is_internal', None) + self.source_mdm_account = kwargs.get('source_mdm_account', None) + self.source_mdm_namespace = kwargs.get('source_mdm_namespace', None) + self.resource_id_dimension_name_override = kwargs.get('resource_id_dimension_name_override', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/metric_specification_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/metric_specification_py3.py new file mode 100644 index 000000000000..cfd05c7fc947 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/metric_specification_py3.py @@ -0,0 +1,82 @@ +# 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.serialization import Model + + +class MetricSpecification(Model): + """Description of metrics specification. + + :param name: The name of the metric. + :type name: str + :param display_name: The display name of the metric. + :type display_name: str + :param display_description: The description of the metric. + :type display_description: str + :param unit: Units the metric to be displayed in. + :type unit: str + :param aggregation_type: The aggregation type. + :type aggregation_type: str + :param availabilities: List of availability. + :type availabilities: + list[~azure.mgmt.network.v2018_06_01.models.Availability] + :param enable_regional_mdm_account: Whether regional MDM account enabled. + :type enable_regional_mdm_account: bool + :param fill_gap_with_zero: Whether gaps would be filled with zeros. + :type fill_gap_with_zero: bool + :param metric_filter_pattern: Pattern for the filter of the metric. + :type metric_filter_pattern: str + :param dimensions: List of dimensions. + :type dimensions: list[~azure.mgmt.network.v2018_06_01.models.Dimension] + :param is_internal: Whether the metric is internal. + :type is_internal: bool + :param source_mdm_account: The source MDM account. + :type source_mdm_account: str + :param source_mdm_namespace: The source MDM namespace. + :type source_mdm_namespace: str + :param resource_id_dimension_name_override: The resource Id dimension name + override. + :type resource_id_dimension_name_override: str + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display_name': {'key': 'displayName', 'type': 'str'}, + 'display_description': {'key': 'displayDescription', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, + 'availabilities': {'key': 'availabilities', 'type': '[Availability]'}, + 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, + 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, + 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, + 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, + 'is_internal': {'key': 'isInternal', 'type': 'bool'}, + 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, + 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, + 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, display_name: str=None, display_description: str=None, unit: str=None, aggregation_type: str=None, availabilities=None, enable_regional_mdm_account: bool=None, fill_gap_with_zero: bool=None, metric_filter_pattern: str=None, dimensions=None, is_internal: bool=None, source_mdm_account: str=None, source_mdm_namespace: str=None, resource_id_dimension_name_override: str=None, **kwargs) -> None: + super(MetricSpecification, self).__init__(**kwargs) + self.name = name + self.display_name = display_name + self.display_description = display_description + self.unit = unit + self.aggregation_type = aggregation_type + self.availabilities = availabilities + self.enable_regional_mdm_account = enable_regional_mdm_account + self.fill_gap_with_zero = fill_gap_with_zero + self.metric_filter_pattern = metric_filter_pattern + self.dimensions = dimensions + self.is_internal = is_internal + self.source_mdm_account = source_mdm_account + self.source_mdm_namespace = source_mdm_namespace + self.resource_id_dimension_name_override = resource_id_dimension_name_override diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface.py new file mode 100644 index 000000000000..c994cc867591 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface.py @@ -0,0 +1,102 @@ +# 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 .resource import Resource + + +class NetworkInterface(Resource): + """A network interface in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_machine: The reference of a virtual machine. + :type virtual_machine: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param network_security_group: The reference of the NetworkSecurityGroup + resource. + :type network_security_group: + ~azure.mgmt.network.v2018_06_01.models.NetworkSecurityGroup + :param ip_configurations: A list of IPConfigurations of the network + interface. + :type ip_configurations: + list[~azure.mgmt.network.v2018_06_01.models.NetworkInterfaceIPConfiguration] + :param dns_settings: The DNS settings in network interface. + :type dns_settings: + ~azure.mgmt.network.v2018_06_01.models.NetworkInterfaceDnsSettings + :param mac_address: The MAC address of the network interface. + :type mac_address: str + :param primary: Gets whether this is a primary network interface on a + virtual machine. + :type primary: bool + :param enable_accelerated_networking: If the network interface is + accelerated networking enabled. + :type enable_accelerated_networking: bool + :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on + this network interface. + :type enable_ip_forwarding: bool + :param resource_guid: The resource GUID property of the network interface + resource. + :type resource_guid: str + :param provisioning_state: The provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, + 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, + 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, + 'primary': {'key': 'properties.primary', 'type': 'bool'}, + 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, + 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkInterface, self).__init__(**kwargs) + self.virtual_machine = kwargs.get('virtual_machine', None) + self.network_security_group = kwargs.get('network_security_group', None) + self.ip_configurations = kwargs.get('ip_configurations', None) + self.dns_settings = kwargs.get('dns_settings', None) + self.mac_address = kwargs.get('mac_address', None) + self.primary = kwargs.get('primary', None) + self.enable_accelerated_networking = kwargs.get('enable_accelerated_networking', None) + self.enable_ip_forwarding = kwargs.get('enable_ip_forwarding', None) + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_association.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_association.py new file mode 100644 index 000000000000..ad76e00d70bf --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_association.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class NetworkInterfaceAssociation(Model): + """Network interface and its custom security rules. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Network interface ID. + :vartype id: str + :param security_rules: Collection of custom security rules. + :type security_rules: + list[~azure.mgmt.network.v2018_06_01.models.SecurityRule] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, + } + + def __init__(self, **kwargs): + super(NetworkInterfaceAssociation, self).__init__(**kwargs) + self.id = None + self.security_rules = kwargs.get('security_rules', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_association_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_association_py3.py new file mode 100644 index 000000000000..7de9db05157a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_association_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class NetworkInterfaceAssociation(Model): + """Network interface and its custom security rules. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Network interface ID. + :vartype id: str + :param security_rules: Collection of custom security rules. + :type security_rules: + list[~azure.mgmt.network.v2018_06_01.models.SecurityRule] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, + } + + def __init__(self, *, security_rules=None, **kwargs) -> None: + super(NetworkInterfaceAssociation, self).__init__(**kwargs) + self.id = None + self.security_rules = security_rules diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_dns_settings.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_dns_settings.py new file mode 100644 index 000000000000..b6ee0ff40d51 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_dns_settings.py @@ -0,0 +1,55 @@ +# 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.serialization import Model + + +class NetworkInterfaceDnsSettings(Model): + """DNS settings of a network interface. + + :param dns_servers: List of DNS servers IP addresses. Use + 'AzureProvidedDNS' to switch to azure provided DNS resolution. + 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the + only value in dnsServers collection. + :type dns_servers: list[str] + :param applied_dns_servers: If the VM that uses this NIC is part of an + Availability Set, then this list will have the union of all DNS servers + from all NICs that are part of the Availability Set. This property is what + is configured on each of those VMs. + :type applied_dns_servers: list[str] + :param internal_dns_name_label: Relative DNS name for this NIC used for + internal communications between VMs in the same virtual network. + :type internal_dns_name_label: str + :param internal_fqdn: Fully qualified DNS name supporting internal + communications between VMs in the same virtual network. + :type internal_fqdn: str + :param internal_domain_name_suffix: Even if internalDnsNameLabel is not + specified, a DNS entry is created for the primary NIC of the VM. This DNS + name can be constructed by concatenating the VM name with the value of + internalDomainNameSuffix. + :type internal_domain_name_suffix: str + """ + + _attribute_map = { + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, + 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, + 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, + 'internal_domain_name_suffix': {'key': 'internalDomainNameSuffix', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) + self.dns_servers = kwargs.get('dns_servers', None) + self.applied_dns_servers = kwargs.get('applied_dns_servers', None) + self.internal_dns_name_label = kwargs.get('internal_dns_name_label', None) + self.internal_fqdn = kwargs.get('internal_fqdn', None) + self.internal_domain_name_suffix = kwargs.get('internal_domain_name_suffix', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_dns_settings_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_dns_settings_py3.py new file mode 100644 index 000000000000..ccdcc937def8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_dns_settings_py3.py @@ -0,0 +1,55 @@ +# 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.serialization import Model + + +class NetworkInterfaceDnsSettings(Model): + """DNS settings of a network interface. + + :param dns_servers: List of DNS servers IP addresses. Use + 'AzureProvidedDNS' to switch to azure provided DNS resolution. + 'AzureProvidedDNS' value cannot be combined with other IPs, it must be the + only value in dnsServers collection. + :type dns_servers: list[str] + :param applied_dns_servers: If the VM that uses this NIC is part of an + Availability Set, then this list will have the union of all DNS servers + from all NICs that are part of the Availability Set. This property is what + is configured on each of those VMs. + :type applied_dns_servers: list[str] + :param internal_dns_name_label: Relative DNS name for this NIC used for + internal communications between VMs in the same virtual network. + :type internal_dns_name_label: str + :param internal_fqdn: Fully qualified DNS name supporting internal + communications between VMs in the same virtual network. + :type internal_fqdn: str + :param internal_domain_name_suffix: Even if internalDnsNameLabel is not + specified, a DNS entry is created for the primary NIC of the VM. This DNS + name can be constructed by concatenating the VM name with the value of + internalDomainNameSuffix. + :type internal_domain_name_suffix: str + """ + + _attribute_map = { + 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, + 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, + 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, + 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, + 'internal_domain_name_suffix': {'key': 'internalDomainNameSuffix', 'type': 'str'}, + } + + def __init__(self, *, dns_servers=None, applied_dns_servers=None, internal_dns_name_label: str=None, internal_fqdn: str=None, internal_domain_name_suffix: str=None, **kwargs) -> None: + super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) + self.dns_servers = dns_servers + self.applied_dns_servers = applied_dns_servers + self.internal_dns_name_label = internal_dns_name_label + self.internal_fqdn = internal_fqdn + self.internal_domain_name_suffix = internal_domain_name_suffix diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_ip_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_ip_configuration.py new file mode 100644 index 000000000000..b9113c02ccea --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_ip_configuration.py @@ -0,0 +1,100 @@ +# 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 NetworkInterfaceIPConfiguration(SubResource): + """IPConfiguration in a network interface. + + :param id: Resource ID. + :type id: str + :param application_gateway_backend_address_pools: The reference of + ApplicationGatewayBackendAddressPool resource. + :type application_gateway_backend_address_pools: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendAddressPool] + :param load_balancer_backend_address_pools: The reference of + LoadBalancerBackendAddressPool resource. + :type load_balancer_backend_address_pools: + list[~azure.mgmt.network.v2018_06_01.models.BackendAddressPool] + :param load_balancer_inbound_nat_rules: A list of references of + LoadBalancerInboundNatRules. + :type load_balancer_inbound_nat_rules: + list[~azure.mgmt.network.v2018_06_01.models.InboundNatRule] + :param private_ip_address: Private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: Defines how a private IP address is + assigned. Possible values are: 'Static' and 'Dynamic'. Possible values + include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2018_06_01.models.IPAllocationMethod + :param private_ip_address_version: Available from Api-Version 2016-03-30 + onwards, it represents whether the specific ipconfiguration is IPv4 or + IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + Possible values include: 'IPv4', 'IPv6' + :type private_ip_address_version: str or + ~azure.mgmt.network.v2018_06_01.models.IPVersion + :param subnet: Subnet bound to the IP configuration. + :type subnet: ~azure.mgmt.network.v2018_06_01.models.Subnet + :param primary: Gets whether this is a primary customer address on the + network interface. + :type primary: bool + :param public_ip_address: Public IP address bound to the IP configuration. + :type public_ip_address: + ~azure.mgmt.network.v2018_06_01.models.PublicIPAddress + :param application_security_groups: Application security groups in which + the IP configuration is included. + :type application_security_groups: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationSecurityGroup] + :param provisioning_state: The provisioning state of the network interface + IP configuration. Possible values are: 'Updating', 'Deleting', and + 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, + 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, + 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'primary': {'key': 'properties.primary', 'type': 'bool'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkInterfaceIPConfiguration, self).__init__(**kwargs) + self.application_gateway_backend_address_pools = kwargs.get('application_gateway_backend_address_pools', None) + self.load_balancer_backend_address_pools = kwargs.get('load_balancer_backend_address_pools', None) + self.load_balancer_inbound_nat_rules = kwargs.get('load_balancer_inbound_nat_rules', None) + self.private_ip_address = kwargs.get('private_ip_address', None) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.private_ip_address_version = kwargs.get('private_ip_address_version', None) + self.subnet = kwargs.get('subnet', None) + self.primary = kwargs.get('primary', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.application_security_groups = kwargs.get('application_security_groups', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_ip_configuration_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_ip_configuration_paged.py new file mode 100644 index 000000000000..fae450e0dccc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_ip_configuration_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 NetworkInterfaceIPConfigurationPaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkInterfaceIPConfiguration ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkInterfaceIPConfiguration]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkInterfaceIPConfigurationPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_ip_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_ip_configuration_py3.py new file mode 100644 index 000000000000..5d032f705b5c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_ip_configuration_py3.py @@ -0,0 +1,100 @@ +# 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 NetworkInterfaceIPConfiguration(SubResource): + """IPConfiguration in a network interface. + + :param id: Resource ID. + :type id: str + :param application_gateway_backend_address_pools: The reference of + ApplicationGatewayBackendAddressPool resource. + :type application_gateway_backend_address_pools: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendAddressPool] + :param load_balancer_backend_address_pools: The reference of + LoadBalancerBackendAddressPool resource. + :type load_balancer_backend_address_pools: + list[~azure.mgmt.network.v2018_06_01.models.BackendAddressPool] + :param load_balancer_inbound_nat_rules: A list of references of + LoadBalancerInboundNatRules. + :type load_balancer_inbound_nat_rules: + list[~azure.mgmt.network.v2018_06_01.models.InboundNatRule] + :param private_ip_address: Private IP address of the IP configuration. + :type private_ip_address: str + :param private_ip_allocation_method: Defines how a private IP address is + assigned. Possible values are: 'Static' and 'Dynamic'. Possible values + include: 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2018_06_01.models.IPAllocationMethod + :param private_ip_address_version: Available from Api-Version 2016-03-30 + onwards, it represents whether the specific ipconfiguration is IPv4 or + IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'. + Possible values include: 'IPv4', 'IPv6' + :type private_ip_address_version: str or + ~azure.mgmt.network.v2018_06_01.models.IPVersion + :param subnet: Subnet bound to the IP configuration. + :type subnet: ~azure.mgmt.network.v2018_06_01.models.Subnet + :param primary: Gets whether this is a primary customer address on the + network interface. + :type primary: bool + :param public_ip_address: Public IP address bound to the IP configuration. + :type public_ip_address: + ~azure.mgmt.network.v2018_06_01.models.PublicIPAddress + :param application_security_groups: Application security groups in which + the IP configuration is included. + :type application_security_groups: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationSecurityGroup] + :param provisioning_state: The provisioning state of the network interface + IP configuration. Possible values are: 'Updating', 'Deleting', and + 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, + 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, + 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, + 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, + 'primary': {'key': 'properties.primary', 'type': 'bool'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, + 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, application_gateway_backend_address_pools=None, load_balancer_backend_address_pools=None, load_balancer_inbound_nat_rules=None, private_ip_address: str=None, private_ip_allocation_method=None, private_ip_address_version=None, subnet=None, primary: bool=None, public_ip_address=None, application_security_groups=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(NetworkInterfaceIPConfiguration, self).__init__(id=id, **kwargs) + self.application_gateway_backend_address_pools = application_gateway_backend_address_pools + self.load_balancer_backend_address_pools = load_balancer_backend_address_pools + self.load_balancer_inbound_nat_rules = load_balancer_inbound_nat_rules + self.private_ip_address = private_ip_address + self.private_ip_allocation_method = private_ip_allocation_method + self.private_ip_address_version = private_ip_address_version + self.subnet = subnet + self.primary = primary + self.public_ip_address = public_ip_address + self.application_security_groups = application_security_groups + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_paged.py new file mode 100644 index 000000000000..e7977617451f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_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 NetworkInterfacePaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkInterface ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkInterface]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkInterfacePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_py3.py new file mode 100644 index 000000000000..012130119ae2 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_interface_py3.py @@ -0,0 +1,102 @@ +# 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 .resource_py3 import Resource + + +class NetworkInterface(Resource): + """A network interface in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_machine: The reference of a virtual machine. + :type virtual_machine: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param network_security_group: The reference of the NetworkSecurityGroup + resource. + :type network_security_group: + ~azure.mgmt.network.v2018_06_01.models.NetworkSecurityGroup + :param ip_configurations: A list of IPConfigurations of the network + interface. + :type ip_configurations: + list[~azure.mgmt.network.v2018_06_01.models.NetworkInterfaceIPConfiguration] + :param dns_settings: The DNS settings in network interface. + :type dns_settings: + ~azure.mgmt.network.v2018_06_01.models.NetworkInterfaceDnsSettings + :param mac_address: The MAC address of the network interface. + :type mac_address: str + :param primary: Gets whether this is a primary network interface on a + virtual machine. + :type primary: bool + :param enable_accelerated_networking: If the network interface is + accelerated networking enabled. + :type enable_accelerated_networking: bool + :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on + this network interface. + :type enable_ip_forwarding: bool + :param resource_guid: The resource GUID property of the network interface + resource. + :type resource_guid: str + :param provisioning_state: The provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, + 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, + 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, + 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, + 'primary': {'key': 'properties.primary', 'type': 'bool'}, + 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, + 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_machine=None, network_security_group=None, ip_configurations=None, dns_settings=None, mac_address: str=None, primary: bool=None, enable_accelerated_networking: bool=None, enable_ip_forwarding: bool=None, resource_guid: str=None, provisioning_state: str=None, etag: str=None, **kwargs) -> None: + super(NetworkInterface, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.virtual_machine = virtual_machine + self.network_security_group = network_security_group + self.ip_configurations = ip_configurations + self.dns_settings = dns_settings + self.mac_address = mac_address + self.primary = primary + self.enable_accelerated_networking = enable_accelerated_networking + self.enable_ip_forwarding = enable_ip_forwarding + self.resource_guid = resource_guid + self.provisioning_state = provisioning_state + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_management_client_enums.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_management_client_enums.py new file mode 100644 index 000000000000..4bcd75a97a07 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_management_client_enums.py @@ -0,0 +1,635 @@ +# 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 enum import Enum + + +class ProvisioningState(str, Enum): + + succeeded = "Succeeded" + updating = "Updating" + deleting = "Deleting" + failed = "Failed" + + +class AzureFirewallRCActionType(str, Enum): + + allow = "Allow" + deny = "Deny" + + +class AzureFirewallApplicationRuleProtocolType(str, Enum): + + http = "Http" + https = "Https" + + +class AzureFirewallNetworkRuleProtocol(str, Enum): + + tcp = "TCP" + udp = "UDP" + any = "Any" + icmp = "ICMP" + + +class TransportProtocol(str, Enum): + + udp = "Udp" + tcp = "Tcp" + all = "All" + + +class IPAllocationMethod(str, Enum): + + static = "Static" + dynamic = "Dynamic" + + +class IPVersion(str, Enum): + + ipv4 = "IPv4" + ipv6 = "IPv6" + + +class SecurityRuleProtocol(str, Enum): + + tcp = "Tcp" + udp = "Udp" + asterisk = "*" + + +class SecurityRuleAccess(str, Enum): + + allow = "Allow" + deny = "Deny" + + +class SecurityRuleDirection(str, Enum): + + inbound = "Inbound" + outbound = "Outbound" + + +class RouteNextHopType(str, Enum): + + virtual_network_gateway = "VirtualNetworkGateway" + vnet_local = "VnetLocal" + internet = "Internet" + virtual_appliance = "VirtualAppliance" + none = "None" + + +class PublicIPAddressSkuName(str, Enum): + + basic = "Basic" + standard = "Standard" + + +class ApplicationGatewayProtocol(str, Enum): + + http = "Http" + https = "Https" + + +class ApplicationGatewayCookieBasedAffinity(str, Enum): + + enabled = "Enabled" + disabled = "Disabled" + + +class ApplicationGatewayBackendHealthServerHealth(str, Enum): + + unknown = "Unknown" + up = "Up" + down = "Down" + partial = "Partial" + draining = "Draining" + + +class ApplicationGatewaySkuName(str, Enum): + + standard_small = "Standard_Small" + standard_medium = "Standard_Medium" + standard_large = "Standard_Large" + waf_medium = "WAF_Medium" + waf_large = "WAF_Large" + standard_v2 = "Standard_v2" + waf_v2 = "WAF_v2" + + +class ApplicationGatewayTier(str, Enum): + + standard = "Standard" + waf = "WAF" + standard_v2 = "Standard_v2" + waf_v2 = "WAF_v2" + + +class ApplicationGatewaySslProtocol(str, Enum): + + tl_sv1_0 = "TLSv1_0" + tl_sv1_1 = "TLSv1_1" + tl_sv1_2 = "TLSv1_2" + + +class ApplicationGatewaySslPolicyType(str, Enum): + + predefined = "Predefined" + custom = "Custom" + + +class ApplicationGatewaySslPolicyName(str, Enum): + + app_gw_ssl_policy20150501 = "AppGwSslPolicy20150501" + app_gw_ssl_policy20170401 = "AppGwSslPolicy20170401" + app_gw_ssl_policy20170401_s = "AppGwSslPolicy20170401S" + + +class ApplicationGatewaySslCipherSuite(str, Enum): + + tls_ecdhe_rsa_with_aes_256_cbc_sha384 = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384" + tls_ecdhe_rsa_with_aes_128_cbc_sha256 = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256" + tls_ecdhe_rsa_with_aes_256_cbc_sha = "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA" + tls_ecdhe_rsa_with_aes_128_cbc_sha = "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA" + tls_dhe_rsa_with_aes_256_gcm_sha384 = "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384" + tls_dhe_rsa_with_aes_128_gcm_sha256 = "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256" + tls_dhe_rsa_with_aes_256_cbc_sha = "TLS_DHE_RSA_WITH_AES_256_CBC_SHA" + tls_dhe_rsa_with_aes_128_cbc_sha = "TLS_DHE_RSA_WITH_AES_128_CBC_SHA" + tls_rsa_with_aes_256_gcm_sha384 = "TLS_RSA_WITH_AES_256_GCM_SHA384" + tls_rsa_with_aes_128_gcm_sha256 = "TLS_RSA_WITH_AES_128_GCM_SHA256" + tls_rsa_with_aes_256_cbc_sha256 = "TLS_RSA_WITH_AES_256_CBC_SHA256" + tls_rsa_with_aes_128_cbc_sha256 = "TLS_RSA_WITH_AES_128_CBC_SHA256" + tls_rsa_with_aes_256_cbc_sha = "TLS_RSA_WITH_AES_256_CBC_SHA" + tls_rsa_with_aes_128_cbc_sha = "TLS_RSA_WITH_AES_128_CBC_SHA" + tls_ecdhe_ecdsa_with_aes_256_gcm_sha384 = "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384" + tls_ecdhe_ecdsa_with_aes_128_gcm_sha256 = "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256" + tls_ecdhe_ecdsa_with_aes_256_cbc_sha384 = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384" + tls_ecdhe_ecdsa_with_aes_128_cbc_sha256 = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256" + tls_ecdhe_ecdsa_with_aes_256_cbc_sha = "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA" + tls_ecdhe_ecdsa_with_aes_128_cbc_sha = "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA" + tls_dhe_dss_with_aes_256_cbc_sha256 = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256" + tls_dhe_dss_with_aes_128_cbc_sha256 = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256" + tls_dhe_dss_with_aes_256_cbc_sha = "TLS_DHE_DSS_WITH_AES_256_CBC_SHA" + tls_dhe_dss_with_aes_128_cbc_sha = "TLS_DHE_DSS_WITH_AES_128_CBC_SHA" + tls_rsa_with_3_des_ede_cbc_sha = "TLS_RSA_WITH_3DES_EDE_CBC_SHA" + + +class ApplicationGatewayRequestRoutingRuleType(str, Enum): + + basic = "Basic" + path_based_routing = "PathBasedRouting" + + +class ApplicationGatewayRedirectType(str, Enum): + + permanent = "Permanent" + found = "Found" + see_other = "SeeOther" + temporary = "Temporary" + + +class ApplicationGatewayOperationalState(str, Enum): + + stopped = "Stopped" + starting = "Starting" + running = "Running" + stopping = "Stopping" + + +class ApplicationGatewayFirewallMode(str, Enum): + + detection = "Detection" + prevention = "Prevention" + + +class AuthorizationUseStatus(str, Enum): + + available = "Available" + in_use = "InUse" + + +class ExpressRouteCircuitPeeringAdvertisedPublicPrefixState(str, Enum): + + not_configured = "NotConfigured" + configuring = "Configuring" + configured = "Configured" + validation_needed = "ValidationNeeded" + + +class Access(str, Enum): + + allow = "Allow" + deny = "Deny" + + +class ExpressRoutePeeringType(str, Enum): + + azure_public_peering = "AzurePublicPeering" + azure_private_peering = "AzurePrivatePeering" + microsoft_peering = "MicrosoftPeering" + + +class ExpressRoutePeeringState(str, Enum): + + disabled = "Disabled" + enabled = "Enabled" + + +class CircuitConnectionStatus(str, Enum): + + connected = "Connected" + connecting = "Connecting" + disconnected = "Disconnected" + + +class ExpressRouteCircuitPeeringState(str, Enum): + + disabled = "Disabled" + enabled = "Enabled" + + +class ExpressRouteCircuitSkuTier(str, Enum): + + standard = "Standard" + premium = "Premium" + + +class ExpressRouteCircuitSkuFamily(str, Enum): + + unlimited_data = "UnlimitedData" + metered_data = "MeteredData" + + +class ServiceProviderProvisioningState(str, Enum): + + not_provisioned = "NotProvisioned" + provisioning = "Provisioning" + provisioned = "Provisioned" + deprovisioning = "Deprovisioning" + + +class LoadBalancerSkuName(str, Enum): + + basic = "Basic" + standard = "Standard" + + +class LoadDistribution(str, Enum): + + default = "Default" + source_ip = "SourceIP" + source_ip_protocol = "SourceIPProtocol" + + +class ProbeProtocol(str, Enum): + + http = "Http" + tcp = "Tcp" + https = "Https" + + +class NetworkOperationStatus(str, Enum): + + in_progress = "InProgress" + succeeded = "Succeeded" + failed = "Failed" + + +class EffectiveSecurityRuleProtocol(str, Enum): + + tcp = "Tcp" + udp = "Udp" + all = "All" + + +class EffectiveRouteSource(str, Enum): + + unknown = "Unknown" + user = "User" + virtual_network_gateway = "VirtualNetworkGateway" + default = "Default" + + +class EffectiveRouteState(str, Enum): + + active = "Active" + invalid = "Invalid" + + +class AssociationType(str, Enum): + + associated = "Associated" + contains = "Contains" + + +class Direction(str, Enum): + + inbound = "Inbound" + outbound = "Outbound" + + +class IpFlowProtocol(str, Enum): + + tcp = "TCP" + udp = "UDP" + + +class NextHopType(str, Enum): + + internet = "Internet" + virtual_appliance = "VirtualAppliance" + virtual_network_gateway = "VirtualNetworkGateway" + vnet_local = "VnetLocal" + hyper_net_gateway = "HyperNetGateway" + none = "None" + + +class PcProtocol(str, Enum): + + tcp = "TCP" + udp = "UDP" + any = "Any" + + +class PcStatus(str, Enum): + + not_started = "NotStarted" + running = "Running" + stopped = "Stopped" + error = "Error" + unknown = "Unknown" + + +class PcError(str, Enum): + + internal_error = "InternalError" + agent_stopped = "AgentStopped" + capture_failed = "CaptureFailed" + local_file_failed = "LocalFileFailed" + storage_failed = "StorageFailed" + + +class Protocol(str, Enum): + + tcp = "Tcp" + http = "Http" + https = "Https" + icmp = "Icmp" + + +class HTTPMethod(str, Enum): + + get = "Get" + + +class Origin(str, Enum): + + local = "Local" + inbound = "Inbound" + outbound = "Outbound" + + +class Severity(str, Enum): + + error = "Error" + warning = "Warning" + + +class IssueType(str, Enum): + + unknown = "Unknown" + agent_stopped = "AgentStopped" + guest_firewall = "GuestFirewall" + dns_resolution = "DnsResolution" + socket_bind = "SocketBind" + network_security_rule = "NetworkSecurityRule" + user_defined_route = "UserDefinedRoute" + port_throttled = "PortThrottled" + platform = "Platform" + + +class ConnectionStatus(str, Enum): + + unknown = "Unknown" + connected = "Connected" + disconnected = "Disconnected" + degraded = "Degraded" + + +class ConnectionMonitorSourceStatus(str, Enum): + + uknown = "Uknown" + active = "Active" + inactive = "Inactive" + + +class ConnectionState(str, Enum): + + reachable = "Reachable" + unreachable = "Unreachable" + unknown = "Unknown" + + +class EvaluationState(str, Enum): + + not_started = "NotStarted" + in_progress = "InProgress" + completed = "Completed" + + +class VirtualNetworkPeeringState(str, Enum): + + initiated = "Initiated" + connected = "Connected" + disconnected = "Disconnected" + + +class VirtualNetworkGatewayType(str, Enum): + + vpn = "Vpn" + express_route = "ExpressRoute" + + +class VpnType(str, Enum): + + policy_based = "PolicyBased" + route_based = "RouteBased" + + +class VirtualNetworkGatewaySkuName(str, Enum): + + basic = "Basic" + high_performance = "HighPerformance" + standard = "Standard" + ultra_performance = "UltraPerformance" + vpn_gw1 = "VpnGw1" + vpn_gw2 = "VpnGw2" + vpn_gw3 = "VpnGw3" + vpn_gw1_az = "VpnGw1AZ" + vpn_gw2_az = "VpnGw2AZ" + vpn_gw3_az = "VpnGw3AZ" + er_gw1_az = "ErGw1AZ" + er_gw2_az = "ErGw2AZ" + er_gw3_az = "ErGw3AZ" + + +class VirtualNetworkGatewaySkuTier(str, Enum): + + basic = "Basic" + high_performance = "HighPerformance" + standard = "Standard" + ultra_performance = "UltraPerformance" + vpn_gw1 = "VpnGw1" + vpn_gw2 = "VpnGw2" + vpn_gw3 = "VpnGw3" + vpn_gw1_az = "VpnGw1AZ" + vpn_gw2_az = "VpnGw2AZ" + vpn_gw3_az = "VpnGw3AZ" + er_gw1_az = "ErGw1AZ" + er_gw2_az = "ErGw2AZ" + er_gw3_az = "ErGw3AZ" + + +class VpnClientProtocol(str, Enum): + + ike_v2 = "IkeV2" + sstp = "SSTP" + open_vpn = "OpenVPN" + + +class IpsecEncryption(str, Enum): + + none = "None" + des = "DES" + des3 = "DES3" + aes128 = "AES128" + aes192 = "AES192" + aes256 = "AES256" + gcmaes128 = "GCMAES128" + gcmaes192 = "GCMAES192" + gcmaes256 = "GCMAES256" + + +class IpsecIntegrity(str, Enum): + + md5 = "MD5" + sha1 = "SHA1" + sha256 = "SHA256" + gcmaes128 = "GCMAES128" + gcmaes192 = "GCMAES192" + gcmaes256 = "GCMAES256" + + +class IkeEncryption(str, Enum): + + des = "DES" + des3 = "DES3" + aes128 = "AES128" + aes192 = "AES192" + aes256 = "AES256" + gcmaes256 = "GCMAES256" + gcmaes128 = "GCMAES128" + + +class IkeIntegrity(str, Enum): + + md5 = "MD5" + sha1 = "SHA1" + sha256 = "SHA256" + sha384 = "SHA384" + gcmaes256 = "GCMAES256" + gcmaes128 = "GCMAES128" + + +class DhGroup(str, Enum): + + none = "None" + dh_group1 = "DHGroup1" + dh_group2 = "DHGroup2" + dh_group14 = "DHGroup14" + dh_group2048 = "DHGroup2048" + ecp256 = "ECP256" + ecp384 = "ECP384" + dh_group24 = "DHGroup24" + + +class PfsGroup(str, Enum): + + none = "None" + pfs1 = "PFS1" + pfs2 = "PFS2" + pfs2048 = "PFS2048" + ecp256 = "ECP256" + ecp384 = "ECP384" + pfs24 = "PFS24" + pfs14 = "PFS14" + pfsmm = "PFSMM" + + +class BgpPeerState(str, Enum): + + unknown = "Unknown" + stopped = "Stopped" + idle = "Idle" + connecting = "Connecting" + connected = "Connected" + + +class ProcessorArchitecture(str, Enum): + + amd64 = "Amd64" + x86 = "X86" + + +class AuthenticationMethod(str, Enum): + + eaptls = "EAPTLS" + eapmscha_pv2 = "EAPMSCHAPv2" + + +class VirtualNetworkGatewayConnectionStatus(str, Enum): + + unknown = "Unknown" + connecting = "Connecting" + connected = "Connected" + not_connected = "NotConnected" + + +class VirtualNetworkGatewayConnectionType(str, Enum): + + ipsec = "IPsec" + vnet2_vnet = "Vnet2Vnet" + express_route = "ExpressRoute" + vpn_client = "VPNClient" + + +class VpnConnectionStatus(str, Enum): + + unknown = "Unknown" + connecting = "Connecting" + connected = "Connected" + not_connected = "NotConnected" + + +class TunnelConnectionStatus(str, Enum): + + unknown = "Unknown" + connecting = "Connecting" + connected = "Connected" + not_connected = "NotConnected" + + +class HubVirtualNetworkConnectionStatus(str, Enum): + + unknown = "Unknown" + connecting = "Connecting" + connected = "Connected" + not_connected = "NotConnected" diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_security_group.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_security_group.py new file mode 100644 index 000000000000..8a5304eee889 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_security_group.py @@ -0,0 +1,86 @@ +# 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 .resource import Resource + + +class NetworkSecurityGroup(Resource): + """NetworkSecurityGroup resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param security_rules: A collection of security rules of the network + security group. + :type security_rules: + list[~azure.mgmt.network.v2018_06_01.models.SecurityRule] + :param default_security_rules: The default security rules of network + security group. + :type default_security_rules: + list[~azure.mgmt.network.v2018_06_01.models.SecurityRule] + :ivar network_interfaces: A collection of references to network + interfaces. + :vartype network_interfaces: + list[~azure.mgmt.network.v2018_06_01.models.NetworkInterface] + :ivar subnets: A collection of references to subnets. + :vartype subnets: list[~azure.mgmt.network.v2018_06_01.models.Subnet] + :param resource_guid: The resource GUID property of the network security + group resource. + :type resource_guid: str + :param provisioning_state: The provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'network_interfaces': {'readonly': True}, + 'subnets': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, + 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, + 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkSecurityGroup, self).__init__(**kwargs) + self.security_rules = kwargs.get('security_rules', None) + self.default_security_rules = kwargs.get('default_security_rules', None) + self.network_interfaces = None + self.subnets = None + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_security_group_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_security_group_paged.py new file mode 100644 index 000000000000..f0a643bc176b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_security_group_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 NetworkSecurityGroupPaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkSecurityGroup ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkSecurityGroup]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkSecurityGroupPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_security_group_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_security_group_py3.py new file mode 100644 index 000000000000..5df7de82416f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_security_group_py3.py @@ -0,0 +1,86 @@ +# 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 .resource_py3 import Resource + + +class NetworkSecurityGroup(Resource): + """NetworkSecurityGroup resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param security_rules: A collection of security rules of the network + security group. + :type security_rules: + list[~azure.mgmt.network.v2018_06_01.models.SecurityRule] + :param default_security_rules: The default security rules of network + security group. + :type default_security_rules: + list[~azure.mgmt.network.v2018_06_01.models.SecurityRule] + :ivar network_interfaces: A collection of references to network + interfaces. + :vartype network_interfaces: + list[~azure.mgmt.network.v2018_06_01.models.NetworkInterface] + :ivar subnets: A collection of references to subnets. + :vartype subnets: list[~azure.mgmt.network.v2018_06_01.models.Subnet] + :param resource_guid: The resource GUID property of the network security + group resource. + :type resource_guid: str + :param provisioning_state: The provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'network_interfaces': {'readonly': True}, + 'subnets': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, + 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, + 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, security_rules=None, default_security_rules=None, resource_guid: str=None, provisioning_state: str=None, etag: str=None, **kwargs) -> None: + super(NetworkSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.security_rules = security_rules + self.default_security_rules = default_security_rules + self.network_interfaces = None + self.subnets = None + self.resource_guid = resource_guid + self.provisioning_state = provisioning_state + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_watcher.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_watcher.py new file mode 100644 index 000000000000..c18fcfe24689 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_watcher.py @@ -0,0 +1,59 @@ +# 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 .resource import Resource + + +class NetworkWatcher(Resource): + """Network watcher in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :ivar provisioning_state: The provisioning state of the resource. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NetworkWatcher, self).__init__(**kwargs) + self.etag = kwargs.get('etag', None) + self.provisioning_state = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_watcher_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_watcher_paged.py new file mode 100644 index 000000000000..5ec61492a9c7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_watcher_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 NetworkWatcherPaged(Paged): + """ + A paging container for iterating over a list of :class:`NetworkWatcher ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[NetworkWatcher]'} + } + + def __init__(self, *args, **kwargs): + + super(NetworkWatcherPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_watcher_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_watcher_py3.py new file mode 100644 index 000000000000..6b14d8741a9b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/network_watcher_py3.py @@ -0,0 +1,59 @@ +# 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 .resource_py3 import Resource + + +class NetworkWatcher(Resource): + """Network watcher in a resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :ivar provisioning_state: The provisioning state of the resource. Possible + values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :vartype provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, etag: str=None, **kwargs) -> None: + super(NetworkWatcher, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.etag = etag + self.provisioning_state = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/next_hop_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/next_hop_parameters.py new file mode 100644 index 000000000000..54d8674c8884 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/next_hop_parameters.py @@ -0,0 +1,51 @@ +# 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.serialization import Model + + +class NextHopParameters(Model): + """Parameters that define the source and destination endpoint. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The resource identifier of the target + resource against which the action is to be performed. + :type target_resource_id: str + :param source_ip_address: Required. The source IP address. + :type source_ip_address: str + :param destination_ip_address: Required. The destination IP address. + :type destination_ip_address: str + :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP + forwarding is enabled on any of the nics, then this parameter must be + specified. Otherwise optional). + :type target_nic_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'source_ip_address': {'required': True}, + 'destination_ip_address': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'source_ip_address': {'key': 'sourceIPAddress', 'type': 'str'}, + 'destination_ip_address': {'key': 'destinationIPAddress', 'type': 'str'}, + 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NextHopParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + self.source_ip_address = kwargs.get('source_ip_address', None) + self.destination_ip_address = kwargs.get('destination_ip_address', None) + self.target_nic_resource_id = kwargs.get('target_nic_resource_id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/next_hop_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/next_hop_parameters_py3.py new file mode 100644 index 000000000000..50ee3d334e91 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/next_hop_parameters_py3.py @@ -0,0 +1,51 @@ +# 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.serialization import Model + + +class NextHopParameters(Model): + """Parameters that define the source and destination endpoint. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The resource identifier of the target + resource against which the action is to be performed. + :type target_resource_id: str + :param source_ip_address: Required. The source IP address. + :type source_ip_address: str + :param destination_ip_address: Required. The destination IP address. + :type destination_ip_address: str + :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP + forwarding is enabled on any of the nics, then this parameter must be + specified. Otherwise optional). + :type target_nic_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'source_ip_address': {'required': True}, + 'destination_ip_address': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'source_ip_address': {'key': 'sourceIPAddress', 'type': 'str'}, + 'destination_ip_address': {'key': 'destinationIPAddress', 'type': 'str'}, + 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, source_ip_address: str, destination_ip_address: str, target_nic_resource_id: str=None, **kwargs) -> None: + super(NextHopParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + self.source_ip_address = source_ip_address + self.destination_ip_address = destination_ip_address + self.target_nic_resource_id = target_nic_resource_id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/next_hop_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/next_hop_result.py new file mode 100644 index 000000000000..3ff770ac53e8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/next_hop_result.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class NextHopResult(Model): + """The information about next hop from the specified VM. + + :param next_hop_type: Next hop type. Possible values include: 'Internet', + 'VirtualAppliance', 'VirtualNetworkGateway', 'VnetLocal', + 'HyperNetGateway', 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2018_06_01.models.NextHopType + :param next_hop_ip_address: Next hop IP Address + :type next_hop_ip_address: str + :param route_table_id: The resource identifier for the route table + associated with the route being returned. If the route being returned does + not correspond to any user created routes then this field will be the + string 'System Route'. + :type route_table_id: str + """ + + _attribute_map = { + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, + 'route_table_id': {'key': 'routeTableId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(NextHopResult, self).__init__(**kwargs) + self.next_hop_type = kwargs.get('next_hop_type', None) + self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) + self.route_table_id = kwargs.get('route_table_id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/next_hop_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/next_hop_result_py3.py new file mode 100644 index 000000000000..4b7988a55592 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/next_hop_result_py3.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class NextHopResult(Model): + """The information about next hop from the specified VM. + + :param next_hop_type: Next hop type. Possible values include: 'Internet', + 'VirtualAppliance', 'VirtualNetworkGateway', 'VnetLocal', + 'HyperNetGateway', 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2018_06_01.models.NextHopType + :param next_hop_ip_address: Next hop IP Address + :type next_hop_ip_address: str + :param route_table_id: The resource identifier for the route table + associated with the route being returned. If the route being returned does + not correspond to any user created routes then this field will be the + string 'System Route'. + :type route_table_id: str + """ + + _attribute_map = { + 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, + 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, + 'route_table_id': {'key': 'routeTableId', 'type': 'str'}, + } + + def __init__(self, *, next_hop_type=None, next_hop_ip_address: str=None, route_table_id: str=None, **kwargs) -> None: + super(NextHopResult, self).__init__(**kwargs) + self.next_hop_type = next_hop_type + self.next_hop_ip_address = next_hop_ip_address + self.route_table_id = route_table_id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation.py new file mode 100644 index 000000000000..a6bbc0953312 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation.py @@ -0,0 +1,41 @@ +# 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.serialization import Model + + +class Operation(Model): + """Network REST API operation definition. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: Display metadata associated with the operation. + :type display: ~azure.mgmt.network.v2018_06_01.models.OperationDisplay + :param origin: Origin of the operation. + :type origin: str + :param service_specification: Specification of the service. + :type service_specification: + ~azure.mgmt.network.v2018_06_01.models.OperationPropertiesFormatServiceSpecification + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationPropertiesFormatServiceSpecification'}, + } + + def __init__(self, **kwargs): + super(Operation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.display = kwargs.get('display', None) + self.origin = kwargs.get('origin', None) + self.service_specification = kwargs.get('service_specification', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation_display.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation_display.py new file mode 100644 index 000000000000..6e37c2433f56 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation_display.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class OperationDisplay(Model): + """Display metadata associated with the operation. + + :param provider: Service provider: Microsoft Network. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of the operation: get, read, delete, etc. + :type operation: str + :param description: Description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OperationDisplay, self).__init__(**kwargs) + self.provider = kwargs.get('provider', None) + self.resource = kwargs.get('resource', None) + self.operation = kwargs.get('operation', None) + self.description = kwargs.get('description', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation_display_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation_display_py3.py new file mode 100644 index 000000000000..c0508a41bd48 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation_display_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class OperationDisplay(Model): + """Display metadata associated with the operation. + + :param provider: Service provider: Microsoft Network. + :type provider: str + :param resource: Resource on which the operation is performed. + :type resource: str + :param operation: Type of the operation: get, read, delete, etc. + :type operation: str + :param description: Description of the operation. + :type description: str + """ + + _attribute_map = { + 'provider': {'key': 'provider', 'type': 'str'}, + 'resource': {'key': 'resource', 'type': 'str'}, + 'operation': {'key': 'operation', 'type': 'str'}, + 'description': {'key': 'description', 'type': 'str'}, + } + + def __init__(self, *, provider: str=None, resource: str=None, operation: str=None, description: str=None, **kwargs) -> None: + super(OperationDisplay, self).__init__(**kwargs) + self.provider = provider + self.resource = resource + self.operation = operation + self.description = description diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation_paged.py new file mode 100644 index 000000000000..14ed8030a820 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation_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 OperationPaged(Paged): + """ + A paging container for iterating over a list of :class:`Operation ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Operation]'} + } + + def __init__(self, *args, **kwargs): + + super(OperationPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation_properties_format_service_specification.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation_properties_format_service_specification.py new file mode 100644 index 000000000000..4f91c9d6904e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation_properties_format_service_specification.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class OperationPropertiesFormatServiceSpecification(Model): + """Specification of the service. + + :param metric_specifications: Operation service specification. + :type metric_specifications: + list[~azure.mgmt.network.v2018_06_01.models.MetricSpecification] + :param log_specifications: Operation log specification. + :type log_specifications: + list[~azure.mgmt.network.v2018_06_01.models.LogSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, + } + + def __init__(self, **kwargs): + super(OperationPropertiesFormatServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = kwargs.get('metric_specifications', None) + self.log_specifications = kwargs.get('log_specifications', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation_properties_format_service_specification_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation_properties_format_service_specification_py3.py new file mode 100644 index 000000000000..4060ff67f3d8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation_properties_format_service_specification_py3.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class OperationPropertiesFormatServiceSpecification(Model): + """Specification of the service. + + :param metric_specifications: Operation service specification. + :type metric_specifications: + list[~azure.mgmt.network.v2018_06_01.models.MetricSpecification] + :param log_specifications: Operation log specification. + :type log_specifications: + list[~azure.mgmt.network.v2018_06_01.models.LogSpecification] + """ + + _attribute_map = { + 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, + 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, + } + + def __init__(self, *, metric_specifications=None, log_specifications=None, **kwargs) -> None: + super(OperationPropertiesFormatServiceSpecification, self).__init__(**kwargs) + self.metric_specifications = metric_specifications + self.log_specifications = log_specifications diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation_py3.py new file mode 100644 index 000000000000..cfe207e3614c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/operation_py3.py @@ -0,0 +1,41 @@ +# 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.serialization import Model + + +class Operation(Model): + """Network REST API operation definition. + + :param name: Operation name: {provider}/{resource}/{operation} + :type name: str + :param display: Display metadata associated with the operation. + :type display: ~azure.mgmt.network.v2018_06_01.models.OperationDisplay + :param origin: Origin of the operation. + :type origin: str + :param service_specification: Specification of the service. + :type service_specification: + ~azure.mgmt.network.v2018_06_01.models.OperationPropertiesFormatServiceSpecification + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'display': {'key': 'display', 'type': 'OperationDisplay'}, + 'origin': {'key': 'origin', 'type': 'str'}, + 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationPropertiesFormatServiceSpecification'}, + } + + def __init__(self, *, name: str=None, display=None, origin: str=None, service_specification=None, **kwargs) -> None: + super(Operation, self).__init__(**kwargs) + self.name = name + self.display = display + self.origin = origin + self.service_specification = service_specification diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/outbound_nat_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/outbound_nat_rule.py new file mode 100644 index 000000000000..5fe91d3c9392 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/outbound_nat_rule.py @@ -0,0 +1,65 @@ +# 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 OutboundNatRule(SubResource): + """Outbound NAT pool of the load balancer. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param allocated_outbound_ports: The number of outbound ports to be used + for NAT. + :type allocated_outbound_ports: int + :param frontend_ip_configurations: The Frontend IP addresses of the load + balancer. + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param backend_address_pool: Required. A reference to a pool of DIPs. + Outbound traffic is randomly load balanced across IPs in the backend IPs. + :type backend_address_pool: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param provisioning_state: Gets the provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'backend_address_pool': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(OutboundNatRule, self).__init__(**kwargs) + self.allocated_outbound_ports = kwargs.get('allocated_outbound_ports', None) + self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) + self.backend_address_pool = kwargs.get('backend_address_pool', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/outbound_nat_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/outbound_nat_rule_py3.py new file mode 100644 index 000000000000..7ca70de10d4b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/outbound_nat_rule_py3.py @@ -0,0 +1,65 @@ +# 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 OutboundNatRule(SubResource): + """Outbound NAT pool of the load balancer. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param allocated_outbound_ports: The number of outbound ports to be used + for NAT. + :type allocated_outbound_ports: int + :param frontend_ip_configurations: The Frontend IP addresses of the load + balancer. + :type frontend_ip_configurations: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param backend_address_pool: Required. A reference to a pool of DIPs. + Outbound traffic is randomly load balanced across IPs in the backend IPs. + :type backend_address_pool: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param provisioning_state: Gets the provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'backend_address_pool': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, + 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, + 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, backend_address_pool, id: str=None, allocated_outbound_ports: int=None, frontend_ip_configurations=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(OutboundNatRule, self).__init__(id=id, **kwargs) + self.allocated_outbound_ports = allocated_outbound_ports + self.frontend_ip_configurations = frontend_ip_configurations + self.backend_address_pool = backend_address_pool + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture.py new file mode 100644 index 000000000000..24744d8a136a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture.py @@ -0,0 +1,61 @@ +# 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.serialization import Model + + +class PacketCapture(Model): + """Parameters that define the create packet capture operation. + + All required parameters must be populated in order to send to Azure. + + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. + :type storage_location: + ~azure.mgmt.network.v2018_06_01.models.PacketCaptureStorageLocation + :param filters: + :type filters: + list[~azure.mgmt.network.v2018_06_01.models.PacketCaptureFilter] + """ + + _validation = { + 'target': {'required': True}, + 'storage_location': {'required': True}, + } + + _attribute_map = { + 'target': {'key': 'properties.target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, + } + + def __init__(self, **kwargs): + super(PacketCapture, self).__init__(**kwargs) + self.target = kwargs.get('target', None) + self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) + self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) + self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) + self.storage_location = kwargs.get('storage_location', None) + self.filters = kwargs.get('filters', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_filter.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_filter.py new file mode 100644 index 000000000000..de4b45c3eb67 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_filter.py @@ -0,0 +1,60 @@ +# 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.serialization import Model + + +class PacketCaptureFilter(Model): + """Filter that is applied to packet capture request. Multiple filters can be + applied. + + :param protocol: Protocol to be filtered on. Possible values include: + 'TCP', 'UDP', 'Any'. Default value: "Any" . + :type protocol: str or ~azure.mgmt.network.v2018_06_01.models.PcProtocol + :param local_ip_address: Local IP Address to be filtered on. Notation: + "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. + "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently + supported. Mixing ranges with multiple entries not currently supported. + Default = null. + :type local_ip_address: str + :param remote_ip_address: Local IP Address to be filtered on. Notation: + "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. + "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently + supported. Mixing ranges with multiple entries not currently supported. + Default = null. + :type remote_ip_address: str + :param local_port: Local port to be filtered on. Notation: "80" for single + port entry."80-85" for range. "80;443;" for multiple entries. Multiple + ranges not currently supported. Mixing ranges with multiple entries not + currently supported. Default = null. + :type local_port: str + :param remote_port: Remote port to be filtered on. Notation: "80" for + single port entry."80-85" for range. "80;443;" for multiple entries. + Multiple ranges not currently supported. Mixing ranges with multiple + entries not currently supported. Default = null. + :type remote_port: str + """ + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, + 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, + 'local_port': {'key': 'localPort', 'type': 'str'}, + 'remote_port': {'key': 'remotePort', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PacketCaptureFilter, self).__init__(**kwargs) + self.protocol = kwargs.get('protocol', "Any") + self.local_ip_address = kwargs.get('local_ip_address', None) + self.remote_ip_address = kwargs.get('remote_ip_address', None) + self.local_port = kwargs.get('local_port', None) + self.remote_port = kwargs.get('remote_port', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_filter_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_filter_py3.py new file mode 100644 index 000000000000..5fb8de80b138 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_filter_py3.py @@ -0,0 +1,60 @@ +# 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.serialization import Model + + +class PacketCaptureFilter(Model): + """Filter that is applied to packet capture request. Multiple filters can be + applied. + + :param protocol: Protocol to be filtered on. Possible values include: + 'TCP', 'UDP', 'Any'. Default value: "Any" . + :type protocol: str or ~azure.mgmt.network.v2018_06_01.models.PcProtocol + :param local_ip_address: Local IP Address to be filtered on. Notation: + "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. + "127.0.0.1;127.0.0.5"? for multiple entries. Multiple ranges not currently + supported. Mixing ranges with multiple entries not currently supported. + Default = null. + :type local_ip_address: str + :param remote_ip_address: Local IP Address to be filtered on. Notation: + "127.0.0.1" for single address entry. "127.0.0.1-127.0.0.255" for range. + "127.0.0.1;127.0.0.5;" for multiple entries. Multiple ranges not currently + supported. Mixing ranges with multiple entries not currently supported. + Default = null. + :type remote_ip_address: str + :param local_port: Local port to be filtered on. Notation: "80" for single + port entry."80-85" for range. "80;443;" for multiple entries. Multiple + ranges not currently supported. Mixing ranges with multiple entries not + currently supported. Default = null. + :type local_port: str + :param remote_port: Remote port to be filtered on. Notation: "80" for + single port entry."80-85" for range. "80;443;" for multiple entries. + Multiple ranges not currently supported. Mixing ranges with multiple + entries not currently supported. Default = null. + :type remote_port: str + """ + + _attribute_map = { + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, + 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, + 'local_port': {'key': 'localPort', 'type': 'str'}, + 'remote_port': {'key': 'remotePort', 'type': 'str'}, + } + + def __init__(self, *, protocol="Any", local_ip_address: str=None, remote_ip_address: str=None, local_port: str=None, remote_port: str=None, **kwargs) -> None: + super(PacketCaptureFilter, self).__init__(**kwargs) + self.protocol = protocol + self.local_ip_address = local_ip_address + self.remote_ip_address = remote_ip_address + self.local_port = local_port + self.remote_port = remote_port diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_parameters.py new file mode 100644 index 000000000000..b1311b0dff94 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_parameters.py @@ -0,0 +1,61 @@ +# 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.serialization import Model + + +class PacketCaptureParameters(Model): + """Parameters that define the create packet capture operation. + + All required parameters must be populated in order to send to Azure. + + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. + :type storage_location: + ~azure.mgmt.network.v2018_06_01.models.PacketCaptureStorageLocation + :param filters: + :type filters: + list[~azure.mgmt.network.v2018_06_01.models.PacketCaptureFilter] + """ + + _validation = { + 'target': {'required': True}, + 'storage_location': {'required': True}, + } + + _attribute_map = { + 'target': {'key': 'target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, + } + + def __init__(self, **kwargs): + super(PacketCaptureParameters, self).__init__(**kwargs) + self.target = kwargs.get('target', None) + self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) + self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) + self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) + self.storage_location = kwargs.get('storage_location', None) + self.filters = kwargs.get('filters', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_parameters_py3.py new file mode 100644 index 000000000000..13a99a2772f1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_parameters_py3.py @@ -0,0 +1,61 @@ +# 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.serialization import Model + + +class PacketCaptureParameters(Model): + """Parameters that define the create packet capture operation. + + All required parameters must be populated in order to send to Azure. + + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. + :type storage_location: + ~azure.mgmt.network.v2018_06_01.models.PacketCaptureStorageLocation + :param filters: + :type filters: + list[~azure.mgmt.network.v2018_06_01.models.PacketCaptureFilter] + """ + + _validation = { + 'target': {'required': True}, + 'storage_location': {'required': True}, + } + + _attribute_map = { + 'target': {'key': 'target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, + } + + def __init__(self, *, target: str, storage_location, bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, **kwargs) -> None: + super(PacketCaptureParameters, self).__init__(**kwargs) + self.target = target + self.bytes_to_capture_per_packet = bytes_to_capture_per_packet + self.total_bytes_per_session = total_bytes_per_session + self.time_limit_in_seconds = time_limit_in_seconds + self.storage_location = storage_location + self.filters = filters diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_py3.py new file mode 100644 index 000000000000..f0f5bd9150f0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_py3.py @@ -0,0 +1,61 @@ +# 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.serialization import Model + + +class PacketCapture(Model): + """Parameters that define the create packet capture operation. + + All required parameters must be populated in order to send to Azure. + + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. + :type storage_location: + ~azure.mgmt.network.v2018_06_01.models.PacketCaptureStorageLocation + :param filters: + :type filters: + list[~azure.mgmt.network.v2018_06_01.models.PacketCaptureFilter] + """ + + _validation = { + 'target': {'required': True}, + 'storage_location': {'required': True}, + } + + _attribute_map = { + 'target': {'key': 'properties.target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, + } + + def __init__(self, *, target: str, storage_location, bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, **kwargs) -> None: + super(PacketCapture, self).__init__(**kwargs) + self.target = target + self.bytes_to_capture_per_packet = bytes_to_capture_per_packet + self.total_bytes_per_session = total_bytes_per_session + self.time_limit_in_seconds = time_limit_in_seconds + self.storage_location = storage_location + self.filters = filters diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_query_status_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_query_status_result.py new file mode 100644 index 000000000000..407e572b0f87 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_query_status_result.py @@ -0,0 +1,53 @@ +# 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.serialization import Model + + +class PacketCaptureQueryStatusResult(Model): + """Status of packet capture session. + + :param name: The name of the packet capture resource. + :type name: str + :param id: The ID of the packet capture resource. + :type id: str + :param capture_start_time: The start time of the packet capture session. + :type capture_start_time: datetime + :param packet_capture_status: The status of the packet capture session. + Possible values include: 'NotStarted', 'Running', 'Stopped', 'Error', + 'Unknown' + :type packet_capture_status: str or + ~azure.mgmt.network.v2018_06_01.models.PcStatus + :param stop_reason: The reason the current packet capture session was + stopped. + :type stop_reason: str + :param packet_capture_error: List of errors of packet capture session. + :type packet_capture_error: list[str or + ~azure.mgmt.network.v2018_06_01.models.PcError] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'capture_start_time': {'key': 'captureStartTime', 'type': 'iso-8601'}, + 'packet_capture_status': {'key': 'packetCaptureStatus', 'type': 'str'}, + 'stop_reason': {'key': 'stopReason', 'type': 'str'}, + 'packet_capture_error': {'key': 'packetCaptureError', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(PacketCaptureQueryStatusResult, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.id = kwargs.get('id', None) + self.capture_start_time = kwargs.get('capture_start_time', None) + self.packet_capture_status = kwargs.get('packet_capture_status', None) + self.stop_reason = kwargs.get('stop_reason', None) + self.packet_capture_error = kwargs.get('packet_capture_error', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_query_status_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_query_status_result_py3.py new file mode 100644 index 000000000000..fb9d5c3e7069 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_query_status_result_py3.py @@ -0,0 +1,53 @@ +# 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.serialization import Model + + +class PacketCaptureQueryStatusResult(Model): + """Status of packet capture session. + + :param name: The name of the packet capture resource. + :type name: str + :param id: The ID of the packet capture resource. + :type id: str + :param capture_start_time: The start time of the packet capture session. + :type capture_start_time: datetime + :param packet_capture_status: The status of the packet capture session. + Possible values include: 'NotStarted', 'Running', 'Stopped', 'Error', + 'Unknown' + :type packet_capture_status: str or + ~azure.mgmt.network.v2018_06_01.models.PcStatus + :param stop_reason: The reason the current packet capture session was + stopped. + :type stop_reason: str + :param packet_capture_error: List of errors of packet capture session. + :type packet_capture_error: list[str or + ~azure.mgmt.network.v2018_06_01.models.PcError] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'capture_start_time': {'key': 'captureStartTime', 'type': 'iso-8601'}, + 'packet_capture_status': {'key': 'packetCaptureStatus', 'type': 'str'}, + 'stop_reason': {'key': 'stopReason', 'type': 'str'}, + 'packet_capture_error': {'key': 'packetCaptureError', 'type': '[str]'}, + } + + def __init__(self, *, name: str=None, id: str=None, capture_start_time=None, packet_capture_status=None, stop_reason: str=None, packet_capture_error=None, **kwargs) -> None: + super(PacketCaptureQueryStatusResult, self).__init__(**kwargs) + self.name = name + self.id = id + self.capture_start_time = capture_start_time + self.packet_capture_status = packet_capture_status + self.stop_reason = stop_reason + self.packet_capture_error = packet_capture_error diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_result.py new file mode 100644 index 000000000000..648d28112797 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_result.py @@ -0,0 +1,86 @@ +# 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.serialization import Model + + +class PacketCaptureResult(Model): + """Information about packet capture session. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar name: Name of the packet capture session. + :vartype name: str + :ivar id: ID of the packet capture operation. + :vartype id: str + :param etag: Default value: "A unique read-only string that changes + whenever the resource is updated." . + :type etag: str + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. + :type storage_location: + ~azure.mgmt.network.v2018_06_01.models.PacketCaptureStorageLocation + :param filters: + :type filters: + list[~azure.mgmt.network.v2018_06_01.models.PacketCaptureFilter] + :param provisioning_state: The provisioning state of the packet capture + session. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'target': {'required': True}, + 'storage_location': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'target': {'key': 'properties.target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PacketCaptureResult, self).__init__(**kwargs) + self.name = None + self.id = None + self.etag = kwargs.get('etag', "A unique read-only string that changes whenever the resource is updated.") + self.target = kwargs.get('target', None) + self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) + self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) + self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) + self.storage_location = kwargs.get('storage_location', None) + self.filters = kwargs.get('filters', None) + self.provisioning_state = kwargs.get('provisioning_state', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_result_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_result_paged.py new file mode 100644 index 000000000000..20f6b8c55ab6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_result_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 PacketCaptureResultPaged(Paged): + """ + A paging container for iterating over a list of :class:`PacketCaptureResult ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PacketCaptureResult]'} + } + + def __init__(self, *args, **kwargs): + + super(PacketCaptureResultPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_result_py3.py new file mode 100644 index 000000000000..720077b12cf5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_result_py3.py @@ -0,0 +1,86 @@ +# 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.serialization import Model + + +class PacketCaptureResult(Model): + """Information about packet capture session. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar name: Name of the packet capture session. + :vartype name: str + :ivar id: ID of the packet capture operation. + :vartype id: str + :param etag: Default value: "A unique read-only string that changes + whenever the resource is updated." . + :type etag: str + :param target: Required. The ID of the targeted resource, only VM is + currently supported. + :type target: str + :param bytes_to_capture_per_packet: Number of bytes captured per packet, + the remaining bytes are truncated. Default value: 0 . + :type bytes_to_capture_per_packet: int + :param total_bytes_per_session: Maximum size of the capture output. + Default value: 1073741824 . + :type total_bytes_per_session: int + :param time_limit_in_seconds: Maximum duration of the capture session in + seconds. Default value: 18000 . + :type time_limit_in_seconds: int + :param storage_location: Required. + :type storage_location: + ~azure.mgmt.network.v2018_06_01.models.PacketCaptureStorageLocation + :param filters: + :type filters: + list[~azure.mgmt.network.v2018_06_01.models.PacketCaptureFilter] + :param provisioning_state: The provisioning state of the packet capture + session. Possible values include: 'Succeeded', 'Updating', 'Deleting', + 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + """ + + _validation = { + 'name': {'readonly': True}, + 'id': {'readonly': True}, + 'target': {'required': True}, + 'storage_location': {'required': True}, + } + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'target': {'key': 'properties.target', 'type': 'str'}, + 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, + 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, + 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, + 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, + 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + } + + def __init__(self, *, target: str, storage_location, etag: str="A unique read-only string that changes whenever the resource is updated.", bytes_to_capture_per_packet: int=0, total_bytes_per_session: int=1073741824, time_limit_in_seconds: int=18000, filters=None, provisioning_state=None, **kwargs) -> None: + super(PacketCaptureResult, self).__init__(**kwargs) + self.name = None + self.id = None + self.etag = etag + self.target = target + self.bytes_to_capture_per_packet = bytes_to_capture_per_packet + self.total_bytes_per_session = total_bytes_per_session + self.time_limit_in_seconds = time_limit_in_seconds + self.storage_location = storage_location + self.filters = filters + self.provisioning_state = provisioning_state diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_storage_location.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_storage_location.py new file mode 100644 index 000000000000..62ed83d592b3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_storage_location.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class PacketCaptureStorageLocation(Model): + """Describes the storage location for a packet capture session. + + :param storage_id: The ID of the storage account to save the packet + capture session. Required if no local file path is provided. + :type storage_id: str + :param storage_path: The URI of the storage path to save the packet + capture. Must be a well-formed URI describing the location to save the + packet capture. + :type storage_path: str + :param file_path: A valid local path on the targeting VM. Must include the + name of the capture file (*.cap). For linux virtual machine it must start + with /var/captures. Required if no storage ID is provided, otherwise + optional. + :type file_path: str + """ + + _attribute_map = { + 'storage_id': {'key': 'storageId', 'type': 'str'}, + 'storage_path': {'key': 'storagePath', 'type': 'str'}, + 'file_path': {'key': 'filePath', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PacketCaptureStorageLocation, self).__init__(**kwargs) + self.storage_id = kwargs.get('storage_id', None) + self.storage_path = kwargs.get('storage_path', None) + self.file_path = kwargs.get('file_path', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_storage_location_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_storage_location_py3.py new file mode 100644 index 000000000000..6925dd4f9bdf --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/packet_capture_storage_location_py3.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class PacketCaptureStorageLocation(Model): + """Describes the storage location for a packet capture session. + + :param storage_id: The ID of the storage account to save the packet + capture session. Required if no local file path is provided. + :type storage_id: str + :param storage_path: The URI of the storage path to save the packet + capture. Must be a well-formed URI describing the location to save the + packet capture. + :type storage_path: str + :param file_path: A valid local path on the targeting VM. Must include the + name of the capture file (*.cap). For linux virtual machine it must start + with /var/captures. Required if no storage ID is provided, otherwise + optional. + :type file_path: str + """ + + _attribute_map = { + 'storage_id': {'key': 'storageId', 'type': 'str'}, + 'storage_path': {'key': 'storagePath', 'type': 'str'}, + 'file_path': {'key': 'filePath', 'type': 'str'}, + } + + def __init__(self, *, storage_id: str=None, storage_path: str=None, file_path: str=None, **kwargs) -> None: + super(PacketCaptureStorageLocation, self).__init__(**kwargs) + self.storage_id = storage_id + self.storage_path = storage_path + self.file_path = file_path diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/patch_route_filter.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/patch_route_filter.py new file mode 100644 index 000000000000..32e357f07ef3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/patch_route_filter.py @@ -0,0 +1,71 @@ +# 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 PatchRouteFilter(SubResource): + """Route Filter Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param rules: Collection of RouteFilterRules contained within a route + filter. + :type rules: list[~azure.mgmt.network.v2018_06_01.models.RouteFilterRule] + :param peerings: A collection of references to express route circuit + peerings. + :type peerings: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeering] + :ivar provisioning_state: The provisioning state of the resource. Possible + values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. + :vartype provisioning_state: str + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'name': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(PatchRouteFilter, self).__init__(**kwargs) + self.rules = kwargs.get('rules', None) + self.peerings = kwargs.get('peerings', None) + self.provisioning_state = None + self.name = None + self.etag = None + self.type = None + self.tags = kwargs.get('tags', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/patch_route_filter_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/patch_route_filter_py3.py new file mode 100644 index 000000000000..43dd3a41de50 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/patch_route_filter_py3.py @@ -0,0 +1,71 @@ +# 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 PatchRouteFilter(SubResource): + """Route Filter Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param rules: Collection of RouteFilterRules contained within a route + filter. + :type rules: list[~azure.mgmt.network.v2018_06_01.models.RouteFilterRule] + :param peerings: A collection of references to express route circuit + peerings. + :type peerings: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeering] + :ivar provisioning_state: The provisioning state of the resource. Possible + values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. + :vartype provisioning_state: str + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + :ivar type: Resource type. + :vartype type: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + 'name': {'readonly': True}, + 'etag': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, id: str=None, rules=None, peerings=None, tags=None, **kwargs) -> None: + super(PatchRouteFilter, self).__init__(id=id, **kwargs) + self.rules = rules + self.peerings = peerings + self.provisioning_state = None + self.name = None + self.etag = None + self.type = None + self.tags = tags diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/patch_route_filter_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/patch_route_filter_rule.py new file mode 100644 index 000000000000..73a325cb65b5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/patch_route_filter_rule.py @@ -0,0 +1,72 @@ +# 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 PatchRouteFilterRule(SubResource): + """Route Filter Rule Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param access: Required. The access type of the rule. Valid values are: + 'Allow', 'Deny'. Possible values include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2018_06_01.models.Access + :ivar route_filter_rule_type: Required. The rule type of the rule. Valid + value is: 'Community'. Default value: "Community" . + :vartype route_filter_rule_type: str + :param communities: Required. The collection for bgp community values to + filter on. e.g. ['12076:5010','12076:5020'] + :type communities: list[str] + :ivar provisioning_state: The provisioning state of the resource. Possible + values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. + :vartype provisioning_state: str + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'access': {'required': True}, + 'route_filter_rule_type': {'required': True, 'constant': True}, + 'communities': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'name': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, + 'communities': {'key': 'properties.communities', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + route_filter_rule_type = "Community" + + def __init__(self, **kwargs): + super(PatchRouteFilterRule, self).__init__(**kwargs) + self.access = kwargs.get('access', None) + self.communities = kwargs.get('communities', None) + self.provisioning_state = None + self.name = None + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/patch_route_filter_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/patch_route_filter_rule_py3.py new file mode 100644 index 000000000000..ebf726c87c76 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/patch_route_filter_rule_py3.py @@ -0,0 +1,72 @@ +# 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 PatchRouteFilterRule(SubResource): + """Route Filter Rule Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param access: Required. The access type of the rule. Valid values are: + 'Allow', 'Deny'. Possible values include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2018_06_01.models.Access + :ivar route_filter_rule_type: Required. The rule type of the rule. Valid + value is: 'Community'. Default value: "Community" . + :vartype route_filter_rule_type: str + :param communities: Required. The collection for bgp community values to + filter on. e.g. ['12076:5010','12076:5020'] + :type communities: list[str] + :ivar provisioning_state: The provisioning state of the resource. Possible + values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. + :vartype provisioning_state: str + :ivar name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :vartype name: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'access': {'required': True}, + 'route_filter_rule_type': {'required': True, 'constant': True}, + 'communities': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'name': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, + 'communities': {'key': 'properties.communities', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + route_filter_rule_type = "Community" + + def __init__(self, *, access, communities, id: str=None, **kwargs) -> None: + super(PatchRouteFilterRule, self).__init__(id=id, **kwargs) + self.access = access + self.communities = communities + self.provisioning_state = None + self.name = None + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/policies.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/policies.py new file mode 100644 index 000000000000..069d98b7c83c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/policies.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class Policies(Model): + """Policies for vpn gateway. + + :param allow_branch_to_branch_traffic: True if branch to branch traffic is + allowed. + :type allow_branch_to_branch_traffic: bool + :param allow_vnet_to_vnet_traffic: True if Vnet to Vnet traffic is + allowed. + :type allow_vnet_to_vnet_traffic: bool + """ + + _attribute_map = { + 'allow_branch_to_branch_traffic': {'key': 'allowBranchToBranchTraffic', 'type': 'bool'}, + 'allow_vnet_to_vnet_traffic': {'key': 'allowVnetToVnetTraffic', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(Policies, self).__init__(**kwargs) + self.allow_branch_to_branch_traffic = kwargs.get('allow_branch_to_branch_traffic', None) + self.allow_vnet_to_vnet_traffic = kwargs.get('allow_vnet_to_vnet_traffic', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/policies_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/policies_py3.py new file mode 100644 index 000000000000..895c01fcd8a0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/policies_py3.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class Policies(Model): + """Policies for vpn gateway. + + :param allow_branch_to_branch_traffic: True if branch to branch traffic is + allowed. + :type allow_branch_to_branch_traffic: bool + :param allow_vnet_to_vnet_traffic: True if Vnet to Vnet traffic is + allowed. + :type allow_vnet_to_vnet_traffic: bool + """ + + _attribute_map = { + 'allow_branch_to_branch_traffic': {'key': 'allowBranchToBranchTraffic', 'type': 'bool'}, + 'allow_vnet_to_vnet_traffic': {'key': 'allowVnetToVnetTraffic', 'type': 'bool'}, + } + + def __init__(self, *, allow_branch_to_branch_traffic: bool=None, allow_vnet_to_vnet_traffic: bool=None, **kwargs) -> None: + super(Policies, self).__init__(**kwargs) + self.allow_branch_to_branch_traffic = allow_branch_to_branch_traffic + self.allow_vnet_to_vnet_traffic = allow_vnet_to_vnet_traffic diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/probe.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/probe.py new file mode 100644 index 000000000000..2332ca98d2ea --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/probe.py @@ -0,0 +1,93 @@ +# 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 Probe(SubResource): + """A load balancer probe. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar load_balancing_rules: The load balancer rules that use this probe. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param protocol: Required. The protocol of the end point. Possible values + are: 'Http', 'Tcp', or 'Https'. If 'Tcp' is specified, a received ACK is + required for the probe to be successful. If 'Http' or 'Https' is + specified, a 200 OK response from the specifies URI is required for the + probe to be successful. Possible values include: 'Http', 'Tcp', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2018_06_01.models.ProbeProtocol + :param port: Required. The port for communicating the probe. Possible + values range from 1 to 65535, inclusive. + :type port: int + :param interval_in_seconds: The interval, in seconds, for how frequently + to probe the endpoint for health status. Typically, the interval is + slightly less than half the allocated timeout period (in seconds) which + allows two full probes before taking the instance out of rotation. The + default value is 15, the minimum value is 5. + :type interval_in_seconds: int + :param number_of_probes: The number of probes where if no response, will + result in stopping further traffic from being delivered to the endpoint. + This values allows endpoints to be taken out of rotation faster or slower + than the typical times used in Azure. + :type number_of_probes: int + :param request_path: The URI used for requesting health status from the + VM. Path is required if a protocol is set to http. Otherwise, it is not + allowed. There is no default value. + :type request_path: str + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type 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 + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'load_balancing_rules': {'readonly': True}, + 'protocol': {'required': True}, + 'port': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, + 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, + 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Probe, self).__init__(**kwargs) + self.load_balancing_rules = None + self.protocol = kwargs.get('protocol', None) + self.port = kwargs.get('port', None) + self.interval_in_seconds = kwargs.get('interval_in_seconds', None) + self.number_of_probes = kwargs.get('number_of_probes', None) + self.request_path = kwargs.get('request_path', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/probe_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/probe_paged.py new file mode 100644 index 000000000000..f04ef50705a4 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/probe_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 ProbePaged(Paged): + """ + A paging container for iterating over a list of :class:`Probe ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Probe]'} + } + + def __init__(self, *args, **kwargs): + + super(ProbePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/probe_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/probe_py3.py new file mode 100644 index 000000000000..d28f376baa9b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/probe_py3.py @@ -0,0 +1,93 @@ +# 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 Probe(SubResource): + """A load balancer probe. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar load_balancing_rules: The load balancer rules that use this probe. + :vartype load_balancing_rules: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param protocol: Required. The protocol of the end point. Possible values + are: 'Http', 'Tcp', or 'Https'. If 'Tcp' is specified, a received ACK is + required for the probe to be successful. If 'Http' or 'Https' is + specified, a 200 OK response from the specifies URI is required for the + probe to be successful. Possible values include: 'Http', 'Tcp', 'Https' + :type protocol: str or + ~azure.mgmt.network.v2018_06_01.models.ProbeProtocol + :param port: Required. The port for communicating the probe. Possible + values range from 1 to 65535, inclusive. + :type port: int + :param interval_in_seconds: The interval, in seconds, for how frequently + to probe the endpoint for health status. Typically, the interval is + slightly less than half the allocated timeout period (in seconds) which + allows two full probes before taking the instance out of rotation. The + default value is 15, the minimum value is 5. + :type interval_in_seconds: int + :param number_of_probes: The number of probes where if no response, will + result in stopping further traffic from being delivered to the endpoint. + This values allows endpoints to be taken out of rotation faster or slower + than the typical times used in Azure. + :type number_of_probes: int + :param request_path: The URI used for requesting health status from the + VM. Path is required if a protocol is set to http. Otherwise, it is not + allowed. There is no default value. + :type request_path: str + :param provisioning_state: Gets the provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type 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 + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'load_balancing_rules': {'readonly': True}, + 'protocol': {'required': True}, + 'port': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'port': {'key': 'properties.port', 'type': 'int'}, + 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, + 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, + 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, protocol, port: int, id: str=None, interval_in_seconds: int=None, number_of_probes: int=None, request_path: str=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(Probe, self).__init__(id=id, **kwargs) + self.load_balancing_rules = None + self.protocol = protocol + self.port = port + self.interval_in_seconds = interval_in_seconds + self.number_of_probes = number_of_probes + self.request_path = request_path + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/protocol_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/protocol_configuration.py new file mode 100644 index 000000000000..6ba11e22d649 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/protocol_configuration.py @@ -0,0 +1,29 @@ +# 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.serialization import Model + + +class ProtocolConfiguration(Model): + """Configuration of the protocol. + + :param http_configuration: + :type http_configuration: + ~azure.mgmt.network.v2018_06_01.models.HTTPConfiguration + """ + + _attribute_map = { + 'http_configuration': {'key': 'HTTPConfiguration', 'type': 'HTTPConfiguration'}, + } + + def __init__(self, **kwargs): + super(ProtocolConfiguration, self).__init__(**kwargs) + self.http_configuration = kwargs.get('http_configuration', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/protocol_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/protocol_configuration_py3.py new file mode 100644 index 000000000000..2b5ca9721ff6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/protocol_configuration_py3.py @@ -0,0 +1,29 @@ +# 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.serialization import Model + + +class ProtocolConfiguration(Model): + """Configuration of the protocol. + + :param http_configuration: + :type http_configuration: + ~azure.mgmt.network.v2018_06_01.models.HTTPConfiguration + """ + + _attribute_map = { + 'http_configuration': {'key': 'HTTPConfiguration', 'type': 'HTTPConfiguration'}, + } + + def __init__(self, *, http_configuration=None, **kwargs) -> None: + super(ProtocolConfiguration, self).__init__(**kwargs) + self.http_configuration = http_configuration diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address.py new file mode 100644 index 000000000000..e0ff652ff5eb --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address.py @@ -0,0 +1,110 @@ +# 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 .resource import Resource + + +class PublicIPAddress(Resource): + """Public IP address resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The public IP address SKU. + :type sku: ~azure.mgmt.network.v2018_06_01.models.PublicIPAddressSku + :param public_ip_allocation_method: The public IP allocation method. + Possible values are: 'Static' and 'Dynamic'. Possible values include: + 'Static', 'Dynamic' + :type public_ip_allocation_method: str or + ~azure.mgmt.network.v2018_06_01.models.IPAllocationMethod + :param public_ip_address_version: The public IP address version. Possible + values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', 'IPv6' + :type public_ip_address_version: str or + ~azure.mgmt.network.v2018_06_01.models.IPVersion + :ivar ip_configuration: The IP configuration associated with the public IP + address. + :vartype ip_configuration: + ~azure.mgmt.network.v2018_06_01.models.IPConfiguration + :param dns_settings: The FQDN of the DNS record associated with the public + IP address. + :type dns_settings: + ~azure.mgmt.network.v2018_06_01.models.PublicIPAddressDnsSettings + :param ip_tags: The list of tags associated with the public IP address. + :type ip_tags: list[~azure.mgmt.network.v2018_06_01.models.IpTag] + :param ip_address: The IP address associated with the public IP address + resource. + :type ip_address: str + :param idle_timeout_in_minutes: The idle timeout of the public IP address. + :type idle_timeout_in_minutes: int + :param resource_guid: The resource GUID property of the public IP + resource. + :type resource_guid: str + :param provisioning_state: The provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'ip_configuration': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'PublicIPAddressSku'}, + 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, + 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, + 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, + 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, + 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(PublicIPAddress, self).__init__(**kwargs) + self.sku = kwargs.get('sku', None) + self.public_ip_allocation_method = kwargs.get('public_ip_allocation_method', None) + self.public_ip_address_version = kwargs.get('public_ip_address_version', None) + self.ip_configuration = None + self.dns_settings = kwargs.get('dns_settings', None) + self.ip_tags = kwargs.get('ip_tags', None) + self.ip_address = kwargs.get('ip_address', None) + self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = kwargs.get('etag', None) + self.zones = kwargs.get('zones', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address_dns_settings.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address_dns_settings.py new file mode 100644 index 000000000000..07dfe30433a6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address_dns_settings.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class PublicIPAddressDnsSettings(Model): + """Contains FQDN of the DNS record associated with the public IP address. + + :param domain_name_label: Gets or sets the Domain name label.The + concatenation of the domain name label and the regionalized DNS zone make + up the fully qualified domain name associated with the public IP address. + If a domain name label is specified, an A DNS record is created for the + public IP in the Microsoft Azure DNS system. + :type domain_name_label: str + :param fqdn: Gets the FQDN, Fully qualified domain name of the A DNS + record associated with the public IP. This is the concatenation of the + domainNameLabel and the regionalized DNS zone. + :type fqdn: str + :param reverse_fqdn: Gets or Sets the Reverse FQDN. A user-visible, fully + qualified domain name that resolves to this public IP address. If the + reverseFqdn is specified, then a PTR DNS record is created pointing from + the IP address in the in-addr.arpa domain to the reverse FQDN. + :type reverse_fqdn: str + """ + + _attribute_map = { + 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PublicIPAddressDnsSettings, self).__init__(**kwargs) + self.domain_name_label = kwargs.get('domain_name_label', None) + self.fqdn = kwargs.get('fqdn', None) + self.reverse_fqdn = kwargs.get('reverse_fqdn', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address_dns_settings_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address_dns_settings_py3.py new file mode 100644 index 000000000000..e84aa9c10bf5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address_dns_settings_py3.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class PublicIPAddressDnsSettings(Model): + """Contains FQDN of the DNS record associated with the public IP address. + + :param domain_name_label: Gets or sets the Domain name label.The + concatenation of the domain name label and the regionalized DNS zone make + up the fully qualified domain name associated with the public IP address. + If a domain name label is specified, an A DNS record is created for the + public IP in the Microsoft Azure DNS system. + :type domain_name_label: str + :param fqdn: Gets the FQDN, Fully qualified domain name of the A DNS + record associated with the public IP. This is the concatenation of the + domainNameLabel and the regionalized DNS zone. + :type fqdn: str + :param reverse_fqdn: Gets or Sets the Reverse FQDN. A user-visible, fully + qualified domain name that resolves to this public IP address. If the + reverseFqdn is specified, then a PTR DNS record is created pointing from + the IP address in the in-addr.arpa domain to the reverse FQDN. + :type reverse_fqdn: str + """ + + _attribute_map = { + 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, + 'fqdn': {'key': 'fqdn', 'type': 'str'}, + 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, + } + + def __init__(self, *, domain_name_label: str=None, fqdn: str=None, reverse_fqdn: str=None, **kwargs) -> None: + super(PublicIPAddressDnsSettings, self).__init__(**kwargs) + self.domain_name_label = domain_name_label + self.fqdn = fqdn + self.reverse_fqdn = reverse_fqdn diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address_paged.py new file mode 100644 index 000000000000..26ca3156095b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address_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 PublicIPAddressPaged(Paged): + """ + A paging container for iterating over a list of :class:`PublicIPAddress ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[PublicIPAddress]'} + } + + def __init__(self, *args, **kwargs): + + super(PublicIPAddressPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address_py3.py new file mode 100644 index 000000000000..9b2992ccd6ab --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address_py3.py @@ -0,0 +1,110 @@ +# 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 .resource_py3 import Resource + + +class PublicIPAddress(Resource): + """Public IP address resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param sku: The public IP address SKU. + :type sku: ~azure.mgmt.network.v2018_06_01.models.PublicIPAddressSku + :param public_ip_allocation_method: The public IP allocation method. + Possible values are: 'Static' and 'Dynamic'. Possible values include: + 'Static', 'Dynamic' + :type public_ip_allocation_method: str or + ~azure.mgmt.network.v2018_06_01.models.IPAllocationMethod + :param public_ip_address_version: The public IP address version. Possible + values are: 'IPv4' and 'IPv6'. Possible values include: 'IPv4', 'IPv6' + :type public_ip_address_version: str or + ~azure.mgmt.network.v2018_06_01.models.IPVersion + :ivar ip_configuration: The IP configuration associated with the public IP + address. + :vartype ip_configuration: + ~azure.mgmt.network.v2018_06_01.models.IPConfiguration + :param dns_settings: The FQDN of the DNS record associated with the public + IP address. + :type dns_settings: + ~azure.mgmt.network.v2018_06_01.models.PublicIPAddressDnsSettings + :param ip_tags: The list of tags associated with the public IP address. + :type ip_tags: list[~azure.mgmt.network.v2018_06_01.models.IpTag] + :param ip_address: The IP address associated with the public IP address + resource. + :type ip_address: str + :param idle_timeout_in_minutes: The idle timeout of the public IP address. + :type idle_timeout_in_minutes: int + :param resource_guid: The resource GUID property of the public IP + resource. + :type resource_guid: str + :param provisioning_state: The provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + :param zones: A list of availability zones denoting the IP allocated for + the resource needs to come from. + :type zones: list[str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'ip_configuration': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'sku': {'key': 'sku', 'type': 'PublicIPAddressSku'}, + 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, + 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, + 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, + 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, + 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + 'zones': {'key': 'zones', 'type': '[str]'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, sku=None, public_ip_allocation_method=None, public_ip_address_version=None, dns_settings=None, ip_tags=None, ip_address: str=None, idle_timeout_in_minutes: int=None, resource_guid: str=None, provisioning_state: str=None, etag: str=None, zones=None, **kwargs) -> None: + super(PublicIPAddress, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.sku = sku + self.public_ip_allocation_method = public_ip_allocation_method + self.public_ip_address_version = public_ip_address_version + self.ip_configuration = None + self.dns_settings = dns_settings + self.ip_tags = ip_tags + self.ip_address = ip_address + self.idle_timeout_in_minutes = idle_timeout_in_minutes + self.resource_guid = resource_guid + self.provisioning_state = provisioning_state + self.etag = etag + self.zones = zones diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address_sku.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address_sku.py new file mode 100644 index 000000000000..0932616e1f2d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address_sku.py @@ -0,0 +1,30 @@ +# 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.serialization import Model + + +class PublicIPAddressSku(Model): + """SKU of a public IP address. + + :param name: Name of a public IP address SKU. Possible values include: + 'Basic', 'Standard' + :type name: str or + ~azure.mgmt.network.v2018_06_01.models.PublicIPAddressSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(PublicIPAddressSku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address_sku_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address_sku_py3.py new file mode 100644 index 000000000000..fb9c048f21f4 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/public_ip_address_sku_py3.py @@ -0,0 +1,30 @@ +# 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.serialization import Model + + +class PublicIPAddressSku(Model): + """SKU of a public IP address. + + :param name: Name of a public IP address SKU. Possible values include: + 'Basic', 'Standard' + :type name: str or + ~azure.mgmt.network.v2018_06_01.models.PublicIPAddressSkuName + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + } + + def __init__(self, *, name=None, **kwargs) -> None: + super(PublicIPAddressSku, self).__init__(**kwargs) + self.name = name diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/query_troubleshooting_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/query_troubleshooting_parameters.py new file mode 100644 index 000000000000..6ae1924916c6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/query_troubleshooting_parameters.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class QueryTroubleshootingParameters(Model): + """Parameters that define the resource to query the troubleshooting result. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource ID to query the + troubleshooting result. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(QueryTroubleshootingParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/query_troubleshooting_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/query_troubleshooting_parameters_py3.py new file mode 100644 index 000000000000..b5fccb87857c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/query_troubleshooting_parameters_py3.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class QueryTroubleshootingParameters(Model): + """Parameters that define the resource to query the troubleshooting result. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource ID to query the + troubleshooting result. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, **kwargs) -> None: + super(QueryTroubleshootingParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/resource.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/resource.py new file mode 100644 index 000000000000..7dabab29ac9d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/resource.py @@ -0,0 +1,52 @@ +# 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.serialization import Model + + +class Resource(Model): + """Common resource representation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(Resource, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.name = None + self.type = None + self.location = kwargs.get('location', None) + self.tags = kwargs.get('tags', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/resource_navigation_link.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/resource_navigation_link.py new file mode 100644 index 000000000000..705698f513f6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/resource_navigation_link.py @@ -0,0 +1,58 @@ +# 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 ResourceNavigationLink(SubResource): + """ResourceNavigationLink resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param linked_resource_type: Resource type of the linked resource. + :type linked_resource_type: str + :param link: Link to the external resource + :type link: str + :ivar provisioning_state: Provisioning state of the ResourceNavigationLink + resource. + :vartype provisioning_state: str + :param name: 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 = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, + 'link': {'key': 'properties.link', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ResourceNavigationLink, self).__init__(**kwargs) + self.linked_resource_type = kwargs.get('linked_resource_type', None) + self.link = kwargs.get('link', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/resource_navigation_link_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/resource_navigation_link_py3.py new file mode 100644 index 000000000000..ba7329e863a1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/resource_navigation_link_py3.py @@ -0,0 +1,58 @@ +# 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 ResourceNavigationLink(SubResource): + """ResourceNavigationLink resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param linked_resource_type: Resource type of the linked resource. + :type linked_resource_type: str + :param link: Link to the external resource + :type link: str + :ivar provisioning_state: Provisioning state of the ResourceNavigationLink + resource. + :vartype provisioning_state: str + :param name: 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 = { + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, + 'link': {'key': 'properties.link', '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, linked_resource_type: str=None, link: str=None, name: str=None, **kwargs) -> None: + super(ResourceNavigationLink, self).__init__(id=id, **kwargs) + self.linked_resource_type = linked_resource_type + self.link = link + self.provisioning_state = None + self.name = name + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/resource_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/resource_py3.py new file mode 100644 index 000000000000..ae95b78b4f23 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/resource_py3.py @@ -0,0 +1,52 @@ +# 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.serialization import Model + + +class Resource(Model): + """Common resource representation. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, **kwargs) -> None: + super(Resource, self).__init__(**kwargs) + self.id = id + self.name = None + self.type = None + self.location = location + self.tags = tags diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/retention_policy_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/retention_policy_parameters.py new file mode 100644 index 000000000000..28cb43056d47 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/retention_policy_parameters.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class RetentionPolicyParameters(Model): + """Parameters that define the retention policy for flow log. + + :param days: Number of days to retain flow log records. Default value: 0 . + :type days: int + :param enabled: Flag to enable/disable retention. Default value: False . + :type enabled: bool + """ + + _attribute_map = { + 'days': {'key': 'days', 'type': 'int'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, **kwargs): + super(RetentionPolicyParameters, self).__init__(**kwargs) + self.days = kwargs.get('days', 0) + self.enabled = kwargs.get('enabled', False) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/retention_policy_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/retention_policy_parameters_py3.py new file mode 100644 index 000000000000..3b2ffc5e741e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/retention_policy_parameters_py3.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class RetentionPolicyParameters(Model): + """Parameters that define the retention policy for flow log. + + :param days: Number of days to retain flow log records. Default value: 0 . + :type days: int + :param enabled: Flag to enable/disable retention. Default value: False . + :type enabled: bool + """ + + _attribute_map = { + 'days': {'key': 'days', 'type': 'int'}, + 'enabled': {'key': 'enabled', 'type': 'bool'}, + } + + def __init__(self, *, days: int=0, enabled: bool=False, **kwargs) -> None: + super(RetentionPolicyParameters, self).__init__(**kwargs) + self.days = days + self.enabled = enabled diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route.py new file mode 100644 index 000000000000..6660a453e18c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route.py @@ -0,0 +1,67 @@ +# 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 Route(SubResource): + """Route resource. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param address_prefix: The destination CIDR to which the route applies. + :type address_prefix: str + :param next_hop_type: Required. The type of Azure hop the packet should be + sent to. Possible values are: 'VirtualNetworkGateway', 'VnetLocal', + 'Internet', 'VirtualAppliance', and 'None'. Possible values include: + 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', + 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2018_06_01.models.RouteNextHopType + :param next_hop_ip_address: The IP address packets should be forwarded to. + Next hop values are only allowed in routes where the next hop type is + VirtualAppliance. + :type next_hop_ip_address: str + :param provisioning_state: The provisioning state of the resource. + Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'next_hop_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, + 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Route, self).__init__(**kwargs) + self.address_prefix = kwargs.get('address_prefix', None) + self.next_hop_type = kwargs.get('next_hop_type', None) + self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_filter.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_filter.py new file mode 100644 index 000000000000..0069630b4c3c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_filter.py @@ -0,0 +1,70 @@ +# 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 .resource import Resource + + +class RouteFilter(Resource): + """Route Filter Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param rules: Collection of RouteFilterRules contained within a route + filter. + :type rules: list[~azure.mgmt.network.v2018_06_01.models.RouteFilterRule] + :param peerings: A collection of references to express route circuit + peerings. + :type peerings: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeering] + :ivar provisioning_state: The provisioning state of the resource. Possible + values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. + :vartype provisioning_state: str + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RouteFilter, self).__init__(**kwargs) + self.rules = kwargs.get('rules', None) + self.peerings = kwargs.get('peerings', None) + self.provisioning_state = None + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_filter_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_filter_paged.py new file mode 100644 index 000000000000..1aef9dd75bee --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_filter_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 RouteFilterPaged(Paged): + """ + A paging container for iterating over a list of :class:`RouteFilter ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[RouteFilter]'} + } + + def __init__(self, *args, **kwargs): + + super(RouteFilterPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_filter_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_filter_py3.py new file mode 100644 index 000000000000..9ebcb57927c1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_filter_py3.py @@ -0,0 +1,70 @@ +# 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 .resource_py3 import Resource + + +class RouteFilter(Resource): + """Route Filter Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param rules: Collection of RouteFilterRules contained within a route + filter. + :type rules: list[~azure.mgmt.network.v2018_06_01.models.RouteFilterRule] + :param peerings: A collection of references to express route circuit + peerings. + :type peerings: + list[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeering] + :ivar provisioning_state: The provisioning state of the resource. Possible + values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. + :vartype provisioning_state: str + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, + 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, rules=None, peerings=None, **kwargs) -> None: + super(RouteFilter, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.rules = rules + self.peerings = peerings + self.provisioning_state = None + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_filter_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_filter_rule.py new file mode 100644 index 000000000000..4dd01cf8177a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_filter_rule.py @@ -0,0 +1,75 @@ +# 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 RouteFilterRule(SubResource): + """Route Filter Rule Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param access: Required. The access type of the rule. Valid values are: + 'Allow', 'Deny'. Possible values include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2018_06_01.models.Access + :ivar route_filter_rule_type: Required. The rule type of the rule. Valid + value is: 'Community'. Default value: "Community" . + :vartype route_filter_rule_type: str + :param communities: Required. The collection for bgp community values to + filter on. e.g. ['12076:5010','12076:5020'] + :type communities: list[str] + :ivar provisioning_state: The provisioning state of the resource. Possible + values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. + :vartype provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param location: Resource location. + :type location: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'access': {'required': True}, + 'route_filter_rule_type': {'required': True, 'constant': True}, + 'communities': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, + 'communities': {'key': 'properties.communities', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + route_filter_rule_type = "Community" + + def __init__(self, **kwargs): + super(RouteFilterRule, self).__init__(**kwargs) + self.access = kwargs.get('access', None) + self.communities = kwargs.get('communities', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.location = kwargs.get('location', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_filter_rule_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_filter_rule_paged.py new file mode 100644 index 000000000000..3d39e2a0ea71 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_filter_rule_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 RouteFilterRulePaged(Paged): + """ + A paging container for iterating over a list of :class:`RouteFilterRule ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[RouteFilterRule]'} + } + + def __init__(self, *args, **kwargs): + + super(RouteFilterRulePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_filter_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_filter_rule_py3.py new file mode 100644 index 000000000000..84846ef752b7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_filter_rule_py3.py @@ -0,0 +1,75 @@ +# 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 RouteFilterRule(SubResource): + """Route Filter Rule Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param access: Required. The access type of the rule. Valid values are: + 'Allow', 'Deny'. Possible values include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2018_06_01.models.Access + :ivar route_filter_rule_type: Required. The rule type of the rule. Valid + value is: 'Community'. Default value: "Community" . + :vartype route_filter_rule_type: str + :param communities: Required. The collection for bgp community values to + filter on. e.g. ['12076:5010','12076:5020'] + :type communities: list[str] + :ivar provisioning_state: The provisioning state of the resource. Possible + values are: 'Updating', 'Deleting', 'Succeeded' and 'Failed'. + :vartype provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param location: Resource location. + :type location: str + :ivar etag: A unique read-only string that changes whenever the resource + is updated. + :vartype etag: str + """ + + _validation = { + 'access': {'required': True}, + 'route_filter_rule_type': {'required': True, 'constant': True}, + 'communities': {'required': True}, + 'provisioning_state': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, + 'communities': {'key': 'properties.communities', 'type': '[str]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + route_filter_rule_type = "Community" + + def __init__(self, *, access, communities, id: str=None, name: str=None, location: str=None, **kwargs) -> None: + super(RouteFilterRule, self).__init__(id=id, **kwargs) + self.access = access + self.communities = communities + self.provisioning_state = None + self.name = name + self.location = location + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_paged.py new file mode 100644 index 000000000000..46627d6989bc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_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 RoutePaged(Paged): + """ + A paging container for iterating over a list of :class:`Route ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Route]'} + } + + def __init__(self, *args, **kwargs): + + super(RoutePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_py3.py new file mode 100644 index 000000000000..43a9d0a3e07b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_py3.py @@ -0,0 +1,67 @@ +# 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 Route(SubResource): + """Route resource. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param address_prefix: The destination CIDR to which the route applies. + :type address_prefix: str + :param next_hop_type: Required. The type of Azure hop the packet should be + sent to. Possible values are: 'VirtualNetworkGateway', 'VnetLocal', + 'Internet', 'VirtualAppliance', and 'None'. Possible values include: + 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', + 'None' + :type next_hop_type: str or + ~azure.mgmt.network.v2018_06_01.models.RouteNextHopType + :param next_hop_ip_address: The IP address packets should be forwarded to. + Next hop values are only allowed in routes where the next hop type is + VirtualAppliance. + :type next_hop_ip_address: str + :param provisioning_state: The provisioning state of the resource. + Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'next_hop_type': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, + 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, next_hop_type, id: str=None, address_prefix: str=None, next_hop_ip_address: str=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(Route, self).__init__(id=id, **kwargs) + self.address_prefix = address_prefix + self.next_hop_type = next_hop_type + self.next_hop_ip_address = next_hop_ip_address + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_table.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_table.py new file mode 100644 index 000000000000..632f0b9379da --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_table.py @@ -0,0 +1,71 @@ +# 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 .resource import Resource + + +class RouteTable(Resource): + """Route table resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param routes: Collection of routes contained within a route table. + :type routes: list[~azure.mgmt.network.v2018_06_01.models.Route] + :ivar subnets: A collection of references to subnets. + :vartype subnets: list[~azure.mgmt.network.v2018_06_01.models.Subnet] + :param disable_bgp_route_propagation: Gets or sets whether to disable the + routes learned by BGP on that route table. True means disable. + :type disable_bgp_route_propagation: bool + :param provisioning_state: The provisioning state of the resource. + Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnets': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'routes': {'key': 'properties.routes', 'type': '[Route]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'disable_bgp_route_propagation': {'key': 'properties.disableBgpRoutePropagation', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(RouteTable, self).__init__(**kwargs) + self.routes = kwargs.get('routes', None) + self.subnets = None + self.disable_bgp_route_propagation = kwargs.get('disable_bgp_route_propagation', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_table_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_table_paged.py new file mode 100644 index 000000000000..bcc2875164de --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_table_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 RouteTablePaged(Paged): + """ + A paging container for iterating over a list of :class:`RouteTable ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[RouteTable]'} + } + + def __init__(self, *args, **kwargs): + + super(RouteTablePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_table_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_table_py3.py new file mode 100644 index 000000000000..d7364e498498 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/route_table_py3.py @@ -0,0 +1,71 @@ +# 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 .resource_py3 import Resource + + +class RouteTable(Resource): + """Route table resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param routes: Collection of routes contained within a route table. + :type routes: list[~azure.mgmt.network.v2018_06_01.models.Route] + :ivar subnets: A collection of references to subnets. + :vartype subnets: list[~azure.mgmt.network.v2018_06_01.models.Subnet] + :param disable_bgp_route_propagation: Gets or sets whether to disable the + routes learned by BGP on that route table. True means disable. + :type disable_bgp_route_propagation: bool + :param provisioning_state: The provisioning state of the resource. + Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'subnets': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'routes': {'key': 'properties.routes', 'type': '[Route]'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'disable_bgp_route_propagation': {'key': 'properties.disableBgpRoutePropagation', 'type': 'bool'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, routes=None, disable_bgp_route_propagation: bool=None, provisioning_state: str=None, etag: str=None, **kwargs) -> None: + super(RouteTable, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.routes = routes + self.subnets = None + self.disable_bgp_route_propagation = disable_bgp_route_propagation + self.provisioning_state = provisioning_state + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_group_network_interface.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_group_network_interface.py new file mode 100644 index 000000000000..732b62e277e7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_group_network_interface.py @@ -0,0 +1,33 @@ +# 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.serialization import Model + + +class SecurityGroupNetworkInterface(Model): + """Network interface and all its associated security rules. + + :param id: ID of the network interface. + :type id: str + :param security_rule_associations: + :type security_rule_associations: + ~azure.mgmt.network.v2018_06_01.models.SecurityRuleAssociations + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rule_associations': {'key': 'securityRuleAssociations', 'type': 'SecurityRuleAssociations'}, + } + + def __init__(self, **kwargs): + super(SecurityGroupNetworkInterface, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.security_rule_associations = kwargs.get('security_rule_associations', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_group_network_interface_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_group_network_interface_py3.py new file mode 100644 index 000000000000..335f6ce8cc19 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_group_network_interface_py3.py @@ -0,0 +1,33 @@ +# 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.serialization import Model + + +class SecurityGroupNetworkInterface(Model): + """Network interface and all its associated security rules. + + :param id: ID of the network interface. + :type id: str + :param security_rule_associations: + :type security_rule_associations: + ~azure.mgmt.network.v2018_06_01.models.SecurityRuleAssociations + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rule_associations': {'key': 'securityRuleAssociations', 'type': 'SecurityRuleAssociations'}, + } + + def __init__(self, *, id: str=None, security_rule_associations=None, **kwargs) -> None: + super(SecurityGroupNetworkInterface, self).__init__(**kwargs) + self.id = id + self.security_rule_associations = security_rule_associations diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_group_view_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_group_view_parameters.py new file mode 100644 index 000000000000..1d547b0b0e2b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_group_view_parameters.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class SecurityGroupViewParameters(Model): + """Parameters that define the VM to check security groups for. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. ID of the target VM. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SecurityGroupViewParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_group_view_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_group_view_parameters_py3.py new file mode 100644 index 000000000000..7ccc48017444 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_group_view_parameters_py3.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class SecurityGroupViewParameters(Model): + """Parameters that define the VM to check security groups for. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. ID of the target VM. + :type target_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, **kwargs) -> None: + super(SecurityGroupViewParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_group_view_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_group_view_result.py new file mode 100644 index 000000000000..7da7d2356e1a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_group_view_result.py @@ -0,0 +1,29 @@ +# 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.serialization import Model + + +class SecurityGroupViewResult(Model): + """The information about security rules applied to the specified VM. + + :param network_interfaces: List of network interfaces on the specified VM. + :type network_interfaces: + list[~azure.mgmt.network.v2018_06_01.models.SecurityGroupNetworkInterface] + """ + + _attribute_map = { + 'network_interfaces': {'key': 'networkInterfaces', 'type': '[SecurityGroupNetworkInterface]'}, + } + + def __init__(self, **kwargs): + super(SecurityGroupViewResult, self).__init__(**kwargs) + self.network_interfaces = kwargs.get('network_interfaces', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_group_view_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_group_view_result_py3.py new file mode 100644 index 000000000000..0a03756be070 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_group_view_result_py3.py @@ -0,0 +1,29 @@ +# 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.serialization import Model + + +class SecurityGroupViewResult(Model): + """The information about security rules applied to the specified VM. + + :param network_interfaces: List of network interfaces on the specified VM. + :type network_interfaces: + list[~azure.mgmt.network.v2018_06_01.models.SecurityGroupNetworkInterface] + """ + + _attribute_map = { + 'network_interfaces': {'key': 'networkInterfaces', 'type': '[SecurityGroupNetworkInterface]'}, + } + + def __init__(self, *, network_interfaces=None, **kwargs) -> None: + super(SecurityGroupViewResult, self).__init__(**kwargs) + self.network_interfaces = network_interfaces diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_rule.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_rule.py new file mode 100644 index 000000000000..79f5dc2dcd1a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_rule.py @@ -0,0 +1,137 @@ +# 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 SecurityRule(SubResource): + """Network security rule. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param description: A description for this rule. Restricted to 140 chars. + :type description: str + :param protocol: Required. Network protocol this rule applies to. Possible + values are 'Tcp', 'Udp', and '*'. Possible values include: 'Tcp', 'Udp', + '*' + :type protocol: str or + ~azure.mgmt.network.v2018_06_01.models.SecurityRuleProtocol + :param source_port_range: The source port or range. Integer or range + between 0 and 65535. Asterix '*' can also be used to match all ports. + :type source_port_range: str + :param destination_port_range: The destination port or range. Integer or + range between 0 and 65535. Asterix '*' can also be used to match all + ports. + :type destination_port_range: str + :param source_address_prefix: The CIDR or source IP range. Asterix '*' can + also be used to match all source IPs. Default tags such as + 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If + this is an ingress rule, specifies where network traffic originates from. + :type source_address_prefix: str + :param source_address_prefixes: The CIDR or source IP ranges. + :type source_address_prefixes: list[str] + :param source_application_security_groups: The application security group + specified as source. + :type source_application_security_groups: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationSecurityGroup] + :param destination_address_prefix: The destination address prefix. CIDR or + destination IP range. Asterix '*' can also be used to match all source + IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and + 'Internet' can also be used. + :type destination_address_prefix: str + :param destination_address_prefixes: The destination address prefixes. + CIDR or destination IP ranges. + :type destination_address_prefixes: list[str] + :param destination_application_security_groups: The application security + group specified as destination. + :type destination_application_security_groups: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationSecurityGroup] + :param source_port_ranges: The source port ranges. + :type source_port_ranges: list[str] + :param destination_port_ranges: The destination port ranges. + :type destination_port_ranges: list[str] + :param access: Required. The network traffic is allowed or denied. + Possible values are: 'Allow' and 'Deny'. Possible values include: 'Allow', + 'Deny' + :type access: str or + ~azure.mgmt.network.v2018_06_01.models.SecurityRuleAccess + :param priority: The priority of the rule. The value can be between 100 + and 4096. The priority number must be unique for each rule in the + collection. The lower the priority number, the higher the priority of the + rule. + :type priority: int + :param direction: Required. The direction of the rule. The direction + specifies if rule will be evaluated on incoming or outcoming traffic. + Possible values are: 'Inbound' and 'Outbound'. Possible values include: + 'Inbound', 'Outbound' + :type direction: str or + ~azure.mgmt.network.v2018_06_01.models.SecurityRuleDirection + :param provisioning_state: The provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'protocol': {'required': True}, + 'access': {'required': True}, + 'direction': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, + 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, + 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, + 'source_address_prefixes': {'key': 'properties.sourceAddressPrefixes', 'type': '[str]'}, + 'source_application_security_groups': {'key': 'properties.sourceApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, + 'destination_address_prefixes': {'key': 'properties.destinationAddressPrefixes', 'type': '[str]'}, + 'destination_application_security_groups': {'key': 'properties.destinationApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, + 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'direction': {'key': 'properties.direction', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SecurityRule, self).__init__(**kwargs) + self.description = kwargs.get('description', None) + self.protocol = kwargs.get('protocol', None) + self.source_port_range = kwargs.get('source_port_range', None) + self.destination_port_range = kwargs.get('destination_port_range', None) + self.source_address_prefix = kwargs.get('source_address_prefix', None) + self.source_address_prefixes = kwargs.get('source_address_prefixes', None) + self.source_application_security_groups = kwargs.get('source_application_security_groups', None) + self.destination_address_prefix = kwargs.get('destination_address_prefix', None) + self.destination_address_prefixes = kwargs.get('destination_address_prefixes', None) + self.destination_application_security_groups = kwargs.get('destination_application_security_groups', None) + self.source_port_ranges = kwargs.get('source_port_ranges', None) + self.destination_port_ranges = kwargs.get('destination_port_ranges', None) + self.access = kwargs.get('access', None) + self.priority = kwargs.get('priority', None) + self.direction = kwargs.get('direction', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_rule_associations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_rule_associations.py new file mode 100644 index 000000000000..1e193e640c02 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_rule_associations.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class SecurityRuleAssociations(Model): + """All security rules associated with the network interface. + + :param network_interface_association: + :type network_interface_association: + ~azure.mgmt.network.v2018_06_01.models.NetworkInterfaceAssociation + :param subnet_association: + :type subnet_association: + ~azure.mgmt.network.v2018_06_01.models.SubnetAssociation + :param default_security_rules: Collection of default security rules of the + network security group. + :type default_security_rules: + list[~azure.mgmt.network.v2018_06_01.models.SecurityRule] + :param effective_security_rules: Collection of effective security rules. + :type effective_security_rules: + list[~azure.mgmt.network.v2018_06_01.models.EffectiveNetworkSecurityRule] + """ + + _attribute_map = { + 'network_interface_association': {'key': 'networkInterfaceAssociation', 'type': 'NetworkInterfaceAssociation'}, + 'subnet_association': {'key': 'subnetAssociation', 'type': 'SubnetAssociation'}, + 'default_security_rules': {'key': 'defaultSecurityRules', 'type': '[SecurityRule]'}, + 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, + } + + def __init__(self, **kwargs): + super(SecurityRuleAssociations, self).__init__(**kwargs) + self.network_interface_association = kwargs.get('network_interface_association', None) + self.subnet_association = kwargs.get('subnet_association', None) + self.default_security_rules = kwargs.get('default_security_rules', None) + self.effective_security_rules = kwargs.get('effective_security_rules', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_rule_associations_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_rule_associations_py3.py new file mode 100644 index 000000000000..d323faf6fc6a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_rule_associations_py3.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class SecurityRuleAssociations(Model): + """All security rules associated with the network interface. + + :param network_interface_association: + :type network_interface_association: + ~azure.mgmt.network.v2018_06_01.models.NetworkInterfaceAssociation + :param subnet_association: + :type subnet_association: + ~azure.mgmt.network.v2018_06_01.models.SubnetAssociation + :param default_security_rules: Collection of default security rules of the + network security group. + :type default_security_rules: + list[~azure.mgmt.network.v2018_06_01.models.SecurityRule] + :param effective_security_rules: Collection of effective security rules. + :type effective_security_rules: + list[~azure.mgmt.network.v2018_06_01.models.EffectiveNetworkSecurityRule] + """ + + _attribute_map = { + 'network_interface_association': {'key': 'networkInterfaceAssociation', 'type': 'NetworkInterfaceAssociation'}, + 'subnet_association': {'key': 'subnetAssociation', 'type': 'SubnetAssociation'}, + 'default_security_rules': {'key': 'defaultSecurityRules', 'type': '[SecurityRule]'}, + 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, + } + + def __init__(self, *, network_interface_association=None, subnet_association=None, default_security_rules=None, effective_security_rules=None, **kwargs) -> None: + super(SecurityRuleAssociations, self).__init__(**kwargs) + self.network_interface_association = network_interface_association + self.subnet_association = subnet_association + self.default_security_rules = default_security_rules + self.effective_security_rules = effective_security_rules diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_rule_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_rule_paged.py new file mode 100644 index 000000000000..65e121bd0d3e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_rule_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 SecurityRulePaged(Paged): + """ + A paging container for iterating over a list of :class:`SecurityRule ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[SecurityRule]'} + } + + def __init__(self, *args, **kwargs): + + super(SecurityRulePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_rule_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_rule_py3.py new file mode 100644 index 000000000000..07129e15c2de --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/security_rule_py3.py @@ -0,0 +1,137 @@ +# 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 SecurityRule(SubResource): + """Network security rule. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param description: A description for this rule. Restricted to 140 chars. + :type description: str + :param protocol: Required. Network protocol this rule applies to. Possible + values are 'Tcp', 'Udp', and '*'. Possible values include: 'Tcp', 'Udp', + '*' + :type protocol: str or + ~azure.mgmt.network.v2018_06_01.models.SecurityRuleProtocol + :param source_port_range: The source port or range. Integer or range + between 0 and 65535. Asterix '*' can also be used to match all ports. + :type source_port_range: str + :param destination_port_range: The destination port or range. Integer or + range between 0 and 65535. Asterix '*' can also be used to match all + ports. + :type destination_port_range: str + :param source_address_prefix: The CIDR or source IP range. Asterix '*' can + also be used to match all source IPs. Default tags such as + 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. If + this is an ingress rule, specifies where network traffic originates from. + :type source_address_prefix: str + :param source_address_prefixes: The CIDR or source IP ranges. + :type source_address_prefixes: list[str] + :param source_application_security_groups: The application security group + specified as source. + :type source_application_security_groups: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationSecurityGroup] + :param destination_address_prefix: The destination address prefix. CIDR or + destination IP range. Asterix '*' can also be used to match all source + IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and + 'Internet' can also be used. + :type destination_address_prefix: str + :param destination_address_prefixes: The destination address prefixes. + CIDR or destination IP ranges. + :type destination_address_prefixes: list[str] + :param destination_application_security_groups: The application security + group specified as destination. + :type destination_application_security_groups: + list[~azure.mgmt.network.v2018_06_01.models.ApplicationSecurityGroup] + :param source_port_ranges: The source port ranges. + :type source_port_ranges: list[str] + :param destination_port_ranges: The destination port ranges. + :type destination_port_ranges: list[str] + :param access: Required. The network traffic is allowed or denied. + Possible values are: 'Allow' and 'Deny'. Possible values include: 'Allow', + 'Deny' + :type access: str or + ~azure.mgmt.network.v2018_06_01.models.SecurityRuleAccess + :param priority: The priority of the rule. The value can be between 100 + and 4096. The priority number must be unique for each rule in the + collection. The lower the priority number, the higher the priority of the + rule. + :type priority: int + :param direction: Required. The direction of the rule. The direction + specifies if rule will be evaluated on incoming or outcoming traffic. + Possible values are: 'Inbound' and 'Outbound'. Possible values include: + 'Inbound', 'Outbound' + :type direction: str or + ~azure.mgmt.network.v2018_06_01.models.SecurityRuleDirection + :param provisioning_state: The provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'protocol': {'required': True}, + 'access': {'required': True}, + 'direction': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'description': {'key': 'properties.description', 'type': 'str'}, + 'protocol': {'key': 'properties.protocol', 'type': 'str'}, + 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, + 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, + 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, + 'source_address_prefixes': {'key': 'properties.sourceAddressPrefixes', 'type': '[str]'}, + 'source_application_security_groups': {'key': 'properties.sourceApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, + 'destination_address_prefixes': {'key': 'properties.destinationAddressPrefixes', 'type': '[str]'}, + 'destination_application_security_groups': {'key': 'properties.destinationApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, + 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, + 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, + 'access': {'key': 'properties.access', 'type': 'str'}, + 'priority': {'key': 'properties.priority', 'type': 'int'}, + 'direction': {'key': 'properties.direction', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, protocol, access, direction, id: str=None, description: str=None, source_port_range: str=None, destination_port_range: str=None, source_address_prefix: str=None, source_address_prefixes=None, source_application_security_groups=None, destination_address_prefix: str=None, destination_address_prefixes=None, destination_application_security_groups=None, source_port_ranges=None, destination_port_ranges=None, priority: int=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(SecurityRule, self).__init__(id=id, **kwargs) + self.description = description + self.protocol = protocol + self.source_port_range = source_port_range + self.destination_port_range = destination_port_range + self.source_address_prefix = source_address_prefix + self.source_address_prefixes = source_address_prefixes + self.source_application_security_groups = source_application_security_groups + self.destination_address_prefix = destination_address_prefix + self.destination_address_prefixes = destination_address_prefixes + self.destination_application_security_groups = destination_application_security_groups + self.source_port_ranges = source_port_ranges + self.destination_port_ranges = destination_port_ranges + self.access = access + self.priority = priority + self.direction = direction + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/service_endpoint_properties_format.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/service_endpoint_properties_format.py new file mode 100644 index 000000000000..87ca01e64540 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/service_endpoint_properties_format.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class ServiceEndpointPropertiesFormat(Model): + """The service endpoint properties. + + :param service: The type of the endpoint service. + :type service: str + :param locations: A list of locations. + :type locations: list[str] + :param provisioning_state: The provisioning state of the resource. + :type provisioning_state: str + """ + + _attribute_map = { + 'service': {'key': 'service', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(ServiceEndpointPropertiesFormat, self).__init__(**kwargs) + self.service = kwargs.get('service', None) + self.locations = kwargs.get('locations', None) + self.provisioning_state = kwargs.get('provisioning_state', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/service_endpoint_properties_format_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/service_endpoint_properties_format_py3.py new file mode 100644 index 000000000000..8d3d2e5e8347 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/service_endpoint_properties_format_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class ServiceEndpointPropertiesFormat(Model): + """The service endpoint properties. + + :param service: The type of the endpoint service. + :type service: str + :param locations: A list of locations. + :type locations: list[str] + :param provisioning_state: The provisioning state of the resource. + :type provisioning_state: str + """ + + _attribute_map = { + 'service': {'key': 'service', 'type': 'str'}, + 'locations': {'key': 'locations', 'type': '[str]'}, + 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, + } + + def __init__(self, *, service: str=None, locations=None, provisioning_state: str=None, **kwargs) -> None: + super(ServiceEndpointPropertiesFormat, self).__init__(**kwargs) + self.service = service + self.locations = locations + self.provisioning_state = provisioning_state diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/sub_resource.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/sub_resource.py new file mode 100644 index 000000000000..6ab81f55f21b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/sub_resource.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class SubResource(Model): + """Reference to another subresource. + + :param id: Resource ID. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(SubResource, self).__init__(**kwargs) + self.id = kwargs.get('id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/sub_resource_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/sub_resource_py3.py new file mode 100644 index 000000000000..8f4c4c816061 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/sub_resource_py3.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class SubResource(Model): + """Reference to another subresource. + + :param id: Resource ID. + :type id: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, **kwargs) -> None: + super(SubResource, self).__init__(**kwargs) + self.id = id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/subnet.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/subnet.py new file mode 100644 index 000000000000..662946d95cd2 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/subnet.py @@ -0,0 +1,79 @@ +# 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 Subnet(SubResource): + """Subnet in a virtual network resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param address_prefix: The address prefix for the subnet. + :type address_prefix: str + :param network_security_group: The reference of the NetworkSecurityGroup + resource. + :type network_security_group: + ~azure.mgmt.network.v2018_06_01.models.NetworkSecurityGroup + :param route_table: The reference of the RouteTable resource. + :type route_table: ~azure.mgmt.network.v2018_06_01.models.RouteTable + :param service_endpoints: An array of service endpoints. + :type service_endpoints: + list[~azure.mgmt.network.v2018_06_01.models.ServiceEndpointPropertiesFormat] + :ivar ip_configurations: Gets an array of references to the network + interface IP configurations using subnet. + :vartype ip_configurations: + list[~azure.mgmt.network.v2018_06_01.models.IPConfiguration] + :param resource_navigation_links: Gets an array of references to the + external resources using subnet. + :type resource_navigation_links: + list[~azure.mgmt.network.v2018_06_01.models.ResourceNavigationLink] + :param provisioning_state: The provisioning state of the resource. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'ip_configurations': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, + 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, + 'service_endpoints': {'key': 'properties.serviceEndpoints', 'type': '[ServiceEndpointPropertiesFormat]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, + 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(Subnet, self).__init__(**kwargs) + self.address_prefix = kwargs.get('address_prefix', None) + self.network_security_group = kwargs.get('network_security_group', None) + self.route_table = kwargs.get('route_table', None) + self.service_endpoints = kwargs.get('service_endpoints', None) + self.ip_configurations = None + self.resource_navigation_links = kwargs.get('resource_navigation_links', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/subnet_association.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/subnet_association.py new file mode 100644 index 000000000000..7a9ac5a3a8b1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/subnet_association.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class SubnetAssociation(Model): + """Network interface and its custom security rules. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Subnet ID. + :vartype id: str + :param security_rules: Collection of custom security rules. + :type security_rules: + list[~azure.mgmt.network.v2018_06_01.models.SecurityRule] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, + } + + def __init__(self, **kwargs): + super(SubnetAssociation, self).__init__(**kwargs) + self.id = None + self.security_rules = kwargs.get('security_rules', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/subnet_association_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/subnet_association_py3.py new file mode 100644 index 000000000000..931643f54ba5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/subnet_association_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class SubnetAssociation(Model): + """Network interface and its custom security rules. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: Subnet ID. + :vartype id: str + :param security_rules: Collection of custom security rules. + :type security_rules: + list[~azure.mgmt.network.v2018_06_01.models.SecurityRule] + """ + + _validation = { + 'id': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, + } + + def __init__(self, *, security_rules=None, **kwargs) -> None: + super(SubnetAssociation, self).__init__(**kwargs) + self.id = None + self.security_rules = security_rules diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/subnet_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/subnet_paged.py new file mode 100644 index 000000000000..0f921af20ae1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/subnet_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 SubnetPaged(Paged): + """ + A paging container for iterating over a list of :class:`Subnet ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Subnet]'} + } + + def __init__(self, *args, **kwargs): + + super(SubnetPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/subnet_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/subnet_py3.py new file mode 100644 index 000000000000..eb701e14149f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/subnet_py3.py @@ -0,0 +1,79 @@ +# 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 Subnet(SubResource): + """Subnet in a virtual network resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param address_prefix: The address prefix for the subnet. + :type address_prefix: str + :param network_security_group: The reference of the NetworkSecurityGroup + resource. + :type network_security_group: + ~azure.mgmt.network.v2018_06_01.models.NetworkSecurityGroup + :param route_table: The reference of the RouteTable resource. + :type route_table: ~azure.mgmt.network.v2018_06_01.models.RouteTable + :param service_endpoints: An array of service endpoints. + :type service_endpoints: + list[~azure.mgmt.network.v2018_06_01.models.ServiceEndpointPropertiesFormat] + :ivar ip_configurations: Gets an array of references to the network + interface IP configurations using subnet. + :vartype ip_configurations: + list[~azure.mgmt.network.v2018_06_01.models.IPConfiguration] + :param resource_navigation_links: Gets an array of references to the + external resources using subnet. + :type resource_navigation_links: + list[~azure.mgmt.network.v2018_06_01.models.ResourceNavigationLink] + :param provisioning_state: The provisioning state of the resource. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'ip_configurations': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, + 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, + 'service_endpoints': {'key': 'properties.serviceEndpoints', 'type': '[ServiceEndpointPropertiesFormat]'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, + 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, address_prefix: str=None, network_security_group=None, route_table=None, service_endpoints=None, resource_navigation_links=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(Subnet, self).__init__(id=id, **kwargs) + self.address_prefix = address_prefix + self.network_security_group = network_security_group + self.route_table = route_table + self.service_endpoints = service_endpoints + self.ip_configurations = None + self.resource_navigation_links = resource_navigation_links + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/tags_object.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/tags_object.py new file mode 100644 index 000000000000..2966ec220f94 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/tags_object.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class TagsObject(Model): + """Tags object for patch operations. + + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, **kwargs): + super(TagsObject, self).__init__(**kwargs) + self.tags = kwargs.get('tags', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/tags_object_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/tags_object_py3.py new file mode 100644 index 000000000000..8be0bb4a15d7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/tags_object_py3.py @@ -0,0 +1,28 @@ +# 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.serialization import Model + + +class TagsObject(Model): + """Tags object for patch operations. + + :param tags: Resource tags. + :type tags: dict[str, str] + """ + + _attribute_map = { + 'tags': {'key': 'tags', 'type': '{str}'}, + } + + def __init__(self, *, tags=None, **kwargs) -> None: + super(TagsObject, self).__init__(**kwargs) + self.tags = tags diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology.py new file mode 100644 index 000000000000..f57cdf9962b7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology.py @@ -0,0 +1,51 @@ +# 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.serialization import Model + + +class Topology(Model): + """Topology of the specified resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: GUID representing the operation id. + :vartype id: str + :ivar created_date_time: The datetime when the topology was initially + created for the resource group. + :vartype created_date_time: datetime + :ivar last_modified: The datetime when the topology was last modified. + :vartype last_modified: datetime + :param resources: + :type resources: + list[~azure.mgmt.network.v2018_06_01.models.TopologyResource] + """ + + _validation = { + 'id': {'readonly': True}, + 'created_date_time': {'readonly': True}, + 'last_modified': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, + 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, + 'resources': {'key': 'resources', 'type': '[TopologyResource]'}, + } + + def __init__(self, **kwargs): + super(Topology, self).__init__(**kwargs) + self.id = None + self.created_date_time = None + self.last_modified = None + self.resources = kwargs.get('resources', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_association.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_association.py new file mode 100644 index 000000000000..c8f08ebdb882 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_association.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class TopologyAssociation(Model): + """Resources that have an association with the parent resource. + + :param name: The name of the resource that is associated with the parent + resource. + :type name: str + :param resource_id: The ID of the resource that is associated with the + parent resource. + :type resource_id: str + :param association_type: The association type of the child resource to the + parent resource. Possible values include: 'Associated', 'Contains' + :type association_type: str or + ~azure.mgmt.network.v2018_06_01.models.AssociationType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'association_type': {'key': 'associationType', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TopologyAssociation, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.resource_id = kwargs.get('resource_id', None) + self.association_type = kwargs.get('association_type', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_association_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_association_py3.py new file mode 100644 index 000000000000..720580dc09fd --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_association_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class TopologyAssociation(Model): + """Resources that have an association with the parent resource. + + :param name: The name of the resource that is associated with the parent + resource. + :type name: str + :param resource_id: The ID of the resource that is associated with the + parent resource. + :type resource_id: str + :param association_type: The association type of the child resource to the + parent resource. Possible values include: 'Associated', 'Contains' + :type association_type: str or + ~azure.mgmt.network.v2018_06_01.models.AssociationType + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'resource_id': {'key': 'resourceId', 'type': 'str'}, + 'association_type': {'key': 'associationType', 'type': 'str'}, + } + + def __init__(self, *, name: str=None, resource_id: str=None, association_type=None, **kwargs) -> None: + super(TopologyAssociation, self).__init__(**kwargs) + self.name = name + self.resource_id = resource_id + self.association_type = association_type diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_parameters.py new file mode 100644 index 000000000000..f02b3841e377 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_parameters.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class TopologyParameters(Model): + """Parameters that define the representation of topology. + + :param target_resource_group_name: The name of the target resource group + to perform topology on. + :type target_resource_group_name: str + :param target_virtual_network: The reference of the Virtual Network + resource. + :type target_virtual_network: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param target_subnet: The reference of the Subnet resource. + :type target_subnet: ~azure.mgmt.network.v2018_06_01.models.SubResource + """ + + _attribute_map = { + 'target_resource_group_name': {'key': 'targetResourceGroupName', 'type': 'str'}, + 'target_virtual_network': {'key': 'targetVirtualNetwork', 'type': 'SubResource'}, + 'target_subnet': {'key': 'targetSubnet', 'type': 'SubResource'}, + } + + def __init__(self, **kwargs): + super(TopologyParameters, self).__init__(**kwargs) + self.target_resource_group_name = kwargs.get('target_resource_group_name', None) + self.target_virtual_network = kwargs.get('target_virtual_network', None) + self.target_subnet = kwargs.get('target_subnet', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_parameters_py3.py new file mode 100644 index 000000000000..8794b37bc97c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_parameters_py3.py @@ -0,0 +1,39 @@ +# 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.serialization import Model + + +class TopologyParameters(Model): + """Parameters that define the representation of topology. + + :param target_resource_group_name: The name of the target resource group + to perform topology on. + :type target_resource_group_name: str + :param target_virtual_network: The reference of the Virtual Network + resource. + :type target_virtual_network: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param target_subnet: The reference of the Subnet resource. + :type target_subnet: ~azure.mgmt.network.v2018_06_01.models.SubResource + """ + + _attribute_map = { + 'target_resource_group_name': {'key': 'targetResourceGroupName', 'type': 'str'}, + 'target_virtual_network': {'key': 'targetVirtualNetwork', 'type': 'SubResource'}, + 'target_subnet': {'key': 'targetSubnet', 'type': 'SubResource'}, + } + + def __init__(self, *, target_resource_group_name: str=None, target_virtual_network=None, target_subnet=None, **kwargs) -> None: + super(TopologyParameters, self).__init__(**kwargs) + self.target_resource_group_name = target_resource_group_name + self.target_virtual_network = target_virtual_network + self.target_subnet = target_subnet diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_py3.py new file mode 100644 index 000000000000..4f8555aadf0f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_py3.py @@ -0,0 +1,51 @@ +# 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.serialization import Model + + +class Topology(Model): + """Topology of the specified resource group. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar id: GUID representing the operation id. + :vartype id: str + :ivar created_date_time: The datetime when the topology was initially + created for the resource group. + :vartype created_date_time: datetime + :ivar last_modified: The datetime when the topology was last modified. + :vartype last_modified: datetime + :param resources: + :type resources: + list[~azure.mgmt.network.v2018_06_01.models.TopologyResource] + """ + + _validation = { + 'id': {'readonly': True}, + 'created_date_time': {'readonly': True}, + 'last_modified': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, + 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, + 'resources': {'key': 'resources', 'type': '[TopologyResource]'}, + } + + def __init__(self, *, resources=None, **kwargs) -> None: + super(Topology, self).__init__(**kwargs) + self.id = None + self.created_date_time = None + self.last_modified = None + self.resources = resources diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_resource.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_resource.py new file mode 100644 index 000000000000..d9c975695045 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_resource.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class TopologyResource(Model): + """The network resource topology information for the given resource group. + + :param name: Name of the resource. + :type name: str + :param id: ID of the resource. + :type id: str + :param location: Resource location. + :type location: str + :param associations: Holds the associations the resource has with other + resources in the resource group. + :type associations: + list[~azure.mgmt.network.v2018_06_01.models.TopologyAssociation] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'associations': {'key': 'associations', 'type': '[TopologyAssociation]'}, + } + + def __init__(self, **kwargs): + super(TopologyResource, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.id = kwargs.get('id', None) + self.location = kwargs.get('location', None) + self.associations = kwargs.get('associations', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_resource_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_resource_py3.py new file mode 100644 index 000000000000..ee5f8b65326f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/topology_resource_py3.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class TopologyResource(Model): + """The network resource topology information for the given resource group. + + :param name: Name of the resource. + :type name: str + :param id: ID of the resource. + :type id: str + :param location: Resource location. + :type location: str + :param associations: Holds the associations the resource has with other + resources in the resource group. + :type associations: + list[~azure.mgmt.network.v2018_06_01.models.TopologyAssociation] + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'id': {'key': 'id', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'associations': {'key': 'associations', 'type': '[TopologyAssociation]'}, + } + + def __init__(self, *, name: str=None, id: str=None, location: str=None, associations=None, **kwargs) -> None: + super(TopologyResource, self).__init__(**kwargs) + self.name = name + self.id = id + self.location = location + self.associations = associations diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/traffic_analytics_configuration_properties.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/traffic_analytics_configuration_properties.py new file mode 100644 index 000000000000..07ec840d9ed3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/traffic_analytics_configuration_properties.py @@ -0,0 +1,50 @@ +# 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.serialization import Model + + +class TrafficAnalyticsConfigurationProperties(Model): + """Parameters that define the configuration of traffic analytics. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Flag to enable/disable traffic analytics. + :type enabled: bool + :param workspace_id: Required. The resource guid of the attached workspace + :type workspace_id: str + :param workspace_region: Required. The location of the attached workspace + :type workspace_region: str + :param workspace_resource_id: Required. Resource Id of the attached + workspace + :type workspace_resource_id: str + """ + + _validation = { + 'enabled': {'required': True}, + 'workspace_id': {'required': True}, + 'workspace_region': {'required': True}, + 'workspace_resource_id': {'required': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'workspace_id': {'key': 'workspaceId', 'type': 'str'}, + 'workspace_region': {'key': 'workspaceRegion', 'type': 'str'}, + 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TrafficAnalyticsConfigurationProperties, self).__init__(**kwargs) + self.enabled = kwargs.get('enabled', None) + self.workspace_id = kwargs.get('workspace_id', None) + self.workspace_region = kwargs.get('workspace_region', None) + self.workspace_resource_id = kwargs.get('workspace_resource_id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/traffic_analytics_configuration_properties_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/traffic_analytics_configuration_properties_py3.py new file mode 100644 index 000000000000..bbc5ad2372c3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/traffic_analytics_configuration_properties_py3.py @@ -0,0 +1,50 @@ +# 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.serialization import Model + + +class TrafficAnalyticsConfigurationProperties(Model): + """Parameters that define the configuration of traffic analytics. + + All required parameters must be populated in order to send to Azure. + + :param enabled: Required. Flag to enable/disable traffic analytics. + :type enabled: bool + :param workspace_id: Required. The resource guid of the attached workspace + :type workspace_id: str + :param workspace_region: Required. The location of the attached workspace + :type workspace_region: str + :param workspace_resource_id: Required. Resource Id of the attached + workspace + :type workspace_resource_id: str + """ + + _validation = { + 'enabled': {'required': True}, + 'workspace_id': {'required': True}, + 'workspace_region': {'required': True}, + 'workspace_resource_id': {'required': True}, + } + + _attribute_map = { + 'enabled': {'key': 'enabled', 'type': 'bool'}, + 'workspace_id': {'key': 'workspaceId', 'type': 'str'}, + 'workspace_region': {'key': 'workspaceRegion', 'type': 'str'}, + 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, + } + + def __init__(self, *, enabled: bool, workspace_id: str, workspace_region: str, workspace_resource_id: str, **kwargs) -> None: + super(TrafficAnalyticsConfigurationProperties, self).__init__(**kwargs) + self.enabled = enabled + self.workspace_id = workspace_id + self.workspace_region = workspace_region + self.workspace_resource_id = workspace_resource_id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/traffic_analytics_properties.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/traffic_analytics_properties.py new file mode 100644 index 000000000000..f84c49aa9322 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/traffic_analytics_properties.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class TrafficAnalyticsProperties(Model): + """Parameters that define the configuration of traffic analytics. + + All required parameters must be populated in order to send to Azure. + + :param network_watcher_flow_analytics_configuration: Required. + :type network_watcher_flow_analytics_configuration: + ~azure.mgmt.network.v2018_06_01.models.TrafficAnalyticsConfigurationProperties + """ + + _validation = { + 'network_watcher_flow_analytics_configuration': {'required': True}, + } + + _attribute_map = { + 'network_watcher_flow_analytics_configuration': {'key': 'networkWatcherFlowAnalyticsConfiguration', 'type': 'TrafficAnalyticsConfigurationProperties'}, + } + + def __init__(self, **kwargs): + super(TrafficAnalyticsProperties, self).__init__(**kwargs) + self.network_watcher_flow_analytics_configuration = kwargs.get('network_watcher_flow_analytics_configuration', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/traffic_analytics_properties_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/traffic_analytics_properties_py3.py new file mode 100644 index 000000000000..682ee142c971 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/traffic_analytics_properties_py3.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class TrafficAnalyticsProperties(Model): + """Parameters that define the configuration of traffic analytics. + + All required parameters must be populated in order to send to Azure. + + :param network_watcher_flow_analytics_configuration: Required. + :type network_watcher_flow_analytics_configuration: + ~azure.mgmt.network.v2018_06_01.models.TrafficAnalyticsConfigurationProperties + """ + + _validation = { + 'network_watcher_flow_analytics_configuration': {'required': True}, + } + + _attribute_map = { + 'network_watcher_flow_analytics_configuration': {'key': 'networkWatcherFlowAnalyticsConfiguration', 'type': 'TrafficAnalyticsConfigurationProperties'}, + } + + def __init__(self, *, network_watcher_flow_analytics_configuration, **kwargs) -> None: + super(TrafficAnalyticsProperties, self).__init__(**kwargs) + self.network_watcher_flow_analytics_configuration = network_watcher_flow_analytics_configuration diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_details.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_details.py new file mode 100644 index 000000000000..7baed866be6b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_details.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class TroubleshootingDetails(Model): + """Information gained from troubleshooting of specified resource. + + :param id: The id of the get troubleshoot operation. + :type id: str + :param reason_type: Reason type of failure. + :type reason_type: str + :param summary: A summary of troubleshooting. + :type summary: str + :param detail: Details on troubleshooting results. + :type detail: str + :param recommended_actions: List of recommended actions. + :type recommended_actions: + list[~azure.mgmt.network.v2018_06_01.models.TroubleshootingRecommendedActions] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'reason_type': {'key': 'reasonType', 'type': 'str'}, + 'summary': {'key': 'summary', 'type': 'str'}, + 'detail': {'key': 'detail', 'type': 'str'}, + 'recommended_actions': {'key': 'recommendedActions', 'type': '[TroubleshootingRecommendedActions]'}, + } + + def __init__(self, **kwargs): + super(TroubleshootingDetails, self).__init__(**kwargs) + self.id = kwargs.get('id', None) + self.reason_type = kwargs.get('reason_type', None) + self.summary = kwargs.get('summary', None) + self.detail = kwargs.get('detail', None) + self.recommended_actions = kwargs.get('recommended_actions', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_details_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_details_py3.py new file mode 100644 index 000000000000..bfb9a2de4a87 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_details_py3.py @@ -0,0 +1,45 @@ +# 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.serialization import Model + + +class TroubleshootingDetails(Model): + """Information gained from troubleshooting of specified resource. + + :param id: The id of the get troubleshoot operation. + :type id: str + :param reason_type: Reason type of failure. + :type reason_type: str + :param summary: A summary of troubleshooting. + :type summary: str + :param detail: Details on troubleshooting results. + :type detail: str + :param recommended_actions: List of recommended actions. + :type recommended_actions: + list[~azure.mgmt.network.v2018_06_01.models.TroubleshootingRecommendedActions] + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'reason_type': {'key': 'reasonType', 'type': 'str'}, + 'summary': {'key': 'summary', 'type': 'str'}, + 'detail': {'key': 'detail', 'type': 'str'}, + 'recommended_actions': {'key': 'recommendedActions', 'type': '[TroubleshootingRecommendedActions]'}, + } + + def __init__(self, *, id: str=None, reason_type: str=None, summary: str=None, detail: str=None, recommended_actions=None, **kwargs) -> None: + super(TroubleshootingDetails, self).__init__(**kwargs) + self.id = id + self.reason_type = reason_type + self.summary = summary + self.detail = detail + self.recommended_actions = recommended_actions diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_parameters.py new file mode 100644 index 000000000000..6b11d3eb5ffc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_parameters.py @@ -0,0 +1,46 @@ +# 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.serialization import Model + + +class TroubleshootingParameters(Model): + """Parameters that define the resource to troubleshoot. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource to troubleshoot. + :type target_resource_id: str + :param storage_id: Required. The ID for the storage account to save the + troubleshoot result. + :type storage_id: str + :param storage_path: Required. The path to the blob to save the + troubleshoot result in. + :type storage_path: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'storage_id': {'required': True}, + 'storage_path': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, + 'storage_path': {'key': 'properties.storagePath', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TroubleshootingParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + self.storage_id = kwargs.get('storage_id', None) + self.storage_path = kwargs.get('storage_path', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_parameters_py3.py new file mode 100644 index 000000000000..e010b7bdc9de --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_parameters_py3.py @@ -0,0 +1,46 @@ +# 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.serialization import Model + + +class TroubleshootingParameters(Model): + """Parameters that define the resource to troubleshoot. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The target resource to troubleshoot. + :type target_resource_id: str + :param storage_id: Required. The ID for the storage account to save the + troubleshoot result. + :type storage_id: str + :param storage_path: Required. The path to the blob to save the + troubleshoot result in. + :type storage_path: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'storage_id': {'required': True}, + 'storage_path': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, + 'storage_path': {'key': 'properties.storagePath', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, storage_id: str, storage_path: str, **kwargs) -> None: + super(TroubleshootingParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + self.storage_id = storage_id + self.storage_path = storage_path diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_recommended_actions.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_recommended_actions.py new file mode 100644 index 000000000000..be395be4ad54 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_recommended_actions.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class TroubleshootingRecommendedActions(Model): + """Recommended actions based on discovered issues. + + :param action_id: ID of the recommended action. + :type action_id: str + :param action_text: Description of recommended actions. + :type action_text: str + :param action_uri: The uri linking to a documentation for the recommended + troubleshooting actions. + :type action_uri: str + :param action_uri_text: The information from the URI for the recommended + troubleshooting actions. + :type action_uri_text: str + """ + + _attribute_map = { + 'action_id': {'key': 'actionId', 'type': 'str'}, + 'action_text': {'key': 'actionText', 'type': 'str'}, + 'action_uri': {'key': 'actionUri', 'type': 'str'}, + 'action_uri_text': {'key': 'actionUriText', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TroubleshootingRecommendedActions, self).__init__(**kwargs) + self.action_id = kwargs.get('action_id', None) + self.action_text = kwargs.get('action_text', None) + self.action_uri = kwargs.get('action_uri', None) + self.action_uri_text = kwargs.get('action_uri_text', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_recommended_actions_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_recommended_actions_py3.py new file mode 100644 index 000000000000..05c3f654353b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_recommended_actions_py3.py @@ -0,0 +1,42 @@ +# 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.serialization import Model + + +class TroubleshootingRecommendedActions(Model): + """Recommended actions based on discovered issues. + + :param action_id: ID of the recommended action. + :type action_id: str + :param action_text: Description of recommended actions. + :type action_text: str + :param action_uri: The uri linking to a documentation for the recommended + troubleshooting actions. + :type action_uri: str + :param action_uri_text: The information from the URI for the recommended + troubleshooting actions. + :type action_uri_text: str + """ + + _attribute_map = { + 'action_id': {'key': 'actionId', 'type': 'str'}, + 'action_text': {'key': 'actionText', 'type': 'str'}, + 'action_uri': {'key': 'actionUri', 'type': 'str'}, + 'action_uri_text': {'key': 'actionUriText', 'type': 'str'}, + } + + def __init__(self, *, action_id: str=None, action_text: str=None, action_uri: str=None, action_uri_text: str=None, **kwargs) -> None: + super(TroubleshootingRecommendedActions, self).__init__(**kwargs) + self.action_id = action_id + self.action_text = action_text + self.action_uri = action_uri + self.action_uri_text = action_uri_text diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_result.py new file mode 100644 index 000000000000..ab9d7a9be174 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_result.py @@ -0,0 +1,41 @@ +# 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.serialization import Model + + +class TroubleshootingResult(Model): + """Troubleshooting information gained from specified resource. + + :param start_time: The start time of the troubleshooting. + :type start_time: datetime + :param end_time: The end time of the troubleshooting. + :type end_time: datetime + :param code: The result code of the troubleshooting. + :type code: str + :param results: Information from troubleshooting. + :type results: + list[~azure.mgmt.network.v2018_06_01.models.TroubleshootingDetails] + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'code': {'key': 'code', 'type': 'str'}, + 'results': {'key': 'results', 'type': '[TroubleshootingDetails]'}, + } + + def __init__(self, **kwargs): + super(TroubleshootingResult, self).__init__(**kwargs) + self.start_time = kwargs.get('start_time', None) + self.end_time = kwargs.get('end_time', None) + self.code = kwargs.get('code', None) + self.results = kwargs.get('results', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_result_py3.py new file mode 100644 index 000000000000..6a98879aeff0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/troubleshooting_result_py3.py @@ -0,0 +1,41 @@ +# 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.serialization import Model + + +class TroubleshootingResult(Model): + """Troubleshooting information gained from specified resource. + + :param start_time: The start time of the troubleshooting. + :type start_time: datetime + :param end_time: The end time of the troubleshooting. + :type end_time: datetime + :param code: The result code of the troubleshooting. + :type code: str + :param results: Information from troubleshooting. + :type results: + list[~azure.mgmt.network.v2018_06_01.models.TroubleshootingDetails] + """ + + _attribute_map = { + 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, + 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, + 'code': {'key': 'code', 'type': 'str'}, + 'results': {'key': 'results', 'type': '[TroubleshootingDetails]'}, + } + + def __init__(self, *, start_time=None, end_time=None, code: str=None, results=None, **kwargs) -> None: + super(TroubleshootingResult, self).__init__(**kwargs) + self.start_time = start_time + self.end_time = end_time + self.code = code + self.results = results diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/tunnel_connection_health.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/tunnel_connection_health.py new file mode 100644 index 000000000000..e82dbcfab61c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/tunnel_connection_health.py @@ -0,0 +1,61 @@ +# 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.serialization import Model + + +class TunnelConnectionHealth(Model): + """VirtualNetworkGatewayConnection properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar tunnel: Tunnel name. + :vartype tunnel: str + :ivar connection_status: Virtual network Gateway connection status. + Possible values include: 'Unknown', 'Connecting', 'Connected', + 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayConnectionStatus + :ivar ingress_bytes_transferred: The Ingress Bytes Transferred in this + connection + :vartype ingress_bytes_transferred: long + :ivar egress_bytes_transferred: The Egress Bytes Transferred in this + connection + :vartype egress_bytes_transferred: long + :ivar last_connection_established_utc_time: The time at which connection + was established in Utc format. + :vartype last_connection_established_utc_time: str + """ + + _validation = { + 'tunnel': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'last_connection_established_utc_time': {'readonly': True}, + } + + _attribute_map = { + 'tunnel': {'key': 'tunnel', 'type': 'str'}, + 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, + 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, + 'last_connection_established_utc_time': {'key': 'lastConnectionEstablishedUtcTime', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(TunnelConnectionHealth, self).__init__(**kwargs) + self.tunnel = None + self.connection_status = None + self.ingress_bytes_transferred = None + self.egress_bytes_transferred = None + self.last_connection_established_utc_time = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/tunnel_connection_health_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/tunnel_connection_health_py3.py new file mode 100644 index 000000000000..b5a8a866b87e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/tunnel_connection_health_py3.py @@ -0,0 +1,61 @@ +# 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.serialization import Model + + +class TunnelConnectionHealth(Model): + """VirtualNetworkGatewayConnection properties. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar tunnel: Tunnel name. + :vartype tunnel: str + :ivar connection_status: Virtual network Gateway connection status. + Possible values include: 'Unknown', 'Connecting', 'Connected', + 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayConnectionStatus + :ivar ingress_bytes_transferred: The Ingress Bytes Transferred in this + connection + :vartype ingress_bytes_transferred: long + :ivar egress_bytes_transferred: The Egress Bytes Transferred in this + connection + :vartype egress_bytes_transferred: long + :ivar last_connection_established_utc_time: The time at which connection + was established in Utc format. + :vartype last_connection_established_utc_time: str + """ + + _validation = { + 'tunnel': {'readonly': True}, + 'connection_status': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'last_connection_established_utc_time': {'readonly': True}, + } + + _attribute_map = { + 'tunnel': {'key': 'tunnel', 'type': 'str'}, + 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, + 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, + 'last_connection_established_utc_time': {'key': 'lastConnectionEstablishedUtcTime', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(TunnelConnectionHealth, self).__init__(**kwargs) + self.tunnel = None + self.connection_status = None + self.ingress_bytes_transferred = None + self.egress_bytes_transferred = None + self.last_connection_established_utc_time = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/usage.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/usage.py new file mode 100644 index 000000000000..8325b94ee46e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/usage.py @@ -0,0 +1,59 @@ +# 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.serialization import Model + + +class Usage(Model): + """Describes network resource usage. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource identifier. + :vartype id: str + :ivar unit: Required. An enum describing the unit of measurement. Default + value: "Count" . + :vartype unit: str + :param current_value: Required. The current value of the usage. + :type current_value: long + :param limit: Required. The limit of usage. + :type limit: long + :param name: Required. The name of the type of usage. + :type name: ~azure.mgmt.network.v2018_06_01.models.UsageName + """ + + _validation = { + 'id': {'readonly': True}, + 'unit': {'required': True, 'constant': True}, + 'current_value': {'required': True}, + 'limit': {'required': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'current_value': {'key': 'currentValue', 'type': 'long'}, + 'limit': {'key': 'limit', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'UsageName'}, + } + + unit = "Count" + + def __init__(self, **kwargs): + super(Usage, self).__init__(**kwargs) + self.id = None + self.current_value = kwargs.get('current_value', None) + self.limit = kwargs.get('limit', None) + self.name = kwargs.get('name', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/usage_name.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/usage_name.py new file mode 100644 index 000000000000..bd1813944fdc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/usage_name.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class UsageName(Model): + """The usage names. + + :param value: A string describing the resource name. + :type value: str + :param localized_value: A localized string describing the resource name. + :type localized_value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(UsageName, self).__init__(**kwargs) + self.value = kwargs.get('value', None) + self.localized_value = kwargs.get('localized_value', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/usage_name_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/usage_name_py3.py new file mode 100644 index 000000000000..4e5e3e10de15 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/usage_name_py3.py @@ -0,0 +1,32 @@ +# 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.serialization import Model + + +class UsageName(Model): + """The usage names. + + :param value: A string describing the resource name. + :type value: str + :param localized_value: A localized string describing the resource name. + :type localized_value: str + """ + + _attribute_map = { + 'value': {'key': 'value', 'type': 'str'}, + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + } + + def __init__(self, *, value: str=None, localized_value: str=None, **kwargs) -> None: + super(UsageName, self).__init__(**kwargs) + self.value = value + self.localized_value = localized_value diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/usage_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/usage_paged.py new file mode 100644 index 000000000000..002c9cbfca2f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/usage_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 UsagePaged(Paged): + """ + A paging container for iterating over a list of :class:`Usage ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[Usage]'} + } + + def __init__(self, *args, **kwargs): + + super(UsagePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/usage_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/usage_py3.py new file mode 100644 index 000000000000..121f3b63af8b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/usage_py3.py @@ -0,0 +1,59 @@ +# 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.serialization import Model + + +class Usage(Model): + """Describes network resource usage. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :ivar id: Resource identifier. + :vartype id: str + :ivar unit: Required. An enum describing the unit of measurement. Default + value: "Count" . + :vartype unit: str + :param current_value: Required. The current value of the usage. + :type current_value: long + :param limit: Required. The limit of usage. + :type limit: long + :param name: Required. The name of the type of usage. + :type name: ~azure.mgmt.network.v2018_06_01.models.UsageName + """ + + _validation = { + 'id': {'readonly': True}, + 'unit': {'required': True, 'constant': True}, + 'current_value': {'required': True}, + 'limit': {'required': True}, + 'name': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'unit': {'key': 'unit', 'type': 'str'}, + 'current_value': {'key': 'currentValue', 'type': 'long'}, + 'limit': {'key': 'limit', 'type': 'long'}, + 'name': {'key': 'name', 'type': 'UsageName'}, + } + + unit = "Count" + + def __init__(self, *, current_value: int, limit: int, name, **kwargs) -> None: + super(Usage, self).__init__(**kwargs) + self.id = None + self.current_value = current_value + self.limit = limit + self.name = name diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/verification_ip_flow_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/verification_ip_flow_parameters.py new file mode 100644 index 000000000000..1369c9c6db63 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/verification_ip_flow_parameters.py @@ -0,0 +1,80 @@ +# 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.serialization import Model + + +class VerificationIPFlowParameters(Model): + """Parameters that define the IP flow to be verified. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The ID of the target resource to + perform next-hop on. + :type target_resource_id: str + :param direction: Required. The direction of the packet represented as a + 5-tuple. Possible values include: 'Inbound', 'Outbound' + :type direction: str or ~azure.mgmt.network.v2018_06_01.models.Direction + :param protocol: Required. Protocol to be verified on. Possible values + include: 'TCP', 'UDP' + :type protocol: str or + ~azure.mgmt.network.v2018_06_01.models.IpFlowProtocol + :param local_port: Required. The local port. Acceptable values are a + single integer in the range (0-65535). Support for * for the source port, + which depends on the direction. + :type local_port: str + :param remote_port: Required. The remote port. Acceptable values are a + single integer in the range (0-65535). Support for * for the source port, + which depends on the direction. + :type remote_port: str + :param local_ip_address: Required. The local IP address. Acceptable values + are valid IPv4 addresses. + :type local_ip_address: str + :param remote_ip_address: Required. The remote IP address. Acceptable + values are valid IPv4 addresses. + :type remote_ip_address: str + :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP + forwarding is enabled on any of them, then this parameter must be + specified. Otherwise optional). + :type target_nic_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'direction': {'required': True}, + 'protocol': {'required': True}, + 'local_port': {'required': True}, + 'remote_port': {'required': True}, + 'local_ip_address': {'required': True}, + 'remote_ip_address': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'direction': {'key': 'direction', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'local_port': {'key': 'localPort', 'type': 'str'}, + 'remote_port': {'key': 'remotePort', 'type': 'str'}, + 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, + 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, + 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VerificationIPFlowParameters, self).__init__(**kwargs) + self.target_resource_id = kwargs.get('target_resource_id', None) + self.direction = kwargs.get('direction', None) + self.protocol = kwargs.get('protocol', None) + self.local_port = kwargs.get('local_port', None) + self.remote_port = kwargs.get('remote_port', None) + self.local_ip_address = kwargs.get('local_ip_address', None) + self.remote_ip_address = kwargs.get('remote_ip_address', None) + self.target_nic_resource_id = kwargs.get('target_nic_resource_id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/verification_ip_flow_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/verification_ip_flow_parameters_py3.py new file mode 100644 index 000000000000..7de559e16b54 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/verification_ip_flow_parameters_py3.py @@ -0,0 +1,80 @@ +# 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.serialization import Model + + +class VerificationIPFlowParameters(Model): + """Parameters that define the IP flow to be verified. + + All required parameters must be populated in order to send to Azure. + + :param target_resource_id: Required. The ID of the target resource to + perform next-hop on. + :type target_resource_id: str + :param direction: Required. The direction of the packet represented as a + 5-tuple. Possible values include: 'Inbound', 'Outbound' + :type direction: str or ~azure.mgmt.network.v2018_06_01.models.Direction + :param protocol: Required. Protocol to be verified on. Possible values + include: 'TCP', 'UDP' + :type protocol: str or + ~azure.mgmt.network.v2018_06_01.models.IpFlowProtocol + :param local_port: Required. The local port. Acceptable values are a + single integer in the range (0-65535). Support for * for the source port, + which depends on the direction. + :type local_port: str + :param remote_port: Required. The remote port. Acceptable values are a + single integer in the range (0-65535). Support for * for the source port, + which depends on the direction. + :type remote_port: str + :param local_ip_address: Required. The local IP address. Acceptable values + are valid IPv4 addresses. + :type local_ip_address: str + :param remote_ip_address: Required. The remote IP address. Acceptable + values are valid IPv4 addresses. + :type remote_ip_address: str + :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP + forwarding is enabled on any of them, then this parameter must be + specified. Otherwise optional). + :type target_nic_resource_id: str + """ + + _validation = { + 'target_resource_id': {'required': True}, + 'direction': {'required': True}, + 'protocol': {'required': True}, + 'local_port': {'required': True}, + 'remote_port': {'required': True}, + 'local_ip_address': {'required': True}, + 'remote_ip_address': {'required': True}, + } + + _attribute_map = { + 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, + 'direction': {'key': 'direction', 'type': 'str'}, + 'protocol': {'key': 'protocol', 'type': 'str'}, + 'local_port': {'key': 'localPort', 'type': 'str'}, + 'remote_port': {'key': 'remotePort', 'type': 'str'}, + 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, + 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, + 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, + } + + def __init__(self, *, target_resource_id: str, direction, protocol, local_port: str, remote_port: str, local_ip_address: str, remote_ip_address: str, target_nic_resource_id: str=None, **kwargs) -> None: + super(VerificationIPFlowParameters, self).__init__(**kwargs) + self.target_resource_id = target_resource_id + self.direction = direction + self.protocol = protocol + self.local_port = local_port + self.remote_port = remote_port + self.local_ip_address = local_ip_address + self.remote_ip_address = remote_ip_address + self.target_nic_resource_id = target_nic_resource_id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/verification_ip_flow_result.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/verification_ip_flow_result.py new file mode 100644 index 000000000000..9dcf4ff985df --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/verification_ip_flow_result.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class VerificationIPFlowResult(Model): + """Results of IP flow verification on the target resource. + + :param access: Indicates whether the traffic is allowed or denied. + Possible values include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2018_06_01.models.Access + :param rule_name: Name of the rule. If input is not matched against any + security rule, it is not displayed. + :type rule_name: str + """ + + _attribute_map = { + 'access': {'key': 'access', 'type': 'str'}, + 'rule_name': {'key': 'ruleName', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VerificationIPFlowResult, self).__init__(**kwargs) + self.access = kwargs.get('access', None) + self.rule_name = kwargs.get('rule_name', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/verification_ip_flow_result_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/verification_ip_flow_result_py3.py new file mode 100644 index 000000000000..6f88036572e3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/verification_ip_flow_result_py3.py @@ -0,0 +1,34 @@ +# 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.serialization import Model + + +class VerificationIPFlowResult(Model): + """Results of IP flow verification on the target resource. + + :param access: Indicates whether the traffic is allowed or denied. + Possible values include: 'Allow', 'Deny' + :type access: str or ~azure.mgmt.network.v2018_06_01.models.Access + :param rule_name: Name of the rule. If input is not matched against any + security rule, it is not displayed. + :type rule_name: str + """ + + _attribute_map = { + 'access': {'key': 'access', 'type': 'str'}, + 'rule_name': {'key': 'ruleName', 'type': 'str'}, + } + + def __init__(self, *, access=None, rule_name: str=None, **kwargs) -> None: + super(VerificationIPFlowResult, self).__init__(**kwargs) + self.access = access + self.rule_name = rule_name diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_hub.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_hub.py new file mode 100644 index 000000000000..dc07ce7ac986 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_hub.py @@ -0,0 +1,73 @@ +# 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 .resource import Resource + + +class VirtualHub(Resource): + """VirtualHub Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_wan: The VirtualWAN to which the VirtualHub belongs + :type virtual_wan: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param hub_virtual_network_connections: list of all vnet connections with + this VirtualHub. + :type hub_virtual_network_connections: + list[~azure.mgmt.network.v2018_06_01.models.HubVirtualNetworkConnection] + :param address_prefix: Address-prefix for this VirtualHub. + :type address_prefix: str + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, + 'hub_virtual_network_connections': {'key': 'properties.hubVirtualNetworkConnections', 'type': '[HubVirtualNetworkConnection]'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualHub, self).__init__(**kwargs) + self.virtual_wan = kwargs.get('virtual_wan', None) + self.hub_virtual_network_connections = kwargs.get('hub_virtual_network_connections', None) + self.address_prefix = kwargs.get('address_prefix', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_hub_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_hub_paged.py new file mode 100644 index 000000000000..140a9f7c9a3d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_hub_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 VirtualHubPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualHub ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualHub]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualHubPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_hub_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_hub_py3.py new file mode 100644 index 000000000000..f0184156b5c6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_hub_py3.py @@ -0,0 +1,73 @@ +# 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 .resource_py3 import Resource + + +class VirtualHub(Resource): + """VirtualHub Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_wan: The VirtualWAN to which the VirtualHub belongs + :type virtual_wan: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param hub_virtual_network_connections: list of all vnet connections with + this VirtualHub. + :type hub_virtual_network_connections: + list[~azure.mgmt.network.v2018_06_01.models.HubVirtualNetworkConnection] + :param address_prefix: Address-prefix for this VirtualHub. + :type address_prefix: str + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, + 'hub_virtual_network_connections': {'key': 'properties.hubVirtualNetworkConnections', 'type': '[HubVirtualNetworkConnection]'}, + 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_wan=None, hub_virtual_network_connections=None, address_prefix: str=None, provisioning_state=None, **kwargs) -> None: + super(VirtualHub, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.virtual_wan = virtual_wan + self.hub_virtual_network_connections = hub_virtual_network_connections + self.address_prefix = address_prefix + self.provisioning_state = provisioning_state + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network.py new file mode 100644 index 000000000000..2ba31905ae26 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network.py @@ -0,0 +1,98 @@ +# 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 .resource import Resource + + +class VirtualNetwork(Resource): + """Virtual Network resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param address_space: The AddressSpace that contains an array of IP + address ranges that can be used by subnets. + :type address_space: ~azure.mgmt.network.v2018_06_01.models.AddressSpace + :param dhcp_options: The dhcpOptions that contains an array of DNS servers + available to VMs deployed in the virtual network. + :type dhcp_options: ~azure.mgmt.network.v2018_06_01.models.DhcpOptions + :param subnets: A list of subnets in a Virtual Network. + :type subnets: list[~azure.mgmt.network.v2018_06_01.models.Subnet] + :param virtual_network_peerings: A list of peerings in a Virtual Network. + :type virtual_network_peerings: + list[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkPeering] + :param resource_guid: The resourceGuid property of the Virtual Network + resource. + :type resource_guid: str + :param provisioning_state: The provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param enable_ddos_protection: Indicates if DDoS protection is enabled for + all the protected resources in the virtual network. It requires a DDoS + protection plan associated with the resource. Default value: False . + :type enable_ddos_protection: bool + :param enable_vm_protection: Indicates if VM protection is enabled for all + the subnets in the virtual network. Default value: False . + :type enable_vm_protection: bool + :param ddos_protection_plan: The DDoS protection plan associated with the + virtual network. + :type ddos_protection_plan: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, + 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'virtual_network_peerings': {'key': 'properties.virtualNetworkPeerings', 'type': '[VirtualNetworkPeering]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'enable_ddos_protection': {'key': 'properties.enableDdosProtection', 'type': 'bool'}, + 'enable_vm_protection': {'key': 'properties.enableVmProtection', 'type': 'bool'}, + 'ddos_protection_plan': {'key': 'properties.ddosProtectionPlan', 'type': 'SubResource'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetwork, self).__init__(**kwargs) + self.address_space = kwargs.get('address_space', None) + self.dhcp_options = kwargs.get('dhcp_options', None) + self.subnets = kwargs.get('subnets', None) + self.virtual_network_peerings = kwargs.get('virtual_network_peerings', None) + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.enable_ddos_protection = kwargs.get('enable_ddos_protection', False) + self.enable_vm_protection = kwargs.get('enable_vm_protection', False) + self.ddos_protection_plan = kwargs.get('ddos_protection_plan', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_connection_gateway_reference.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_connection_gateway_reference.py new file mode 100644 index 000000000000..aa10101778f6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_connection_gateway_reference.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class VirtualNetworkConnectionGatewayReference(Model): + """A reference to VirtualNetworkGateway or LocalNetworkGateway resource. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. The ID of VirtualNetworkGateway or + LocalNetworkGateway resource. + :type id: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkConnectionGatewayReference, self).__init__(**kwargs) + self.id = kwargs.get('id', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_connection_gateway_reference_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_connection_gateway_reference_py3.py new file mode 100644 index 000000000000..b2d9734baf3c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_connection_gateway_reference_py3.py @@ -0,0 +1,35 @@ +# 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.serialization import Model + + +class VirtualNetworkConnectionGatewayReference(Model): + """A reference to VirtualNetworkGateway or LocalNetworkGateway resource. + + All required parameters must be populated in order to send to Azure. + + :param id: Required. The ID of VirtualNetworkGateway or + LocalNetworkGateway resource. + :type id: str + """ + + _validation = { + 'id': {'required': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + } + + def __init__(self, *, id: str, **kwargs) -> None: + super(VirtualNetworkConnectionGatewayReference, self).__init__(**kwargs) + self.id = id diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway.py new file mode 100644 index 000000000000..85235e73bcda --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway.py @@ -0,0 +1,114 @@ +# 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 .resource import Resource + + +class VirtualNetworkGateway(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param ip_configurations: IP configurations for virtual network gateway. + :type ip_configurations: + list[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayIPConfiguration] + :param gateway_type: The type of this virtual network gateway. Possible + values are: 'Vpn' and 'ExpressRoute'. Possible values include: 'Vpn', + 'ExpressRoute' + :type gateway_type: str or + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayType + :param vpn_type: The type of this virtual network gateway. Possible values + are: 'PolicyBased' and 'RouteBased'. Possible values include: + 'PolicyBased', 'RouteBased' + :type vpn_type: str or ~azure.mgmt.network.v2018_06_01.models.VpnType + :param enable_bgp: Whether BGP is enabled for this virtual network gateway + or not. + :type enable_bgp: bool + :param active_active: ActiveActive flag + :type active_active: bool + :param gateway_default_site: The reference of the LocalNetworkGateway + resource which represents local network site having default routes. Assign + Null value in case of removing existing default site setting. + :type gateway_default_site: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param sku: The reference of the VirtualNetworkGatewaySku resource which + represents the SKU selected for Virtual network gateway. + :type sku: ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewaySku + :param vpn_client_configuration: The reference of the + VpnClientConfiguration resource which represents the P2S VpnClient + configurations. + :type vpn_client_configuration: + ~azure.mgmt.network.v2018_06_01.models.VpnClientConfiguration + :param bgp_settings: Virtual network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2018_06_01.models.BgpSettings + :param resource_guid: The resource GUID property of the + VirtualNetworkGateway resource. + :type resource_guid: str + :ivar provisioning_state: The provisioning state of the + VirtualNetworkGateway resource. Possible values are: 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, + 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, + 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'active_active': {'key': 'properties.activeActive', 'type': 'bool'}, + 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, + 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, + 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkGateway, self).__init__(**kwargs) + self.ip_configurations = kwargs.get('ip_configurations', None) + self.gateway_type = kwargs.get('gateway_type', None) + self.vpn_type = kwargs.get('vpn_type', None) + self.enable_bgp = kwargs.get('enable_bgp', None) + self.active_active = kwargs.get('active_active', None) + self.gateway_default_site = kwargs.get('gateway_default_site', None) + self.sku = kwargs.get('sku', None) + self.vpn_client_configuration = kwargs.get('vpn_client_configuration', None) + self.bgp_settings = kwargs.get('bgp_settings', None) + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = None + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_connection.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_connection.py new file mode 100644 index 000000000000..063e214385bb --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_connection.py @@ -0,0 +1,152 @@ +# 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 .resource import Resource + + +class VirtualNetworkGatewayConnection(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param authorization_key: The authorizationKey. + :type authorization_key: str + :param virtual_network_gateway1: Required. The reference to virtual + network gateway resource. + :type virtual_network_gateway1: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGateway + :param virtual_network_gateway2: The reference to virtual network gateway + resource. + :type virtual_network_gateway2: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGateway + :param local_network_gateway2: The reference to local network gateway + resource. + :type local_network_gateway2: + ~azure.mgmt.network.v2018_06_01.models.LocalNetworkGateway + :param connection_type: Required. Gateway connection type. Possible values + are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values + include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + :type connection_type: str or + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayConnectionType + :param routing_weight: The routing weight. + :type routing_weight: int + :param shared_key: The IPSec shared key. + :type shared_key: str + :ivar connection_status: Virtual network Gateway connection status. + Possible values are 'Unknown', 'Connecting', 'Connected' and + 'NotConnected'. Possible values include: 'Unknown', 'Connecting', + 'Connected', 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayConnectionStatus + :ivar tunnel_connection_status: Collection of all tunnels' connection + health status. + :vartype tunnel_connection_status: + list[~azure.mgmt.network.v2018_06_01.models.TunnelConnectionHealth] + :ivar egress_bytes_transferred: The egress bytes transferred in this + connection. + :vartype egress_bytes_transferred: long + :ivar ingress_bytes_transferred: The ingress bytes transferred in this + connection. + :vartype ingress_bytes_transferred: long + :param peer: The reference to peerings resource. + :type peer: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param enable_bgp: EnableBgp flag + :type enable_bgp: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2018_06_01.models.IpsecPolicy] + :param resource_guid: The resource GUID property of the + VirtualNetworkGatewayConnection resource. + :type resource_guid: str + :ivar provisioning_state: The provisioning state of the + VirtualNetworkGatewayConnection resource. Possible values are: 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_gateway1': {'required': True}, + 'connection_type': {'required': True}, + 'connection_status': {'readonly': True}, + 'tunnel_connection_status': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, + 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, + 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, + 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkGatewayConnection, self).__init__(**kwargs) + self.authorization_key = kwargs.get('authorization_key', None) + self.virtual_network_gateway1 = kwargs.get('virtual_network_gateway1', None) + self.virtual_network_gateway2 = kwargs.get('virtual_network_gateway2', None) + self.local_network_gateway2 = kwargs.get('local_network_gateway2', None) + self.connection_type = kwargs.get('connection_type', None) + self.routing_weight = kwargs.get('routing_weight', None) + self.shared_key = kwargs.get('shared_key', None) + self.connection_status = None + self.tunnel_connection_status = None + self.egress_bytes_transferred = None + self.ingress_bytes_transferred = None + self.peer = kwargs.get('peer', None) + self.enable_bgp = kwargs.get('enable_bgp', None) + self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) + self.ipsec_policies = kwargs.get('ipsec_policies', None) + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = None + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_connection_list_entity.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_connection_list_entity.py new file mode 100644 index 000000000000..212c858e7c11 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_connection_list_entity.py @@ -0,0 +1,152 @@ +# 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 .resource import Resource + + +class VirtualNetworkGatewayConnectionListEntity(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param authorization_key: The authorizationKey. + :type authorization_key: str + :param virtual_network_gateway1: Required. The reference to virtual + network gateway resource. + :type virtual_network_gateway1: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkConnectionGatewayReference + :param virtual_network_gateway2: The reference to virtual network gateway + resource. + :type virtual_network_gateway2: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkConnectionGatewayReference + :param local_network_gateway2: The reference to local network gateway + resource. + :type local_network_gateway2: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkConnectionGatewayReference + :param connection_type: Required. Gateway connection type. Possible values + are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values + include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + :type connection_type: str or + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayConnectionType + :param routing_weight: The routing weight. + :type routing_weight: int + :param shared_key: The IPSec shared key. + :type shared_key: str + :ivar connection_status: Virtual network Gateway connection status. + Possible values are 'Unknown', 'Connecting', 'Connected' and + 'NotConnected'. Possible values include: 'Unknown', 'Connecting', + 'Connected', 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayConnectionStatus + :ivar tunnel_connection_status: Collection of all tunnels' connection + health status. + :vartype tunnel_connection_status: + list[~azure.mgmt.network.v2018_06_01.models.TunnelConnectionHealth] + :ivar egress_bytes_transferred: The egress bytes transferred in this + connection. + :vartype egress_bytes_transferred: long + :ivar ingress_bytes_transferred: The ingress bytes transferred in this + connection. + :vartype ingress_bytes_transferred: long + :param peer: The reference to peerings resource. + :type peer: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param enable_bgp: EnableBgp flag + :type enable_bgp: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2018_06_01.models.IpsecPolicy] + :param resource_guid: The resource GUID property of the + VirtualNetworkGatewayConnection resource. + :type resource_guid: str + :ivar provisioning_state: The provisioning state of the + VirtualNetworkGatewayConnection resource. Possible values are: 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_gateway1': {'required': True}, + 'connection_type': {'required': True}, + 'connection_status': {'readonly': True}, + 'tunnel_connection_status': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkGatewayConnectionListEntity, self).__init__(**kwargs) + self.authorization_key = kwargs.get('authorization_key', None) + self.virtual_network_gateway1 = kwargs.get('virtual_network_gateway1', None) + self.virtual_network_gateway2 = kwargs.get('virtual_network_gateway2', None) + self.local_network_gateway2 = kwargs.get('local_network_gateway2', None) + self.connection_type = kwargs.get('connection_type', None) + self.routing_weight = kwargs.get('routing_weight', None) + self.shared_key = kwargs.get('shared_key', None) + self.connection_status = None + self.tunnel_connection_status = None + self.egress_bytes_transferred = None + self.ingress_bytes_transferred = None + self.peer = kwargs.get('peer', None) + self.enable_bgp = kwargs.get('enable_bgp', None) + self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) + self.ipsec_policies = kwargs.get('ipsec_policies', None) + self.resource_guid = kwargs.get('resource_guid', None) + self.provisioning_state = None + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_connection_list_entity_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_connection_list_entity_paged.py new file mode 100644 index 000000000000..72ffba490712 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_connection_list_entity_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 VirtualNetworkGatewayConnectionListEntityPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkGatewayConnectionListEntity ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkGatewayConnectionListEntity]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkGatewayConnectionListEntityPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_connection_list_entity_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_connection_list_entity_py3.py new file mode 100644 index 000000000000..2cf85f3d2c45 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_connection_list_entity_py3.py @@ -0,0 +1,152 @@ +# 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 .resource_py3 import Resource + + +class VirtualNetworkGatewayConnectionListEntity(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param authorization_key: The authorizationKey. + :type authorization_key: str + :param virtual_network_gateway1: Required. The reference to virtual + network gateway resource. + :type virtual_network_gateway1: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkConnectionGatewayReference + :param virtual_network_gateway2: The reference to virtual network gateway + resource. + :type virtual_network_gateway2: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkConnectionGatewayReference + :param local_network_gateway2: The reference to local network gateway + resource. + :type local_network_gateway2: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkConnectionGatewayReference + :param connection_type: Required. Gateway connection type. Possible values + are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values + include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + :type connection_type: str or + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayConnectionType + :param routing_weight: The routing weight. + :type routing_weight: int + :param shared_key: The IPSec shared key. + :type shared_key: str + :ivar connection_status: Virtual network Gateway connection status. + Possible values are 'Unknown', 'Connecting', 'Connected' and + 'NotConnected'. Possible values include: 'Unknown', 'Connecting', + 'Connected', 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayConnectionStatus + :ivar tunnel_connection_status: Collection of all tunnels' connection + health status. + :vartype tunnel_connection_status: + list[~azure.mgmt.network.v2018_06_01.models.TunnelConnectionHealth] + :ivar egress_bytes_transferred: The egress bytes transferred in this + connection. + :vartype egress_bytes_transferred: long + :ivar ingress_bytes_transferred: The ingress bytes transferred in this + connection. + :vartype ingress_bytes_transferred: long + :param peer: The reference to peerings resource. + :type peer: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param enable_bgp: EnableBgp flag + :type enable_bgp: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2018_06_01.models.IpsecPolicy] + :param resource_guid: The resource GUID property of the + VirtualNetworkGatewayConnection resource. + :type resource_guid: str + :ivar provisioning_state: The provisioning state of the + VirtualNetworkGatewayConnection resource. Possible values are: 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_gateway1': {'required': True}, + 'connection_type': {'required': True}, + 'connection_status': {'readonly': True}, + 'tunnel_connection_status': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, + 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, virtual_network_gateway1, connection_type, id: str=None, location: str=None, tags=None, authorization_key: str=None, virtual_network_gateway2=None, local_network_gateway2=None, routing_weight: int=None, shared_key: str=None, peer=None, enable_bgp: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, resource_guid: str=None, etag: str=None, **kwargs) -> None: + super(VirtualNetworkGatewayConnectionListEntity, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.authorization_key = authorization_key + self.virtual_network_gateway1 = virtual_network_gateway1 + self.virtual_network_gateway2 = virtual_network_gateway2 + self.local_network_gateway2 = local_network_gateway2 + self.connection_type = connection_type + self.routing_weight = routing_weight + self.shared_key = shared_key + self.connection_status = None + self.tunnel_connection_status = None + self.egress_bytes_transferred = None + self.ingress_bytes_transferred = None + self.peer = peer + self.enable_bgp = enable_bgp + self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors + self.ipsec_policies = ipsec_policies + self.resource_guid = resource_guid + self.provisioning_state = None + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_connection_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_connection_paged.py new file mode 100644 index 000000000000..431e689cfd0c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_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 VirtualNetworkGatewayConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkGatewayConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkGatewayConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkGatewayConnectionPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_connection_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_connection_py3.py new file mode 100644 index 000000000000..bcaa989ccad2 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_connection_py3.py @@ -0,0 +1,152 @@ +# 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 .resource_py3 import Resource + + +class VirtualNetworkGatewayConnection(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param authorization_key: The authorizationKey. + :type authorization_key: str + :param virtual_network_gateway1: Required. The reference to virtual + network gateway resource. + :type virtual_network_gateway1: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGateway + :param virtual_network_gateway2: The reference to virtual network gateway + resource. + :type virtual_network_gateway2: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGateway + :param local_network_gateway2: The reference to local network gateway + resource. + :type local_network_gateway2: + ~azure.mgmt.network.v2018_06_01.models.LocalNetworkGateway + :param connection_type: Required. Gateway connection type. Possible values + are: 'Ipsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values + include: 'IPsec', 'Vnet2Vnet', 'ExpressRoute', 'VPNClient' + :type connection_type: str or + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayConnectionType + :param routing_weight: The routing weight. + :type routing_weight: int + :param shared_key: The IPSec shared key. + :type shared_key: str + :ivar connection_status: Virtual network Gateway connection status. + Possible values are 'Unknown', 'Connecting', 'Connected' and + 'NotConnected'. Possible values include: 'Unknown', 'Connecting', + 'Connected', 'NotConnected' + :vartype connection_status: str or + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayConnectionStatus + :ivar tunnel_connection_status: Collection of all tunnels' connection + health status. + :vartype tunnel_connection_status: + list[~azure.mgmt.network.v2018_06_01.models.TunnelConnectionHealth] + :ivar egress_bytes_transferred: The egress bytes transferred in this + connection. + :vartype egress_bytes_transferred: long + :ivar ingress_bytes_transferred: The ingress bytes transferred in this + connection. + :vartype ingress_bytes_transferred: long + :param peer: The reference to peerings resource. + :type peer: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param enable_bgp: EnableBgp flag + :type enable_bgp: bool + :param use_policy_based_traffic_selectors: Enable policy-based traffic + selectors. + :type use_policy_based_traffic_selectors: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2018_06_01.models.IpsecPolicy] + :param resource_guid: The resource GUID property of the + VirtualNetworkGatewayConnection resource. + :type resource_guid: str + :ivar provisioning_state: The provisioning state of the + VirtualNetworkGatewayConnection resource. Possible values are: 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_network_gateway1': {'required': True}, + 'connection_type': {'required': True}, + 'connection_status': {'readonly': True}, + 'tunnel_connection_status': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, + 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, + 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, + 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, + 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, virtual_network_gateway1, connection_type, id: str=None, location: str=None, tags=None, authorization_key: str=None, virtual_network_gateway2=None, local_network_gateway2=None, routing_weight: int=None, shared_key: str=None, peer=None, enable_bgp: bool=None, use_policy_based_traffic_selectors: bool=None, ipsec_policies=None, resource_guid: str=None, etag: str=None, **kwargs) -> None: + super(VirtualNetworkGatewayConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.authorization_key = authorization_key + self.virtual_network_gateway1 = virtual_network_gateway1 + self.virtual_network_gateway2 = virtual_network_gateway2 + self.local_network_gateway2 = local_network_gateway2 + self.connection_type = connection_type + self.routing_weight = routing_weight + self.shared_key = shared_key + self.connection_status = None + self.tunnel_connection_status = None + self.egress_bytes_transferred = None + self.ingress_bytes_transferred = None + self.peer = peer + self.enable_bgp = enable_bgp + self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors + self.ipsec_policies = ipsec_policies + self.resource_guid = resource_guid + self.provisioning_state = None + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_ip_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_ip_configuration.py new file mode 100644 index 000000000000..a33d9290856e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_ip_configuration.py @@ -0,0 +1,65 @@ +# 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 VirtualNetworkGatewayIPConfiguration(SubResource): + """IP configuration for virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_allocation_method: The private IP allocation method. + Possible values are: 'Static' and 'Dynamic'. Possible values include: + 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2018_06_01.models.IPAllocationMethod + :param subnet: The reference of the subnet resource. + :type subnet: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param public_ip_address: The reference of the public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :ivar provisioning_state: The provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkGatewayIPConfiguration, self).__init__(**kwargs) + self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) + self.subnet = kwargs.get('subnet', None) + self.public_ip_address = kwargs.get('public_ip_address', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_ip_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_ip_configuration_py3.py new file mode 100644 index 000000000000..3b861972861d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_ip_configuration_py3.py @@ -0,0 +1,65 @@ +# 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 VirtualNetworkGatewayIPConfiguration(SubResource): + """IP configuration for virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param private_ip_allocation_method: The private IP allocation method. + Possible values are: 'Static' and 'Dynamic'. Possible values include: + 'Static', 'Dynamic' + :type private_ip_allocation_method: str or + ~azure.mgmt.network.v2018_06_01.models.IPAllocationMethod + :param subnet: The reference of the subnet resource. + :type subnet: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param public_ip_address: The reference of the public IP resource. + :type public_ip_address: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :ivar provisioning_state: The provisioning state of the public IP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, + 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, + 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, private_ip_allocation_method=None, subnet=None, public_ip_address=None, name: str=None, etag: str=None, **kwargs) -> None: + super(VirtualNetworkGatewayIPConfiguration, self).__init__(id=id, **kwargs) + self.private_ip_allocation_method = private_ip_allocation_method + self.subnet = subnet + self.public_ip_address = public_ip_address + self.provisioning_state = None + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_paged.py new file mode 100644 index 000000000000..a43154a64b50 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_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 VirtualNetworkGatewayPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkGateway ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkGateway]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkGatewayPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_py3.py new file mode 100644 index 000000000000..8374b2d4f4b0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_py3.py @@ -0,0 +1,114 @@ +# 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 .resource_py3 import Resource + + +class VirtualNetworkGateway(Resource): + """A common class for general resource information. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param ip_configurations: IP configurations for virtual network gateway. + :type ip_configurations: + list[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayIPConfiguration] + :param gateway_type: The type of this virtual network gateway. Possible + values are: 'Vpn' and 'ExpressRoute'. Possible values include: 'Vpn', + 'ExpressRoute' + :type gateway_type: str or + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayType + :param vpn_type: The type of this virtual network gateway. Possible values + are: 'PolicyBased' and 'RouteBased'. Possible values include: + 'PolicyBased', 'RouteBased' + :type vpn_type: str or ~azure.mgmt.network.v2018_06_01.models.VpnType + :param enable_bgp: Whether BGP is enabled for this virtual network gateway + or not. + :type enable_bgp: bool + :param active_active: ActiveActive flag + :type active_active: bool + :param gateway_default_site: The reference of the LocalNetworkGateway + resource which represents local network site having default routes. Assign + Null value in case of removing existing default site setting. + :type gateway_default_site: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param sku: The reference of the VirtualNetworkGatewaySku resource which + represents the SKU selected for Virtual network gateway. + :type sku: ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewaySku + :param vpn_client_configuration: The reference of the + VpnClientConfiguration resource which represents the P2S VpnClient + configurations. + :type vpn_client_configuration: + ~azure.mgmt.network.v2018_06_01.models.VpnClientConfiguration + :param bgp_settings: Virtual network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2018_06_01.models.BgpSettings + :param resource_guid: The resource GUID property of the + VirtualNetworkGateway resource. + :type resource_guid: str + :ivar provisioning_state: The provisioning state of the + VirtualNetworkGateway resource. Possible values are: 'Updating', + 'Deleting', and 'Failed'. + :vartype provisioning_state: str + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, + 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, + 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'active_active': {'key': 'properties.activeActive', 'type': 'bool'}, + 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, + 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, + 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, ip_configurations=None, gateway_type=None, vpn_type=None, enable_bgp: bool=None, active_active: bool=None, gateway_default_site=None, sku=None, vpn_client_configuration=None, bgp_settings=None, resource_guid: str=None, etag: str=None, **kwargs) -> None: + super(VirtualNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.ip_configurations = ip_configurations + self.gateway_type = gateway_type + self.vpn_type = vpn_type + self.enable_bgp = enable_bgp + self.active_active = active_active + self.gateway_default_site = gateway_default_site + self.sku = sku + self.vpn_client_configuration = vpn_client_configuration + self.bgp_settings = bgp_settings + self.resource_guid = resource_guid + self.provisioning_state = None + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_sku.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_sku.py new file mode 100644 index 000000000000..a2400cd04469 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_sku.py @@ -0,0 +1,44 @@ +# 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.serialization import Model + + +class VirtualNetworkGatewaySku(Model): + """VirtualNetworkGatewaySku details. + + :param name: Gateway SKU name. Possible values include: 'Basic', + 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', + 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', + 'ErGw3AZ' + :type name: str or + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewaySkuName + :param tier: Gateway SKU tier. Possible values include: 'Basic', + 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', + 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', + 'ErGw3AZ' + :type tier: str or + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewaySkuTier + :param capacity: The capacity. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkGatewaySku, self).__init__(**kwargs) + self.name = kwargs.get('name', None) + self.tier = kwargs.get('tier', None) + self.capacity = kwargs.get('capacity', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_sku_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_sku_py3.py new file mode 100644 index 000000000000..7f51dadbf0c9 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_gateway_sku_py3.py @@ -0,0 +1,44 @@ +# 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.serialization import Model + + +class VirtualNetworkGatewaySku(Model): + """VirtualNetworkGatewaySku details. + + :param name: Gateway SKU name. Possible values include: 'Basic', + 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', + 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', + 'ErGw3AZ' + :type name: str or + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewaySkuName + :param tier: Gateway SKU tier. Possible values include: 'Basic', + 'HighPerformance', 'Standard', 'UltraPerformance', 'VpnGw1', 'VpnGw2', + 'VpnGw3', 'VpnGw1AZ', 'VpnGw2AZ', 'VpnGw3AZ', 'ErGw1AZ', 'ErGw2AZ', + 'ErGw3AZ' + :type tier: str or + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewaySkuTier + :param capacity: The capacity. + :type capacity: int + """ + + _attribute_map = { + 'name': {'key': 'name', 'type': 'str'}, + 'tier': {'key': 'tier', 'type': 'str'}, + 'capacity': {'key': 'capacity', 'type': 'int'}, + } + + def __init__(self, *, name=None, tier=None, capacity: int=None, **kwargs) -> None: + super(VirtualNetworkGatewaySku, self).__init__(**kwargs) + self.name = name + self.tier = tier + self.capacity = capacity diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_paged.py new file mode 100644 index 000000000000..f45c938c4d67 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_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 VirtualNetworkPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetwork ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetwork]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_peering.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_peering.py new file mode 100644 index 000000000000..a69511a4d5a8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_peering.py @@ -0,0 +1,86 @@ +# 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 VirtualNetworkPeering(SubResource): + """Peerings in a virtual network resource. + + :param id: Resource ID. + :type id: str + :param allow_virtual_network_access: Whether the VMs in the linked virtual + network space would be able to access all the VMs in local Virtual network + space. + :type allow_virtual_network_access: bool + :param allow_forwarded_traffic: Whether the forwarded traffic from the VMs + in the remote virtual network will be allowed/disallowed. + :type allow_forwarded_traffic: bool + :param allow_gateway_transit: If gateway links can be used in remote + virtual networking to link to this virtual network. + :type allow_gateway_transit: bool + :param use_remote_gateways: If remote gateways can be used on this virtual + network. If the flag is set to true, and allowGatewayTransit on remote + peering is also true, virtual network will use gateways of remote virtual + network for transit. Only one peering can have this flag set to true. This + flag cannot be set if virtual network already has a gateway. + :type use_remote_gateways: bool + :param remote_virtual_network: The reference of the remote virtual + network. The remote virtual network can be in the same or different region + (preview). See here to register for the preview and learn more + (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + :type remote_virtual_network: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param remote_address_space: The reference of the remote virtual network + address space. + :type remote_address_space: + ~azure.mgmt.network.v2018_06_01.models.AddressSpace + :param peering_state: The status of the virtual network peering. Possible + values are 'Initiated', 'Connected', and 'Disconnected'. Possible values + include: 'Initiated', 'Connected', 'Disconnected' + :type peering_state: str or + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkPeeringState + :param provisioning_state: The provisioning state of the resource. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'allow_virtual_network_access': {'key': 'properties.allowVirtualNetworkAccess', 'type': 'bool'}, + 'allow_forwarded_traffic': {'key': 'properties.allowForwardedTraffic', 'type': 'bool'}, + 'allow_gateway_transit': {'key': 'properties.allowGatewayTransit', 'type': 'bool'}, + 'use_remote_gateways': {'key': 'properties.useRemoteGateways', 'type': 'bool'}, + 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, + 'remote_address_space': {'key': 'properties.remoteAddressSpace', 'type': 'AddressSpace'}, + 'peering_state': {'key': 'properties.peeringState', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkPeering, self).__init__(**kwargs) + self.allow_virtual_network_access = kwargs.get('allow_virtual_network_access', None) + self.allow_forwarded_traffic = kwargs.get('allow_forwarded_traffic', None) + self.allow_gateway_transit = kwargs.get('allow_gateway_transit', None) + self.use_remote_gateways = kwargs.get('use_remote_gateways', None) + self.remote_virtual_network = kwargs.get('remote_virtual_network', None) + self.remote_address_space = kwargs.get('remote_address_space', None) + self.peering_state = kwargs.get('peering_state', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_peering_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_peering_paged.py new file mode 100644 index 000000000000..9afeb6e5c77f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_peering_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 VirtualNetworkPeeringPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkPeering ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkPeering]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkPeeringPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_peering_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_peering_py3.py new file mode 100644 index 000000000000..10b3e9e7bb71 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_peering_py3.py @@ -0,0 +1,86 @@ +# 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 VirtualNetworkPeering(SubResource): + """Peerings in a virtual network resource. + + :param id: Resource ID. + :type id: str + :param allow_virtual_network_access: Whether the VMs in the linked virtual + network space would be able to access all the VMs in local Virtual network + space. + :type allow_virtual_network_access: bool + :param allow_forwarded_traffic: Whether the forwarded traffic from the VMs + in the remote virtual network will be allowed/disallowed. + :type allow_forwarded_traffic: bool + :param allow_gateway_transit: If gateway links can be used in remote + virtual networking to link to this virtual network. + :type allow_gateway_transit: bool + :param use_remote_gateways: If remote gateways can be used on this virtual + network. If the flag is set to true, and allowGatewayTransit on remote + peering is also true, virtual network will use gateways of remote virtual + network for transit. Only one peering can have this flag set to true. This + flag cannot be set if virtual network already has a gateway. + :type use_remote_gateways: bool + :param remote_virtual_network: The reference of the remote virtual + network. The remote virtual network can be in the same or different region + (preview). See here to register for the preview and learn more + (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). + :type remote_virtual_network: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param remote_address_space: The reference of the remote virtual network + address space. + :type remote_address_space: + ~azure.mgmt.network.v2018_06_01.models.AddressSpace + :param peering_state: The status of the virtual network peering. Possible + values are 'Initiated', 'Connected', and 'Disconnected'. Possible values + include: 'Initiated', 'Connected', 'Disconnected' + :type peering_state: str or + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkPeeringState + :param provisioning_state: The provisioning state of the resource. + :type provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'allow_virtual_network_access': {'key': 'properties.allowVirtualNetworkAccess', 'type': 'bool'}, + 'allow_forwarded_traffic': {'key': 'properties.allowForwardedTraffic', 'type': 'bool'}, + 'allow_gateway_transit': {'key': 'properties.allowGatewayTransit', 'type': 'bool'}, + 'use_remote_gateways': {'key': 'properties.useRemoteGateways', 'type': 'bool'}, + 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, + 'remote_address_space': {'key': 'properties.remoteAddressSpace', 'type': 'AddressSpace'}, + 'peering_state': {'key': 'properties.peeringState', '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, allow_virtual_network_access: bool=None, allow_forwarded_traffic: bool=None, allow_gateway_transit: bool=None, use_remote_gateways: bool=None, remote_virtual_network=None, remote_address_space=None, peering_state=None, provisioning_state: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(VirtualNetworkPeering, self).__init__(id=id, **kwargs) + self.allow_virtual_network_access = allow_virtual_network_access + self.allow_forwarded_traffic = allow_forwarded_traffic + self.allow_gateway_transit = allow_gateway_transit + self.use_remote_gateways = use_remote_gateways + self.remote_virtual_network = remote_virtual_network + self.remote_address_space = remote_address_space + self.peering_state = peering_state + self.provisioning_state = provisioning_state + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_py3.py new file mode 100644 index 000000000000..f180ec7ac5dc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_py3.py @@ -0,0 +1,98 @@ +# 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 .resource_py3 import Resource + + +class VirtualNetwork(Resource): + """Virtual Network resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param address_space: The AddressSpace that contains an array of IP + address ranges that can be used by subnets. + :type address_space: ~azure.mgmt.network.v2018_06_01.models.AddressSpace + :param dhcp_options: The dhcpOptions that contains an array of DNS servers + available to VMs deployed in the virtual network. + :type dhcp_options: ~azure.mgmt.network.v2018_06_01.models.DhcpOptions + :param subnets: A list of subnets in a Virtual Network. + :type subnets: list[~azure.mgmt.network.v2018_06_01.models.Subnet] + :param virtual_network_peerings: A list of peerings in a Virtual Network. + :type virtual_network_peerings: + list[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkPeering] + :param resource_guid: The resourceGuid property of the Virtual Network + resource. + :type resource_guid: str + :param provisioning_state: The provisioning state of the PublicIP + resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. + :type provisioning_state: str + :param enable_ddos_protection: Indicates if DDoS protection is enabled for + all the protected resources in the virtual network. It requires a DDoS + protection plan associated with the resource. Default value: False . + :type enable_ddos_protection: bool + :param enable_vm_protection: Indicates if VM protection is enabled for all + the subnets in the virtual network. Default value: False . + :type enable_vm_protection: bool + :param ddos_protection_plan: The DDoS protection plan associated with the + virtual network. + :type ddos_protection_plan: + ~azure.mgmt.network.v2018_06_01.models.SubResource + :param etag: Gets a unique read-only string that changes whenever the + resource is updated. + :type etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, + 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, + 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, + 'virtual_network_peerings': {'key': 'properties.virtualNetworkPeerings', 'type': '[VirtualNetworkPeering]'}, + 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'enable_ddos_protection': {'key': 'properties.enableDdosProtection', 'type': 'bool'}, + 'enable_vm_protection': {'key': 'properties.enableVmProtection', 'type': 'bool'}, + 'ddos_protection_plan': {'key': 'properties.ddosProtectionPlan', 'type': 'SubResource'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, address_space=None, dhcp_options=None, subnets=None, virtual_network_peerings=None, resource_guid: str=None, provisioning_state: str=None, enable_ddos_protection: bool=False, enable_vm_protection: bool=False, ddos_protection_plan=None, etag: str=None, **kwargs) -> None: + super(VirtualNetwork, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.address_space = address_space + self.dhcp_options = dhcp_options + self.subnets = subnets + self.virtual_network_peerings = virtual_network_peerings + self.resource_guid = resource_guid + self.provisioning_state = provisioning_state + self.enable_ddos_protection = enable_ddos_protection + self.enable_vm_protection = enable_vm_protection + self.ddos_protection_plan = ddos_protection_plan + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_usage.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_usage.py new file mode 100644 index 000000000000..a7ef88a2517e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_usage.py @@ -0,0 +1,56 @@ +# 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.serialization import Model + + +class VirtualNetworkUsage(Model): + """Usage details for subnet. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar current_value: Indicates number of IPs used from the Subnet. + :vartype current_value: float + :ivar id: Subnet identifier. + :vartype id: str + :ivar limit: Indicates the size of the subnet. + :vartype limit: float + :ivar name: The name containing common and localized value for usage. + :vartype name: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkUsageName + :ivar unit: Usage units. Returns 'Count' + :vartype unit: str + """ + + _validation = { + 'current_value': {'readonly': True}, + 'id': {'readonly': True}, + 'limit': {'readonly': True}, + 'name': {'readonly': True}, + 'unit': {'readonly': True}, + } + + _attribute_map = { + 'current_value': {'key': 'currentValue', 'type': 'float'}, + 'id': {'key': 'id', 'type': 'str'}, + 'limit': {'key': 'limit', 'type': 'float'}, + 'name': {'key': 'name', 'type': 'VirtualNetworkUsageName'}, + 'unit': {'key': 'unit', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkUsage, self).__init__(**kwargs) + self.current_value = None + self.id = None + self.limit = None + self.name = None + self.unit = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_usage_name.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_usage_name.py new file mode 100644 index 000000000000..607ccec3b964 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_usage_name.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class VirtualNetworkUsageName(Model): + """Usage strings container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar localized_value: Localized subnet size and usage string. + :vartype localized_value: str + :ivar value: Subnet size and usage string. + :vartype value: str + """ + + _validation = { + 'localized_value': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualNetworkUsageName, self).__init__(**kwargs) + self.localized_value = None + self.value = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_usage_name_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_usage_name_py3.py new file mode 100644 index 000000000000..1651ebda7e77 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_usage_name_py3.py @@ -0,0 +1,40 @@ +# 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.serialization import Model + + +class VirtualNetworkUsageName(Model): + """Usage strings container. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar localized_value: Localized subnet size and usage string. + :vartype localized_value: str + :ivar value: Subnet size and usage string. + :vartype value: str + """ + + _validation = { + 'localized_value': {'readonly': True}, + 'value': {'readonly': True}, + } + + _attribute_map = { + 'localized_value': {'key': 'localizedValue', 'type': 'str'}, + 'value': {'key': 'value', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(VirtualNetworkUsageName, self).__init__(**kwargs) + self.localized_value = None + self.value = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_usage_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_usage_paged.py new file mode 100644 index 000000000000..a4b713876a0b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_usage_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 VirtualNetworkUsagePaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualNetworkUsage ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualNetworkUsage]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualNetworkUsagePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_usage_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_usage_py3.py new file mode 100644 index 000000000000..094237200441 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_network_usage_py3.py @@ -0,0 +1,56 @@ +# 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.serialization import Model + + +class VirtualNetworkUsage(Model): + """Usage details for subnet. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar current_value: Indicates number of IPs used from the Subnet. + :vartype current_value: float + :ivar id: Subnet identifier. + :vartype id: str + :ivar limit: Indicates the size of the subnet. + :vartype limit: float + :ivar name: The name containing common and localized value for usage. + :vartype name: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkUsageName + :ivar unit: Usage units. Returns 'Count' + :vartype unit: str + """ + + _validation = { + 'current_value': {'readonly': True}, + 'id': {'readonly': True}, + 'limit': {'readonly': True}, + 'name': {'readonly': True}, + 'unit': {'readonly': True}, + } + + _attribute_map = { + 'current_value': {'key': 'currentValue', 'type': 'float'}, + 'id': {'key': 'id', 'type': 'str'}, + 'limit': {'key': 'limit', 'type': 'float'}, + 'name': {'key': 'name', 'type': 'VirtualNetworkUsageName'}, + 'unit': {'key': 'unit', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(VirtualNetworkUsage, self).__init__(**kwargs) + self.current_value = None + self.id = None + self.limit = None + self.name = None + self.unit = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_wan.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_wan.py new file mode 100644 index 000000000000..6337d1eb8a66 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_wan.py @@ -0,0 +1,75 @@ +# 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 .resource import Resource + + +class VirtualWAN(Resource): + """VirtualWAN Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param disable_vpn_encryption: Vpn encryption to be disabled or not. + :type disable_vpn_encryption: bool + :ivar virtual_hubs: List of VirtualHubs in the VirtualWAN. + :vartype virtual_hubs: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :ivar vpn_sites: + :vartype vpn_sites: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_hubs': {'readonly': True}, + 'vpn_sites': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'disable_vpn_encryption': {'key': 'properties.disableVpnEncryption', 'type': 'bool'}, + 'virtual_hubs': {'key': 'properties.virtualHubs', 'type': '[SubResource]'}, + 'vpn_sites': {'key': 'properties.vpnSites', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VirtualWAN, self).__init__(**kwargs) + self.disable_vpn_encryption = kwargs.get('disable_vpn_encryption', None) + self.virtual_hubs = None + self.vpn_sites = None + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_wan_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_wan_paged.py new file mode 100644 index 000000000000..d8b16e4c81cc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_wan_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 VirtualWANPaged(Paged): + """ + A paging container for iterating over a list of :class:`VirtualWAN ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VirtualWAN]'} + } + + def __init__(self, *args, **kwargs): + + super(VirtualWANPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_wan_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_wan_py3.py new file mode 100644 index 000000000000..c10b2f2cd00f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/virtual_wan_py3.py @@ -0,0 +1,75 @@ +# 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 .resource_py3 import Resource + + +class VirtualWAN(Resource): + """VirtualWAN Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param disable_vpn_encryption: Vpn encryption to be disabled or not. + :type disable_vpn_encryption: bool + :ivar virtual_hubs: List of VirtualHubs in the VirtualWAN. + :vartype virtual_hubs: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :ivar vpn_sites: + :vartype vpn_sites: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'virtual_hubs': {'readonly': True}, + 'vpn_sites': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'disable_vpn_encryption': {'key': 'properties.disableVpnEncryption', 'type': 'bool'}, + 'virtual_hubs': {'key': 'properties.virtualHubs', 'type': '[SubResource]'}, + 'vpn_sites': {'key': 'properties.vpnSites', 'type': '[SubResource]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, disable_vpn_encryption: bool=None, provisioning_state=None, **kwargs) -> None: + super(VirtualWAN, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.disable_vpn_encryption = disable_vpn_encryption + self.virtual_hubs = None + self.vpn_sites = None + self.provisioning_state = provisioning_state + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_configuration.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_configuration.py new file mode 100644 index 000000000000..9f02c4019417 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_configuration.py @@ -0,0 +1,64 @@ +# 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.serialization import Model + + +class VpnClientConfiguration(Model): + """VpnClientConfiguration for P2S client. + + :param vpn_client_address_pool: The reference of the address space + resource which represents Address space for P2S VpnClient. + :type vpn_client_address_pool: + ~azure.mgmt.network.v2018_06_01.models.AddressSpace + :param vpn_client_root_certificates: VpnClientRootCertificate for virtual + network gateway. + :type vpn_client_root_certificates: + list[~azure.mgmt.network.v2018_06_01.models.VpnClientRootCertificate] + :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for + Virtual network gateway. + :type vpn_client_revoked_certificates: + list[~azure.mgmt.network.v2018_06_01.models.VpnClientRevokedCertificate] + :param vpn_client_protocols: VpnClientProtocols for Virtual network + gateway. + :type vpn_client_protocols: list[str or + ~azure.mgmt.network.v2018_06_01.models.VpnClientProtocol] + :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for virtual + network gateway P2S client. + :type vpn_client_ipsec_policies: + list[~azure.mgmt.network.v2018_06_01.models.IpsecPolicy] + :param radius_server_address: The radius server address property of the + VirtualNetworkGateway resource for vpn client connection. + :type radius_server_address: str + :param radius_server_secret: The radius secret property of the + VirtualNetworkGateway resource for vpn client connection. + :type radius_server_secret: str + """ + + _attribute_map = { + 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, + 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, + 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, + 'vpn_client_protocols': {'key': 'vpnClientProtocols', 'type': '[str]'}, + 'vpn_client_ipsec_policies': {'key': 'vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, + 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, + 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnClientConfiguration, self).__init__(**kwargs) + self.vpn_client_address_pool = kwargs.get('vpn_client_address_pool', None) + self.vpn_client_root_certificates = kwargs.get('vpn_client_root_certificates', None) + self.vpn_client_revoked_certificates = kwargs.get('vpn_client_revoked_certificates', None) + self.vpn_client_protocols = kwargs.get('vpn_client_protocols', None) + self.vpn_client_ipsec_policies = kwargs.get('vpn_client_ipsec_policies', None) + self.radius_server_address = kwargs.get('radius_server_address', None) + self.radius_server_secret = kwargs.get('radius_server_secret', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_configuration_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_configuration_py3.py new file mode 100644 index 000000000000..13fc26f9fdfd --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_configuration_py3.py @@ -0,0 +1,64 @@ +# 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.serialization import Model + + +class VpnClientConfiguration(Model): + """VpnClientConfiguration for P2S client. + + :param vpn_client_address_pool: The reference of the address space + resource which represents Address space for P2S VpnClient. + :type vpn_client_address_pool: + ~azure.mgmt.network.v2018_06_01.models.AddressSpace + :param vpn_client_root_certificates: VpnClientRootCertificate for virtual + network gateway. + :type vpn_client_root_certificates: + list[~azure.mgmt.network.v2018_06_01.models.VpnClientRootCertificate] + :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for + Virtual network gateway. + :type vpn_client_revoked_certificates: + list[~azure.mgmt.network.v2018_06_01.models.VpnClientRevokedCertificate] + :param vpn_client_protocols: VpnClientProtocols for Virtual network + gateway. + :type vpn_client_protocols: list[str or + ~azure.mgmt.network.v2018_06_01.models.VpnClientProtocol] + :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for virtual + network gateway P2S client. + :type vpn_client_ipsec_policies: + list[~azure.mgmt.network.v2018_06_01.models.IpsecPolicy] + :param radius_server_address: The radius server address property of the + VirtualNetworkGateway resource for vpn client connection. + :type radius_server_address: str + :param radius_server_secret: The radius secret property of the + VirtualNetworkGateway resource for vpn client connection. + :type radius_server_secret: str + """ + + _attribute_map = { + 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, + 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, + 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, + 'vpn_client_protocols': {'key': 'vpnClientProtocols', 'type': '[str]'}, + 'vpn_client_ipsec_policies': {'key': 'vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, + 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, + 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, + } + + def __init__(self, *, vpn_client_address_pool=None, vpn_client_root_certificates=None, vpn_client_revoked_certificates=None, vpn_client_protocols=None, vpn_client_ipsec_policies=None, radius_server_address: str=None, radius_server_secret: str=None, **kwargs) -> None: + super(VpnClientConfiguration, self).__init__(**kwargs) + self.vpn_client_address_pool = vpn_client_address_pool + self.vpn_client_root_certificates = vpn_client_root_certificates + self.vpn_client_revoked_certificates = vpn_client_revoked_certificates + self.vpn_client_protocols = vpn_client_protocols + self.vpn_client_ipsec_policies = vpn_client_ipsec_policies + self.radius_server_address = radius_server_address + self.radius_server_secret = radius_server_secret diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_ipsec_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_ipsec_parameters.py new file mode 100644 index 000000000000..a2492ec03002 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_ipsec_parameters.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 msrest.serialization import Model + + +class VpnClientIPsecParameters(Model): + """An IPSec parameters for a virtual network gateway P2S connection. + + All required parameters must be populated in order to send to Azure. + + :param sa_life_time_seconds: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. + :type sa_life_time_seconds: int + :param sa_data_size_kilobytes: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. + :type sa_data_size_kilobytes: int + :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE + phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', + 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + :type ipsec_encryption: str or + ~azure.mgmt.network.v2018_06_01.models.IpsecEncryption + :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase + 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', + 'GCMAES192', 'GCMAES256' + :type ipsec_integrity: str or + ~azure.mgmt.network.v2018_06_01.models.IpsecIntegrity + :param ike_encryption: Required. The IKE encryption algorithm (IKE phase + 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', + 'GCMAES256', 'GCMAES128' + :type ike_encryption: str or + ~azure.mgmt.network.v2018_06_01.models.IkeEncryption + :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). + Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', + 'GCMAES128' + :type ike_integrity: str or + ~azure.mgmt.network.v2018_06_01.models.IkeIntegrity + :param dh_group: Required. The DH Groups used in IKE Phase 1 for initial + SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', + 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + :type dh_group: str or ~azure.mgmt.network.v2018_06_01.models.DhGroup + :param pfs_group: Required. The Pfs Groups used in IKE Phase 2 for new + child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', + 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + :type pfs_group: str or ~azure.mgmt.network.v2018_06_01.models.PfsGroup + """ + + _validation = { + 'sa_life_time_seconds': {'required': True}, + 'sa_data_size_kilobytes': {'required': True}, + 'ipsec_encryption': {'required': True}, + 'ipsec_integrity': {'required': True}, + 'ike_encryption': {'required': True}, + 'ike_integrity': {'required': True}, + 'dh_group': {'required': True}, + 'pfs_group': {'required': True}, + } + + _attribute_map = { + 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, + 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, + 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, + 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, + 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, + 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, + 'dh_group': {'key': 'dhGroup', 'type': 'str'}, + 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnClientIPsecParameters, self).__init__(**kwargs) + self.sa_life_time_seconds = kwargs.get('sa_life_time_seconds', None) + self.sa_data_size_kilobytes = kwargs.get('sa_data_size_kilobytes', None) + self.ipsec_encryption = kwargs.get('ipsec_encryption', None) + self.ipsec_integrity = kwargs.get('ipsec_integrity', None) + self.ike_encryption = kwargs.get('ike_encryption', None) + self.ike_integrity = kwargs.get('ike_integrity', None) + self.dh_group = kwargs.get('dh_group', None) + self.pfs_group = kwargs.get('pfs_group', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_ipsec_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_ipsec_parameters_py3.py new file mode 100644 index 000000000000..d8483ba2b77e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_ipsec_parameters_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 msrest.serialization import Model + + +class VpnClientIPsecParameters(Model): + """An IPSec parameters for a virtual network gateway P2S connection. + + All required parameters must be populated in order to send to Azure. + + :param sa_life_time_seconds: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) lifetime in seconds for P2S client. + :type sa_life_time_seconds: int + :param sa_data_size_kilobytes: Required. The IPSec Security Association + (also called Quick Mode or Phase 2 SA) payload size in KB for P2S client.. + :type sa_data_size_kilobytes: int + :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE + phase 1). Possible values include: 'None', 'DES', 'DES3', 'AES128', + 'AES192', 'AES256', 'GCMAES128', 'GCMAES192', 'GCMAES256' + :type ipsec_encryption: str or + ~azure.mgmt.network.v2018_06_01.models.IpsecEncryption + :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase + 1). Possible values include: 'MD5', 'SHA1', 'SHA256', 'GCMAES128', + 'GCMAES192', 'GCMAES256' + :type ipsec_integrity: str or + ~azure.mgmt.network.v2018_06_01.models.IpsecIntegrity + :param ike_encryption: Required. The IKE encryption algorithm (IKE phase + 2). Possible values include: 'DES', 'DES3', 'AES128', 'AES192', 'AES256', + 'GCMAES256', 'GCMAES128' + :type ike_encryption: str or + ~azure.mgmt.network.v2018_06_01.models.IkeEncryption + :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). + Possible values include: 'MD5', 'SHA1', 'SHA256', 'SHA384', 'GCMAES256', + 'GCMAES128' + :type ike_integrity: str or + ~azure.mgmt.network.v2018_06_01.models.IkeIntegrity + :param dh_group: Required. The DH Groups used in IKE Phase 1 for initial + SA. Possible values include: 'None', 'DHGroup1', 'DHGroup2', 'DHGroup14', + 'DHGroup2048', 'ECP256', 'ECP384', 'DHGroup24' + :type dh_group: str or ~azure.mgmt.network.v2018_06_01.models.DhGroup + :param pfs_group: Required. The Pfs Groups used in IKE Phase 2 for new + child SA. Possible values include: 'None', 'PFS1', 'PFS2', 'PFS2048', + 'ECP256', 'ECP384', 'PFS24', 'PFS14', 'PFSMM' + :type pfs_group: str or ~azure.mgmt.network.v2018_06_01.models.PfsGroup + """ + + _validation = { + 'sa_life_time_seconds': {'required': True}, + 'sa_data_size_kilobytes': {'required': True}, + 'ipsec_encryption': {'required': True}, + 'ipsec_integrity': {'required': True}, + 'ike_encryption': {'required': True}, + 'ike_integrity': {'required': True}, + 'dh_group': {'required': True}, + 'pfs_group': {'required': True}, + } + + _attribute_map = { + 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, + 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, + 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, + 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, + 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, + 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, + 'dh_group': {'key': 'dhGroup', 'type': 'str'}, + 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, + } + + def __init__(self, *, sa_life_time_seconds: int, sa_data_size_kilobytes: int, ipsec_encryption, ipsec_integrity, ike_encryption, ike_integrity, dh_group, pfs_group, **kwargs) -> None: + super(VpnClientIPsecParameters, self).__init__(**kwargs) + self.sa_life_time_seconds = sa_life_time_seconds + self.sa_data_size_kilobytes = sa_data_size_kilobytes + self.ipsec_encryption = ipsec_encryption + self.ipsec_integrity = ipsec_integrity + self.ike_encryption = ike_encryption + self.ike_integrity = ike_integrity + self.dh_group = dh_group + self.pfs_group = pfs_group diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_parameters.py new file mode 100644 index 000000000000..afcfdb6b5a11 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_parameters.py @@ -0,0 +1,50 @@ +# 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.serialization import Model + + +class VpnClientParameters(Model): + """Vpn Client Parameters for package generation. + + :param processor_architecture: VPN client Processor Architecture. Possible + values are: 'AMD64' and 'X86'. Possible values include: 'Amd64', 'X86' + :type processor_architecture: str or + ~azure.mgmt.network.v2018_06_01.models.ProcessorArchitecture + :param authentication_method: VPN client Authentication Method. Possible + values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values include: 'EAPTLS', + 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2018_06_01.models.AuthenticationMethod + :param radius_server_auth_certificate: The public certificate data for the + radius server authentication certificate as a Base-64 encoded string. + Required only if external radius authentication has been configured with + EAPTLS authentication. + :type radius_server_auth_certificate: str + :param client_root_certificates: A list of client root certificates public + certificate data encoded as Base-64 strings. Optional parameter for + external radius based authentication with EAPTLS. + :type client_root_certificates: list[str] + """ + + _attribute_map = { + 'processor_architecture': {'key': 'processorArchitecture', 'type': 'str'}, + 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, + 'radius_server_auth_certificate': {'key': 'radiusServerAuthCertificate', 'type': 'str'}, + 'client_root_certificates': {'key': 'clientRootCertificates', 'type': '[str]'}, + } + + def __init__(self, **kwargs): + super(VpnClientParameters, self).__init__(**kwargs) + self.processor_architecture = kwargs.get('processor_architecture', None) + self.authentication_method = kwargs.get('authentication_method', None) + self.radius_server_auth_certificate = kwargs.get('radius_server_auth_certificate', None) + self.client_root_certificates = kwargs.get('client_root_certificates', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_parameters_py3.py new file mode 100644 index 000000000000..bf4293b3bc11 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_parameters_py3.py @@ -0,0 +1,50 @@ +# 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.serialization import Model + + +class VpnClientParameters(Model): + """Vpn Client Parameters for package generation. + + :param processor_architecture: VPN client Processor Architecture. Possible + values are: 'AMD64' and 'X86'. Possible values include: 'Amd64', 'X86' + :type processor_architecture: str or + ~azure.mgmt.network.v2018_06_01.models.ProcessorArchitecture + :param authentication_method: VPN client Authentication Method. Possible + values are: 'EAPTLS' and 'EAPMSCHAPv2'. Possible values include: 'EAPTLS', + 'EAPMSCHAPv2' + :type authentication_method: str or + ~azure.mgmt.network.v2018_06_01.models.AuthenticationMethod + :param radius_server_auth_certificate: The public certificate data for the + radius server authentication certificate as a Base-64 encoded string. + Required only if external radius authentication has been configured with + EAPTLS authentication. + :type radius_server_auth_certificate: str + :param client_root_certificates: A list of client root certificates public + certificate data encoded as Base-64 strings. Optional parameter for + external radius based authentication with EAPTLS. + :type client_root_certificates: list[str] + """ + + _attribute_map = { + 'processor_architecture': {'key': 'processorArchitecture', 'type': 'str'}, + 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, + 'radius_server_auth_certificate': {'key': 'radiusServerAuthCertificate', 'type': 'str'}, + 'client_root_certificates': {'key': 'clientRootCertificates', 'type': '[str]'}, + } + + def __init__(self, *, processor_architecture=None, authentication_method=None, radius_server_auth_certificate: str=None, client_root_certificates=None, **kwargs) -> None: + super(VpnClientParameters, self).__init__(**kwargs) + self.processor_architecture = processor_architecture + self.authentication_method = authentication_method + self.radius_server_auth_certificate = radius_server_auth_certificate + self.client_root_certificates = client_root_certificates diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_revoked_certificate.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_revoked_certificate.py new file mode 100644 index 000000000000..1fa6f6a1ef23 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_revoked_certificate.py @@ -0,0 +1,54 @@ +# 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 VpnClientRevokedCertificate(SubResource): + """VPN client revoked certificate of virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param thumbprint: The revoked VPN client certificate thumbprint. + :type thumbprint: str + :ivar provisioning_state: The provisioning state of the VPN client revoked + certificate resource. Possible values are: 'Updating', 'Deleting', and + 'Failed'. + :vartype provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnClientRevokedCertificate, self).__init__(**kwargs) + self.thumbprint = kwargs.get('thumbprint', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_revoked_certificate_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_revoked_certificate_py3.py new file mode 100644 index 000000000000..e540c5ff2068 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_revoked_certificate_py3.py @@ -0,0 +1,54 @@ +# 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 VpnClientRevokedCertificate(SubResource): + """VPN client revoked certificate of virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :param thumbprint: The revoked VPN client certificate thumbprint. + :type thumbprint: str + :ivar provisioning_state: The provisioning state of the VPN client revoked + certificate resource. Possible values are: 'Updating', 'Deleting', and + 'Failed'. + :vartype provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'thumbprint': {'key': 'properties.thumbprint', '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, thumbprint: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(VpnClientRevokedCertificate, self).__init__(id=id, **kwargs) + self.thumbprint = thumbprint + self.provisioning_state = None + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_root_certificate.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_root_certificate.py new file mode 100644 index 000000000000..48c7033d42ec --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_root_certificate.py @@ -0,0 +1,57 @@ +# 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 VpnClientRootCertificate(SubResource): + """VPN client root certificate of virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param public_cert_data: Required. The certificate public data. + :type public_cert_data: str + :ivar provisioning_state: The provisioning state of the VPN client root + certificate resource. Possible values are: 'Updating', 'Deleting', and + 'Failed'. + :vartype provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'public_cert_data': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnClientRootCertificate, self).__init__(**kwargs) + self.public_cert_data = kwargs.get('public_cert_data', None) + self.provisioning_state = None + self.name = kwargs.get('name', None) + self.etag = kwargs.get('etag', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_root_certificate_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_root_certificate_py3.py new file mode 100644 index 000000000000..6567985eee0b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_client_root_certificate_py3.py @@ -0,0 +1,57 @@ +# 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 VpnClientRootCertificate(SubResource): + """VPN client root certificate of virtual network gateway. + + Variables are only populated by the server, and will be ignored when + sending a request. + + All required parameters must be populated in order to send to Azure. + + :param id: Resource ID. + :type id: str + :param public_cert_data: Required. The certificate public data. + :type public_cert_data: str + :ivar provisioning_state: The provisioning state of the VPN client root + certificate resource. Possible values are: 'Updating', 'Deleting', and + 'Failed'. + :vartype provisioning_state: str + :param name: The name of the resource that is unique within a resource + group. This name can be used to access the resource. + :type name: str + :param etag: A unique read-only string that changes whenever the resource + is updated. + :type etag: str + """ + + _validation = { + 'public_cert_data': {'required': True}, + 'provisioning_state': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, public_cert_data: str, id: str=None, name: str=None, etag: str=None, **kwargs) -> None: + super(VpnClientRootCertificate, self).__init__(id=id, **kwargs) + self.public_cert_data = public_cert_data + self.provisioning_state = None + self.name = name + self.etag = etag diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_connection.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_connection.py new file mode 100644 index 000000000000..12715494f3eb --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_connection.py @@ -0,0 +1,102 @@ +# 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 .resource import Resource + + +class VpnConnection(Resource): + """VpnConnection Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param remote_vpn_site: Id of the connected vpn site. + :type remote_vpn_site: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param routing_weight: routing weight for vpn connection. + :type routing_weight: int + :param connection_status: The connection status. Possible values include: + 'Unknown', 'Connecting', 'Connected', 'NotConnected' + :type connection_status: str or + ~azure.mgmt.network.v2018_06_01.models.VpnConnectionStatus + :ivar ingress_bytes_transferred: Ingress bytes transferred. + :vartype ingress_bytes_transferred: long + :ivar egress_bytes_transferred: Egress bytes transferred. + :vartype egress_bytes_transferred: long + :ivar connection_bandwidth_in_mbps: Expected bandwidth in MBPS. + :vartype connection_bandwidth_in_mbps: int + :param shared_key: SharedKey for the vpn connection. + :type shared_key: str + :param enable_bgp: EnableBgp flag + :type enable_bgp: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2018_06_01.models.IpsecPolicy] + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'connection_bandwidth_in_mbps': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'remote_vpn_site': {'key': 'properties.remoteVpnSite', 'type': 'SubResource'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'connection_bandwidth_in_mbps': {'key': 'properties.connectionBandwidthInMbps', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnConnection, self).__init__(**kwargs) + self.remote_vpn_site = kwargs.get('remote_vpn_site', None) + self.routing_weight = kwargs.get('routing_weight', None) + self.connection_status = kwargs.get('connection_status', None) + self.ingress_bytes_transferred = None + self.egress_bytes_transferred = None + self.connection_bandwidth_in_mbps = None + self.shared_key = kwargs.get('shared_key', None) + self.enable_bgp = kwargs.get('enable_bgp', None) + self.ipsec_policies = kwargs.get('ipsec_policies', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_connection_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_connection_paged.py new file mode 100644 index 000000000000..18d8b15a0a1e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_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 VpnConnectionPaged(Paged): + """ + A paging container for iterating over a list of :class:`VpnConnection ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VpnConnection]'} + } + + def __init__(self, *args, **kwargs): + + super(VpnConnectionPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_connection_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_connection_py3.py new file mode 100644 index 000000000000..0c5f30040af5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_connection_py3.py @@ -0,0 +1,102 @@ +# 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 .resource_py3 import Resource + + +class VpnConnection(Resource): + """VpnConnection Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param remote_vpn_site: Id of the connected vpn site. + :type remote_vpn_site: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param routing_weight: routing weight for vpn connection. + :type routing_weight: int + :param connection_status: The connection status. Possible values include: + 'Unknown', 'Connecting', 'Connected', 'NotConnected' + :type connection_status: str or + ~azure.mgmt.network.v2018_06_01.models.VpnConnectionStatus + :ivar ingress_bytes_transferred: Ingress bytes transferred. + :vartype ingress_bytes_transferred: long + :ivar egress_bytes_transferred: Egress bytes transferred. + :vartype egress_bytes_transferred: long + :ivar connection_bandwidth_in_mbps: Expected bandwidth in MBPS. + :vartype connection_bandwidth_in_mbps: int + :param shared_key: SharedKey for the vpn connection. + :type shared_key: str + :param enable_bgp: EnableBgp flag + :type enable_bgp: bool + :param ipsec_policies: The IPSec Policies to be considered by this + connection. + :type ipsec_policies: + list[~azure.mgmt.network.v2018_06_01.models.IpsecPolicy] + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'ingress_bytes_transferred': {'readonly': True}, + 'egress_bytes_transferred': {'readonly': True}, + 'connection_bandwidth_in_mbps': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'remote_vpn_site': {'key': 'properties.remoteVpnSite', 'type': 'SubResource'}, + 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, + 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, + 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, + 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, + 'connection_bandwidth_in_mbps': {'key': 'properties.connectionBandwidthInMbps', 'type': 'int'}, + 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, + 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, + 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, remote_vpn_site=None, routing_weight: int=None, connection_status=None, shared_key: str=None, enable_bgp: bool=None, ipsec_policies=None, provisioning_state=None, **kwargs) -> None: + super(VpnConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.remote_vpn_site = remote_vpn_site + self.routing_weight = routing_weight + self.connection_status = connection_status + self.ingress_bytes_transferred = None + self.egress_bytes_transferred = None + self.connection_bandwidth_in_mbps = None + self.shared_key = shared_key + self.enable_bgp = enable_bgp + self.ipsec_policies = ipsec_policies + self.provisioning_state = provisioning_state + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_device_script_parameters.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_device_script_parameters.py new file mode 100644 index 000000000000..e4f8f12701b7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_device_script_parameters.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class VpnDeviceScriptParameters(Model): + """Vpn device configuration script generation parameters. + + :param vendor: The vendor for the vpn device. + :type vendor: str + :param device_family: The device family for the vpn device. + :type device_family: str + :param firmware_version: The firmware version for the vpn device. + :type firmware_version: str + """ + + _attribute_map = { + 'vendor': {'key': 'vendor', 'type': 'str'}, + 'device_family': {'key': 'deviceFamily', 'type': 'str'}, + 'firmware_version': {'key': 'firmwareVersion', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnDeviceScriptParameters, self).__init__(**kwargs) + self.vendor = kwargs.get('vendor', None) + self.device_family = kwargs.get('device_family', None) + self.firmware_version = kwargs.get('firmware_version', None) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_device_script_parameters_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_device_script_parameters_py3.py new file mode 100644 index 000000000000..e5520ffb5a18 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_device_script_parameters_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class VpnDeviceScriptParameters(Model): + """Vpn device configuration script generation parameters. + + :param vendor: The vendor for the vpn device. + :type vendor: str + :param device_family: The device family for the vpn device. + :type device_family: str + :param firmware_version: The firmware version for the vpn device. + :type firmware_version: str + """ + + _attribute_map = { + 'vendor': {'key': 'vendor', 'type': 'str'}, + 'device_family': {'key': 'deviceFamily', 'type': 'str'}, + 'firmware_version': {'key': 'firmwareVersion', 'type': 'str'}, + } + + def __init__(self, *, vendor: str=None, device_family: str=None, firmware_version: str=None, **kwargs) -> None: + super(VpnDeviceScriptParameters, self).__init__(**kwargs) + self.vendor = vendor + self.device_family = device_family + self.firmware_version = firmware_version diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_gateway.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_gateway.py new file mode 100644 index 000000000000..a34fded9cbe2 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_gateway.py @@ -0,0 +1,76 @@ +# 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 .resource import Resource + + +class VpnGateway(Resource): + """VpnGateway Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_hub: The VirtualHub to which the gateway belongs + :type virtual_hub: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param connections: list of all vpn connections to the gateway. + :type connections: + list[~azure.mgmt.network.v2018_06_01.models.VpnConnection] + :param bgp_settings: Local network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2018_06_01.models.BgpSettings + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :param policies: The policies applied to this vpn gateway. + :type policies: ~azure.mgmt.network.v2018_06_01.models.Policies + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'connections': {'key': 'properties.connections', 'type': '[VpnConnection]'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'policies': {'key': 'properties.policies', 'type': 'Policies'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnGateway, self).__init__(**kwargs) + self.virtual_hub = kwargs.get('virtual_hub', None) + self.connections = kwargs.get('connections', None) + self.bgp_settings = kwargs.get('bgp_settings', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.policies = kwargs.get('policies', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_gateway_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_gateway_paged.py new file mode 100644 index 000000000000..ef6be3468be7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_gateway_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 VpnGatewayPaged(Paged): + """ + A paging container for iterating over a list of :class:`VpnGateway ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VpnGateway]'} + } + + def __init__(self, *args, **kwargs): + + super(VpnGatewayPaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_gateway_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_gateway_py3.py new file mode 100644 index 000000000000..5687402a39a8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_gateway_py3.py @@ -0,0 +1,76 @@ +# 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 .resource_py3 import Resource + + +class VpnGateway(Resource): + """VpnGateway Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_hub: The VirtualHub to which the gateway belongs + :type virtual_hub: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param connections: list of all vpn connections to the gateway. + :type connections: + list[~azure.mgmt.network.v2018_06_01.models.VpnConnection] + :param bgp_settings: Local network gateway's BGP speaker settings. + :type bgp_settings: ~azure.mgmt.network.v2018_06_01.models.BgpSettings + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :param policies: The policies applied to this vpn gateway. + :type policies: ~azure.mgmt.network.v2018_06_01.models.Policies + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, + 'connections': {'key': 'properties.connections', 'type': '[VpnConnection]'}, + 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'policies': {'key': 'properties.policies', 'type': 'Policies'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_hub=None, connections=None, bgp_settings=None, provisioning_state=None, policies=None, **kwargs) -> None: + super(VpnGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.virtual_hub = virtual_hub + self.connections = connections + self.bgp_settings = bgp_settings + self.provisioning_state = provisioning_state + self.policies = policies + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_site.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_site.py new file mode 100644 index 000000000000..6c51b3c30aa8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_site.py @@ -0,0 +1,85 @@ +# 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 .resource import Resource + + +class VpnSite(Resource): + """VpnSite Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_wan: The VirtualWAN to which the vpnSite belongs + :type virtual_wan: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param device_properties: The device properties + :type device_properties: + ~azure.mgmt.network.v2018_06_01.models.DeviceProperties + :param ip_address: The ip-address for the vpn-site. + :type ip_address: str + :param site_key: The key for vpn-site that can be used for connections. + :type site_key: str + :param address_space: The AddressSpace that contains an array of IP + address ranges. + :type address_space: ~azure.mgmt.network.v2018_06_01.models.AddressSpace + :param bgp_properties: The set of bgp properties. + :type bgp_properties: ~azure.mgmt.network.v2018_06_01.models.BgpSettings + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_wan': {'key': 'properties.virtualWAN', 'type': 'SubResource'}, + 'device_properties': {'key': 'properties.deviceProperties', 'type': 'DeviceProperties'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'site_key': {'key': 'properties.siteKey', 'type': 'str'}, + 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, + 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'BgpSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnSite, self).__init__(**kwargs) + self.virtual_wan = kwargs.get('virtual_wan', None) + self.device_properties = kwargs.get('device_properties', None) + self.ip_address = kwargs.get('ip_address', None) + self.site_key = kwargs.get('site_key', None) + self.address_space = kwargs.get('address_space', None) + self.bgp_properties = kwargs.get('bgp_properties', None) + self.provisioning_state = kwargs.get('provisioning_state', None) + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_site_id.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_site_id.py new file mode 100644 index 000000000000..f033d813f347 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_site_id.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class VpnSiteId(Model): + """VpnSite Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar vpn_site: The resource-uri of the vpn-site for which config is to be + fetched. + :vartype vpn_site: str + """ + + _validation = { + 'vpn_site': {'readonly': True}, + } + + _attribute_map = { + 'vpn_site': {'key': 'vpnSite', 'type': 'str'}, + } + + def __init__(self, **kwargs): + super(VpnSiteId, self).__init__(**kwargs) + self.vpn_site = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_site_id_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_site_id_py3.py new file mode 100644 index 000000000000..3a12683973e3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_site_id_py3.py @@ -0,0 +1,36 @@ +# 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.serialization import Model + + +class VpnSiteId(Model): + """VpnSite Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :ivar vpn_site: The resource-uri of the vpn-site for which config is to be + fetched. + :vartype vpn_site: str + """ + + _validation = { + 'vpn_site': {'readonly': True}, + } + + _attribute_map = { + 'vpn_site': {'key': 'vpnSite', 'type': 'str'}, + } + + def __init__(self, **kwargs) -> None: + super(VpnSiteId, self).__init__(**kwargs) + self.vpn_site = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_site_paged.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_site_paged.py new file mode 100644 index 000000000000..bc41d0dfcffc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_site_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 VpnSitePaged(Paged): + """ + A paging container for iterating over a list of :class:`VpnSite ` object + """ + + _attribute_map = { + 'next_link': {'key': 'nextLink', 'type': 'str'}, + 'current_page': {'key': 'value', 'type': '[VpnSite]'} + } + + def __init__(self, *args, **kwargs): + + super(VpnSitePaged, self).__init__(*args, **kwargs) diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_site_py3.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_site_py3.py new file mode 100644 index 000000000000..ead1502a59f2 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/models/vpn_site_py3.py @@ -0,0 +1,85 @@ +# 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 .resource_py3 import Resource + + +class VpnSite(Resource): + """VpnSite Resource. + + Variables are only populated by the server, and will be ignored when + sending a request. + + :param id: Resource ID. + :type id: str + :ivar name: Resource name. + :vartype name: str + :ivar type: Resource type. + :vartype type: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param virtual_wan: The VirtualWAN to which the vpnSite belongs + :type virtual_wan: ~azure.mgmt.network.v2018_06_01.models.SubResource + :param device_properties: The device properties + :type device_properties: + ~azure.mgmt.network.v2018_06_01.models.DeviceProperties + :param ip_address: The ip-address for the vpn-site. + :type ip_address: str + :param site_key: The key for vpn-site that can be used for connections. + :type site_key: str + :param address_space: The AddressSpace that contains an array of IP + address ranges. + :type address_space: ~azure.mgmt.network.v2018_06_01.models.AddressSpace + :param bgp_properties: The set of bgp properties. + :type bgp_properties: ~azure.mgmt.network.v2018_06_01.models.BgpSettings + :param provisioning_state: The provisioning state of the resource. + Possible values include: 'Succeeded', 'Updating', 'Deleting', 'Failed' + :type provisioning_state: str or + ~azure.mgmt.network.v2018_06_01.models.ProvisioningState + :ivar etag: Gets a unique read-only string that changes whenever the + resource is updated. + :vartype etag: str + """ + + _validation = { + 'name': {'readonly': True}, + 'type': {'readonly': True}, + 'etag': {'readonly': True}, + } + + _attribute_map = { + 'id': {'key': 'id', 'type': 'str'}, + 'name': {'key': 'name', 'type': 'str'}, + 'type': {'key': 'type', 'type': 'str'}, + 'location': {'key': 'location', 'type': 'str'}, + 'tags': {'key': 'tags', 'type': '{str}'}, + 'virtual_wan': {'key': 'properties.virtualWAN', 'type': 'SubResource'}, + 'device_properties': {'key': 'properties.deviceProperties', 'type': 'DeviceProperties'}, + 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, + 'site_key': {'key': 'properties.siteKey', 'type': 'str'}, + 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, + 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'BgpSettings'}, + 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, + 'etag': {'key': 'etag', 'type': 'str'}, + } + + def __init__(self, *, id: str=None, location: str=None, tags=None, virtual_wan=None, device_properties=None, ip_address: str=None, site_key: str=None, address_space=None, bgp_properties=None, provisioning_state=None, **kwargs) -> None: + super(VpnSite, self).__init__(id=id, location=location, tags=tags, **kwargs) + self.virtual_wan = virtual_wan + self.device_properties = device_properties + self.ip_address = ip_address + self.site_key = site_key + self.address_space = address_space + self.bgp_properties = bgp_properties + self.provisioning_state = provisioning_state + self.etag = None diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/network_management_client.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/network_management_client.py new file mode 100644 index 000000000000..29dfacd920d8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/network_management_client.py @@ -0,0 +1,397 @@ +# 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.service_client import SDKClient +from msrest import Serializer, Deserializer +from msrestazure import AzureConfiguration +from .version import VERSION +from msrest.pipeline import ClientRawResponse +from msrestazure.azure_exceptions import CloudError +from msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling +import uuid +from .operations.azure_firewalls_operations import AzureFirewallsOperations +from .operations.application_gateways_operations import ApplicationGatewaysOperations +from .operations.application_security_groups_operations import ApplicationSecurityGroupsOperations +from .operations.ddos_protection_plans_operations import DdosProtectionPlansOperations +from .operations.available_endpoint_services_operations import AvailableEndpointServicesOperations +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.express_route_circuits_operations import ExpressRouteCircuitsOperations +from .operations.express_route_service_providers_operations import ExpressRouteServiceProvidersOperations +from .operations.express_route_cross_connections_operations import ExpressRouteCrossConnectionsOperations +from .operations.express_route_cross_connection_peerings_operations import ExpressRouteCrossConnectionPeeringsOperations +from .operations.load_balancers_operations import LoadBalancersOperations +from .operations.load_balancer_backend_address_pools_operations import LoadBalancerBackendAddressPoolsOperations +from .operations.load_balancer_frontend_ip_configurations_operations import LoadBalancerFrontendIPConfigurationsOperations +from .operations.inbound_nat_rules_operations import InboundNatRulesOperations +from .operations.load_balancer_load_balancing_rules_operations import LoadBalancerLoadBalancingRulesOperations +from .operations.load_balancer_network_interfaces_operations import LoadBalancerNetworkInterfacesOperations +from .operations.load_balancer_probes_operations import LoadBalancerProbesOperations +from .operations.network_interfaces_operations import NetworkInterfacesOperations +from .operations.network_interface_ip_configurations_operations import NetworkInterfaceIPConfigurationsOperations +from .operations.network_interface_load_balancers_operations import NetworkInterfaceLoadBalancersOperations +from .operations.network_security_groups_operations import NetworkSecurityGroupsOperations +from .operations.security_rules_operations import SecurityRulesOperations +from .operations.default_security_rules_operations import DefaultSecurityRulesOperations +from .operations.network_watchers_operations import NetworkWatchersOperations +from .operations.packet_captures_operations import PacketCapturesOperations +from .operations.connection_monitors_operations import ConnectionMonitorsOperations +from .operations.operations import Operations +from .operations.public_ip_addresses_operations import PublicIPAddressesOperations +from .operations.route_filters_operations import RouteFiltersOperations +from .operations.route_filter_rules_operations import RouteFilterRulesOperations +from .operations.route_tables_operations import RouteTablesOperations +from .operations.routes_operations import RoutesOperations +from .operations.bgp_service_communities_operations import BgpServiceCommunitiesOperations +from .operations.usages_operations import UsagesOperations +from .operations.virtual_networks_operations import VirtualNetworksOperations +from .operations.subnets_operations import SubnetsOperations +from .operations.virtual_network_peerings_operations import VirtualNetworkPeeringsOperations +from .operations.virtual_network_gateways_operations import VirtualNetworkGatewaysOperations +from .operations.virtual_network_gateway_connections_operations import VirtualNetworkGatewayConnectionsOperations +from .operations.local_network_gateways_operations import LocalNetworkGatewaysOperations +from .operations.virtual_wa_ns_operations import VirtualWANsOperations +from .operations.vpn_sites_operations import VpnSitesOperations +from .operations.vpn_sites_configuration_operations import VpnSitesConfigurationOperations +from .operations.virtual_hubs_operations import VirtualHubsOperations +from .operations.hub_virtual_network_connections_operations import HubVirtualNetworkConnectionsOperations +from .operations.vpn_gateways_operations import VpnGatewaysOperations +from .operations.vpn_connections_operations import VpnConnectionsOperations +from . import models + + +class NetworkManagementClientConfiguration(AzureConfiguration): + """Configuration for NetworkManagementClient + Note that all parameters used to create this instance are saved as instance + attributes. + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The subscription credentials which uniquely + identify the Microsoft Azure subscription. The subscription ID forms part + of the URI for every service call. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + if credentials is None: + raise ValueError("Parameter 'credentials' must not be None.") + if subscription_id is None: + raise ValueError("Parameter 'subscription_id' must not be None.") + if not base_url: + base_url = 'https://management.azure.com' + + super(NetworkManagementClientConfiguration, self).__init__(base_url) + + self.add_user_agent('azure-mgmt-network/{}'.format(VERSION)) + self.add_user_agent('Azure-SDK-For-Python') + + self.credentials = credentials + self.subscription_id = subscription_id + + +class NetworkManagementClient(SDKClient): + """Network Client + + :ivar config: Configuration for client. + :vartype config: NetworkManagementClientConfiguration + + :ivar azure_firewalls: AzureFirewalls operations + :vartype azure_firewalls: azure.mgmt.network.v2018_06_01.operations.AzureFirewallsOperations + :ivar application_gateways: ApplicationGateways operations + :vartype application_gateways: azure.mgmt.network.v2018_06_01.operations.ApplicationGatewaysOperations + :ivar application_security_groups: ApplicationSecurityGroups operations + :vartype application_security_groups: azure.mgmt.network.v2018_06_01.operations.ApplicationSecurityGroupsOperations + :ivar ddos_protection_plans: DdosProtectionPlans operations + :vartype ddos_protection_plans: azure.mgmt.network.v2018_06_01.operations.DdosProtectionPlansOperations + :ivar available_endpoint_services: AvailableEndpointServices operations + :vartype available_endpoint_services: azure.mgmt.network.v2018_06_01.operations.AvailableEndpointServicesOperations + :ivar express_route_circuit_authorizations: ExpressRouteCircuitAuthorizations operations + :vartype express_route_circuit_authorizations: azure.mgmt.network.v2018_06_01.operations.ExpressRouteCircuitAuthorizationsOperations + :ivar express_route_circuit_peerings: ExpressRouteCircuitPeerings operations + :vartype express_route_circuit_peerings: azure.mgmt.network.v2018_06_01.operations.ExpressRouteCircuitPeeringsOperations + :ivar express_route_circuit_connections: ExpressRouteCircuitConnections operations + :vartype express_route_circuit_connections: azure.mgmt.network.v2018_06_01.operations.ExpressRouteCircuitConnectionsOperations + :ivar express_route_circuits: ExpressRouteCircuits operations + :vartype express_route_circuits: azure.mgmt.network.v2018_06_01.operations.ExpressRouteCircuitsOperations + :ivar express_route_service_providers: ExpressRouteServiceProviders operations + :vartype express_route_service_providers: azure.mgmt.network.v2018_06_01.operations.ExpressRouteServiceProvidersOperations + :ivar express_route_cross_connections: ExpressRouteCrossConnections operations + :vartype express_route_cross_connections: azure.mgmt.network.v2018_06_01.operations.ExpressRouteCrossConnectionsOperations + :ivar express_route_cross_connection_peerings: ExpressRouteCrossConnectionPeerings operations + :vartype express_route_cross_connection_peerings: azure.mgmt.network.v2018_06_01.operations.ExpressRouteCrossConnectionPeeringsOperations + :ivar load_balancers: LoadBalancers operations + :vartype load_balancers: azure.mgmt.network.v2018_06_01.operations.LoadBalancersOperations + :ivar load_balancer_backend_address_pools: LoadBalancerBackendAddressPools operations + :vartype load_balancer_backend_address_pools: azure.mgmt.network.v2018_06_01.operations.LoadBalancerBackendAddressPoolsOperations + :ivar load_balancer_frontend_ip_configurations: LoadBalancerFrontendIPConfigurations operations + :vartype load_balancer_frontend_ip_configurations: azure.mgmt.network.v2018_06_01.operations.LoadBalancerFrontendIPConfigurationsOperations + :ivar inbound_nat_rules: InboundNatRules operations + :vartype inbound_nat_rules: azure.mgmt.network.v2018_06_01.operations.InboundNatRulesOperations + :ivar load_balancer_load_balancing_rules: LoadBalancerLoadBalancingRules operations + :vartype load_balancer_load_balancing_rules: azure.mgmt.network.v2018_06_01.operations.LoadBalancerLoadBalancingRulesOperations + :ivar load_balancer_network_interfaces: LoadBalancerNetworkInterfaces operations + :vartype load_balancer_network_interfaces: azure.mgmt.network.v2018_06_01.operations.LoadBalancerNetworkInterfacesOperations + :ivar load_balancer_probes: LoadBalancerProbes operations + :vartype load_balancer_probes: azure.mgmt.network.v2018_06_01.operations.LoadBalancerProbesOperations + :ivar network_interfaces: NetworkInterfaces operations + :vartype network_interfaces: azure.mgmt.network.v2018_06_01.operations.NetworkInterfacesOperations + :ivar network_interface_ip_configurations: NetworkInterfaceIPConfigurations operations + :vartype network_interface_ip_configurations: azure.mgmt.network.v2018_06_01.operations.NetworkInterfaceIPConfigurationsOperations + :ivar network_interface_load_balancers: NetworkInterfaceLoadBalancers operations + :vartype network_interface_load_balancers: azure.mgmt.network.v2018_06_01.operations.NetworkInterfaceLoadBalancersOperations + :ivar network_security_groups: NetworkSecurityGroups operations + :vartype network_security_groups: azure.mgmt.network.v2018_06_01.operations.NetworkSecurityGroupsOperations + :ivar security_rules: SecurityRules operations + :vartype security_rules: azure.mgmt.network.v2018_06_01.operations.SecurityRulesOperations + :ivar default_security_rules: DefaultSecurityRules operations + :vartype default_security_rules: azure.mgmt.network.v2018_06_01.operations.DefaultSecurityRulesOperations + :ivar network_watchers: NetworkWatchers operations + :vartype network_watchers: azure.mgmt.network.v2018_06_01.operations.NetworkWatchersOperations + :ivar packet_captures: PacketCaptures operations + :vartype packet_captures: azure.mgmt.network.v2018_06_01.operations.PacketCapturesOperations + :ivar connection_monitors: ConnectionMonitors operations + :vartype connection_monitors: azure.mgmt.network.v2018_06_01.operations.ConnectionMonitorsOperations + :ivar operations: Operations operations + :vartype operations: azure.mgmt.network.v2018_06_01.operations.Operations + :ivar public_ip_addresses: PublicIPAddresses operations + :vartype public_ip_addresses: azure.mgmt.network.v2018_06_01.operations.PublicIPAddressesOperations + :ivar route_filters: RouteFilters operations + :vartype route_filters: azure.mgmt.network.v2018_06_01.operations.RouteFiltersOperations + :ivar route_filter_rules: RouteFilterRules operations + :vartype route_filter_rules: azure.mgmt.network.v2018_06_01.operations.RouteFilterRulesOperations + :ivar route_tables: RouteTables operations + :vartype route_tables: azure.mgmt.network.v2018_06_01.operations.RouteTablesOperations + :ivar routes: Routes operations + :vartype routes: azure.mgmt.network.v2018_06_01.operations.RoutesOperations + :ivar bgp_service_communities: BgpServiceCommunities operations + :vartype bgp_service_communities: azure.mgmt.network.v2018_06_01.operations.BgpServiceCommunitiesOperations + :ivar usages: Usages operations + :vartype usages: azure.mgmt.network.v2018_06_01.operations.UsagesOperations + :ivar virtual_networks: VirtualNetworks operations + :vartype virtual_networks: azure.mgmt.network.v2018_06_01.operations.VirtualNetworksOperations + :ivar subnets: Subnets operations + :vartype subnets: azure.mgmt.network.v2018_06_01.operations.SubnetsOperations + :ivar virtual_network_peerings: VirtualNetworkPeerings operations + :vartype virtual_network_peerings: azure.mgmt.network.v2018_06_01.operations.VirtualNetworkPeeringsOperations + :ivar virtual_network_gateways: VirtualNetworkGateways operations + :vartype virtual_network_gateways: azure.mgmt.network.v2018_06_01.operations.VirtualNetworkGatewaysOperations + :ivar virtual_network_gateway_connections: VirtualNetworkGatewayConnections operations + :vartype virtual_network_gateway_connections: azure.mgmt.network.v2018_06_01.operations.VirtualNetworkGatewayConnectionsOperations + :ivar local_network_gateways: LocalNetworkGateways operations + :vartype local_network_gateways: azure.mgmt.network.v2018_06_01.operations.LocalNetworkGatewaysOperations + :ivar virtual_wa_ns: VirtualWANs operations + :vartype virtual_wa_ns: azure.mgmt.network.v2018_06_01.operations.VirtualWANsOperations + :ivar vpn_sites: VpnSites operations + :vartype vpn_sites: azure.mgmt.network.v2018_06_01.operations.VpnSitesOperations + :ivar vpn_sites_configuration: VpnSitesConfiguration operations + :vartype vpn_sites_configuration: azure.mgmt.network.v2018_06_01.operations.VpnSitesConfigurationOperations + :ivar virtual_hubs: VirtualHubs operations + :vartype virtual_hubs: azure.mgmt.network.v2018_06_01.operations.VirtualHubsOperations + :ivar hub_virtual_network_connections: HubVirtualNetworkConnections operations + :vartype hub_virtual_network_connections: azure.mgmt.network.v2018_06_01.operations.HubVirtualNetworkConnectionsOperations + :ivar vpn_gateways: VpnGateways operations + :vartype vpn_gateways: azure.mgmt.network.v2018_06_01.operations.VpnGatewaysOperations + :ivar vpn_connections: VpnConnections operations + :vartype vpn_connections: azure.mgmt.network.v2018_06_01.operations.VpnConnectionsOperations + + :param credentials: Credentials needed for the client to connect to Azure. + :type credentials: :mod:`A msrestazure Credentials + object` + :param subscription_id: The subscription credentials which uniquely + identify the Microsoft Azure subscription. The subscription ID forms part + of the URI for every service call. + :type subscription_id: str + :param str base_url: Service URL + """ + + def __init__( + self, credentials, subscription_id, base_url=None): + + self.config = NetworkManagementClientConfiguration(credentials, subscription_id, base_url) + super(NetworkManagementClient, self).__init__(self.config.credentials, self.config) + + client_models = {k: v for k, v in models.__dict__.items() if isinstance(v, type)} + self._serialize = Serializer(client_models) + self._deserialize = Deserializer(client_models) + + self.azure_firewalls = AzureFirewallsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.application_gateways = ApplicationGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.application_security_groups = ApplicationSecurityGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.ddos_protection_plans = DdosProtectionPlansOperations( + self._client, self.config, self._serialize, self._deserialize) + self.available_endpoint_services = AvailableEndpointServicesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_circuit_authorizations = ExpressRouteCircuitAuthorizationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_circuit_peerings = ExpressRouteCircuitPeeringsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_circuit_connections = ExpressRouteCircuitConnectionsOperations( + 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( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_cross_connections = ExpressRouteCrossConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.express_route_cross_connection_peerings = ExpressRouteCrossConnectionPeeringsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancers = LoadBalancersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_backend_address_pools = LoadBalancerBackendAddressPoolsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_frontend_ip_configurations = LoadBalancerFrontendIPConfigurationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.inbound_nat_rules = InboundNatRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_load_balancing_rules = LoadBalancerLoadBalancingRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_network_interfaces = LoadBalancerNetworkInterfacesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.load_balancer_probes = LoadBalancerProbesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_interfaces = NetworkInterfacesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_interface_ip_configurations = NetworkInterfaceIPConfigurationsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_interface_load_balancers = NetworkInterfaceLoadBalancersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_security_groups = NetworkSecurityGroupsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.security_rules = SecurityRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.default_security_rules = DefaultSecurityRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.network_watchers = NetworkWatchersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.packet_captures = PacketCapturesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.connection_monitors = ConnectionMonitorsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.operations = Operations( + self._client, self.config, self._serialize, self._deserialize) + self.public_ip_addresses = PublicIPAddressesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.route_filters = RouteFiltersOperations( + self._client, self.config, self._serialize, self._deserialize) + self.route_filter_rules = RouteFilterRulesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.route_tables = RouteTablesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.routes = RoutesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.bgp_service_communities = BgpServiceCommunitiesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.usages = UsagesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_networks = VirtualNetworksOperations( + self._client, self.config, self._serialize, self._deserialize) + self.subnets = SubnetsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_network_peerings = VirtualNetworkPeeringsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_network_gateways = VirtualNetworkGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_network_gateway_connections = VirtualNetworkGatewayConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.local_network_gateways = LocalNetworkGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_wa_ns = VirtualWANsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_sites = VpnSitesOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_sites_configuration = VpnSitesConfigurationOperations( + self._client, self.config, self._serialize, self._deserialize) + self.virtual_hubs = VirtualHubsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.hub_virtual_network_connections = HubVirtualNetworkConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_gateways = VpnGatewaysOperations( + self._client, self.config, self._serialize, self._deserialize) + self.vpn_connections = VpnConnectionsOperations( + self._client, self.config, self._serialize, self._deserialize) + + def check_dns_name_availability( + self, location, domain_name_label, custom_headers=None, raw=False, **operation_config): + """Checks whether a domain name in the cloudapp.azure.com zone is + available for use. + + :param location: The location of the domain name. + :type location: str + :param domain_name_label: The domain name to be verified. It must + conform to the following regular expression: + ^[a-z][a-z0-9-]{1,61}[a-z0-9]$. + :type domain_name_label: 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: DnsNameAvailabilityResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2018_06_01.models.DnsNameAvailabilityResult or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2018-06-01" + + # Construct URL + url = self.check_dns_name_availability.metadata['url'] + path_format_arguments = { + 'location': self._serialize.url("location", location, '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['domainNameLabel'] = self._serialize.query("domain_name_label", domain_name_label, 'str') + query_parameters['api-version'] = self._serialize.query("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('DnsNameAvailabilityResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_dns_name_availability.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/CheckDnsNameAvailability'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/__init__.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/__init__.py new file mode 100644 index 000000000000..7920434f1e6d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/__init__.py @@ -0,0 +1,112 @@ +# 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 .azure_firewalls_operations import AzureFirewallsOperations +from .application_gateways_operations import ApplicationGatewaysOperations +from .application_security_groups_operations import ApplicationSecurityGroupsOperations +from .ddos_protection_plans_operations import DdosProtectionPlansOperations +from .available_endpoint_services_operations import AvailableEndpointServicesOperations +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 .express_route_circuits_operations import ExpressRouteCircuitsOperations +from .express_route_service_providers_operations import ExpressRouteServiceProvidersOperations +from .express_route_cross_connections_operations import ExpressRouteCrossConnectionsOperations +from .express_route_cross_connection_peerings_operations import ExpressRouteCrossConnectionPeeringsOperations +from .load_balancers_operations import LoadBalancersOperations +from .load_balancer_backend_address_pools_operations import LoadBalancerBackendAddressPoolsOperations +from .load_balancer_frontend_ip_configurations_operations import LoadBalancerFrontendIPConfigurationsOperations +from .inbound_nat_rules_operations import InboundNatRulesOperations +from .load_balancer_load_balancing_rules_operations import LoadBalancerLoadBalancingRulesOperations +from .load_balancer_network_interfaces_operations import LoadBalancerNetworkInterfacesOperations +from .load_balancer_probes_operations import LoadBalancerProbesOperations +from .network_interfaces_operations import NetworkInterfacesOperations +from .network_interface_ip_configurations_operations import NetworkInterfaceIPConfigurationsOperations +from .network_interface_load_balancers_operations import NetworkInterfaceLoadBalancersOperations +from .network_security_groups_operations import NetworkSecurityGroupsOperations +from .security_rules_operations import SecurityRulesOperations +from .default_security_rules_operations import DefaultSecurityRulesOperations +from .network_watchers_operations import NetworkWatchersOperations +from .packet_captures_operations import PacketCapturesOperations +from .connection_monitors_operations import ConnectionMonitorsOperations +from .operations import Operations +from .public_ip_addresses_operations import PublicIPAddressesOperations +from .route_filters_operations import RouteFiltersOperations +from .route_filter_rules_operations import RouteFilterRulesOperations +from .route_tables_operations import RouteTablesOperations +from .routes_operations import RoutesOperations +from .bgp_service_communities_operations import BgpServiceCommunitiesOperations +from .usages_operations import UsagesOperations +from .virtual_networks_operations import VirtualNetworksOperations +from .subnets_operations import SubnetsOperations +from .virtual_network_peerings_operations import VirtualNetworkPeeringsOperations +from .virtual_network_gateways_operations import VirtualNetworkGatewaysOperations +from .virtual_network_gateway_connections_operations import VirtualNetworkGatewayConnectionsOperations +from .local_network_gateways_operations import LocalNetworkGatewaysOperations +from .virtual_wa_ns_operations import VirtualWANsOperations +from .vpn_sites_operations import VpnSitesOperations +from .vpn_sites_configuration_operations import VpnSitesConfigurationOperations +from .virtual_hubs_operations import VirtualHubsOperations +from .hub_virtual_network_connections_operations import HubVirtualNetworkConnectionsOperations +from .vpn_gateways_operations import VpnGatewaysOperations +from .vpn_connections_operations import VpnConnectionsOperations + +__all__ = [ + 'AzureFirewallsOperations', + 'ApplicationGatewaysOperations', + 'ApplicationSecurityGroupsOperations', + 'DdosProtectionPlansOperations', + 'AvailableEndpointServicesOperations', + 'ExpressRouteCircuitAuthorizationsOperations', + 'ExpressRouteCircuitPeeringsOperations', + 'ExpressRouteCircuitConnectionsOperations', + 'ExpressRouteCircuitsOperations', + 'ExpressRouteServiceProvidersOperations', + 'ExpressRouteCrossConnectionsOperations', + 'ExpressRouteCrossConnectionPeeringsOperations', + 'LoadBalancersOperations', + 'LoadBalancerBackendAddressPoolsOperations', + 'LoadBalancerFrontendIPConfigurationsOperations', + 'InboundNatRulesOperations', + 'LoadBalancerLoadBalancingRulesOperations', + 'LoadBalancerNetworkInterfacesOperations', + 'LoadBalancerProbesOperations', + 'NetworkInterfacesOperations', + 'NetworkInterfaceIPConfigurationsOperations', + 'NetworkInterfaceLoadBalancersOperations', + 'NetworkSecurityGroupsOperations', + 'SecurityRulesOperations', + 'DefaultSecurityRulesOperations', + 'NetworkWatchersOperations', + 'PacketCapturesOperations', + 'ConnectionMonitorsOperations', + 'Operations', + 'PublicIPAddressesOperations', + 'RouteFiltersOperations', + 'RouteFilterRulesOperations', + 'RouteTablesOperations', + 'RoutesOperations', + 'BgpServiceCommunitiesOperations', + 'UsagesOperations', + 'VirtualNetworksOperations', + 'SubnetsOperations', + 'VirtualNetworkPeeringsOperations', + 'VirtualNetworkGatewaysOperations', + 'VirtualNetworkGatewayConnectionsOperations', + 'LocalNetworkGatewaysOperations', + 'VirtualWANsOperations', + 'VpnSitesOperations', + 'VpnSitesConfigurationOperations', + 'VirtualHubsOperations', + 'HubVirtualNetworkConnectionsOperations', + 'VpnGatewaysOperations', + 'VpnConnectionsOperations', +] diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/application_gateways_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/application_gateways_operations.py new file mode 100644 index 000000000000..34edd86ed487 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/application_gateways_operations.py @@ -0,0 +1,1025 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ApplicationGatewaysOperations(object): + """ApplicationGatewaysOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified application gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} + + def get( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified application gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_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: ApplicationGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.ApplicationGateway 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'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ApplicationGateway', 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/applicationGateways/{applicationGatewayName}'} + + + def _create_or_update_initial( + self, resource_group_name, application_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'ApplicationGateway') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('ApplicationGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('ApplicationGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, application_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified application gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param parameters: Parameters supplied to the create or update + application gateway operation. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ApplicationGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ApplicationGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ApplicationGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ApplicationGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} + + + def _update_tags_initial( + self, resource_group_name, application_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('ApplicationGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, application_gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates the specified application gateway tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ApplicationGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ApplicationGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ApplicationGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ApplicationGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all application gateways in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 ApplicationGateway + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayPaged[~azure.mgmt.network.v2018_06_01.models.ApplicationGateway] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ApplicationGatewayPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ApplicationGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the application gateways in a subscription. + + :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 ApplicationGateway + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayPaged[~azure.mgmt.network.v2018_06_01.models.ApplicationGateway] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ApplicationGatewayPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ApplicationGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGateways'} + + + def _start_initial( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.start.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def start( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Starts the specified application gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._start_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/start'} + + + def _stop_initial( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.stop.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def stop( + self, resource_group_name, application_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Stops the specified application gateway in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/stop'} + + + def _backend_health_initial( + self, resource_group_name, application_gateway_name, expand=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.backend_health.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationGatewayName': self._serialize.url("application_gateway_name", application_gateway_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') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ApplicationGatewayBackendHealth', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def backend_health( + self, resource_group_name, application_gateway_name, expand=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the backend health of the specified application gateway in a + resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_gateway_name: The name of the application gateway. + :type application_gateway_name: str + :param expand: Expands BackendAddressPool and BackendHttpSettings + referenced in backend health. + :type expand: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ApplicationGatewayBackendHealth or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendHealth] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayBackendHealth]] + :raises: :class:`CloudError` + """ + raw_result = self._backend_health_initial( + resource_group_name=resource_group_name, + application_gateway_name=application_gateway_name, + expand=expand, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ApplicationGatewayBackendHealth', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + backend_health.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/{applicationGatewayName}/backendhealth'} + + def list_available_waf_rule_sets( + self, custom_headers=None, raw=False, **operation_config): + """Lists all available web application firewall rule sets. + + :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: ApplicationGatewayAvailableWafRuleSetsResult or + ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayAvailableWafRuleSetsResult + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_available_waf_rule_sets.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ApplicationGatewayAvailableWafRuleSetsResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_available_waf_rule_sets.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableWafRuleSets'} + + def list_available_ssl_options( + self, custom_headers=None, raw=False, **operation_config): + """Lists available Ssl options for configuring Ssl policy. + + :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: ApplicationGatewayAvailableSslOptions or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewayAvailableSslOptions + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.list_available_ssl_options.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ApplicationGatewayAvailableSslOptions', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + list_available_ssl_options.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default'} + + def list_available_ssl_predefined_policies( + self, custom_headers=None, raw=False, **operation_config): + """Lists all SSL predefined policies for configuring Ssl policy. + + :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 + ApplicationGatewaySslPredefinedPolicy + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslPredefinedPolicyPaged[~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslPredefinedPolicy] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_available_ssl_predefined_policies.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ApplicationGatewaySslPredefinedPolicyPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ApplicationGatewaySslPredefinedPolicyPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_available_ssl_predefined_policies.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies'} + + def get_ssl_predefined_policy( + self, predefined_policy_name, custom_headers=None, raw=False, **operation_config): + """Gets Ssl predefined policy with the specified policy name. + + :param predefined_policy_name: Name of Ssl predefined policy. + :type predefined_policy_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: ApplicationGatewaySslPredefinedPolicy or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ApplicationGatewaySslPredefinedPolicy + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_ssl_predefined_policy.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'predefinedPolicyName': self._serialize.url("predefined_policy_name", predefined_policy_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ApplicationGatewaySslPredefinedPolicy', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_ssl_predefined_policy.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationGatewayAvailableSslOptions/default/predefinedPolicies/{predefinedPolicyName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/application_security_groups_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/application_security_groups_operations.py new file mode 100644 index 000000000000..83b8b5dfc0eb --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/application_security_groups_operations.py @@ -0,0 +1,424 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ApplicationSecurityGroupsOperations(object): + """ApplicationSecurityGroupsOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified application security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_security_group_name: The name of the application + security group. + :type application_security_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + application_security_group_name=application_security_group_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} + + def get( + self, resource_group_name, application_security_group_name, custom_headers=None, raw=False, **operation_config): + """Gets information about the specified application security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_security_group_name: The name of the application + security group. + :type application_security_group_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: ApplicationSecurityGroup or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ApplicationSecurityGroup 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'), + 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ApplicationSecurityGroup', 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/applicationSecurityGroups/{applicationSecurityGroupName}'} + + + def _create_or_update_initial( + self, resource_group_name, application_security_group_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'applicationSecurityGroupName': self._serialize.url("application_security_group_name", application_security_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'ApplicationSecurityGroup') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('ApplicationSecurityGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('ApplicationSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, application_security_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an application security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param application_security_group_name: The name of the application + security group. + :type application_security_group_name: str + :param parameters: Parameters supplied to the create or update + ApplicationSecurityGroup operation. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.ApplicationSecurityGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ApplicationSecurityGroup or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ApplicationSecurityGroup] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ApplicationSecurityGroup]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + application_security_group_name=application_security_group_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ApplicationSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups/{applicationSecurityGroupName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all application security groups in a subscription. + + :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 ApplicationSecurityGroup + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ApplicationSecurityGroupPaged[~azure.mgmt.network.v2018_06_01.models.ApplicationSecurityGroup] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ApplicationSecurityGroupPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ApplicationSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/applicationSecurityGroups'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the application security groups in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 ApplicationSecurityGroup + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ApplicationSecurityGroupPaged[~azure.mgmt.network.v2018_06_01.models.ApplicationSecurityGroup] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ApplicationSecurityGroupPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ApplicationSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationSecurityGroups'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/available_endpoint_services_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/available_endpoint_services_operations.py new file mode 100644 index 000000000000..b9f3a3a8c75f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/available_endpoint_services_operations.py @@ -0,0 +1,106 @@ +# 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 AvailableEndpointServicesOperations(object): + """AvailableEndpointServicesOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def list( + self, location, custom_headers=None, raw=False, **operation_config): + """List what values of endpoint services are available for use. + + :param location: The location to check available endpoint services. + :type location: 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 EndpointServiceResult + :rtype: + ~azure.mgmt.network.v2018_06_01.models.EndpointServiceResultPaged[~azure.mgmt.network.v2018_06_01.models.EndpointServiceResult] + :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 = { + 'location': self._serialize.url("location", location, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.EndpointServiceResultPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.EndpointServiceResultPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/virtualNetworkAvailableEndpointServices'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/azure_firewalls_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/azure_firewalls_operations.py new file mode 100644 index 000000000000..181bfad2032d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/azure_firewalls_operations.py @@ -0,0 +1,418 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class AzureFirewallsOperations(object): + """AzureFirewallsOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified Azure Firewall. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param azure_firewall_name: The name of the Azure Firewall. + :type azure_firewall_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + azure_firewall_name=azure_firewall_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} + + def get( + self, resource_group_name, azure_firewall_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified Azure Firewall. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param azure_firewall_name: The name of the Azure Firewall. + :type azure_firewall_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: AzureFirewall or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.AzureFirewall 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'), + 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('AzureFirewall', 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/azureFirewalls/{azureFirewallName}'} + + + def _create_or_update_initial( + self, resource_group_name, azure_firewall_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'azureFirewallName': self._serialize.url("azure_firewall_name", azure_firewall_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'AzureFirewall') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('AzureFirewall', response) + if response.status_code == 201: + deserialized = self._deserialize('AzureFirewall', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, azure_firewall_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates the specified Azure Firewall. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param azure_firewall_name: The name of the Azure Firewall. + :type azure_firewall_name: str + :param parameters: Parameters supplied to the create or update Azure + Firewall operation. + :type parameters: ~azure.mgmt.network.v2018_06_01.models.AzureFirewall + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns AzureFirewall or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.AzureFirewall] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.AzureFirewall]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + azure_firewall_name=azure_firewall_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AzureFirewall', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls/{azureFirewallName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all Azure Firewalls in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 AzureFirewall + :rtype: + ~azure.mgmt.network.v2018_06_01.models.AzureFirewallPaged[~azure.mgmt.network.v2018_06_01.models.AzureFirewall] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.AzureFirewallPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.AzureFirewallPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/azureFirewalls'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the Azure Firewalls in a subscription. + + :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 AzureFirewall + :rtype: + ~azure.mgmt.network.v2018_06_01.models.AzureFirewallPaged[~azure.mgmt.network.v2018_06_01.models.AzureFirewall] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.AzureFirewallPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.AzureFirewallPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/azureFirewalls'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/bgp_service_communities_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/bgp_service_communities_operations.py new file mode 100644 index 000000000000..010b070fb3b6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/bgp_service_communities_operations.py @@ -0,0 +1,103 @@ +# 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 BgpServiceCommunitiesOperations(object): + """BgpServiceCommunitiesOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the available bgp service communities. + + :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 BgpServiceCommunity + :rtype: + ~azure.mgmt.network.v2018_06_01.models.BgpServiceCommunityPaged[~azure.mgmt.network.v2018_06_01.models.BgpServiceCommunity] + :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 = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.BgpServiceCommunityPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.BgpServiceCommunityPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/bgpServiceCommunities'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/connection_monitors_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/connection_monitors_operations.py new file mode 100644 index 000000000000..9e1f24e66712 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/connection_monitors_operations.py @@ -0,0 +1,644 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ConnectionMonitorsOperations(object): + """ConnectionMonitorsOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, network_watcher_name, connection_monitor_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'ConnectionMonitor') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('ConnectionMonitorResult', response) + if response.status_code == 201: + deserialized = self._deserialize('ConnectionMonitorResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_watcher_name, connection_monitor_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create or update a connection monitor. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_name: str + :param parameters: Parameters that define the operation to create a + connection monitor. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.ConnectionMonitor + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ConnectionMonitorResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorResult]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + connection_monitor_name=connection_monitor_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectionMonitorResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} + + def get( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): + """Gets a connection monitor by name. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_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: ConnectionMonitorResult or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorResult + 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'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ConnectionMonitorResult', 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/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} + + + def _delete_initial( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified connection monitor. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + connection_monitor_name=connection_monitor_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}'} + + + def _stop_initial( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.stop.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def stop( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Stops the specified connection monitor. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + connection_monitor_name=connection_monitor_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/stop'} + + + def _start_initial( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.start.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def start( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Starts the specified connection monitor. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name of the connection monitor. + :type connection_monitor_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._start_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + connection_monitor_name=connection_monitor_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + start.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/start'} + + + def _query_initial( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.query.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'connectionMonitorName': self._serialize.url("connection_monitor_name", connection_monitor_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ConnectionMonitorQueryResult', response) + if response.status_code == 202: + deserialized = self._deserialize('ConnectionMonitorQueryResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def query( + self, resource_group_name, network_watcher_name, connection_monitor_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Query a snapshot of the most recent connection states. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param connection_monitor_name: The name given to the connection + monitor. + :type connection_monitor_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ConnectionMonitorQueryResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorQueryResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorQueryResult]] + :raises: :class:`CloudError` + """ + raw_result = self._query_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + connection_monitor_name=connection_monitor_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectionMonitorQueryResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + query.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors/{connectionMonitorName}/query'} + + def list( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): + """Lists all connection monitors for the specified Network Watcher. + + :param resource_group_name: The name of the resource group containing + Network Watcher. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_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 ConnectionMonitorResult + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorResultPaged[~azure.mgmt.network.v2018_06_01.models.ConnectionMonitorResult] + :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'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ConnectionMonitorResultPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ConnectionMonitorResultPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectionMonitors'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/ddos_protection_plans_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/ddos_protection_plans_operations.py new file mode 100644 index 000000000000..29d01712207e --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/ddos_protection_plans_operations.py @@ -0,0 +1,425 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class DdosProtectionPlansOperations(object): + """DdosProtectionPlansOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified DDoS protection plan. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_protection_plan_name: The name of the DDoS protection + plan. + :type ddos_protection_plan_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + ddos_protection_plan_name=ddos_protection_plan_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} + + def get( + self, resource_group_name, ddos_protection_plan_name, custom_headers=None, raw=False, **operation_config): + """Gets information about the specified DDoS protection plan. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_protection_plan_name: The name of the DDoS protection + plan. + :type ddos_protection_plan_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: DdosProtectionPlan or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.DdosProtectionPlan 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'), + 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('DdosProtectionPlan', 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/ddosProtectionPlans/{ddosProtectionPlanName}'} + + + def _create_or_update_initial( + self, resource_group_name, ddos_protection_plan_name, location=None, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.DdosProtectionPlan(location=location, tags=tags) + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'ddosProtectionPlanName': self._serialize.url("ddos_protection_plan_name", ddos_protection_plan_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'DdosProtectionPlan') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('DdosProtectionPlan', response) + if response.status_code == 201: + deserialized = self._deserialize('DdosProtectionPlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, ddos_protection_plan_name, location=None, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a DDoS protection plan. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param ddos_protection_plan_name: The name of the DDoS protection + plan. + :type ddos_protection_plan_name: str + :param location: Resource location. + :type location: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns DdosProtectionPlan or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.DdosProtectionPlan] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.DdosProtectionPlan]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + ddos_protection_plan_name=ddos_protection_plan_name, + location=location, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('DdosProtectionPlan', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans/{ddosProtectionPlanName}'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all DDoS protection plans in a subscription. + + :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 DdosProtectionPlan + :rtype: + ~azure.mgmt.network.v2018_06_01.models.DdosProtectionPlanPaged[~azure.mgmt.network.v2018_06_01.models.DdosProtectionPlan] + :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 = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.DdosProtectionPlanPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.DdosProtectionPlanPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/ddosProtectionPlans'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the DDoS protection plans in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 DdosProtectionPlan + :rtype: + ~azure.mgmt.network.v2018_06_01.models.DdosProtectionPlanPaged[~azure.mgmt.network.v2018_06_01.models.DdosProtectionPlan] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.DdosProtectionPlanPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.DdosProtectionPlanPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/ddosProtectionPlans'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/default_security_rules_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/default_security_rules_operations.py new file mode 100644 index 000000000000..1afbcb7258a6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/default_security_rules_operations.py @@ -0,0 +1,177 @@ +# 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 DefaultSecurityRulesOperations(object): + """DefaultSecurityRulesOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def list( + self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all default security rules in a network security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_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 SecurityRule + :rtype: + ~azure.mgmt.network.v2018_06_01.models.SecurityRulePaged[~azure.mgmt.network.v2018_06_01.models.SecurityRule] + :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'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.SecurityRulePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.SecurityRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules'} + + def get( + self, resource_group_name, network_security_group_name, default_security_rule_name, custom_headers=None, raw=False, **operation_config): + """Get the specified default network security rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param default_security_rule_name: The name of the default security + rule. + :type default_security_rule_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: SecurityRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.SecurityRule 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'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + 'defaultSecurityRuleName': self._serialize.url("default_security_rule_name", default_security_rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('SecurityRule', 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/networkSecurityGroups/{networkSecurityGroupName}/defaultSecurityRules/{defaultSecurityRuleName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_circuit_authorizations_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_circuit_authorizations_operations.py new file mode 100644 index 000000000000..46b5d5a28889 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_circuit_authorizations_operations.py @@ -0,0 +1,374 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCircuitAuthorizationsOperations(object): + """ExpressRouteCircuitAuthorizationsOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.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'), + 'authorizationName': self._serialize.url("authorization_name", authorization_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified authorization 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 authorization_name: The name of the authorization. + :type authorization_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + authorization_name=authorization_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}'} + + def get( + self, resource_group_name, circuit_name, authorization_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified authorization 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 authorization_name: The name of the authorization. + :type authorization_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: ExpressRouteCircuitAuthorization or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitAuthorization + 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'), + 'authorizationName': self._serialize.url("authorization_name", authorization_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ExpressRouteCircuitAuthorization', 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}/authorizations/{authorizationName}'} + + + def _create_or_update_initial( + self, resource_group_name, circuit_name, authorization_name, authorization_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.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'), + 'authorizationName': self._serialize.url("authorization_name", authorization_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(authorization_parameters, 'ExpressRouteCircuitAuthorization') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('ExpressRouteCircuitAuthorization', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteCircuitAuthorization', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, circuit_name, authorization_name, authorization_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates an authorization in 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 authorization_name: The name of the authorization. + :type authorization_name: str + :param authorization_parameters: Parameters supplied to the create or + update express route circuit authorization operation. + :type authorization_parameters: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitAuthorization + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitAuthorization or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitAuthorization] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitAuthorization]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + authorization_name=authorization_name, + authorization_parameters=authorization_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitAuthorization', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/authorizations/{authorizationName}'} + + def list( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): + """Gets all authorizations 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 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 ExpressRouteCircuitAuthorization + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitAuthorizationPaged[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitAuthorization] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ExpressRouteCircuitAuthorizationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ExpressRouteCircuitAuthorizationPaged(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}/authorizations'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_circuit_connections_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_circuit_connections_operations.py new file mode 100644 index 000000000000..a0e773a579c3 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_circuit_connections_operations.py @@ -0,0 +1,318 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCircuitConnectionsOperations(object): + """ExpressRouteCircuitConnectionsOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified 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 express route circuit + connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + connection_name=connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}'} + + def get( + self, resource_group_name, circuit_name, peering_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified 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 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: ExpressRouteCircuitConnection or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitConnection + 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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ExpressRouteCircuitConnection', 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}/connections/{connectionName}'} + + + def _create_or_update_initial( + self, resource_group_name, circuit_name, peering_name, connection_name, express_route_circuit_connection_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(express_route_circuit_connection_parameters, 'ExpressRouteCircuitConnection') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('ExpressRouteCircuitConnection', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteCircuitConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, circuit_name, peering_name, connection_name, express_route_circuit_connection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a Express Route Circuit Connection in the specified + express route circuits. + + :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 express route circuit + connection. + :type connection_name: str + :param express_route_circuit_connection_parameters: Parameters + supplied to the create or update express route circuit circuit + connection operation. + :type express_route_circuit_connection_parameters: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + connection_name=connection_name, + express_route_circuit_connection_parameters=express_route_circuit_connection_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/connections/{connectionName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_circuit_peerings_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_circuit_peerings_operations.py new file mode 100644 index 000000000000..4c4ed20f60ea --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_circuit_peerings_operations.py @@ -0,0 +1,370 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCircuitPeeringsOperations(object): + """ExpressRouteCircuitPeeringsOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.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') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified peering 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 dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}'} + + def get( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified peering for the 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 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: ExpressRouteCircuitPeering or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeering 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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ExpressRouteCircuitPeering', 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}'} + + + def _create_or_update_initial( + self, resource_group_name, circuit_name, peering_name, peering_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.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') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(peering_parameters, 'ExpressRouteCircuitPeering') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('ExpressRouteCircuitPeering', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteCircuitPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, circuit_name, peering_name, peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a peering in the specified express route circuits. + + :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 peering_parameters: Parameters supplied to the create or update + express route circuit peering operation. + :type peering_parameters: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeering + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitPeering or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeering] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeering]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + peering_parameters=peering_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}'} + + def list( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): + """Gets all peerings in a 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 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 ExpressRouteCircuitPeering + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeeringPaged[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPeering] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ExpressRouteCircuitPeeringPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ExpressRouteCircuitPeeringPaged(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'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_circuits_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_circuits_operations.py new file mode 100644 index 000000000000..d8fc4c2df8b9 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_circuits_operations.py @@ -0,0 +1,961 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCircuitsOperations(object): + """ExpressRouteCircuitsOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes 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 dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} + + def get( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): + """Gets information about 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 express route circuit. + :type circuit_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: ExpressRouteCircuit or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuit 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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ExpressRouteCircuit', 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}'} + + + def _create_or_update_initial( + self, resource_group_name, circuit_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'ExpressRouteCircuit') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('ExpressRouteCircuit', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteCircuit', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, circuit_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates 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 parameters: Parameters supplied to the create or update express + route circuit operation. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuit + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ExpressRouteCircuit or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuit] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuit]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuit', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} + + + def _update_tags_initial( + self, resource_group_name, circuit_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('ExpressRouteCircuit', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, circuit_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates an express route circuit tags. + + :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 tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ExpressRouteCircuit or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuit] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuit]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuit', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}'} + + + def _list_arp_table_initial( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_arp_table.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'), + 'devicePath': self._serialize.url("device_path", device_path, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCircuitsArpTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_arp_table( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the currently advertised ARP table associated with the express + route circuit in a resource group. + + :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 device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitsArpTableListResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitsArpTableListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitsArpTableListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_arp_table_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitsArpTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_arp_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/arpTables/{devicePath}'} + + + def _list_routes_table_initial( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_routes_table.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'), + 'devicePath': self._serialize.url("device_path", device_path, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCircuitsRoutesTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_routes_table( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the currently advertised routes table associated with the express + route circuit in a resource group. + + :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 device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitsRoutesTableListResult or + ClientRawResponse if + raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitsRoutesTableListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitsRoutesTableListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_routes_table_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_routes_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTables/{devicePath}'} + + + def _list_routes_table_summary_initial( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_routes_table_summary.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'), + 'devicePath': self._serialize.url("device_path", device_path, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCircuitsRoutesTableSummaryListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_routes_table_summary( + self, resource_group_name, circuit_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the currently advertised routes table summary associated with the + express route circuit in a resource group. + + :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 device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitsRoutesTableSummaryListResult or + ClientRawResponse if + raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitsRoutesTableSummaryListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitsRoutesTableSummaryListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_routes_table_summary_initial( + resource_group_name=resource_group_name, + circuit_name=circuit_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableSummaryListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_routes_table_summary.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/routeTablesSummary/{devicePath}'} + + def get_stats( + self, resource_group_name, circuit_name, custom_headers=None, raw=False, **operation_config): + """Gets all the stats from an express route circuit in a resource group. + + :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 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: ExpressRouteCircuitStats or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitStats or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_stats.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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ExpressRouteCircuitStats', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_stats.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/stats'} + + def get_peering_stats( + self, resource_group_name, circuit_name, peering_name, custom_headers=None, raw=False, **operation_config): + """Gets all stats from an express route circuit in a resource group. + + :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 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: ExpressRouteCircuitStats or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitStats or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_peering_stats.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') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ExpressRouteCircuitStats', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_peering_stats.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits/{circuitName}/peerings/{peeringName}/stats'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the express route circuits in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 ExpressRouteCircuit + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPaged[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuit] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ExpressRouteCircuitPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ExpressRouteCircuitPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCircuits'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the express route circuits in a subscription. + + :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 ExpressRouteCircuit + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitPaged[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuit] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ExpressRouteCircuitPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ExpressRouteCircuitPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCircuits'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_cross_connection_peerings_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_cross_connection_peerings_operations.py new file mode 100644 index 000000000000..dc6768e062a7 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_cross_connection_peerings_operations.py @@ -0,0 +1,377 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCrossConnectionPeeringsOperations(object): + """ExpressRouteCrossConnectionPeeringsOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def list( + self, resource_group_name, cross_connection_name, custom_headers=None, raw=False, **operation_config): + """Gets all peerings in a specified ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_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: An iterator like instance of + ExpressRouteCrossConnectionPeering + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnectionPeeringPaged[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnectionPeering] + :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'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_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') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ExpressRouteCrossConnectionPeeringPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ExpressRouteCrossConnectionPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings'} + + + def _delete_initial( + self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_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') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified peering from the ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_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: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + peering_name=peering_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} + + def get( + self, resource_group_name, cross_connection_name, peering_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified peering for the ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_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: ExpressRouteCrossConnectionPeering or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnectionPeering + 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'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_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') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ExpressRouteCrossConnectionPeering', 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/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} + + + def _create_or_update_initial( + self, resource_group_name, cross_connection_name, peering_name, peering_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_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') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(peering_parameters, 'ExpressRouteCrossConnectionPeering') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('ExpressRouteCrossConnectionPeering', response) + if response.status_code == 201: + deserialized = self._deserialize('ExpressRouteCrossConnectionPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, cross_connection_name, peering_name, peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a peering in the specified + ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param peering_parameters: Parameters supplied to the create or update + ExpressRouteCrossConnection peering operation. + :type peering_parameters: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnectionPeering + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCrossConnectionPeering or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnectionPeering] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnectionPeering]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + peering_name=peering_name, + peering_parameters=peering_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCrossConnectionPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_cross_connections_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_cross_connections_operations.py new file mode 100644 index 000000000000..d3d2bc52589b --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_cross_connections_operations.py @@ -0,0 +1,759 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class ExpressRouteCrossConnectionsOperations(object): + """ExpressRouteCrossConnectionsOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Retrieves all the ExpressRouteCrossConnections in a subscription. + + :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 ExpressRouteCrossConnection + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnectionPaged[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnection] + :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 = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ExpressRouteCrossConnectionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ExpressRouteCrossConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteCrossConnections'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Retrieves all the ExpressRouteCrossConnections in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 ExpressRouteCrossConnection + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnectionPaged[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnection] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ExpressRouteCrossConnectionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ExpressRouteCrossConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections'} + + def get( + self, resource_group_name, cross_connection_name, custom_headers=None, raw=False, **operation_config): + """Gets details about the specified ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group (peering + location of the circuit). + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection (service key of the circuit). + :type cross_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: ExpressRouteCrossConnection or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnection 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'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ExpressRouteCrossConnection', 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/expressRouteCrossConnections/{crossConnectionName}'} + + + def _create_or_update_initial( + self, resource_group_name, cross_connection_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'ExpressRouteCrossConnection') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('ExpressRouteCrossConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, cross_connection_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Update the specified ExpressRouteCrossConnection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param parameters: Parameters supplied to the update express route + crossConnection operation. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCrossConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCrossConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}'} + + + def _update_tags_initial( + self, resource_group_name, cross_connection_name, tags=None, custom_headers=None, raw=False, **operation_config): + cross_connection_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(cross_connection_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('ExpressRouteCrossConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, cross_connection_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates an express route cross connection tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the cross connection. + :type cross_connection_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCrossConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCrossConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}'} + + + def _list_arp_table_initial( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_arp_table.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'devicePath': self._serialize.url("device_path", device_path, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCircuitsArpTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_arp_table( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the currently advertised ARP table associated with the express + route cross connection in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param device_path: The path of the device + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitsArpTableListResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitsArpTableListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitsArpTableListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_arp_table_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitsArpTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_arp_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/arpTables/{devicePath}'} + + + def _list_routes_table_summary_initial( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_routes_table_summary.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'devicePath': self._serialize.url("device_path", device_path, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCrossConnectionsRoutesTableSummaryListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_routes_table_summary( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the route table summary associated with the express route cross + connection in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCrossConnectionsRoutesTableSummaryListResult or + ClientRawResponse + if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnectionsRoutesTableSummaryListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCrossConnectionsRoutesTableSummaryListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_routes_table_summary_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCrossConnectionsRoutesTableSummaryListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_routes_table_summary.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTablesSummary/{devicePath}'} + + + def _list_routes_table_initial( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_routes_table.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'crossConnectionName': self._serialize.url("cross_connection_name", cross_connection_name, 'str'), + 'peeringName': self._serialize.url("peering_name", peering_name, 'str'), + 'devicePath': self._serialize.url("device_path", device_path, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ExpressRouteCircuitsRoutesTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_routes_table( + self, resource_group_name, cross_connection_name, peering_name, device_path, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the currently advertised routes table associated with the express + route cross connection in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param cross_connection_name: The name of the + ExpressRouteCrossConnection. + :type cross_connection_name: str + :param peering_name: The name of the peering. + :type peering_name: str + :param device_path: The path of the device. + :type device_path: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ExpressRouteCircuitsRoutesTableListResult or + ClientRawResponse if + raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitsRoutesTableListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ExpressRouteCircuitsRoutesTableListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_routes_table_initial( + resource_group_name=resource_group_name, + cross_connection_name=cross_connection_name, + peering_name=peering_name, + device_path=device_path, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ExpressRouteCircuitsRoutesTableListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_routes_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/expressRouteCrossConnections/{crossConnectionName}/peerings/{peeringName}/routeTables/{devicePath}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_service_providers_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_service_providers_operations.py new file mode 100644 index 000000000000..b506594b70b1 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/express_route_service_providers_operations.py @@ -0,0 +1,103 @@ +# 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 ExpressRouteServiceProvidersOperations(object): + """ExpressRouteServiceProvidersOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the available express route service providers. + + :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 ExpressRouteServiceProvider + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ExpressRouteServiceProviderPaged[~azure.mgmt.network.v2018_06_01.models.ExpressRouteServiceProvider] + :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 = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ExpressRouteServiceProviderPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ExpressRouteServiceProviderPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/expressRouteServiceProviders'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/hub_virtual_network_connections_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/hub_virtual_network_connections_operations.py new file mode 100644 index 000000000000..56af6a4ba882 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/hub_virtual_network_connections_operations.py @@ -0,0 +1,172 @@ +# 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 .. import models + + +class HubVirtualNetworkConnectionsOperations(object): + """HubVirtualNetworkConnectionsOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def get( + self, resource_group_name, virtual_hub_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a HubVirtualNetworkConnection. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param connection_name: The name of the vpn 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: HubVirtualNetworkConnection or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2018_06_01.models.HubVirtualNetworkConnection or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('HubVirtualNetworkConnection', 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/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections/{connectionName}'} + + def list( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of all HubVirtualNetworkConnections. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_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 HubVirtualNetworkConnection + :rtype: + ~azure.mgmt.network.v2018_06_01.models.HubVirtualNetworkConnectionPaged[~azure.mgmt.network.v2018_06_01.models.HubVirtualNetworkConnection] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.HubVirtualNetworkConnectionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.HubVirtualNetworkConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}/hubVirtualNetworkConnections'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/inbound_nat_rules_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/inbound_nat_rules_operations.py new file mode 100644 index 000000000000..d9092c90c575 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/inbound_nat_rules_operations.py @@ -0,0 +1,372 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class InboundNatRulesOperations(object): + """InboundNatRulesOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the inbound nat rules in a load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_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 InboundNatRule + :rtype: + ~azure.mgmt.network.v2018_06_01.models.InboundNatRulePaged[~azure.mgmt.network.v2018_06_01.models.InboundNatRule] + :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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.InboundNatRulePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.InboundNatRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules'} + + + def _delete_initial( + self, resource_group_name, load_balancer_name, inbound_nat_rule_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, load_balancer_name, inbound_nat_rule_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified load balancer inbound nat rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param inbound_nat_rule_name: The name of the inbound nat rule. + :type inbound_nat_rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + inbound_nat_rule_name=inbound_nat_rule_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} + + def get( + self, resource_group_name, load_balancer_name, inbound_nat_rule_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified load balancer inbound nat rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param inbound_nat_rule_name: The name of the inbound nat rule. + :type inbound_nat_rule_name: str + :param expand: Expands referenced resources. + :type expand: 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: InboundNatRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.InboundNatRule 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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_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') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('InboundNatRule', 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/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} + + + def _create_or_update_initial( + self, resource_group_name, load_balancer_name, inbound_nat_rule_name, inbound_nat_rule_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'inboundNatRuleName': self._serialize.url("inbound_nat_rule_name", inbound_nat_rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(inbound_nat_rule_parameters, 'InboundNatRule') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('InboundNatRule', response) + if response.status_code == 201: + deserialized = self._deserialize('InboundNatRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, load_balancer_name, inbound_nat_rule_name, inbound_nat_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a load balancer inbound nat rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param inbound_nat_rule_name: The name of the inbound nat rule. + :type inbound_nat_rule_name: str + :param inbound_nat_rule_parameters: Parameters supplied to the create + or update inbound nat rule operation. + :type inbound_nat_rule_parameters: + ~azure.mgmt.network.v2018_06_01.models.InboundNatRule + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns InboundNatRule or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.InboundNatRule] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.InboundNatRule]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + inbound_nat_rule_name=inbound_nat_rule_name, + inbound_nat_rule_parameters=inbound_nat_rule_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('InboundNatRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/inboundNatRules/{inboundNatRuleName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/load_balancer_backend_address_pools_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/load_balancer_backend_address_pools_operations.py new file mode 100644 index 000000000000..fd93b95fbac4 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/load_balancer_backend_address_pools_operations.py @@ -0,0 +1,175 @@ +# 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 LoadBalancerBackendAddressPoolsOperations(object): + """LoadBalancerBackendAddressPoolsOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancer backed address pools. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_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 BackendAddressPool + :rtype: + ~azure.mgmt.network.v2018_06_01.models.BackendAddressPoolPaged[~azure.mgmt.network.v2018_06_01.models.BackendAddressPool] + :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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.BackendAddressPoolPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.BackendAddressPoolPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/backendAddressPools'} + + def get( + self, resource_group_name, load_balancer_name, backend_address_pool_name, custom_headers=None, raw=False, **operation_config): + """Gets load balancer backend address pool. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param backend_address_pool_name: The name of the backend address + pool. + :type backend_address_pool_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: BackendAddressPool or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.BackendAddressPool 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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'backendAddressPoolName': self._serialize.url("backend_address_pool_name", backend_address_pool_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('BackendAddressPool', 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/loadBalancers/{loadBalancerName}/backendAddressPools/{backendAddressPoolName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/load_balancer_frontend_ip_configurations_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/load_balancer_frontend_ip_configurations_operations.py new file mode 100644 index 000000000000..3a6566e82e8a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/load_balancer_frontend_ip_configurations_operations.py @@ -0,0 +1,175 @@ +# 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 LoadBalancerFrontendIPConfigurationsOperations(object): + """LoadBalancerFrontendIPConfigurationsOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancer frontend IP configurations. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_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 FrontendIPConfiguration + :rtype: + ~azure.mgmt.network.v2018_06_01.models.FrontendIPConfigurationPaged[~azure.mgmt.network.v2018_06_01.models.FrontendIPConfiguration] + :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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.FrontendIPConfigurationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.FrontendIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/frontendIPConfigurations'} + + def get( + self, resource_group_name, load_balancer_name, frontend_ip_configuration_name, custom_headers=None, raw=False, **operation_config): + """Gets load balancer frontend IP configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param frontend_ip_configuration_name: The name of the frontend IP + configuration. + :type frontend_ip_configuration_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: FrontendIPConfiguration or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.FrontendIPConfiguration + 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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'frontendIPConfigurationName': self._serialize.url("frontend_ip_configuration_name", frontend_ip_configuration_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('FrontendIPConfiguration', 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/loadBalancers/{loadBalancerName}/frontendIPConfigurations/{frontendIPConfigurationName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/load_balancer_load_balancing_rules_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/load_balancer_load_balancing_rules_operations.py new file mode 100644 index 000000000000..4b0b20f326bc --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/load_balancer_load_balancing_rules_operations.py @@ -0,0 +1,174 @@ +# 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 LoadBalancerLoadBalancingRulesOperations(object): + """LoadBalancerLoadBalancingRulesOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancing rules in a load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_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 LoadBalancingRule + :rtype: + ~azure.mgmt.network.v2018_06_01.models.LoadBalancingRulePaged[~azure.mgmt.network.v2018_06_01.models.LoadBalancingRule] + :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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.LoadBalancingRulePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.LoadBalancingRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/loadBalancingRules'} + + def get( + self, resource_group_name, load_balancer_name, load_balancing_rule_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified load balancer load balancing rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param load_balancing_rule_name: The name of the load balancing rule. + :type load_balancing_rule_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: LoadBalancingRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.LoadBalancingRule 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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'loadBalancingRuleName': self._serialize.url("load_balancing_rule_name", load_balancing_rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('LoadBalancingRule', 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/loadBalancers/{loadBalancerName}/loadBalancingRules/{loadBalancingRuleName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/load_balancer_network_interfaces_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/load_balancer_network_interfaces_operations.py new file mode 100644 index 000000000000..52ea4aa5b9f8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/load_balancer_network_interfaces_operations.py @@ -0,0 +1,109 @@ +# 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 LoadBalancerNetworkInterfacesOperations(object): + """LoadBalancerNetworkInterfacesOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets associated load balancer network interfaces. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_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 NetworkInterface + :rtype: + ~azure.mgmt.network.v2018_06_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2018_06_01.models.NetworkInterface] + :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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/networkInterfaces'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/load_balancer_probes_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/load_balancer_probes_operations.py new file mode 100644 index 000000000000..bfad0c2f6da5 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/load_balancer_probes_operations.py @@ -0,0 +1,174 @@ +# 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 LoadBalancerProbesOperations(object): + """LoadBalancerProbesOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def list( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancer probes. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_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 Probe + :rtype: + ~azure.mgmt.network.v2018_06_01.models.ProbePaged[~azure.mgmt.network.v2018_06_01.models.Probe] + :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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.ProbePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.ProbePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes'} + + def get( + self, resource_group_name, load_balancer_name, probe_name, custom_headers=None, raw=False, **operation_config): + """Gets load balancer probe. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param probe_name: The name of the probe. + :type probe_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: Probe or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.Probe 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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_name, 'str'), + 'probeName': self._serialize.url("probe_name", probe_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('Probe', 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/loadBalancers/{loadBalancerName}/probes/{probeName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/load_balancers_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/load_balancers_operations.py new file mode 100644 index 000000000000..5e2a0cd354e2 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/load_balancers_operations.py @@ -0,0 +1,524 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class LoadBalancersOperations(object): + """LoadBalancersOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, load_balancer_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} + + def get( + self, resource_group_name, load_balancer_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param expand: Expands referenced resources. + :type expand: 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: LoadBalancer or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.LoadBalancer 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'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_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') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('LoadBalancer', 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/loadBalancers/{loadBalancerName}'} + + + def _create_or_update_initial( + self, resource_group_name, load_balancer_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'LoadBalancer') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('LoadBalancer', response) + if response.status_code == 201: + deserialized = self._deserialize('LoadBalancer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, load_balancer_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a load balancer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param parameters: Parameters supplied to the create or update load + balancer operation. + :type parameters: ~azure.mgmt.network.v2018_06_01.models.LoadBalancer + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns LoadBalancer or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.LoadBalancer] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.LoadBalancer]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('LoadBalancer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} + + + def _update_tags_initial( + self, resource_group_name, load_balancer_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'loadBalancerName': self._serialize.url("load_balancer_name", load_balancer_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('LoadBalancer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, load_balancer_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a load balancer tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param load_balancer_name: The name of the load balancer. + :type load_balancer_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns LoadBalancer or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.LoadBalancer] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.LoadBalancer]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + load_balancer_name=load_balancer_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('LoadBalancer', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancers in a subscription. + + :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 LoadBalancer + :rtype: + ~azure.mgmt.network.v2018_06_01.models.LoadBalancerPaged[~azure.mgmt.network.v2018_06_01.models.LoadBalancer] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.LoadBalancerPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/loadBalancers'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the load balancers in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 LoadBalancer + :rtype: + ~azure.mgmt.network.v2018_06_01.models.LoadBalancerPaged[~azure.mgmt.network.v2018_06_01.models.LoadBalancer] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.LoadBalancerPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/local_network_gateways_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/local_network_gateways_operations.py new file mode 100644 index 000000000000..f4c140f82636 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/local_network_gateways_operations.py @@ -0,0 +1,461 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class LocalNetworkGatewaysOperations(object): + """LocalNetworkGatewaysOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, local_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'LocalNetworkGateway') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('LocalNetworkGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('LocalNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, local_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a local network gateway in the specified resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param local_network_gateway_name: The name of the local network + gateway. + :type local_network_gateway_name: str + :param parameters: Parameters supplied to the create or update local + network gateway operation. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.LocalNetworkGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns LocalNetworkGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.LocalNetworkGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.LocalNetworkGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + local_network_gateway_name=local_network_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('LocalNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} + + def get( + self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified local network gateway in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param local_network_gateway_name: The name of the local network + gateway. + :type local_network_gateway_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: LocalNetworkGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.LocalNetworkGateway 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'), + 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('LocalNetworkGateway', 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/localNetworkGateways/{localNetworkGatewayName}'} + + + def _delete_initial( + self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, local_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified local network gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param local_network_gateway_name: The name of the local network + gateway. + :type local_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + local_network_gateway_name=local_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} + + + def _update_tags_initial( + self, resource_group_name, local_network_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'localNetworkGatewayName': self._serialize.url("local_network_gateway_name", local_network_gateway_name, 'str', min_length=1), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('LocalNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, local_network_gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a local network gateway tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param local_network_gateway_name: The name of the local network + gateway. + :type local_network_gateway_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns LocalNetworkGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.LocalNetworkGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.LocalNetworkGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + local_network_gateway_name=local_network_gateway_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('LocalNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways/{localNetworkGatewayName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all the local network gateways in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 LocalNetworkGateway + :rtype: + ~azure.mgmt.network.v2018_06_01.models.LocalNetworkGatewayPaged[~azure.mgmt.network.v2018_06_01.models.LocalNetworkGateway] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.LocalNetworkGatewayPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.LocalNetworkGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/localNetworkGateways'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/network_interface_ip_configurations_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/network_interface_ip_configurations_operations.py new file mode 100644 index 000000000000..ebc51e78cb3c --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/network_interface_ip_configurations_operations.py @@ -0,0 +1,176 @@ +# 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 NetworkInterfaceIPConfigurationsOperations(object): + """NetworkInterfaceIPConfigurationsOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def list( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + """Get all ip configurations in a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_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 NetworkInterfaceIPConfiguration + :rtype: + ~azure.mgmt.network.v2018_06_01.models.NetworkInterfaceIPConfigurationPaged[~azure.mgmt.network.v2018_06_01.models.NetworkInterfaceIPConfiguration] + :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'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkInterfaceIPConfigurationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkInterfaceIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/ipConfigurations'} + + def get( + self, resource_group_name, network_interface_name, ip_configuration_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified network interface ip configuration. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param ip_configuration_name: The name of the ip configuration name. + :type ip_configuration_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: NetworkInterfaceIPConfiguration or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2018_06_01.models.NetworkInterfaceIPConfiguration + 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'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('NetworkInterfaceIPConfiguration', 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/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/network_interface_load_balancers_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/network_interface_load_balancers_operations.py new file mode 100644 index 000000000000..247f01610dfd --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/network_interface_load_balancers_operations.py @@ -0,0 +1,109 @@ +# 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 NetworkInterfaceLoadBalancersOperations(object): + """NetworkInterfaceLoadBalancersOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def list( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + """List all load balancers in a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_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 LoadBalancer + :rtype: + ~azure.mgmt.network.v2018_06_01.models.LoadBalancerPaged[~azure.mgmt.network.v2018_06_01.models.LoadBalancer] + :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'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.LoadBalancerPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.LoadBalancerPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/loadBalancers'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/network_interfaces_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/network_interfaces_operations.py new file mode 100644 index 000000000000..c87d7156bd7d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/network_interfaces_operations.py @@ -0,0 +1,1121 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class NetworkInterfacesOperations(object): + """NetworkInterfacesOperations 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. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self.config = config + + + def _delete_initial( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + api_version = "2018-06-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} + + def get( + self, resource_group_name, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets information about the specified network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param expand: Expands referenced resources. + :type expand: 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: NetworkInterface or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.NetworkInterface or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2018-06-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('NetworkInterface', 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/networkInterfaces/{networkInterfaceName}'} + + + def _create_or_update_initial( + self, resource_group_name, network_interface_name, parameters, custom_headers=None, raw=False, **operation_config): + api_version = "2018-06-01" + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'NetworkInterface') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('NetworkInterface', response) + if response.status_code == 201: + deserialized = self._deserialize('NetworkInterface', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_interface_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param parameters: Parameters supplied to the create or update network + interface operation. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.NetworkInterface + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NetworkInterface or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.NetworkInterface] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.NetworkInterface]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NetworkInterface', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} + + + def _update_tags_initial( + self, resource_group_name, network_interface_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + api_version = "2018-06-01" + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('NetworkInterface', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, network_interface_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a network interface tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NetworkInterface or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.NetworkInterface] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.NetworkInterface]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NetworkInterface', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all network interfaces in a subscription. + + :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 NetworkInterface + :rtype: + ~azure.mgmt.network.v2018_06_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2018_06_01.models.NetworkInterface] + :raises: :class:`CloudError` + """ + api_version = "2018-06-01" + + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkInterfaces'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all network interfaces in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 NetworkInterface + :rtype: + ~azure.mgmt.network.v2018_06_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2018_06_01.models.NetworkInterface] + :raises: :class:`CloudError` + """ + api_version = "2018-06-01" + + 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'), + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces'} + + + def _get_effective_route_table_initial( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + api_version = "2018-06-01" + + # Construct URL + url = self.get_effective_route_table.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('EffectiveRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_effective_route_table( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets all route tables applied to a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + EffectiveRouteListResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.EffectiveRouteListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.EffectiveRouteListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_effective_route_table_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('EffectiveRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_effective_route_table.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveRouteTable'} + + + def _list_effective_network_security_groups_initial( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, **operation_config): + api_version = "2018-06-01" + + # Construct URL + url = self.list_effective_network_security_groups.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('EffectiveNetworkSecurityGroupListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_effective_network_security_groups( + self, resource_group_name, network_interface_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets all network security groups applied to a network interface. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + EffectiveNetworkSecurityGroupListResult or + ClientRawResponse if + raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.EffectiveNetworkSecurityGroupListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.EffectiveNetworkSecurityGroupListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._list_effective_network_security_groups_initial( + resource_group_name=resource_group_name, + network_interface_name=network_interface_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('EffectiveNetworkSecurityGroupListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_effective_network_security_groups.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}/effectiveNetworkSecurityGroups'} + + def list_virtual_machine_scale_set_vm_network_interfaces( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, custom_headers=None, raw=False, **operation_config): + """Gets information about all network interfaces in a virtual machine in a + virtual machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: 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 NetworkInterface + :rtype: + ~azure.mgmt.network.v2018_06_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2018_06_01.models.NetworkInterface] + :raises: :class:`CloudError` + """ + api_version = "2017-03-30" + + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_virtual_machine_scale_set_vm_network_interfaces.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_virtual_machine_scale_set_vm_network_interfaces.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces'} + + def list_virtual_machine_scale_set_network_interfaces( + self, resource_group_name, virtual_machine_scale_set_name, custom_headers=None, raw=False, **operation_config): + """Gets all network interfaces in a virtual machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_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 NetworkInterface + :rtype: + ~azure.mgmt.network.v2018_06_01.models.NetworkInterfacePaged[~azure.mgmt.network.v2018_06_01.models.NetworkInterface] + :raises: :class:`CloudError` + """ + api_version = "2017-03-30" + + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_virtual_machine_scale_set_network_interfaces.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkInterfacePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_virtual_machine_scale_set_network_interfaces.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/networkInterfaces'} + + def get_virtual_machine_scale_set_network_interface( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Get the specified network interface in a virtual machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param expand: Expands referenced resources. + :type expand: 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: NetworkInterface or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.NetworkInterface or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2017-03-30" + + # Construct URL + url = self.get_virtual_machine_scale_set_network_interface.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('NetworkInterface', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_virtual_machine_scale_set_network_interface.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}'} + + def list_virtual_machine_scale_set_ip_configurations( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Get the specified network interface ip configuration in a virtual + machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param expand: Expands referenced resources. + :type expand: 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 NetworkInterfaceIPConfiguration + :rtype: + ~azure.mgmt.network.v2018_06_01.models.NetworkInterfaceIPConfigurationPaged[~azure.mgmt.network.v2018_06_01.models.NetworkInterfaceIPConfiguration] + :raises: :class:`CloudError` + """ + api_version = "2017-03-30" + + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_virtual_machine_scale_set_ip_configurations.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkInterfaceIPConfigurationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkInterfaceIPConfigurationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_virtual_machine_scale_set_ip_configurations.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations'} + + def get_virtual_machine_scale_set_ip_configuration( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Get the specified network interface ip configuration in a virtual + machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param ip_configuration_name: The name of the ip configuration. + :type ip_configuration_name: str + :param expand: Expands referenced resources. + :type expand: 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: NetworkInterfaceIPConfiguration or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2018_06_01.models.NetworkInterfaceIPConfiguration + or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2017-03-30" + + # Construct URL + url = self.get_virtual_machine_scale_set_ip_configuration.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('NetworkInterfaceIPConfiguration', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_virtual_machine_scale_set_ip_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipConfigurations/{ipConfigurationName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/network_security_groups_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/network_security_groups_operations.py new file mode 100644 index 000000000000..a06453cfc4d6 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/network_security_groups_operations.py @@ -0,0 +1,530 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class NetworkSecurityGroupsOperations(object): + """NetworkSecurityGroupsOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified network security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_security_group_name=network_security_group_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} + + def get( + self, resource_group_name, network_security_group_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified network security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param expand: Expands referenced resources. + :type expand: 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: NetworkSecurityGroup or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.NetworkSecurityGroup 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'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_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') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('NetworkSecurityGroup', 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/networkSecurityGroups/{networkSecurityGroupName}'} + + + def _create_or_update_initial( + self, resource_group_name, network_security_group_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'NetworkSecurityGroup') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('NetworkSecurityGroup', response) + if response.status_code == 201: + deserialized = self._deserialize('NetworkSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_security_group_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a network security group in the specified resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param parameters: Parameters supplied to the create or update network + security group operation. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.NetworkSecurityGroup + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NetworkSecurityGroup or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.NetworkSecurityGroup] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.NetworkSecurityGroup]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_security_group_name=network_security_group_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NetworkSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} + + + def _update_tags_initial( + self, resource_group_name, network_security_group_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('NetworkSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, network_security_group_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a network security group tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NetworkSecurityGroup or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.NetworkSecurityGroup] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.NetworkSecurityGroup]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + network_security_group_name=network_security_group_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NetworkSecurityGroup', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all network security groups in a subscription. + + :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 NetworkSecurityGroup + :rtype: + ~azure.mgmt.network.v2018_06_01.models.NetworkSecurityGroupPaged[~azure.mgmt.network.v2018_06_01.models.NetworkSecurityGroup] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkSecurityGroupPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkSecurityGroups'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all network security groups in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 NetworkSecurityGroup + :rtype: + ~azure.mgmt.network.v2018_06_01.models.NetworkSecurityGroupPaged[~azure.mgmt.network.v2018_06_01.models.NetworkSecurityGroup] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkSecurityGroupPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkSecurityGroupPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/network_watchers_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/network_watchers_operations.py new file mode 100644 index 000000000000..35b8c9d567f0 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/network_watchers_operations.py @@ -0,0 +1,1582 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class NetworkWatchersOperations(object): + """NetworkWatchersOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def create_or_update( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + """Creates or updates a network watcher in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param parameters: Parameters that define the network watcher + resource. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.NetworkWatcher + :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: NetworkWatcher or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.NetworkWatcher or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'NetworkWatcher') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('NetworkWatcher', response) + if response.status_code == 201: + deserialized = self._deserialize('NetworkWatcher', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} + + def get( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified network watcher by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_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: NetworkWatcher or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.NetworkWatcher 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'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('NetworkWatcher', 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/networkWatchers/{networkWatcherName}'} + + + def _delete_initial( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified network watcher resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} + + def update_tags( + self, resource_group_name, network_watcher_name, tags=None, custom_headers=None, raw=False, **operation_config): + """Updates a network watcher tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param tags: Resource tags. + :type tags: dict[str, 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: NetworkWatcher or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.NetworkWatcher or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('NetworkWatcher', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all network watchers by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 NetworkWatcher + :rtype: + ~azure.mgmt.network.v2018_06_01.models.NetworkWatcherPaged[~azure.mgmt.network.v2018_06_01.models.NetworkWatcher] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkWatcherPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkWatcherPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all network watchers by subscription. + + :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 NetworkWatcher + :rtype: + ~azure.mgmt.network.v2018_06_01.models.NetworkWatcherPaged[~azure.mgmt.network.v2018_06_01.models.NetworkWatcher] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.NetworkWatcherPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.NetworkWatcherPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/networkWatchers'} + + def get_topology( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + """Gets the current network topology by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param parameters: Parameters that define the representation of + topology. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.TopologyParameters + :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: Topology or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.Topology or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_topology.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TopologyParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('Topology', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_topology.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/topology'} + + + def _verify_ip_flow_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.verify_ip_flow.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'VerificationIPFlowParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VerificationIPFlowResult', response) + if response.status_code == 202: + deserialized = self._deserialize('VerificationIPFlowResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def verify_ip_flow( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Verify IP flow from the specified VM to a location given the currently + configured NSG rules. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param parameters: Parameters that define the IP flow to be verified. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.VerificationIPFlowParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VerificationIPFlowResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.VerificationIPFlowResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.VerificationIPFlowResult]] + :raises: :class:`CloudError` + """ + raw_result = self._verify_ip_flow_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VerificationIPFlowResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + verify_ip_flow.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/ipFlowVerify'} + + + def _get_next_hop_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_next_hop.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'NextHopParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('NextHopResult', response) + if response.status_code == 202: + deserialized = self._deserialize('NextHopResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_next_hop( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the next hop from the specified VM. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param parameters: Parameters that define the source and destination + endpoint. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.NextHopParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns NextHopResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.NextHopResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.NextHopResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_next_hop_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('NextHopResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_next_hop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/nextHop'} + + + def _get_vm_security_rules_initial( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): + parameters = models.SecurityGroupViewParameters(target_resource_id=target_resource_id) + + # Construct URL + url = self.get_vm_security_rules.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'SecurityGroupViewParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('SecurityGroupViewResult', response) + if response.status_code == 202: + deserialized = self._deserialize('SecurityGroupViewResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_vm_security_rules( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the configured and effective security group rules on the specified + VM. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param target_resource_id: ID of the target VM. + :type target_resource_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns SecurityGroupViewResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.SecurityGroupViewResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.SecurityGroupViewResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_vm_security_rules_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + target_resource_id=target_resource_id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('SecurityGroupViewResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_vm_security_rules.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/securityGroupView'} + + + def _get_troubleshooting_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_troubleshooting.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TroubleshootingParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('TroubleshootingResult', response) + if response.status_code == 202: + deserialized = self._deserialize('TroubleshootingResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_troubleshooting( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Initiate troubleshooting on a specified resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param parameters: Parameters that define the resource to + troubleshoot. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.TroubleshootingParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns TroubleshootingResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.TroubleshootingResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.TroubleshootingResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_troubleshooting_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('TroubleshootingResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_troubleshooting.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/troubleshoot'} + + + def _get_troubleshooting_result_initial( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): + parameters = models.QueryTroubleshootingParameters(target_resource_id=target_resource_id) + + # Construct URL + url = self.get_troubleshooting_result.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'QueryTroubleshootingParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('TroubleshootingResult', response) + if response.status_code == 202: + deserialized = self._deserialize('TroubleshootingResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_troubleshooting_result( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): + """Get the last completed troubleshooting result on a specified resource. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param target_resource_id: The target resource ID to query the + troubleshooting result. + :type target_resource_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns TroubleshootingResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.TroubleshootingResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.TroubleshootingResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_troubleshooting_result_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + target_resource_id=target_resource_id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('TroubleshootingResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_troubleshooting_result.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryTroubleshootResult'} + + + def _set_flow_log_configuration_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.set_flow_log_configuration.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'FlowLogInformation') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('FlowLogInformation', response) + if response.status_code == 202: + deserialized = self._deserialize('FlowLogInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def set_flow_log_configuration( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Configures flow log and traffic analytics (optional) on a specified + resource. + + :param resource_group_name: The name of the network watcher resource + group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param parameters: Parameters that define the configuration of flow + log. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.FlowLogInformation + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns FlowLogInformation or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.FlowLogInformation] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.FlowLogInformation]] + :raises: :class:`CloudError` + """ + raw_result = self._set_flow_log_configuration_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('FlowLogInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + set_flow_log_configuration.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/configureFlowLog'} + + + def _get_flow_log_status_initial( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, **operation_config): + parameters = models.FlowLogStatusParameters(target_resource_id=target_resource_id) + + # Construct URL + url = self.get_flow_log_status.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'FlowLogStatusParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('FlowLogInformation', response) + if response.status_code == 202: + deserialized = self._deserialize('FlowLogInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_flow_log_status( + self, resource_group_name, network_watcher_name, target_resource_id, custom_headers=None, raw=False, polling=True, **operation_config): + """Queries status of flow log and traffic analytics (optional) on a + specified resource. + + :param resource_group_name: The name of the network watcher resource + group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param target_resource_id: The target resource where getting the flow + log and traffic analytics (optional) status. + :type target_resource_id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns FlowLogInformation or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.FlowLogInformation] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.FlowLogInformation]] + :raises: :class:`CloudError` + """ + raw_result = self._get_flow_log_status_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + target_resource_id=target_resource_id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('FlowLogInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_flow_log_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/queryFlowLogStatus'} + + + def _check_connectivity_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.check_connectivity.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'ConnectivityParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ConnectivityInformation', response) + if response.status_code == 202: + deserialized = self._deserialize('ConnectivityInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def check_connectivity( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Verifies the possibility of establishing a direct TCP connection from a + virtual machine to a given endpoint including another VM or an + arbitrary remote server. + + :param resource_group_name: The name of the network watcher resource + group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param parameters: Parameters that determine how the connectivity + check will be performed. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.ConnectivityParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ConnectivityInformation + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ConnectivityInformation] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ConnectivityInformation]] + :raises: :class:`CloudError` + """ + raw_result = self._check_connectivity_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectivityInformation', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + check_connectivity.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/connectivityCheck'} + + + def _get_azure_reachability_report_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_azure_reachability_report.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'AzureReachabilityReportParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('AzureReachabilityReport', response) + if response.status_code == 202: + deserialized = self._deserialize('AzureReachabilityReport', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_azure_reachability_report( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets the relative latency score for internet service providers from a + specified location to Azure regions. + + :param resource_group_name: The name of the network watcher resource + group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param parameters: Parameters that determine Azure reachability report + configuration. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.AzureReachabilityReportParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns AzureReachabilityReport + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.AzureReachabilityReport] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.AzureReachabilityReport]] + :raises: :class:`CloudError` + """ + raw_result = self._get_azure_reachability_report_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AzureReachabilityReport', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_azure_reachability_report.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/azureReachabilityReport'} + + + def _list_available_providers_initial( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.list_available_providers.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'AvailableProvidersListParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('AvailableProvidersList', response) + if response.status_code == 202: + deserialized = self._deserialize('AvailableProvidersList', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def list_available_providers( + self, resource_group_name, network_watcher_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Lists all available internet service providers for a specified Azure + region. + + :param resource_group_name: The name of the network watcher resource + group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher resource. + :type network_watcher_name: str + :param parameters: Parameters that scope the list of available + providers. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.AvailableProvidersListParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns AvailableProvidersList + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.AvailableProvidersList] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.AvailableProvidersList]] + :raises: :class:`CloudError` + """ + raw_result = self._list_available_providers_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('AvailableProvidersList', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + list_available_providers.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/availableProvidersList'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/operations.py new file mode 100644 index 000000000000..650582f966a8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/operations.py @@ -0,0 +1,99 @@ +# 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 Operations(object): + """Operations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all of the available Network Rest API operations. + + :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 Operation + :rtype: + ~azure.mgmt.network.v2018_06_01.models.OperationPaged[~azure.mgmt.network.v2018_06_01.models.Operation] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + + # 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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.OperationPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.OperationPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/providers/Microsoft.Network/operations'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/packet_captures_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/packet_captures_operations.py new file mode 100644 index 000000000000..bb2ba0e0020f --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/packet_captures_operations.py @@ -0,0 +1,550 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class PacketCapturesOperations(object): + """PacketCapturesOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _create_initial( + self, resource_group_name, network_watcher_name, packet_capture_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'PacketCapture') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [201]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + deserialized = None + + if response.status_code == 201: + deserialized = self._deserialize('PacketCaptureResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create( + self, resource_group_name, network_watcher_name, packet_capture_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create and start a packet capture on the specified VM. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param packet_capture_name: The name of the packet capture session. + :type packet_capture_name: str + :param parameters: Parameters that define the create packet capture + operation. + :type parameters: ~azure.mgmt.network.v2018_06_01.models.PacketCapture + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PacketCaptureResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.PacketCaptureResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.PacketCaptureResult]] + :raises: :class:`CloudError` + """ + raw_result = self._create_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + packet_capture_name=packet_capture_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PacketCaptureResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} + + def get( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): + """Gets a packet capture session by name. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param packet_capture_name: The name of the packet capture session. + :type packet_capture_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: PacketCaptureResult or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.PacketCaptureResult 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'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('PacketCaptureResult', 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/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} + + + def _delete_initial( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified packet capture session. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param packet_capture_name: The name of the packet capture session. + :type packet_capture_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + packet_capture_name=packet_capture_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}'} + + + def _stop_initial( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.stop.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def stop( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Stops a specified packet capture session. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the network watcher. + :type network_watcher_name: str + :param packet_capture_name: The name of the packet capture session. + :type packet_capture_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._stop_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + packet_capture_name=packet_capture_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + stop.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/stop'} + + + def _get_status_initial( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_status.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_name, 'str'), + 'packetCaptureName': self._serialize.url("packet_capture_name", packet_capture_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('PacketCaptureQueryStatusResult', response) + if response.status_code == 202: + deserialized = self._deserialize('PacketCaptureQueryStatusResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_status( + self, resource_group_name, network_watcher_name, packet_capture_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Query the status of a running packet capture session. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_name: str + :param packet_capture_name: The name given to the packet capture + session. + :type packet_capture_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + PacketCaptureQueryStatusResult or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.PacketCaptureQueryStatusResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.PacketCaptureQueryStatusResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_status_initial( + resource_group_name=resource_group_name, + network_watcher_name=network_watcher_name, + packet_capture_name=packet_capture_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PacketCaptureQueryStatusResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures/{packetCaptureName}/queryStatus'} + + def list( + self, resource_group_name, network_watcher_name, custom_headers=None, raw=False, **operation_config): + """Lists all packet capture sessions within the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_watcher_name: The name of the Network Watcher resource. + :type network_watcher_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 PacketCaptureResult + :rtype: + ~azure.mgmt.network.v2018_06_01.models.PacketCaptureResultPaged[~azure.mgmt.network.v2018_06_01.models.PacketCaptureResult] + :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'), + 'networkWatcherName': self._serialize.url("network_watcher_name", network_watcher_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.PacketCaptureResultPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PacketCaptureResultPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkWatchers/{networkWatcherName}/packetCaptures'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/public_ip_addresses_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/public_ip_addresses_operations.py new file mode 100644 index 000000000000..e105ee7b42a8 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/public_ip_addresses_operations.py @@ -0,0 +1,775 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class PublicIPAddressesOperations(object): + """PublicIPAddressesOperations 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. + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + + self.config = config + + + def _delete_initial( + self, resource_group_name, public_ip_address_name, custom_headers=None, raw=False, **operation_config): + api_version = "2018-06-01" + + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, public_ip_address_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified public IP address. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_address_name: The name of the subnet. + :type public_ip_address_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + public_ip_address_name=public_ip_address_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} + + def get( + self, resource_group_name, public_ip_address_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified public IP address in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_address_name: The name of the subnet. + :type public_ip_address_name: str + :param expand: Expands referenced resources. + :type expand: 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: PublicIPAddress or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.PublicIPAddress or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2018-06-01" + + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('PublicIPAddress', 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/publicIPAddresses/{publicIpAddressName}'} + + + def _create_or_update_initial( + self, resource_group_name, public_ip_address_name, parameters, custom_headers=None, raw=False, **operation_config): + api_version = "2018-06-01" + + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'PublicIPAddress') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('PublicIPAddress', response) + if response.status_code == 201: + deserialized = self._deserialize('PublicIPAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, public_ip_address_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a static or dynamic public IP address. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_address_name: The name of the public IP address. + :type public_ip_address_name: str + :param parameters: Parameters supplied to the create or update public + IP address operation. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.PublicIPAddress + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PublicIPAddress or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.PublicIPAddress] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.PublicIPAddress]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + public_ip_address_name=public_ip_address_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PublicIPAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} + + + def _update_tags_initial( + self, resource_group_name, public_ip_address_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + api_version = "2018-06-01" + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_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("api_version", api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('PublicIPAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, public_ip_address_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates public IP address tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param public_ip_address_name: The name of the public IP address. + :type public_ip_address_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns PublicIPAddress or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.PublicIPAddress] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.PublicIPAddress]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + public_ip_address_name=public_ip_address_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('PublicIPAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/{publicIpAddressName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all the public IP addresses in a subscription. + + :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 PublicIPAddress + :rtype: + ~azure.mgmt.network.v2018_06_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2018_06_01.models.PublicIPAddress] + :raises: :class:`CloudError` + """ + api_version = "2018-06-01" + + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/publicIPAddresses'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all public IP addresses in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 PublicIPAddress + :rtype: + ~azure.mgmt.network.v2018_06_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2018_06_01.models.PublicIPAddress] + :raises: :class:`CloudError` + """ + api_version = "2018-06-01" + + 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'), + '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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses'} + + def list_virtual_machine_scale_set_public_ip_addresses( + self, resource_group_name, virtual_machine_scale_set_name, custom_headers=None, raw=False, **operation_config): + """Gets information about all public IP addresses on a virtual machine + scale set level. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_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 PublicIPAddress + :rtype: + ~azure.mgmt.network.v2018_06_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2018_06_01.models.PublicIPAddress] + :raises: :class:`CloudError` + """ + api_version = "2017-03-30" + + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_virtual_machine_scale_set_public_ip_addresses.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_virtual_machine_scale_set_public_ip_addresses.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/publicipaddresses'} + + def list_virtual_machine_scale_set_vm_public_ip_addresses( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, custom_headers=None, raw=False, **operation_config): + """Gets information about all public IP addresses in a virtual machine IP + configuration in a virtual machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param network_interface_name: The network interface name. + :type network_interface_name: str + :param ip_configuration_name: The IP configuration name. + :type ip_configuration_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 PublicIPAddress + :rtype: + ~azure.mgmt.network.v2018_06_01.models.PublicIPAddressPaged[~azure.mgmt.network.v2018_06_01.models.PublicIPAddress] + :raises: :class:`CloudError` + """ + api_version = "2017-03-30" + + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_virtual_machine_scale_set_vm_public_ip_addresses.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_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("api_version", api_version, 'str') + + else: + url = next_link + query_parameters = {} + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.PublicIPAddressPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_virtual_machine_scale_set_vm_public_ip_addresses.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses'} + + def get_virtual_machine_scale_set_public_ip_address( + self, resource_group_name, virtual_machine_scale_set_name, virtualmachine_index, network_interface_name, ip_configuration_name, public_ip_address_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Get the specified public IP address in a virtual machine scale set. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_machine_scale_set_name: The name of the virtual machine + scale set. + :type virtual_machine_scale_set_name: str + :param virtualmachine_index: The virtual machine index. + :type virtualmachine_index: str + :param network_interface_name: The name of the network interface. + :type network_interface_name: str + :param ip_configuration_name: The name of the IP configuration. + :type ip_configuration_name: str + :param public_ip_address_name: The name of the public IP Address. + :type public_ip_address_name: str + :param expand: Expands referenced resources. + :type expand: 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: PublicIPAddress or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.PublicIPAddress or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + api_version = "2017-03-30" + + # Construct URL + url = self.get_virtual_machine_scale_set_public_ip_address.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualMachineScaleSetName': self._serialize.url("virtual_machine_scale_set_name", virtual_machine_scale_set_name, 'str'), + 'virtualmachineIndex': self._serialize.url("virtualmachine_index", virtualmachine_index, 'str'), + 'networkInterfaceName': self._serialize.url("network_interface_name", network_interface_name, 'str'), + 'ipConfigurationName': self._serialize.url("ip_configuration_name", ip_configuration_name, 'str'), + 'publicIpAddressName': self._serialize.url("public_ip_address_name", public_ip_address_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("api_version", api_version, 'str') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('PublicIPAddress', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_virtual_machine_scale_set_public_ip_address.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines/{virtualmachineIndex}/networkInterfaces/{networkInterfaceName}/ipconfigurations/{ipConfigurationName}/publicipaddresses/{publicIpAddressName}'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/route_filter_rules_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/route_filter_rules_operations.py new file mode 100644 index 000000000000..3f61a6dec582 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/route_filter_rules_operations.py @@ -0,0 +1,474 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class RouteFilterRulesOperations(object): + """RouteFilterRulesOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + 'ruleName': self._serialize.url("rule_name", rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified rule from a route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param rule_name: The name of the rule. + :type rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + route_filter_name=route_filter_name, + rule_name=rule_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} + + def get( + self, resource_group_name, route_filter_name, rule_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified rule from a route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param rule_name: The name of the rule. + :type rule_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: RouteFilterRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.RouteFilterRule 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'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + 'ruleName': self._serialize.url("rule_name", rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('RouteFilterRule', 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/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} + + + def _create_or_update_initial( + self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + 'ruleName': self._serialize.url("rule_name", rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(route_filter_rule_parameters, 'RouteFilterRule') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('RouteFilterRule', response) + if response.status_code == 201: + deserialized = self._deserialize('RouteFilterRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a route in the specified route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param rule_name: The name of the route filter rule. + :type rule_name: str + :param route_filter_rule_parameters: Parameters supplied to the create + or update route filter rule operation. + :type route_filter_rule_parameters: + ~azure.mgmt.network.v2018_06_01.models.RouteFilterRule + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns RouteFilterRule or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.RouteFilterRule] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.RouteFilterRule]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + route_filter_name=route_filter_name, + rule_name=rule_name, + route_filter_rule_parameters=route_filter_rule_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RouteFilterRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} + + + def _update_initial( + self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_name, 'str'), + 'ruleName': self._serialize.url("rule_name", rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(route_filter_rule_parameters, 'PatchRouteFilterRule') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('RouteFilterRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, route_filter_name, rule_name, route_filter_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a route in the specified route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param rule_name: The name of the route filter rule. + :type rule_name: str + :param route_filter_rule_parameters: Parameters supplied to the update + route filter rule operation. + :type route_filter_rule_parameters: + ~azure.mgmt.network.v2018_06_01.models.PatchRouteFilterRule + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns RouteFilterRule or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.RouteFilterRule] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.RouteFilterRule]] + :raises: :class:`CloudError` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + route_filter_name=route_filter_name, + rule_name=rule_name, + route_filter_rule_parameters=route_filter_rule_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RouteFilterRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules/{ruleName}'} + + def list_by_route_filter( + self, resource_group_name, route_filter_name, custom_headers=None, raw=False, **operation_config): + """Gets all RouteFilterRules in a route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_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 RouteFilterRule + :rtype: + ~azure.mgmt.network.v2018_06_01.models.RouteFilterRulePaged[~azure.mgmt.network.v2018_06_01.models.RouteFilterRule] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_route_filter.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.RouteFilterRulePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.RouteFilterRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_route_filter.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}/routeFilterRules'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/route_filters_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/route_filters_operations.py new file mode 100644 index 000000000000..aa71847f9f56 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/route_filters_operations.py @@ -0,0 +1,525 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class RouteFiltersOperations(object): + """RouteFiltersOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, route_filter_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, route_filter_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + route_filter_name=route_filter_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} + + def get( + self, resource_group_name, route_filter_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified route filter. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param expand: Expands referenced express route bgp peering resources. + :type expand: 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: RouteFilter or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.RouteFilter 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'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_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') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('RouteFilter', 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/routeFilters/{routeFilterName}'} + + + def _create_or_update_initial( + self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(route_filter_parameters, 'RouteFilter') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('RouteFilter', response) + if response.status_code == 201: + deserialized = self._deserialize('RouteFilter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a route filter in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param route_filter_parameters: Parameters supplied to the create or + update route filter operation. + :type route_filter_parameters: + ~azure.mgmt.network.v2018_06_01.models.RouteFilter + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns RouteFilter or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.RouteFilter] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.RouteFilter]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + route_filter_name=route_filter_name, + route_filter_parameters=route_filter_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RouteFilter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} + + + def _update_initial( + self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeFilterName': self._serialize.url("route_filter_name", route_filter_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(route_filter_parameters, 'PatchRouteFilter') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('RouteFilter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update( + self, resource_group_name, route_filter_name, route_filter_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a route filter in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_filter_name: The name of the route filter. + :type route_filter_name: str + :param route_filter_parameters: Parameters supplied to the update + route filter operation. + :type route_filter_parameters: + ~azure.mgmt.network.v2018_06_01.models.PatchRouteFilter + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns RouteFilter or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.RouteFilter] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.RouteFilter]] + :raises: :class:`CloudError` + """ + raw_result = self._update_initial( + resource_group_name=resource_group_name, + route_filter_name=route_filter_name, + route_filter_parameters=route_filter_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RouteFilter', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters/{routeFilterName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all route filters in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 RouteFilter + :rtype: + ~azure.mgmt.network.v2018_06_01.models.RouteFilterPaged[~azure.mgmt.network.v2018_06_01.models.RouteFilter] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.RouteFilterPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.RouteFilterPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeFilters'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Gets all route filters in a subscription. + + :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 RouteFilter + :rtype: + ~azure.mgmt.network.v2018_06_01.models.RouteFilterPaged[~azure.mgmt.network.v2018_06_01.models.RouteFilter] + :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 = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.RouteFilterPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.RouteFilterPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeFilters'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/route_tables_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/route_tables_operations.py new file mode 100644 index 000000000000..34c4659e9131 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/route_tables_operations.py @@ -0,0 +1,524 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class RouteTablesOperations(object): + """RouteTablesOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, route_table_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, route_table_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + route_table_name=route_table_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} + + def get( + self, resource_group_name, route_table_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param expand: Expands referenced resources. + :type expand: 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: RouteTable or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.RouteTable 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'), + 'routeTableName': self._serialize.url("route_table_name", route_table_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') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('RouteTable', 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/routeTables/{routeTableName}'} + + + def _create_or_update_initial( + self, resource_group_name, route_table_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'RouteTable') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('RouteTable', response) + if response.status_code == 201: + deserialized = self._deserialize('RouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, route_table_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Create or updates a route table in a specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param parameters: Parameters supplied to the create or update route + table operation. + :type parameters: ~azure.mgmt.network.v2018_06_01.models.RouteTable + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns RouteTable or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.RouteTable] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.RouteTable]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + route_table_name=route_table_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} + + + def _update_tags_initial( + self, resource_group_name, route_table_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('RouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, route_table_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a route table tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns RouteTable or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.RouteTable] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.RouteTable]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + route_table_name=route_table_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('RouteTable', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all route tables in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 RouteTable + :rtype: + ~azure.mgmt.network.v2018_06_01.models.RouteTablePaged[~azure.mgmt.network.v2018_06_01.models.RouteTable] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.RouteTablePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.RouteTablePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all route tables in a subscription. + + :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 RouteTable + :rtype: + ~azure.mgmt.network.v2018_06_01.models.RouteTablePaged[~azure.mgmt.network.v2018_06_01.models.RouteTable] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.RouteTablePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.RouteTablePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/routeTables'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/routes_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/routes_operations.py new file mode 100644 index 000000000000..5668f5dc3ffa --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/routes_operations.py @@ -0,0 +1,367 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class RoutesOperations(object): + """RoutesOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + 'routeName': self._serialize.url("route_name", route_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified route from a route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param route_name: The name of the route. + :type route_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + route_table_name=route_table_name, + route_name=route_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'} + + def get( + self, resource_group_name, route_table_name, route_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified route from a route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param route_name: The name of the route. + :type route_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: Route or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.Route 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'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + 'routeName': self._serialize.url("route_name", route_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('Route', 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/routeTables/{routeTableName}/routes/{routeName}'} + + + def _create_or_update_initial( + self, resource_group_name, route_table_name, route_name, route_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'routeTableName': self._serialize.url("route_table_name", route_table_name, 'str'), + 'routeName': self._serialize.url("route_name", route_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(route_parameters, 'Route') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('Route', response) + if response.status_code == 201: + deserialized = self._deserialize('Route', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, route_table_name, route_name, route_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a route in the specified route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_name: str + :param route_name: The name of the route. + :type route_name: str + :param route_parameters: Parameters supplied to the create or update + route operation. + :type route_parameters: ~azure.mgmt.network.v2018_06_01.models.Route + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Route or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.Route] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.Route]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + route_table_name=route_table_name, + route_name=route_name, + route_parameters=route_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Route', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes/{routeName}'} + + def list( + self, resource_group_name, route_table_name, custom_headers=None, raw=False, **operation_config): + """Gets all routes in a route table. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param route_table_name: The name of the route table. + :type route_table_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 Route + :rtype: + ~azure.mgmt.network.v2018_06_01.models.RoutePaged[~azure.mgmt.network.v2018_06_01.models.Route] + :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'), + 'routeTableName': self._serialize.url("route_table_name", route_table_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.RoutePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.RoutePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/routeTables/{routeTableName}/routes'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/security_rules_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/security_rules_operations.py new file mode 100644 index 000000000000..c678179f58ee --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/security_rules_operations.py @@ -0,0 +1,373 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class SecurityRulesOperations(object): + """SecurityRulesOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + 'securityRuleName': self._serialize.url("security_rule_name", security_rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified network security rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param security_rule_name: The name of the security rule. + :type security_rule_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + network_security_group_name=network_security_group_name, + security_rule_name=security_rule_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} + + def get( + self, resource_group_name, network_security_group_name, security_rule_name, custom_headers=None, raw=False, **operation_config): + """Get the specified network security rule. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param security_rule_name: The name of the security rule. + :type security_rule_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: SecurityRule or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.SecurityRule 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'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + 'securityRuleName': self._serialize.url("security_rule_name", security_rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('SecurityRule', 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/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} + + + def _create_or_update_initial( + self, resource_group_name, network_security_group_name, security_rule_name, security_rule_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_name, 'str'), + 'securityRuleName': self._serialize.url("security_rule_name", security_rule_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(security_rule_parameters, 'SecurityRule') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('SecurityRule', response) + if response.status_code == 201: + deserialized = self._deserialize('SecurityRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, network_security_group_name, security_rule_name, security_rule_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a security rule in the specified network security + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_name: str + :param security_rule_name: The name of the security rule. + :type security_rule_name: str + :param security_rule_parameters: Parameters supplied to the create or + update network security rule operation. + :type security_rule_parameters: + ~azure.mgmt.network.v2018_06_01.models.SecurityRule + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns SecurityRule or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.SecurityRule] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.SecurityRule]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + network_security_group_name=network_security_group_name, + security_rule_name=security_rule_name, + security_rule_parameters=security_rule_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('SecurityRule', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules/{securityRuleName}'} + + def list( + self, resource_group_name, network_security_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all security rules in a network security group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param network_security_group_name: The name of the network security + group. + :type network_security_group_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 SecurityRule + :rtype: + ~azure.mgmt.network.v2018_06_01.models.SecurityRulePaged[~azure.mgmt.network.v2018_06_01.models.SecurityRule] + :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'), + 'networkSecurityGroupName': self._serialize.url("network_security_group_name", network_security_group_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.SecurityRulePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.SecurityRulePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkSecurityGroups/{networkSecurityGroupName}/securityRules'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/subnets_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/subnets_operations.py new file mode 100644 index 000000000000..206ddc1f2223 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/subnets_operations.py @@ -0,0 +1,371 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class SubnetsOperations(object): + """SubnetsOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'subnetName': self._serialize.url("subnet_name", subnet_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_name, subnet_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified subnet. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param subnet_name: The name of the subnet. + :type subnet_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + subnet_name=subnet_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} + + def get( + self, resource_group_name, virtual_network_name, subnet_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified subnet by virtual network and resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param subnet_name: The name of the subnet. + :type subnet_name: str + :param expand: Expands referenced resources. + :type expand: 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: Subnet or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.Subnet 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'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'subnetName': self._serialize.url("subnet_name", subnet_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') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('Subnet', 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/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_network_name, subnet_name, subnet_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'subnetName': self._serialize.url("subnet_name", subnet_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(subnet_parameters, 'Subnet') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('Subnet', response) + if response.status_code == 201: + deserialized = self._deserialize('Subnet', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_network_name, subnet_name, subnet_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a subnet in the specified virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param subnet_name: The name of the subnet. + :type subnet_name: str + :param subnet_parameters: Parameters supplied to the create or update + subnet operation. + :type subnet_parameters: ~azure.mgmt.network.v2018_06_01.models.Subnet + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns Subnet or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.Subnet] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.Subnet]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + subnet_name=subnet_name, + subnet_parameters=subnet_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('Subnet', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets/{subnetName}'} + + def list( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): + """Gets all subnets in a virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_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 Subnet + :rtype: + ~azure.mgmt.network.v2018_06_01.models.SubnetPaged[~azure.mgmt.network.v2018_06_01.models.Subnet] + :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'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.SubnetPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.SubnetPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/subnets'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/usages_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/usages_operations.py new file mode 100644 index 000000000000..112d422d1dfd --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/usages_operations.py @@ -0,0 +1,106 @@ +# 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 UsagesOperations(object): + """UsagesOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def list( + self, location, custom_headers=None, raw=False, **operation_config): + """List network usages for a subscription. + + :param location: The location where resource usage is queried. + :type location: 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 Usage + :rtype: + ~azure.mgmt.network.v2018_06_01.models.UsagePaged[~azure.mgmt.network.v2018_06_01.models.Usage] + :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 = { + 'location': self._serialize.url("location", location, 'str', pattern=r'^[-\w\._]+$'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.UsagePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.UsagePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/locations/{location}/usages'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/virtual_hubs_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/virtual_hubs_operations.py new file mode 100644 index 000000000000..a4145384e26d --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/virtual_hubs_operations.py @@ -0,0 +1,517 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualHubsOperations(object): + """VirtualHubsOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def get( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a VirtualHub. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_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: VirtualHub or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.VirtualHub or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualHub', 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/virtualHubs/{virtualHubName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_hub_name, virtual_hub_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(virtual_hub_parameters, 'VirtualHub') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualHub', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualHub', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_hub_name, virtual_hub_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a VirtualHub resource if it doesn't exist else updates the + existing VirtualHub. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param virtual_hub_parameters: Parameters supplied to create or update + VirtualHub. + :type virtual_hub_parameters: + ~azure.mgmt.network.v2018_06_01.models.VirtualHub + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualHub or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.VirtualHub] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.VirtualHub]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + virtual_hub_parameters=virtual_hub_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualHub', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} + + + def _update_tags_initial( + self, resource_group_name, virtual_hub_name, tags=None, custom_headers=None, raw=False, **operation_config): + virtual_hub_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(virtual_hub_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualHub', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualHub', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, virtual_hub_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates VirtualHub tags. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualHub or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.VirtualHub] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.VirtualHub]] + :raises: + :class:`ErrorException` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualHub', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} + + + def _delete_initial( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualHubName': self._serialize.url("virtual_hub_name", virtual_hub_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_hub_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a VirtualHub. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_name: str + :param virtual_hub_name: The name of the VirtualHub. + :type virtual_hub_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_hub_name=virtual_hub_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs/{virtualHubName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the VirtualHubs in a resource group. + + :param resource_group_name: The resource group name of the VirtualHub. + :type resource_group_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 VirtualHub + :rtype: + ~azure.mgmt.network.v2018_06_01.models.VirtualHubPaged[~azure.mgmt.network.v2018_06_01.models.VirtualHub] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VirtualHubPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualHubPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualHubs'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the VirtualHubs in a subscription. + + :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 VirtualHub + :rtype: + ~azure.mgmt.network.v2018_06_01.models.VirtualHubPaged[~azure.mgmt.network.v2018_06_01.models.VirtualHub] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VirtualHubPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualHubPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualHubs'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/virtual_network_gateway_connections_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/virtual_network_gateway_connections_operations.py new file mode 100644 index 000000000000..d55c54181a55 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/virtual_network_gateway_connections_operations.py @@ -0,0 +1,751 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualNetworkGatewayConnectionsOperations(object): + """VirtualNetworkGatewayConnectionsOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'VirtualNetworkGatewayConnection') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('VirtualNetworkGatewayConnection', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a virtual network gateway connection in the + specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection. + :type virtual_network_gateway_connection_name: str + :param parameters: Parameters supplied to the create or update virtual + network gateway connection operation. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VirtualNetworkGatewayConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} + + def get( + self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified virtual network gateway connection by resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection. + :type virtual_network_gateway_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: VirtualNetworkGatewayConnection or ClientRawResponse if + raw=true + :rtype: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayConnection + 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'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('VirtualNetworkGatewayConnection', 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/connections/{virtualNetworkGatewayConnectionName}'} + + + def _delete_initial( + self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified virtual network Gateway connection. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection. + :type virtual_network_gateway_connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} + + + def _update_tags_initial( + self, resource_group_name, virtual_network_gateway_connection_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('VirtualNetworkGatewayConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, virtual_network_gateway_connection_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a virtual network gateway connection tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection. + :type virtual_network_gateway_connection_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VirtualNetworkGatewayConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayConnection]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkGatewayConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}'} + + + def _set_shared_key_initial( + self, resource_group_name, virtual_network_gateway_connection_name, value, id=None, custom_headers=None, raw=False, **operation_config): + parameters = models.ConnectionSharedKey(id=id, value=value) + + # Construct URL + url = self.set_shared_key.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'ConnectionSharedKey') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('ConnectionSharedKey', response) + if response.status_code == 201: + deserialized = self._deserialize('ConnectionSharedKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def set_shared_key( + self, resource_group_name, virtual_network_gateway_connection_name, value, id=None, custom_headers=None, raw=False, polling=True, **operation_config): + """The Put VirtualNetworkGatewayConnectionSharedKey operation sets the + virtual network gateway connection shared key for passed virtual + network gateway connection in the specified resource group through + Network resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The virtual network + gateway connection name. + :type virtual_network_gateway_connection_name: str + :param value: The virtual network connection shared key value. + :type value: str + :param id: Resource ID. + :type id: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns ConnectionSharedKey or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ConnectionSharedKey] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ConnectionSharedKey]] + :raises: :class:`CloudError` + """ + raw_result = self._set_shared_key_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + value=value, + id=id, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectionSharedKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + set_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey'} + + def get_shared_key( + self, resource_group_name, virtual_network_gateway_connection_name, custom_headers=None, raw=False, **operation_config): + """The Get VirtualNetworkGatewayConnectionSharedKey operation retrieves + information about the specified virtual network gateway connection + shared key through Network resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The virtual network + gateway connection shared key name. + :type virtual_network_gateway_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: ConnectionSharedKey or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.ConnectionSharedKey or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.get_shared_key.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('ConnectionSharedKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + get_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """The List VirtualNetworkGatewayConnections operation retrieves all the + virtual network gateways connections created. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 VirtualNetworkGatewayConnection + :rtype: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayConnectionPaged[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayConnection] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.VirtualNetworkGatewayConnectionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualNetworkGatewayConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections'} + + + def _reset_shared_key_initial( + self, resource_group_name, virtual_network_gateway_connection_name, key_length, custom_headers=None, raw=False, **operation_config): + parameters = models.ConnectionResetSharedKey(key_length=key_length) + + # Construct URL + url = self.reset_shared_key.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'ConnectionResetSharedKey') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('ConnectionResetSharedKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def reset_shared_key( + self, resource_group_name, virtual_network_gateway_connection_name, key_length, custom_headers=None, raw=False, polling=True, **operation_config): + """The VirtualNetworkGatewayConnectionResetSharedKey operation resets the + virtual network gateway connection shared key for passed virtual + network gateway connection in the specified resource group through + Network resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The virtual network + gateway connection reset shared key Name. + :type virtual_network_gateway_connection_name: str + :param key_length: The virtual network connection reset shared key + length, should between 1 and 128. + :type key_length: int + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + ConnectionResetSharedKey or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.ConnectionResetSharedKey] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.ConnectionResetSharedKey]] + :raises: :class:`CloudError` + """ + raw_result = self._reset_shared_key_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_connection_name=virtual_network_gateway_connection_name, + key_length=key_length, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('ConnectionResetSharedKey', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + reset_shared_key.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/sharedkey/reset'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/virtual_network_gateways_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/virtual_network_gateways_operations.py new file mode 100644 index 000000000000..02fc7961f984 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/virtual_network_gateways_operations.py @@ -0,0 +1,1563 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualNetworkGatewaysOperations(object): + """VirtualNetworkGatewaysOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _create_or_update_initial( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'VirtualNetworkGateway') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('VirtualNetworkGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a virtual network gateway in the specified resource + group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param parameters: Parameters supplied to create or update virtual + network gateway operation. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetworkGateway + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} + + def get( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified virtual network gateway by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_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: VirtualNetworkGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGateway + 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'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('VirtualNetworkGateway', 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/virtualNetworkGateways/{virtualNetworkGatewayName}'} + + + def _delete_initial( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified virtual network gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} + + + def _update_tags_initial( + self, resource_group_name, virtual_network_gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, virtual_network_gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a virtual network gateway tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetworkGateway + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all virtual network gateways by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 VirtualNetworkGateway + :rtype: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayPaged[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGateway] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.VirtualNetworkGatewayPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualNetworkGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways'} + + def list_connections( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets all the connections in a virtual network gateway. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_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 + VirtualNetworkGatewayConnectionListEntity + :rtype: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayConnectionListEntityPaged[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGatewayConnectionListEntity] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_connections.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.VirtualNetworkGatewayConnectionListEntityPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualNetworkGatewayConnectionListEntityPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_connections.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections'} + + + def _reset_initial( + self, resource_group_name, virtual_network_gateway_name, gateway_vip=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.reset.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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 = {} + if gateway_vip is not None: + query_parameters['gatewayVip'] = self._serialize.query("gateway_vip", gateway_vip, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def reset( + self, resource_group_name, virtual_network_gateway_name, gateway_vip=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Resets the primary of the virtual network gateway in the specified + resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param gateway_vip: Virtual network gateway vip address supplied to + the begin reset of the active-active feature enabled gateway. + :type gateway_vip: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetworkGateway + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkGateway]] + :raises: :class:`CloudError` + """ + raw_result = self._reset_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + gateway_vip=gateway_vip, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + reset.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset'} + + + def _generatevpnclientpackage_initial( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.generatevpnclientpackage.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'VpnClientParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def generatevpnclientpackage( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Generates VPN client package for P2S client of the virtual network + gateway in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param parameters: Parameters supplied to the generate virtual network + gateway VPN client package operation. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.VpnClientParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns str or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] + :raises: :class:`CloudError` + """ + raw_result = self._generatevpnclientpackage_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + generatevpnclientpackage.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage'} + + + def _generate_vpn_profile_initial( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.generate_vpn_profile.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'VpnClientParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def generate_vpn_profile( + self, resource_group_name, virtual_network_gateway_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Generates VPN profile for P2S client of the virtual network gateway in + the specified resource group. Used for IKEV2 and radius based + authentication. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param parameters: Parameters supplied to the generate virtual network + gateway VPN client package operation. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.VpnClientParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns str or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] + :raises: :class:`CloudError` + """ + raw_result = self._generate_vpn_profile_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + generate_vpn_profile.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile'} + + + def _get_vpn_profile_package_url_initial( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_vpn_profile_package_url.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_vpn_profile_package_url( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Gets pre-generated VPN profile for P2S client of the virtual network + gateway in the specified resource group. The profile needs to be + generated first using generateVpnProfile. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns str or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[str] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[str]] + :raises: :class:`CloudError` + """ + raw_result = self._get_vpn_profile_package_url_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_vpn_profile_package_url.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl'} + + + def _get_bgp_peer_status_initial( + self, resource_group_name, virtual_network_gateway_name, peer=None, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_bgp_peer_status.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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 = {} + if peer is not None: + query_parameters['peer'] = self._serialize.query("peer", peer, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('BgpPeerStatusListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_bgp_peer_status( + self, resource_group_name, virtual_network_gateway_name, peer=None, custom_headers=None, raw=False, polling=True, **operation_config): + """The GetBgpPeerStatus operation retrieves the status of all BGP peers. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param peer: The IP address of the peer to retrieve the status of. + :type peer: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns BgpPeerStatusListResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.BgpPeerStatusListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.BgpPeerStatusListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_bgp_peer_status_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + peer=peer, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('BgpPeerStatusListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_bgp_peer_status.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus'} + + def supported_vpn_devices( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + """Gets a xml format representation for supported vpn devices. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_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: str or ClientRawResponse if raw=true + :rtype: str or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.supported_vpn_devices.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + supported_vpn_devices.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices'} + + + def _get_learned_routes_initial( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_learned_routes.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('GatewayRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_learned_routes( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """This operation retrieves a list of routes the virtual network gateway + has learned, including routes learned from BGP peers. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GatewayRouteListResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.GatewayRouteListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.GatewayRouteListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_learned_routes_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GatewayRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_learned_routes.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes'} + + + def _get_advertised_routes_initial( + self, resource_group_name, virtual_network_gateway_name, peer, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_advertised_routes.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['peer'] = self._serialize.query("peer", peer, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('GatewayRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_advertised_routes( + self, resource_group_name, virtual_network_gateway_name, peer, custom_headers=None, raw=False, polling=True, **operation_config): + """This operation retrieves a list of routes the virtual network gateway + is advertising to the specified peer. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param peer: The IP address of the peer + :type peer: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns GatewayRouteListResult + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.GatewayRouteListResult] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.GatewayRouteListResult]] + :raises: :class:`CloudError` + """ + raw_result = self._get_advertised_routes_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + peer=peer, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('GatewayRouteListResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_advertised_routes.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes'} + + + def _set_vpnclient_ipsec_parameters_initial( + self, resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.set_vpnclient_ipsec_parameters.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(vpnclient_ipsec_params, 'VpnClientIPsecParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + 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('VpnClientIPsecParameters', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def set_vpnclient_ipsec_parameters( + self, resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers=None, raw=False, polling=True, **operation_config): + """The Set VpnclientIpsecParameters operation sets the vpnclient ipsec + policy for P2S client of virtual network gateway in the specified + resource group through Network resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The name of the virtual network + gateway. + :type virtual_network_gateway_name: str + :param vpnclient_ipsec_params: Parameters supplied to the Begin Set + vpnclient ipsec parameters of Virtual Network Gateway P2S client + operation through Network resource provider. + :type vpnclient_ipsec_params: + ~azure.mgmt.network.v2018_06_01.models.VpnClientIPsecParameters + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VpnClientIPsecParameters or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.VpnClientIPsecParameters] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.VpnClientIPsecParameters]] + :raises: :class:`CloudError` + """ + raw_result = self._set_vpnclient_ipsec_parameters_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + vpnclient_ipsec_params=vpnclient_ipsec_params, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnClientIPsecParameters', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + set_vpnclient_ipsec_parameters.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters'} + + + def _get_vpnclient_ipsec_parameters_initial( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.get_vpnclient_ipsec_parameters.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayName': self._serialize.url("virtual_network_gateway_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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.post(url, query_parameters) + response = self._client.send(request, header_parameters, 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('VpnClientIPsecParameters', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def get_vpnclient_ipsec_parameters( + self, resource_group_name, virtual_network_gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """The Get VpnclientIpsecParameters operation retrieves information about + the vpnclient ipsec policy for P2S client of virtual network gateway in + the specified resource group through Network resource provider. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_name: The virtual network gateway name. + :type virtual_network_gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns + VpnClientIPsecParameters or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.VpnClientIPsecParameters] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.VpnClientIPsecParameters]] + :raises: :class:`CloudError` + """ + raw_result = self._get_vpnclient_ipsec_parameters_initial( + resource_group_name=resource_group_name, + virtual_network_gateway_name=virtual_network_gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnClientIPsecParameters', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + get_vpnclient_ipsec_parameters.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters'} + + def vpn_device_configuration_script( + self, resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers=None, raw=False, **operation_config): + """Gets a xml format representation for vpn device configuration script. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_gateway_connection_name: The name of the + virtual network gateway connection for which the configuration script + is generated. + :type virtual_network_gateway_connection_name: str + :param parameters: Parameters supplied to the generate vpn device + script operation. + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.VpnDeviceScriptParameters + :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: str or ClientRawResponse if raw=true + :rtype: str or ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.vpn_device_configuration_script.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkGatewayConnectionName': self._serialize.url("virtual_network_gateway_connection_name", virtual_network_gateway_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'VpnDeviceScriptParameters') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('str', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + vpn_device_configuration_script.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/virtual_network_peerings_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/virtual_network_peerings_operations.py new file mode 100644 index 000000000000..3de52572e382 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/virtual_network_peerings_operations.py @@ -0,0 +1,370 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualNetworkPeeringsOperations(object): + """VirtualNetworkPeeringsOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_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') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified virtual network peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param virtual_network_peering_name: The name of the virtual network + peering. + :type virtual_network_peering_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + virtual_network_peering_name=virtual_network_peering_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} + + def get( + self, resource_group_name, virtual_network_name, virtual_network_peering_name, custom_headers=None, raw=False, **operation_config): + """Gets the specified virtual network peering. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param virtual_network_peering_name: The name of the virtual network + peering. + :type virtual_network_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: VirtualNetworkPeering or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkPeering + 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'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_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') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('VirtualNetworkPeering', 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/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_network_name, virtual_network_peering_name, virtual_network_peering_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_name, 'str'), + 'virtualNetworkPeeringName': self._serialize.url("virtual_network_peering_name", virtual_network_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') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(virtual_network_peering_parameters, 'VirtualNetworkPeering') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('VirtualNetworkPeering', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetworkPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_network_name, virtual_network_peering_name, virtual_network_peering_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a peering in the specified virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param virtual_network_peering_name: The name of the peering. + :type virtual_network_peering_name: str + :param virtual_network_peering_parameters: Parameters supplied to the + create or update virtual network peering operation. + :type virtual_network_peering_parameters: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkPeering + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetworkPeering + or ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkPeering] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkPeering]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + virtual_network_peering_name=virtual_network_peering_name, + virtual_network_peering_parameters=virtual_network_peering_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetworkPeering', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings/{virtualNetworkPeeringName}'} + + def list( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): + """Gets all virtual network peerings in a virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_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 VirtualNetworkPeering + :rtype: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkPeeringPaged[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkPeering] + :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'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.VirtualNetworkPeeringPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualNetworkPeeringPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/virtualNetworkPeerings'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/virtual_networks_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/virtual_networks_operations.py new file mode 100644 index 000000000000..0ea20346b933 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/virtual_networks_operations.py @@ -0,0 +1,663 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualNetworksOperations(object): + """VirtualNetworksOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _delete_initial( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + exp = CloudError(response) + exp.request_id = response.headers.get('x-ms-request-id') + raise exp + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes the specified virtual network. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: :class:`CloudError` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} + + def get( + self, resource_group_name, virtual_network_name, expand=None, custom_headers=None, raw=False, **operation_config): + """Gets the specified virtual network by resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param expand: Expands referenced resources. + :type expand: 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: VirtualNetwork or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.VirtualNetwork 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'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_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') + if expand is not None: + query_parameters['$expand'] = self._serialize.query("expand", expand, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('VirtualNetwork', 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/virtualNetworks/{virtualNetworkName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_network_name, parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'VirtualNetwork') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + 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('VirtualNetwork', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualNetwork', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_network_name, parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates or updates a virtual network in the specified resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param parameters: Parameters supplied to the create or update virtual + network operation + :type parameters: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetwork + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetwork or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.VirtualNetwork] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.VirtualNetwork]] + :raises: :class:`CloudError` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + parameters=parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetwork', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} + + + def _update_tags_initial( + self, resource_group_name, virtual_network_name, tags=None, custom_headers=None, raw=False, **operation_config): + parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, 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('VirtualNetwork', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, virtual_network_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a virtual network tags. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualNetwork or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.VirtualNetwork] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.VirtualNetwork]] + :raises: :class:`CloudError` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + virtual_network_name=virtual_network_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualNetwork', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}'} + + def list_all( + self, custom_headers=None, raw=False, **operation_config): + """Gets all virtual networks in a subscription. + + :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 VirtualNetwork + :rtype: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkPaged[~azure.mgmt.network.v2018_06_01.models.VirtualNetwork] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_all.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_all.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualNetworks'} + + def list( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Gets all virtual networks in a resource group. + + :param resource_group_name: The name of the resource group. + :type resource_group_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 VirtualNetwork + :rtype: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkPaged[~azure.mgmt.network.v2018_06_01.models.VirtualNetwork] + :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'), + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualNetworkPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks'} + + def check_ip_address_availability( + self, resource_group_name, virtual_network_name, ip_address=None, custom_headers=None, raw=False, **operation_config): + """Checks whether a private IP address is available for use. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_name: str + :param ip_address: The private IP address to be verified. + :type ip_address: 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: IPAddressAvailabilityResult or ClientRawResponse if raw=true + :rtype: + ~azure.mgmt.network.v2018_06_01.models.IPAddressAvailabilityResult or + ~msrest.pipeline.ClientRawResponse + :raises: :class:`CloudError` + """ + # Construct URL + url = self.check_ip_address_availability.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_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 = {} + if ip_address is not None: + query_parameters['ipAddress'] = self._serialize.query("ip_address", ip_address, 'str') + query_parameters['api-version'] = self._serialize.query("self.api_version", self.api_version, 'str') + + # Construct headers + header_parameters = {} + header_parameters['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, 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('IPAddressAvailabilityResult', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + check_ip_address_availability.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/CheckIPAddressAvailability'} + + def list_usage( + self, resource_group_name, virtual_network_name, custom_headers=None, raw=False, **operation_config): + """Lists usage stats. + + :param resource_group_name: The name of the resource group. + :type resource_group_name: str + :param virtual_network_name: The name of the virtual network. + :type virtual_network_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 VirtualNetworkUsage + :rtype: + ~azure.mgmt.network.v2018_06_01.models.VirtualNetworkUsagePaged[~azure.mgmt.network.v2018_06_01.models.VirtualNetworkUsage] + :raises: :class:`CloudError` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_usage.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualNetworkName': self._serialize.url("virtual_network_name", virtual_network_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, 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.VirtualNetworkUsagePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualNetworkUsagePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_usage.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/{virtualNetworkName}/usages'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/virtual_wa_ns_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/virtual_wa_ns_operations.py new file mode 100644 index 000000000000..c81e1c990792 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/virtual_wa_ns_operations.py @@ -0,0 +1,518 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VirtualWANsOperations(object): + """VirtualWANsOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def get( + self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a VirtualWAN. + + :param resource_group_name: The resource group name of the VirtualWan. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN being retrieved. + :type virtual_wan_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: VirtualWAN or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.VirtualWAN or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualWAN', 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/virtualWans/{VirtualWANName}'} + + + def _create_or_update_initial( + self, resource_group_name, virtual_wan_name, wan_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(wan_parameters, 'VirtualWAN') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualWAN', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualWAN', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, virtual_wan_name, wan_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a VirtualWAN resource if it doesn't exist else updates the + existing VirtualWAN. + + :param resource_group_name: The resource group name of the VirtualWan. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN being created or + updated. + :type virtual_wan_name: str + :param wan_parameters: Parameters supplied to create or update + VirtualWAN. + :type wan_parameters: + ~azure.mgmt.network.v2018_06_01.models.VirtualWAN + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualWAN or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.VirtualWAN] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.VirtualWAN]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + virtual_wan_name=virtual_wan_name, + wan_parameters=wan_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualWAN', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} + + + def _update_tags_initial( + self, resource_group_name, virtual_wan_name, tags=None, custom_headers=None, raw=False, **operation_config): + wan_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(wan_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VirtualWAN', response) + if response.status_code == 201: + deserialized = self._deserialize('VirtualWAN', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, virtual_wan_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates a VirtualWAN tags. + + :param resource_group_name: The resource group name of the VirtualWan. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN being updated. + :type virtual_wan_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VirtualWAN or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.VirtualWAN] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.VirtualWAN]] + :raises: + :class:`ErrorException` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + virtual_wan_name=virtual_wan_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VirtualWAN', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} + + + def _delete_initial( + self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'VirtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, virtual_wan_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a VirtualWAN. + + :param resource_group_name: The resource group name of the VirtualWan. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN being deleted. + :type virtual_wan_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + virtual_wan_name=virtual_wan_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{VirtualWANName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the VirtualWANs in a resource group. + + :param resource_group_name: The resource group name of the VirtualWan. + :type resource_group_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 VirtualWAN + :rtype: + ~azure.mgmt.network.v2018_06_01.models.VirtualWANPaged[~azure.mgmt.network.v2018_06_01.models.VirtualWAN] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VirtualWANPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualWANPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the VirtualWANs in a subscription. + + :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 VirtualWAN + :rtype: + ~azure.mgmt.network.v2018_06_01.models.VirtualWANPaged[~azure.mgmt.network.v2018_06_01.models.VirtualWAN] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VirtualWANPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VirtualWANPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/virtualWans'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/vpn_connections_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/vpn_connections_operations.py new file mode 100644 index 000000000000..297625ca0aac --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/vpn_connections_operations.py @@ -0,0 +1,364 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VpnConnectionsOperations(object): + """VpnConnectionsOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def get( + self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a vpn connection. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param connection_name: The name of the vpn 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: VpnConnection or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.VpnConnection or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VpnConnection', 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/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} + + + def _create_or_update_initial( + self, resource_group_name, gateway_name, connection_name, vpn_connection_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(vpn_connection_parameters, 'VpnConnection') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VpnConnection', response) + if response.status_code == 201: + deserialized = self._deserialize('VpnConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, gateway_name, connection_name, vpn_connection_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a vpn connection to a scalable vpn gateway if it doesn't exist + else updates the existing connection. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param connection_name: The name of the connection. + :type connection_name: str + :param vpn_connection_parameters: Parameters supplied to create or + Update a VPN Connection. + :type vpn_connection_parameters: + ~azure.mgmt.network.v2018_06_01.models.VpnConnection + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnConnection or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.VpnConnection] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.VpnConnection]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + connection_name=connection_name, + vpn_connection_parameters=vpn_connection_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnConnection', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} + + + def _delete_initial( + self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, 'str'), + 'connectionName': self._serialize.url("connection_name", connection_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, gateway_name, connection_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a vpn connection. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param connection_name: The name of the connection. + :type connection_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + connection_name=connection_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections/{connectionName}'} + + def list_by_vpn_gateway( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): + """Retrieves all vpn connections for a particular virtual wan vpn gateway. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_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 VpnConnection + :rtype: + ~azure.mgmt.network.v2018_06_01.models.VpnConnectionPaged[~azure.mgmt.network.v2018_06_01.models.VpnConnection] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_vpn_gateway.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VpnConnectionPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VpnConnectionPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_vpn_gateway.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}/vpnConnections'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/vpn_gateways_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/vpn_gateways_operations.py new file mode 100644 index 000000000000..6fcba9a49a7a --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/vpn_gateways_operations.py @@ -0,0 +1,517 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VpnGatewaysOperations(object): + """VpnGatewaysOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def get( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a virtual wan vpn gateway. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_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: VpnGateway or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.VpnGateway or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VpnGateway', 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/vpnGateways/{gatewayName}'} + + + def _create_or_update_initial( + self, resource_group_name, gateway_name, vpn_gateway_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(vpn_gateway_parameters, 'VpnGateway') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VpnGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('VpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, gateway_name, vpn_gateway_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a virtual wan vpn gateway if it doesn't exist else updates the + existing gateway. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param vpn_gateway_parameters: Parameters supplied to create or Update + a virtual wan vpn gateway. + :type vpn_gateway_parameters: + ~azure.mgmt.network.v2018_06_01.models.VpnGateway + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.VpnGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.VpnGateway]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + vpn_gateway_parameters=vpn_gateway_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} + + + def _update_tags_initial( + self, resource_group_name, gateway_name, tags=None, custom_headers=None, raw=False, **operation_config): + vpn_gateway_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(vpn_gateway_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VpnGateway', response) + if response.status_code == 201: + deserialized = self._deserialize('VpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, gateway_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates virtual wan vpn gateway tags. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnGateway or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.VpnGateway] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.VpnGateway]] + :raises: + :class:`ErrorException` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnGateway', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} + + + def _delete_initial( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'gatewayName': self._serialize.url("gateway_name", gateway_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, gateway_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a virtual wan vpn gateway. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_name: str + :param gateway_name: The name of the gateway. + :type gateway_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + gateway_name=gateway_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways/{gatewayName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the VpnGateways in a resource group. + + :param resource_group_name: The resource group name of the VpnGateway. + :type resource_group_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 VpnGateway + :rtype: + ~azure.mgmt.network.v2018_06_01.models.VpnGatewayPaged[~azure.mgmt.network.v2018_06_01.models.VpnGateway] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VpnGatewayPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnGateways'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the VpnGateways in a subscription. + + :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 VpnGateway + :rtype: + ~azure.mgmt.network.v2018_06_01.models.VpnGatewayPaged[~azure.mgmt.network.v2018_06_01.models.VpnGateway] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VpnGatewayPaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VpnGatewayPaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnGateways'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/vpn_sites_configuration_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/vpn_sites_configuration_operations.py new file mode 100644 index 000000000000..a06314b15e75 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/vpn_sites_configuration_operations.py @@ -0,0 +1,135 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VpnSitesConfigurationOperations(object): + """VpnSitesConfigurationOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + + def _download_initial( + self, resource_group_name, virtual_wan_name, vpn_sites=None, output_blob_sas_url=None, custom_headers=None, raw=False, **operation_config): + request = models.GetVpnSitesConfigurationRequest(vpn_sites=vpn_sites, output_blob_sas_url=output_blob_sas_url) + + # Construct URL + url = self.download.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'virtualWANName': self._serialize.url("virtual_wan_name", virtual_wan_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(request, 'GetVpnSitesConfigurationRequest') + + # Construct and send request + request = self._client.post(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 202]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def download( + self, resource_group_name, virtual_wan_name, vpn_sites=None, output_blob_sas_url=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Gives the sas-url to download the configurations for vpn-sites in a + resource group. + + :param resource_group_name: The resource group name. + :type resource_group_name: str + :param virtual_wan_name: The name of the VirtualWAN for which + configuration of all vpn-sites is needed. + :type virtual_wan_name: str + :param vpn_sites: List of resource-ids of the vpn-sites for which + config is to be downloaded. + :type vpn_sites: + list[~azure.mgmt.network.v2018_06_01.models.SubResource] + :param output_blob_sas_url: The sas-url to download the configurations + for vpn-sites + :type output_blob_sas_url: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._download_initial( + resource_group_name=resource_group_name, + virtual_wan_name=virtual_wan_name, + vpn_sites=vpn_sites, + output_blob_sas_url=output_blob_sas_url, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + download.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualWans/{virtualWANName}/vpnConfiguration'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/vpn_sites_operations.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/vpn_sites_operations.py new file mode 100644 index 000000000000..ead73f1dfb65 --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/operations/vpn_sites_operations.py @@ -0,0 +1,518 @@ +# 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 msrest.polling import LROPoller, NoPolling +from msrestazure.polling.arm_polling import ARMPolling + +from .. import models + + +class VpnSitesOperations(object): + """VpnSitesOperations 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-06-01". + """ + + models = models + + def __init__(self, client, config, serializer, deserializer): + + self._client = client + self._serialize = serializer + self._deserialize = deserializer + self.api_version = "2018-06-01" + + self.config = config + + def get( + self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, **operation_config): + """Retrieves the details of a VPNsite. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param vpn_site_name: The name of the VpnSite being retrieved. + :type vpn_site_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: VpnSite or ClientRawResponse if raw=true + :rtype: ~azure.mgmt.network.v2018_06_01.models.VpnSite or + ~msrest.pipeline.ClientRawResponse + :raises: + :class:`ErrorException` + """ + # Construct URL + url = self.get.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VpnSite', 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/vpnSites/{vpnSiteName}'} + + + def _create_or_update_initial( + self, resource_group_name, vpn_site_name, vpn_site_parameters, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.create_or_update.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(vpn_site_parameters, 'VpnSite') + + # Construct and send request + request = self._client.put(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VpnSite', response) + if response.status_code == 201: + deserialized = self._deserialize('VpnSite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def create_or_update( + self, resource_group_name, vpn_site_name, vpn_site_parameters, custom_headers=None, raw=False, polling=True, **operation_config): + """Creates a VpnSite resource if it doesn't exist else updates the + existing VpnSite. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param vpn_site_name: The name of the VpnSite being created or + updated. + :type vpn_site_name: str + :param vpn_site_parameters: Parameters supplied to create or update + VpnSite. + :type vpn_site_parameters: + ~azure.mgmt.network.v2018_06_01.models.VpnSite + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnSite or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.VpnSite] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.VpnSite]] + :raises: + :class:`ErrorException` + """ + raw_result = self._create_or_update_initial( + resource_group_name=resource_group_name, + vpn_site_name=vpn_site_name, + vpn_site_parameters=vpn_site_parameters, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnSite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + create_or_update.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} + + + def _update_tags_initial( + self, resource_group_name, vpn_site_name, tags=None, custom_headers=None, raw=False, **operation_config): + vpn_site_parameters = models.TagsObject(tags=tags) + + # Construct URL + url = self.update_tags.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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 body + body_content = self._serialize.body(vpn_site_parameters, 'TagsObject') + + # Construct and send request + request = self._client.patch(url, query_parameters) + response = self._client.send( + request, header_parameters, body_content, stream=False, **operation_config) + + if response.status_code not in [200, 201]: + raise models.ErrorException(self._deserialize, response) + + deserialized = None + + if response.status_code == 200: + deserialized = self._deserialize('VpnSite', response) + if response.status_code == 201: + deserialized = self._deserialize('VpnSite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + def update_tags( + self, resource_group_name, vpn_site_name, tags=None, custom_headers=None, raw=False, polling=True, **operation_config): + """Updates VpnSite tags. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param vpn_site_name: The name of the VpnSite being updated. + :type vpn_site_name: str + :param tags: Resource tags. + :type tags: dict[str, str] + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns VpnSite or + ClientRawResponse if raw==True + :rtype: + ~msrestazure.azure_operation.AzureOperationPoller[~azure.mgmt.network.v2018_06_01.models.VpnSite] + or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[~azure.mgmt.network.v2018_06_01.models.VpnSite]] + :raises: + :class:`ErrorException` + """ + raw_result = self._update_tags_initial( + resource_group_name=resource_group_name, + vpn_site_name=vpn_site_name, + tags=tags, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + deserialized = self._deserialize('VpnSite', response) + + if raw: + client_raw_response = ClientRawResponse(deserialized, response) + return client_raw_response + + return deserialized + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + update_tags.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} + + + def _delete_initial( + self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, **operation_config): + # Construct URL + url = self.delete.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, 'str'), + 'vpnSiteName': self._serialize.url("vpn_site_name", vpn_site_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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.delete(url, query_parameters) + response = self._client.send(request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200, 202, 204]: + raise models.ErrorException(self._deserialize, response) + + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + def delete( + self, resource_group_name, vpn_site_name, custom_headers=None, raw=False, polling=True, **operation_config): + """Deletes a VpnSite. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_name: str + :param vpn_site_name: The name of the VpnSite being deleted. + :type vpn_site_name: str + :param dict custom_headers: headers that will be added to the request + :param bool raw: The poller return type is ClientRawResponse, the + direct response alongside the deserialized response + :param polling: True for ARMPolling, False for no polling, or a + polling object for personal polling strategy + :return: An instance of LROPoller that returns None or + ClientRawResponse if raw==True + :rtype: ~msrestazure.azure_operation.AzureOperationPoller[None] or + ~msrestazure.azure_operation.AzureOperationPoller[~msrest.pipeline.ClientRawResponse[None]] + :raises: + :class:`ErrorException` + """ + raw_result = self._delete_initial( + resource_group_name=resource_group_name, + vpn_site_name=vpn_site_name, + custom_headers=custom_headers, + raw=True, + **operation_config + ) + + def get_long_running_output(response): + if raw: + client_raw_response = ClientRawResponse(None, response) + return client_raw_response + + lro_delay = operation_config.get( + 'long_running_operation_timeout', + self.config.long_running_operation_timeout) + if polling is True: polling_method = ARMPolling(lro_delay, **operation_config) + elif polling is False: polling_method = NoPolling() + else: polling_method = polling + return LROPoller(self._client, raw_result, get_long_running_output, polling_method) + delete.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites/{vpnSiteName}'} + + def list_by_resource_group( + self, resource_group_name, custom_headers=None, raw=False, **operation_config): + """Lists all the vpnSites in a resource group. + + :param resource_group_name: The resource group name of the VpnSite. + :type resource_group_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 VpnSite + :rtype: + ~azure.mgmt.network.v2018_06_01.models.VpnSitePaged[~azure.mgmt.network.v2018_06_01.models.VpnSite] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list_by_resource_group.metadata['url'] + path_format_arguments = { + 'subscriptionId': self._serialize.url("self.config.subscription_id", self.config.subscription_id, 'str'), + 'resourceGroupName': self._serialize.url("resource_group_name", resource_group_name, '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VpnSitePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VpnSitePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list_by_resource_group.metadata = {'url': '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/vpnSites'} + + def list( + self, custom_headers=None, raw=False, **operation_config): + """Lists all the VpnSites in a subscription. + + :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 VpnSite + :rtype: + ~azure.mgmt.network.v2018_06_01.models.VpnSitePaged[~azure.mgmt.network.v2018_06_01.models.VpnSite] + :raises: + :class:`ErrorException` + """ + def internal_paging(next_link=None, raw=False): + + if not next_link: + # Construct URL + url = self.list.metadata['url'] + path_format_arguments = { + '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['Content-Type'] = 'application/json; charset=utf-8' + 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) + response = self._client.send( + request, header_parameters, stream=False, **operation_config) + + if response.status_code not in [200]: + raise models.ErrorException(self._deserialize, response) + + return response + + # Deserialize response + deserialized = models.VpnSitePaged(internal_paging, self._deserialize.dependencies) + + if raw: + header_dict = {} + client_raw_response = models.VpnSitePaged(internal_paging, self._deserialize.dependencies, header_dict) + return client_raw_response + + return deserialized + list.metadata = {'url': '/subscriptions/{subscriptionId}/providers/Microsoft.Network/vpnSites'} diff --git a/azure-mgmt-network/azure/mgmt/network/v2018_06_01/version.py b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/version.py new file mode 100644 index 000000000000..53a203f32aaf --- /dev/null +++ b/azure-mgmt-network/azure/mgmt/network/v2018_06_01/version.py @@ -0,0 +1,13 @@ +# 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. +# -------------------------------------------------------------------------- + +VERSION = "" + diff --git a/azure-mgmt-network/azure/mgmt/network/version.py b/azure-mgmt-network/azure/mgmt/network/version.py index b9304b9e9eb4..88729157c488 100644 --- a/azure-mgmt-network/azure/mgmt/network/version.py +++ b/azure-mgmt-network/azure/mgmt/network/version.py @@ -5,4 +5,4 @@ # license information. # -------------------------------------------------------------------------- -VERSION = "2.0.0rc3" +VERSION = "2.0.0" diff --git a/azure-mgmt-network/build.json b/azure-mgmt-network/build.json deleted file mode 100644 index 5ed8f54bc9e3..000000000000 --- a/azure-mgmt-network/build.json +++ /dev/null @@ -1,666 +0,0 @@ -{ - "autorest": [ - { - "resolvedInfo": null, - "packageMetadata": { - "name": "@microsoft.azure/autorest-core", - "version": "2.0.4228", - "engines": { - "node": ">=7.10.0" - }, - "dependencies": {}, - "optionalDependencies": {}, - "devDependencies": { - "@types/commonmark": "^0.27.0", - "@types/js-yaml": "^3.10.0", - "@types/jsonpath": "^0.1.29", - "@types/node": "^8.0.53", - "@types/source-map": "^0.5.0", - "@types/yargs": "^8.0.2", - "@types/z-schema": "^3.16.31", - "dts-generator": "^2.1.0", - "mocha": "^4.0.1", - "mocha-typescript": "^1.1.7", - "shx": "0.2.2", - "static-link": "^0.2.3", - "vscode-jsonrpc": "^3.3.1" - }, - "bundleDependencies": false, - "peerDependencies": {}, - "deprecated": false, - "_resolved": "C:/Users/lmazuel/.autorest/@microsoft.azure_autorest-core@2.0.4228/node_modules/@microsoft.azure/autorest-core", - "_shasum": "b3897b8615417aa07cf9113d4bd18862b32f82f8", - "_shrinkwrap": null, - "bin": { - "autorest-core": "./dist/app.js", - "autorest-language-service": "dist/language-service/language-service.js" - }, - "_id": "@microsoft.azure/autorest-core@2.0.4228", - "_from": "file:C:/Users/lmazuel/.autorest/@microsoft.azure_autorest-core@2.0.4228/node_modules/@microsoft.azure/autorest-core", - "_requested": { - "type": "directory", - "where": "C:\\Users\\lmazuel\\Git\\swagger-to-sdk", - "raw": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest-core@2.0.4228\\node_modules\\@microsoft.azure\\autorest-core", - "rawSpec": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest-core@2.0.4228\\node_modules\\@microsoft.azure\\autorest-core", - "saveSpec": "file:C:/Users/lmazuel/.autorest/@microsoft.azure_autorest-core@2.0.4228/node_modules/@microsoft.azure/autorest-core", - "fetchSpec": "C:/Users/lmazuel/.autorest/@microsoft.azure_autorest-core@2.0.4228/node_modules/@microsoft.azure/autorest-core" - }, - "_spec": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest-core@2.0.4228\\node_modules\\@microsoft.azure\\autorest-core", - "_where": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest-core@2.0.4228\\node_modules\\@microsoft.azure\\autorest-core" - }, - "extensionManager": { - "installationPath": "C:\\Users\\lmazuel\\.autorest", - "sharedLock": { - "name": "C:\\Users\\lmazuel\\.autorest", - "exclusiveLock": { - "name": "C__Users_lmazuel_.autorest.exclusive-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.exclusive-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.exclusive-lock", - "exclusive": true - } - }, - "busyLock": { - "name": "C__Users_lmazuel_.autorest.busy-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.busy-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.busy-lock", - "exclusive": true - } - }, - "personalLock": { - "name": "C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "exclusive": true - } - }, - "file": "C:\\Users\\lmazuel\\AppData\\Local\\Temp/C__Users_lmazuel_.autorest.lock" - }, - "dotnetPath": "C:\\Users\\lmazuel\\.dotnet" - }, - "installationPath": "C:\\Users\\lmazuel\\.autorest" - }, - { - "resolvedInfo": null, - "packageMetadata": { - "name": "@microsoft.azure/autorest-core", - "version": "2.0.4230", - "engines": { - "node": ">=7.10.0" - }, - "dependencies": {}, - "optionalDependencies": {}, - "devDependencies": { - "@types/commonmark": "^0.27.0", - "@types/js-yaml": "^3.10.0", - "@types/jsonpath": "^0.1.29", - "@types/node": "^8.0.53", - "@types/source-map": "0.5.0", - "@types/yargs": "^8.0.2", - "@types/z-schema": "^3.16.31", - "dts-generator": "^2.1.0", - "mocha": "^4.0.1", - "mocha-typescript": "^1.1.7", - "shx": "0.2.2", - "static-link": "^0.2.3", - "vscode-jsonrpc": "^3.3.1" - }, - "bundleDependencies": false, - "peerDependencies": {}, - "deprecated": false, - "_resolved": "C:/Users/lmazuel/.autorest/@microsoft.azure_autorest-core@2.0.4230/node_modules/@microsoft.azure/autorest-core", - "_shasum": "3c9b387fbe18ce3a54b68bc0c24ddb0a4c850f25", - "_shrinkwrap": null, - "bin": { - "autorest-core": "./dist/app.js", - "autorest-language-service": "dist/language-service/language-service.js" - }, - "_id": "@microsoft.azure/autorest-core@2.0.4230", - "_from": "file:C:/Users/lmazuel/.autorest/@microsoft.azure_autorest-core@2.0.4230/node_modules/@microsoft.azure/autorest-core", - "_requested": { - "type": "directory", - "where": "C:\\Users\\lmazuel\\Git\\swagger-to-sdk", - "raw": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest-core@2.0.4230\\node_modules\\@microsoft.azure\\autorest-core", - "rawSpec": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest-core@2.0.4230\\node_modules\\@microsoft.azure\\autorest-core", - "saveSpec": "file:C:/Users/lmazuel/.autorest/@microsoft.azure_autorest-core@2.0.4230/node_modules/@microsoft.azure/autorest-core", - "fetchSpec": "C:/Users/lmazuel/.autorest/@microsoft.azure_autorest-core@2.0.4230/node_modules/@microsoft.azure/autorest-core" - }, - "_spec": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest-core@2.0.4230\\node_modules\\@microsoft.azure\\autorest-core", - "_where": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest-core@2.0.4230\\node_modules\\@microsoft.azure\\autorest-core" - }, - "extensionManager": { - "installationPath": "C:\\Users\\lmazuel\\.autorest", - "sharedLock": { - "name": "C:\\Users\\lmazuel\\.autorest", - "exclusiveLock": { - "name": "C__Users_lmazuel_.autorest.exclusive-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.exclusive-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.exclusive-lock", - "exclusive": true - } - }, - "busyLock": { - "name": "C__Users_lmazuel_.autorest.busy-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.busy-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.busy-lock", - "exclusive": true - } - }, - "personalLock": { - "name": "C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "exclusive": true - } - }, - "file": "C:\\Users\\lmazuel\\AppData\\Local\\Temp/C__Users_lmazuel_.autorest.lock" - }, - "dotnetPath": "C:\\Users\\lmazuel\\.dotnet" - }, - "installationPath": "C:\\Users\\lmazuel\\.autorest" - }, - { - "resolvedInfo": null, - "packageMetadata": { - "name": "@microsoft.azure/autorest-core", - "version": "2.0.4231", - "engines": { - "node": ">=7.10.0" - }, - "dependencies": {}, - "optionalDependencies": {}, - "devDependencies": { - "@types/commonmark": "^0.27.0", - "@types/js-yaml": "^3.10.0", - "@types/jsonpath": "^0.1.29", - "@types/node": "^8.0.53", - "@types/source-map": "0.5.0", - "@types/yargs": "^8.0.2", - "@types/z-schema": "^3.16.31", - "dts-generator": "^2.1.0", - "mocha": "^4.0.1", - "mocha-typescript": "^1.1.7", - "shx": "0.2.2", - "static-link": "^0.2.3", - "vscode-jsonrpc": "^3.3.1" - }, - "bundleDependencies": false, - "peerDependencies": {}, - "deprecated": false, - "_resolved": "C:/Users/lmazuel/.autorest/@microsoft.azure_autorest-core@2.0.4231/node_modules/@microsoft.azure/autorest-core", - "_shasum": "fa1b2b50cdd91bec9f04542420c3056eda202b87", - "_shrinkwrap": null, - "bin": { - "autorest-core": "./dist/app.js", - "autorest-language-service": "dist/language-service/language-service.js" - }, - "_id": "@microsoft.azure/autorest-core@2.0.4231", - "_from": "file:C:/Users/lmazuel/.autorest/@microsoft.azure_autorest-core@2.0.4231/node_modules/@microsoft.azure/autorest-core", - "_requested": { - "type": "directory", - "where": "C:\\Users\\lmazuel\\Git\\swagger-to-sdk", - "raw": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest-core@2.0.4231\\node_modules\\@microsoft.azure\\autorest-core", - "rawSpec": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest-core@2.0.4231\\node_modules\\@microsoft.azure\\autorest-core", - "saveSpec": "file:C:/Users/lmazuel/.autorest/@microsoft.azure_autorest-core@2.0.4231/node_modules/@microsoft.azure/autorest-core", - "fetchSpec": "C:/Users/lmazuel/.autorest/@microsoft.azure_autorest-core@2.0.4231/node_modules/@microsoft.azure/autorest-core" - }, - "_spec": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest-core@2.0.4231\\node_modules\\@microsoft.azure\\autorest-core", - "_where": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest-core@2.0.4231\\node_modules\\@microsoft.azure\\autorest-core" - }, - "extensionManager": { - "installationPath": "C:\\Users\\lmazuel\\.autorest", - "sharedLock": { - "name": "C:\\Users\\lmazuel\\.autorest", - "exclusiveLock": { - "name": "C__Users_lmazuel_.autorest.exclusive-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.exclusive-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.exclusive-lock", - "exclusive": true - } - }, - "busyLock": { - "name": "C__Users_lmazuel_.autorest.busy-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.busy-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.busy-lock", - "exclusive": true - } - }, - "personalLock": { - "name": "C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "exclusive": true - } - }, - "file": "C:\\Users\\lmazuel\\AppData\\Local\\Temp/C__Users_lmazuel_.autorest.lock" - }, - "dotnetPath": "C:\\Users\\lmazuel\\.dotnet" - }, - "installationPath": "C:\\Users\\lmazuel\\.autorest" - }, - { - "resolvedInfo": null, - "packageMetadata": { - "name": "@microsoft.azure/autorest-core", - "version": "2.0.4233", - "engines": { - "node": ">=7.10.0" - }, - "dependencies": {}, - "optionalDependencies": {}, - "devDependencies": { - "@types/commonmark": "^0.27.0", - "@types/js-yaml": "^3.10.0", - "@types/jsonpath": "^0.1.29", - "@types/node": "^8.0.53", - "@types/source-map": "0.5.0", - "@types/yargs": "^8.0.2", - "@types/z-schema": "^3.16.31", - "dts-generator": "^2.1.0", - "mocha": "^4.0.1", - "mocha-typescript": "^1.1.7", - "shx": "0.2.2", - "static-link": "^0.2.3", - "vscode-jsonrpc": "^3.3.1" - }, - "bundleDependencies": false, - "peerDependencies": {}, - "deprecated": false, - "_resolved": "C:/Users/lmazuel/.autorest/@microsoft.azure_autorest-core@2.0.4233/node_modules/@microsoft.azure/autorest-core", - "_shasum": "85ef8a9fc8065e67218f273a658455739c7dcd4d", - "_shrinkwrap": null, - "bin": { - "autorest-core": "./dist/app.js", - "autorest-language-service": "dist/language-service/language-service.js" - }, - "_id": "@microsoft.azure/autorest-core@2.0.4233", - "_from": "file:C:/Users/lmazuel/.autorest/@microsoft.azure_autorest-core@2.0.4233/node_modules/@microsoft.azure/autorest-core", - "_requested": { - "type": "directory", - "where": "C:\\Users\\lmazuel\\Git\\swagger-to-sdk", - "raw": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest-core@2.0.4233\\node_modules\\@microsoft.azure\\autorest-core", - "rawSpec": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest-core@2.0.4233\\node_modules\\@microsoft.azure\\autorest-core", - "saveSpec": "file:C:/Users/lmazuel/.autorest/@microsoft.azure_autorest-core@2.0.4233/node_modules/@microsoft.azure/autorest-core", - "fetchSpec": "C:/Users/lmazuel/.autorest/@microsoft.azure_autorest-core@2.0.4233/node_modules/@microsoft.azure/autorest-core" - }, - "_spec": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest-core@2.0.4233\\node_modules\\@microsoft.azure\\autorest-core", - "_where": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest-core@2.0.4233\\node_modules\\@microsoft.azure\\autorest-core" - }, - "extensionManager": { - "installationPath": "C:\\Users\\lmazuel\\.autorest", - "sharedLock": { - "name": "C:\\Users\\lmazuel\\.autorest", - "exclusiveLock": { - "name": "C__Users_lmazuel_.autorest.exclusive-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.exclusive-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.exclusive-lock", - "exclusive": true - } - }, - "busyLock": { - "name": "C__Users_lmazuel_.autorest.busy-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.busy-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.busy-lock", - "exclusive": true - } - }, - "personalLock": { - "name": "C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "exclusive": true - } - }, - "file": "C:\\Users\\lmazuel\\AppData\\Local\\Temp/C__Users_lmazuel_.autorest.lock" - }, - "dotnetPath": "C:\\Users\\lmazuel\\.dotnet" - }, - "installationPath": "C:\\Users\\lmazuel\\.autorest" - }, - { - "resolvedInfo": null, - "packageMetadata": { - "name": "@microsoft.azure/autorest-core", - "version": "2.0.4235", - "engines": { - "node": ">=7.10.0" - }, - "dependencies": {}, - "optionalDependencies": {}, - "devDependencies": { - "@types/commonmark": "^0.27.0", - "@types/js-yaml": "^3.10.0", - "@types/jsonpath": "^0.1.29", - "@types/node": "^8.0.53", - "@types/source-map": "0.5.0", - "@types/yargs": "^8.0.2", - "@types/z-schema": "^3.16.31", - "dts-generator": "^2.1.0", - "mocha": "^4.0.1", - "mocha-typescript": "^1.1.7", - "shx": "0.2.2", - "static-link": "^0.2.3", - "vscode-jsonrpc": "^3.3.1" - }, - "bundleDependencies": false, - "peerDependencies": {}, - "deprecated": false, - "_resolved": "C:/Users/lmazuel/.autorest/@microsoft.azure_autorest-core@2.0.4235/node_modules/@microsoft.azure/autorest-core", - "_shasum": "9139fd4763f79db103b22c077dab96452a54b7fe", - "_shrinkwrap": null, - "bin": { - "autorest-core": "./dist/app.js", - "autorest-language-service": "dist/language-service/language-service.js" - }, - "_id": "@microsoft.azure/autorest-core@2.0.4235", - "_from": "file:C:/Users/lmazuel/.autorest/@microsoft.azure_autorest-core@2.0.4235/node_modules/@microsoft.azure/autorest-core", - "_requested": { - "type": "directory", - "where": "C:\\Users\\lmazuel\\Git\\swagger-to-sdk", - "raw": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest-core@2.0.4235\\node_modules\\@microsoft.azure\\autorest-core", - "rawSpec": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest-core@2.0.4235\\node_modules\\@microsoft.azure\\autorest-core", - "saveSpec": "file:C:/Users/lmazuel/.autorest/@microsoft.azure_autorest-core@2.0.4235/node_modules/@microsoft.azure/autorest-core", - "fetchSpec": "C:/Users/lmazuel/.autorest/@microsoft.azure_autorest-core@2.0.4235/node_modules/@microsoft.azure/autorest-core" - }, - "_spec": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest-core@2.0.4235\\node_modules\\@microsoft.azure\\autorest-core", - "_where": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest-core@2.0.4235\\node_modules\\@microsoft.azure\\autorest-core" - }, - "extensionManager": { - "installationPath": "C:\\Users\\lmazuel\\.autorest", - "sharedLock": { - "name": "C:\\Users\\lmazuel\\.autorest", - "exclusiveLock": { - "name": "C__Users_lmazuel_.autorest.exclusive-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.exclusive-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.exclusive-lock", - "exclusive": true - } - }, - "busyLock": { - "name": "C__Users_lmazuel_.autorest.busy-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.busy-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.busy-lock", - "exclusive": true - } - }, - "personalLock": { - "name": "C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "exclusive": true - } - }, - "file": "C:\\Users\\lmazuel\\AppData\\Local\\Temp/C__Users_lmazuel_.autorest.lock" - }, - "dotnetPath": "C:\\Users\\lmazuel\\.dotnet" - }, - "installationPath": "C:\\Users\\lmazuel\\.autorest" - }, - { - "resolvedInfo": null, - "packageMetadata": { - "name": "@microsoft.azure/autorest.modeler", - "version": "2.3.38", - "dependencies": { - "dotnet-2.0.0": "^1.4.4" - }, - "optionalDependencies": {}, - "devDependencies": { - "@microsoft.azure/autorest.testserver": "2.3.1", - "autorest": "^2.0.4201", - "coffee-script": "^1.11.1", - "dotnet-sdk-2.0.0": "^1.4.4", - "gulp": "^3.9.1", - "gulp-filter": "^5.0.0", - "gulp-line-ending-corrector": "^1.0.1", - "iced-coffee-script": "^108.0.11", - "marked": "^0.3.6", - "marked-terminal": "^2.0.0", - "moment": "^2.17.1", - "run-sequence": "*", - "shx": "^0.2.2", - "through2-parallel": "^0.1.3", - "yargs": "^8.0.2", - "yarn": "^1.0.2" - }, - "bundleDependencies": false, - "peerDependencies": {}, - "deprecated": false, - "_resolved": "C:/Users/lmazuel/.autorest/@microsoft.azure_autorest.modeler@2.3.38/node_modules/@microsoft.azure/autorest.modeler", - "_shasum": "903bb77932e4ed1b8bc3b25cc39b167143494f6c", - "_shrinkwrap": null, - "bin": null, - "_id": "@microsoft.azure/autorest.modeler@2.3.38", - "_from": "file:C:/Users/lmazuel/.autorest/@microsoft.azure_autorest.modeler@2.3.38/node_modules/@microsoft.azure/autorest.modeler", - "_requested": { - "type": "directory", - "where": "C:\\Users\\lmazuel\\Git\\swagger-to-sdk", - "raw": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest.modeler@2.3.38\\node_modules\\@microsoft.azure\\autorest.modeler", - "rawSpec": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest.modeler@2.3.38\\node_modules\\@microsoft.azure\\autorest.modeler", - "saveSpec": "file:C:/Users/lmazuel/.autorest/@microsoft.azure_autorest.modeler@2.3.38/node_modules/@microsoft.azure/autorest.modeler", - "fetchSpec": "C:/Users/lmazuel/.autorest/@microsoft.azure_autorest.modeler@2.3.38/node_modules/@microsoft.azure/autorest.modeler" - }, - "_spec": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest.modeler@2.3.38\\node_modules\\@microsoft.azure\\autorest.modeler", - "_where": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest.modeler@2.3.38\\node_modules\\@microsoft.azure\\autorest.modeler" - }, - "extensionManager": { - "installationPath": "C:\\Users\\lmazuel\\.autorest", - "sharedLock": { - "name": "C:\\Users\\lmazuel\\.autorest", - "exclusiveLock": { - "name": "C__Users_lmazuel_.autorest.exclusive-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.exclusive-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.exclusive-lock", - "exclusive": true - } - }, - "busyLock": { - "name": "C__Users_lmazuel_.autorest.busy-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.busy-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.busy-lock", - "exclusive": true - } - }, - "personalLock": { - "name": "C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "exclusive": true - } - }, - "file": "C:\\Users\\lmazuel\\AppData\\Local\\Temp/C__Users_lmazuel_.autorest.lock" - }, - "dotnetPath": "C:\\Users\\lmazuel\\.dotnet" - }, - "installationPath": "C:\\Users\\lmazuel\\.autorest" - }, - { - "resolvedInfo": null, - "packageMetadata": { - "name": "@microsoft.azure/autorest.modeler", - "version": "2.3.44", - "dependencies": { - "dotnet-2.0.0": "^1.4.4" - }, - "optionalDependencies": {}, - "devDependencies": { - "@microsoft.azure/autorest.testserver": "2.3.17", - "autorest": "^2.0.4225", - "coffee-script": "^1.11.1", - "dotnet-sdk-2.0.0": "^1.4.4", - "gulp": "^3.9.1", - "gulp-filter": "^5.0.0", - "gulp-line-ending-corrector": "^1.0.1", - "iced-coffee-script": "^108.0.11", - "marked": "^0.3.6", - "marked-terminal": "^2.0.0", - "moment": "^2.17.1", - "run-sequence": "*", - "shx": "^0.2.2", - "through2-parallel": "^0.1.3", - "yargs": "^8.0.2", - "yarn": "^1.0.2" - }, - "bundleDependencies": false, - "peerDependencies": {}, - "deprecated": false, - "_resolved": "C:/Users/lmazuel/.autorest/@microsoft.azure_autorest.modeler@2.3.44/node_modules/@microsoft.azure/autorest.modeler", - "_shasum": "9b5a880a77467be33a77f002f03230d3ccc21266", - "_shrinkwrap": null, - "bin": null, - "_id": "@microsoft.azure/autorest.modeler@2.3.44", - "_from": "file:C:/Users/lmazuel/.autorest/@microsoft.azure_autorest.modeler@2.3.44/node_modules/@microsoft.azure/autorest.modeler", - "_requested": { - "type": "directory", - "where": "C:\\Users\\lmazuel\\Git\\swagger-to-sdk", - "raw": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest.modeler@2.3.44\\node_modules\\@microsoft.azure\\autorest.modeler", - "rawSpec": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest.modeler@2.3.44\\node_modules\\@microsoft.azure\\autorest.modeler", - "saveSpec": "file:C:/Users/lmazuel/.autorest/@microsoft.azure_autorest.modeler@2.3.44/node_modules/@microsoft.azure/autorest.modeler", - "fetchSpec": "C:/Users/lmazuel/.autorest/@microsoft.azure_autorest.modeler@2.3.44/node_modules/@microsoft.azure/autorest.modeler" - }, - "_spec": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest.modeler@2.3.44\\node_modules\\@microsoft.azure\\autorest.modeler", - "_where": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest.modeler@2.3.44\\node_modules\\@microsoft.azure\\autorest.modeler" - }, - "extensionManager": { - "installationPath": "C:\\Users\\lmazuel\\.autorest", - "sharedLock": { - "name": "C:\\Users\\lmazuel\\.autorest", - "exclusiveLock": { - "name": "C__Users_lmazuel_.autorest.exclusive-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.exclusive-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.exclusive-lock", - "exclusive": true - } - }, - "busyLock": { - "name": "C__Users_lmazuel_.autorest.busy-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.busy-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.busy-lock", - "exclusive": true - } - }, - "personalLock": { - "name": "C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "exclusive": true - } - }, - "file": "C:\\Users\\lmazuel\\AppData\\Local\\Temp/C__Users_lmazuel_.autorest.lock" - }, - "dotnetPath": "C:\\Users\\lmazuel\\.dotnet" - }, - "installationPath": "C:\\Users\\lmazuel\\.autorest" - }, - { - "resolvedInfo": null, - "packageMetadata": { - "name": "@microsoft.azure/autorest.python", - "version": "2.1.34", - "dependencies": { - "dotnet-2.0.0": "^1.4.4" - }, - "optionalDependencies": {}, - "devDependencies": { - "@microsoft.azure/autorest.testserver": "^2.3.13", - "autorest": "^2.0.4203", - "coffee-script": "^1.11.1", - "dotnet-sdk-2.0.0": "^1.4.4", - "gulp": "^3.9.1", - "gulp-filter": "^5.0.0", - "gulp-line-ending-corrector": "^1.0.1", - "iced-coffee-script": "^108.0.11", - "marked": "^0.3.6", - "marked-terminal": "^2.0.0", - "moment": "^2.17.1", - "run-sequence": "*", - "shx": "^0.2.2", - "through2-parallel": "^0.1.3", - "yargs": "^8.0.2", - "yarn": "^1.0.2" - }, - "bundleDependencies": false, - "peerDependencies": {}, - "deprecated": false, - "_resolved": "C:/Users/lmazuel/.autorest/@microsoft.azure_autorest.python@2.1.34/node_modules/@microsoft.azure/autorest.python", - "_shasum": "b58d7e0542e081cf410fdbcdf8c14acf9cee16a7", - "_shrinkwrap": null, - "bin": null, - "_id": "@microsoft.azure/autorest.python@2.1.34", - "_from": "file:C:/Users/lmazuel/.autorest/@microsoft.azure_autorest.python@2.1.34/node_modules/@microsoft.azure/autorest.python", - "_requested": { - "type": "directory", - "where": "C:\\Users\\lmazuel\\Git\\swagger-to-sdk", - "raw": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest.python@2.1.34\\node_modules\\@microsoft.azure\\autorest.python", - "rawSpec": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest.python@2.1.34\\node_modules\\@microsoft.azure\\autorest.python", - "saveSpec": "file:C:/Users/lmazuel/.autorest/@microsoft.azure_autorest.python@2.1.34/node_modules/@microsoft.azure/autorest.python", - "fetchSpec": "C:/Users/lmazuel/.autorest/@microsoft.azure_autorest.python@2.1.34/node_modules/@microsoft.azure/autorest.python" - }, - "_spec": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest.python@2.1.34\\node_modules\\@microsoft.azure\\autorest.python", - "_where": "C:\\Users\\lmazuel\\.autorest\\@microsoft.azure_autorest.python@2.1.34\\node_modules\\@microsoft.azure\\autorest.python" - }, - "extensionManager": { - "installationPath": "C:\\Users\\lmazuel\\.autorest", - "sharedLock": { - "name": "C:\\Users\\lmazuel\\.autorest", - "exclusiveLock": { - "name": "C__Users_lmazuel_.autorest.exclusive-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.exclusive-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.exclusive-lock", - "exclusive": true - } - }, - "busyLock": { - "name": "C__Users_lmazuel_.autorest.busy-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.busy-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.busy-lock", - "exclusive": true - } - }, - "personalLock": { - "name": "C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "pipe": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "options": { - "path": "\\\\.\\pipe\\C__Users_lmazuel_.autorest.9673.438551901978.personal-lock", - "exclusive": true - } - }, - "file": "C:\\Users\\lmazuel\\AppData\\Local\\Temp/C__Users_lmazuel_.autorest.lock" - }, - "dotnetPath": "C:\\Users\\lmazuel\\.dotnet" - }, - "installationPath": "C:\\Users\\lmazuel\\.autorest" - } - ], - "autorest_bootstrap": { - "dependencies": { - "autorest": { - "version": "2.0.4215", - "from": "autorest", - "resolved": "https://registry.npmjs.org/autorest/-/autorest-2.0.4215.tgz" - } - } - } -} \ No newline at end of file diff --git a/azure-mgmt-network/sdk_packaging.toml b/azure-mgmt-network/sdk_packaging.toml new file mode 100644 index 000000000000..b10361d18683 --- /dev/null +++ b/azure-mgmt-network/sdk_packaging.toml @@ -0,0 +1,6 @@ +[packaging] +package_name = "azure-mgmt-network" +package_pprint_name = "Network Management" +package_doc_id = "network" +is_stable = true +is_arm = true diff --git a/azure-mgmt-network/setup.py b/azure-mgmt-network/setup.py index 3cb84c4e65a2..7f14edea803c 100644 --- a/azure-mgmt-network/setup.py +++ b/azure-mgmt-network/setup.py @@ -72,12 +72,13 @@ 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', 'License :: OSI Approved :: MIT License', ], zip_safe=False, packages=find_packages(exclude=["tests"]), install_requires=[ - 'msrestazure>=0.4.20,<2.0.0', + 'msrestazure>=0.4.32,<2.0.0', 'azure-common~=1.1,>=1.1.9', ], cmdclass=cmdclass diff --git a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_dns_availability.yaml b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_dns_availability.yaml index 86b6251d9d1c..e8a3ed6e57d4 100644 --- a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_dns_availability.yaml +++ b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_dns_availability.yaml @@ -6,18 +6,18 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 azure-mgmt-network/ Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 azure-mgmt-network/ Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/CheckDnsNameAvailability?domainNameLabel=pydomain&api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/CheckDnsNameAvailability?domainNameLabel=pydomain&api-version=2018-06-01 response: body: {string: "{\r\n \"available\": true\r\n}"} headers: cache-control: [no-cache] content-length: ['25'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:37:48 GMT'] + date: ['Fri, 27 Jul 2018 22:43:50 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] diff --git a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_express_route_circuit.yaml b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_express_route_circuit.yaml index fe367415e06e..7927b8a8c9eb 100644 --- a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_express_route_circuit.yaml +++ b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_express_route_circuit.yaml @@ -14,7 +14,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyexpressroute9edf1275\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275\"\ ,\r\n \"etag\": \"W/\\\"e45e8601-d726-44e8-9f37-f8d05f38500b\\\"\",\r\n \ @@ -30,7 +30,7 @@ interactions: ,\r\n \"tier\": \"Standard\",\r\n \"family\": \"MeteredData\"\r\n }\r\ \n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8654ca36-0995-46b9-a618-d34e5cafa714?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8654ca36-0995-46b9-a618-d34e5cafa714?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['1012'] content-type: [application/json; charset=utf-8] @@ -52,7 +52,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8654ca36-0995-46b9-a618-d34e5cafa714?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8654ca36-0995-46b9-a618-d34e5cafa714?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: @@ -78,7 +78,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8654ca36-0995-46b9-a618-d34e5cafa714?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8654ca36-0995-46b9-a618-d34e5cafa714?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: @@ -104,7 +104,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8654ca36-0995-46b9-a618-d34e5cafa714?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8654ca36-0995-46b9-a618-d34e5cafa714?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: @@ -130,7 +130,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8654ca36-0995-46b9-a618-d34e5cafa714?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8654ca36-0995-46b9-a618-d34e5cafa714?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: @@ -156,7 +156,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyexpressroute9edf1275\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275\"\ ,\r\n \"etag\": \"W/\\\"1176d85a-23a9-4ec0-8157-e66d45408679\\\"\",\r\n \ @@ -194,7 +194,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyexpressroute9edf1275\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275\"\ ,\r\n \"etag\": \"W/\\\"1176d85a-23a9-4ec0-8157-e66d45408679\\\"\",\r\n \ @@ -232,7 +232,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits?api-version=2018-06-01 response: body: {string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"pyexpressroute9edf1275\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275\"\ @@ -272,7 +272,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/expressRouteCircuits?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/expressRouteCircuits?api-version=2018-06-01 response: body: {string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"pyexpressroute9edf1275\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275\"\ @@ -312,7 +312,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/stats?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/stats?api-version=2018-06-01 response: body: {string: "{\r\n \"primaryBytesIn\": 0,\r\n \"primaryBytesOut\": 0,\r\n\ \ \"secondaryBytesIn\": 0,\r\n \"secondaryBytesOut\": 0\r\n}"} @@ -342,7 +342,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/peerings/AzurePublicPeering?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/peerings/AzurePublicPeering?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"AzurePublicPeering\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/peerings/AzurePublicPeering\"\ ,\r\n \"etag\": \"W/\\\"bcba0098-3521-41f7-83f3-b7967647936e\\\"\",\r\n \ @@ -352,7 +352,7 @@ interactions: secondaryPeerAddressPrefix\": \"192.168.2.0/30\",\r\n \"state\": \"Disabled\"\ ,\r\n \"vlanId\": 200,\r\n \"lastModifiedBy\": \"\"\r\n }\r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ae94f24d-c8ef-49b3-8904-d514e533a0a5?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ae94f24d-c8ef-49b3-8904-d514e533a0a5?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['647'] content-type: [application/json; charset=utf-8] @@ -374,7 +374,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ae94f24d-c8ef-49b3-8904-d514e533a0a5?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ae94f24d-c8ef-49b3-8904-d514e533a0a5?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: @@ -400,7 +400,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ae94f24d-c8ef-49b3-8904-d514e533a0a5?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ae94f24d-c8ef-49b3-8904-d514e533a0a5?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: @@ -426,7 +426,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ae94f24d-c8ef-49b3-8904-d514e533a0a5?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ae94f24d-c8ef-49b3-8904-d514e533a0a5?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: @@ -452,7 +452,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ae94f24d-c8ef-49b3-8904-d514e533a0a5?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ae94f24d-c8ef-49b3-8904-d514e533a0a5?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: @@ -478,7 +478,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/peerings/AzurePublicPeering?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/peerings/AzurePublicPeering?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"AzurePublicPeering\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/peerings/AzurePublicPeering\"\ ,\r\n \"etag\": \"W/\\\"a1d88954-a07c-4229-b9bb-06a57aed803d\\\"\",\r\n \ @@ -512,7 +512,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/peerings/AzurePublicPeering?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/peerings/AzurePublicPeering?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"AzurePublicPeering\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/peerings/AzurePublicPeering\"\ ,\r\n \"etag\": \"W/\\\"a1d88954-a07c-4229-b9bb-06a57aed803d\\\"\",\r\n \ @@ -546,7 +546,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/peerings?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/peerings?api-version=2018-06-01 response: body: {string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"AzurePublicPeering\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/peerings/AzurePublicPeering\"\ @@ -583,7 +583,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/peerings/AzurePublicPeering/stats?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/peerings/AzurePublicPeering/stats?api-version=2018-06-01 response: body: {string: "{\r\n \"primaryBytesIn\": 0,\r\n \"primaryBytesOut\": 0,\r\n\ \ \"secondaryBytesIn\": 0,\r\n \"secondaryBytesOut\": 0\r\n}"} @@ -611,7 +611,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/authorizations/pyauth9edf1275?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/authorizations/pyauth9edf1275?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyauth9edf1275\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/authorizations/pyauth9edf1275\"\ ,\r\n \"etag\": \"W/\\\"4d1b174e-fdf9-4278-ba2c-348d65396d5d\\\"\",\r\n \ @@ -619,7 +619,7 @@ interactions: authorizationKey\": \"0b6299d1-471b-4a53-ae3a-4eeb523afe1d\",\r\n \"authorizationUseStatus\"\ : \"Available\"\r\n }\r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/a6995436-4e09-46aa-ae7b-cddc6cc19116?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/a6995436-4e09-46aa-ae7b-cddc6cc19116?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['494'] content-type: [application/json; charset=utf-8] @@ -641,7 +641,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/a6995436-4e09-46aa-ae7b-cddc6cc19116?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/a6995436-4e09-46aa-ae7b-cddc6cc19116?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: @@ -667,7 +667,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/authorizations/pyauth9edf1275?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/authorizations/pyauth9edf1275?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyauth9edf1275\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/authorizations/pyauth9edf1275\"\ ,\r\n \"etag\": \"W/\\\"e0eb9954-486c-4b4d-a8d5-e778ad032634\\\"\",\r\n \ @@ -697,7 +697,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/authorizations/pyauth9edf1275?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/authorizations/pyauth9edf1275?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyauth9edf1275\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/authorizations/pyauth9edf1275\"\ ,\r\n \"etag\": \"W/\\\"e0eb9954-486c-4b4d-a8d5-e778ad032634\\\"\",\r\n \ @@ -727,7 +727,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/authorizations?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/authorizations?api-version=2018-06-01 response: body: {string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"pyauth9edf1275\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/authorizations/pyauth9edf1275\"\ @@ -760,16 +760,16 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/authorizations/pyauth9edf1275?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/authorizations/pyauth9edf1275?api-version=2018-06-01 response: body: {string: ''} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/d6c026c3-a5d4-4048-b8b4-bc33320a024f?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/d6c026c3-a5d4-4048-b8b4-bc33320a024f?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['0'] date: ['Fri, 15 Sep 2017 23:22:30 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/d6c026c3-a5d4-4048-b8b4-bc33320a024f?api-version=2018-02-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/d6c026c3-a5d4-4048-b8b4-bc33320a024f?api-version=2018-06-01'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] strict-transport-security: [max-age=31536000; includeSubDomains] @@ -786,7 +786,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/d6c026c3-a5d4-4048-b8b4-bc33320a024f?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/d6c026c3-a5d4-4048-b8b4-bc33320a024f?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: @@ -812,7 +812,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/d6c026c3-a5d4-4048-b8b4-bc33320a024f?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/d6c026c3-a5d4-4048-b8b4-bc33320a024f?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: @@ -839,16 +839,16 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/peerings/AzurePublicPeering?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275/peerings/AzurePublicPeering?api-version=2018-06-01 response: body: {string: ''} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/734817e0-55ca-4c38-81eb-3a1cb76b07c3?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/734817e0-55ca-4c38-81eb-3a1cb76b07c3?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['0'] date: ['Fri, 15 Sep 2017 23:22:52 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/734817e0-55ca-4c38-81eb-3a1cb76b07c3?api-version=2018-02-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/734817e0-55ca-4c38-81eb-3a1cb76b07c3?api-version=2018-06-01'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] strict-transport-security: [max-age=31536000; includeSubDomains] @@ -865,7 +865,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/734817e0-55ca-4c38-81eb-3a1cb76b07c3?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/734817e0-55ca-4c38-81eb-3a1cb76b07c3?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: @@ -891,7 +891,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/734817e0-55ca-4c38-81eb-3a1cb76b07c3?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/734817e0-55ca-4c38-81eb-3a1cb76b07c3?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: @@ -917,7 +917,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/734817e0-55ca-4c38-81eb-3a1cb76b07c3?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/734817e0-55ca-4c38-81eb-3a1cb76b07c3?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: @@ -943,7 +943,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/734817e0-55ca-4c38-81eb-3a1cb76b07c3?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/734817e0-55ca-4c38-81eb-3a1cb76b07c3?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: @@ -970,16 +970,16 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_express_route_circuit9edf1275/providers/Microsoft.Network/expressRouteCircuits/pyexpressroute9edf1275?api-version=2018-06-01 response: body: {string: ''} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c1a50917-5e2c-4512-b9ee-b90c331142ec?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c1a50917-5e2c-4512-b9ee-b90c331142ec?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['0'] date: ['Fri, 15 Sep 2017 23:23:34 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/c1a50917-5e2c-4512-b9ee-b90c331142ec?api-version=2018-02-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/c1a50917-5e2c-4512-b9ee-b90c331142ec?api-version=2018-06-01'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] strict-transport-security: [max-age=31536000; includeSubDomains] @@ -996,7 +996,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c1a50917-5e2c-4512-b9ee-b90c331142ec?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c1a50917-5e2c-4512-b9ee-b90c331142ec?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: @@ -1022,7 +1022,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c1a50917-5e2c-4512-b9ee-b90c331142ec?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c1a50917-5e2c-4512-b9ee-b90c331142ec?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: @@ -1048,7 +1048,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c1a50917-5e2c-4512-b9ee-b90c331142ec?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c1a50917-5e2c-4512-b9ee-b90c331142ec?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: @@ -1074,7 +1074,7 @@ interactions: msrest_azure/0.4.11 networkmanagementclient/1.4.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c1a50917-5e2c-4512-b9ee-b90c331142ec?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c1a50917-5e2c-4512-b9ee-b90c331142ec?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: diff --git a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_express_route_service_providers.yaml b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_express_route_service_providers.yaml index 2c6d811c7e56..023a2774fc97 100644 --- a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_express_route_service_providers.yaml +++ b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_express_route_service_providers.yaml @@ -6,14 +6,32 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/expressRouteServiceProviders?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/expressRouteServiceProviders?api-version=2018-06-01 response: - body: {string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"AT&T Netbond\ - \ Test\",\r\n \"id\": \"/subscriptions//resourceGroups//providers/Microsoft.Network/expressRouteServiceProviders/\"\ + body: {string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"ARM Test Provider\"\ + ,\r\n \"id\": \"/subscriptions//resourceGroups//providers/Microsoft.Network/expressRouteServiceProviders/\"\ + ,\r\n \"type\": \"Microsoft.Network/expressRouteServiceProviders\",\r\ + \n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"peeringLocations\": [\r\n \"Area51\",\r\n \ + \ \"Denver Test\",\r\n \"EUAP Test\"\r\n ],\r\n \"\ + bandwidthsOffered\": [\r\n {\r\n \"offerName\": \"50Mbps\"\ + ,\r\n \"valueInMbps\": 50\r\n },\r\n {\r\n \ + \ \"offerName\": \"100Mbps\",\r\n \"valueInMbps\": 100\r\ + \n },\r\n {\r\n \"offerName\": \"200Mbps\",\r\ + \n \"valueInMbps\": 200\r\n },\r\n {\r\n \ + \ \"offerName\": \"500Mbps\",\r\n \"valueInMbps\": 500\r\ + \n },\r\n {\r\n \"offerName\": \"1Gbps\",\r\n\ + \ \"valueInMbps\": 1000\r\n },\r\n {\r\n \ + \ \"offerName\": \"2Gbps\",\r\n \"valueInMbps\": 2000\r\n\ + \ },\r\n {\r\n \"offerName\": \"5Gbps\",\r\n\ + \ \"valueInMbps\": 5000\r\n },\r\n {\r\n \ + \ \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\ + \n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\"\ + : \"AT&T Netbond Test\",\r\n \"id\": \"/subscriptions//resourceGroups//providers/Microsoft.Network/expressRouteServiceProviders/\"\ ,\r\n \"type\": \"Microsoft.Network/expressRouteServiceProviders\",\r\ \n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"peeringLocations\": [\r\n \"Area51\",\r\n \ @@ -156,7 +174,25 @@ interactions: \ \"valueInMbps\": 5000\r\n },\r\n {\r\n \ \ \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\ \n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\"\ - : \"Interxion Test\",\r\n \"id\": \"/subscriptions//resourceGroups//providers/Microsoft.Network/expressRouteServiceProviders/\"\ + : \"Internet Solutions Test\",\r\n \"id\": \"/subscriptions//resourceGroups//providers/Microsoft.Network/expressRouteServiceProviders/\"\ + ,\r\n \"type\": \"Microsoft.Network/expressRouteServiceProviders\",\r\ + \n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"peeringLocations\": [\r\n \"Denver Test\"\r\n \ + \ ],\r\n \"bandwidthsOffered\": [\r\n {\r\n \ + \ \"offerName\": \"50Mbps\",\r\n \"valueInMbps\": 50\r\n \ + \ },\r\n {\r\n \"offerName\": \"100Mbps\",\r\n \ + \ \"valueInMbps\": 100\r\n },\r\n {\r\n \ + \ \"offerName\": \"200Mbps\",\r\n \"valueInMbps\": 200\r\n \ + \ },\r\n {\r\n \"offerName\": \"500Mbps\",\r\n\ + \ \"valueInMbps\": 500\r\n },\r\n {\r\n \ + \ \"offerName\": \"1Gbps\",\r\n \"valueInMbps\": 1000\r\n\ + \ },\r\n {\r\n \"offerName\": \"2Gbps\",\r\n\ + \ \"valueInMbps\": 2000\r\n },\r\n {\r\n \ + \ \"offerName\": \"5Gbps\",\r\n \"valueInMbps\": 5000\r\n\ + \ },\r\n {\r\n \"offerName\": \"10Gbps\",\r\n\ + \ \"valueInMbps\": 10000\r\n }\r\n ]\r\n }\r\ + \n },\r\n {\r\n \"name\": \"Interxion Test\",\r\n \"id\":\ + \ \"/subscriptions//resourceGroups//providers/Microsoft.Network/expressRouteServiceProviders/\"\ ,\r\n \"type\": \"Microsoft.Network/expressRouteServiceProviders\",\r\ \n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"peeringLocations\": [\r\n \"Area51\"\r\n ],\r\ @@ -224,7 +260,43 @@ interactions: \ \"valueInMbps\": 5000\r\n },\r\n {\r\n \ \ \"offerName\": \"10Gbps\",\r\n \"valueInMbps\": 10000\r\ \n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\"\ - : \"Test Provider With Charges\",\r\n \"id\": \"/subscriptions//resourceGroups//providers/Microsoft.Network/expressRouteServiceProviders/\"\ + : \"Telstra Test\",\r\n \"id\": \"/subscriptions//resourceGroups//providers/Microsoft.Network/expressRouteServiceProviders/\"\ + ,\r\n \"type\": \"Microsoft.Network/expressRouteServiceProviders\",\r\ + \n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"peeringLocations\": [\r\n \"Denver Test\"\r\n \ + \ ],\r\n \"bandwidthsOffered\": [\r\n {\r\n \ + \ \"offerName\": \"50Mbps\",\r\n \"valueInMbps\": 50\r\n \ + \ },\r\n {\r\n \"offerName\": \"100Mbps\",\r\n \ + \ \"valueInMbps\": 100\r\n },\r\n {\r\n \ + \ \"offerName\": \"200Mbps\",\r\n \"valueInMbps\": 200\r\n \ + \ },\r\n {\r\n \"offerName\": \"500Mbps\",\r\n\ + \ \"valueInMbps\": 500\r\n },\r\n {\r\n \ + \ \"offerName\": \"1Gbps\",\r\n \"valueInMbps\": 1000\r\n\ + \ },\r\n {\r\n \"offerName\": \"2Gbps\",\r\n\ + \ \"valueInMbps\": 2000\r\n },\r\n {\r\n \ + \ \"offerName\": \"5Gbps\",\r\n \"valueInMbps\": 5000\r\n\ + \ },\r\n {\r\n \"offerName\": \"10Gbps\",\r\n\ + \ \"valueInMbps\": 10000\r\n }\r\n ]\r\n }\r\ + \n },\r\n {\r\n \"name\": \"Test Provider NW\",\r\n \"id\"\ + : \"/subscriptions//resourceGroups//providers/Microsoft.Network/expressRouteServiceProviders/\"\ + ,\r\n \"type\": \"Microsoft.Network/expressRouteServiceProviders\",\r\ + \n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ + ,\r\n \"peeringLocations\": [\r\n \"Denver Test\"\r\n \ + \ ],\r\n \"bandwidthsOffered\": [\r\n {\r\n \ + \ \"offerName\": \"50Mbps\",\r\n \"valueInMbps\": 50\r\n \ + \ },\r\n {\r\n \"offerName\": \"100Mbps\",\r\n \ + \ \"valueInMbps\": 100\r\n },\r\n {\r\n \ + \ \"offerName\": \"200Mbps\",\r\n \"valueInMbps\": 200\r\n \ + \ },\r\n {\r\n \"offerName\": \"500Mbps\",\r\n\ + \ \"valueInMbps\": 500\r\n },\r\n {\r\n \ + \ \"offerName\": \"1Gbps\",\r\n \"valueInMbps\": 1000\r\n\ + \ },\r\n {\r\n \"offerName\": \"2Gbps\",\r\n\ + \ \"valueInMbps\": 2000\r\n },\r\n {\r\n \ + \ \"offerName\": \"5Gbps\",\r\n \"valueInMbps\": 5000\r\n\ + \ },\r\n {\r\n \"offerName\": \"10Gbps\",\r\n\ + \ \"valueInMbps\": 10000\r\n }\r\n ]\r\n }\r\ + \n },\r\n {\r\n \"name\": \"Test Provider With Charges\",\r\n \ + \ \"id\": \"/subscriptions//resourceGroups//providers/Microsoft.Network/expressRouteServiceProviders/\"\ ,\r\n \"type\": \"Microsoft.Network/expressRouteServiceProviders\",\r\ \n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"peeringLocations\": [\r\n \"Washington DC\"\r\n \ @@ -244,9 +316,9 @@ interactions: \n }\r\n ]\r\n}"} headers: cache-control: [no-cache] - content-length: ['15544'] + content-length: ['20273'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 20:58:10 GMT'] + date: ['Fri, 27 Jul 2018 22:44:15 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] diff --git a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_load_balancers.yaml b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_load_balancers.yaml index 01f9d2250479..98143205c58b 100644 --- a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_load_balancers.yaml +++ b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_load_balancers.yaml @@ -8,26 +8,26 @@ interactions: Connection: [keep-alive] Content-Length: ['103'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/publicIPAddresses/pyipname239e0f35?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/publicIPAddresses/pyipname239e0f35?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyipname239e0f35\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/publicIPAddresses/pyipname239e0f35\"\ - ,\r\n \"etag\": \"W/\\\"918e981b-d7cb-4271-8c18-5a91f5482183\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"6c1c40a6-d32f-4f82-adbb-315d138460f4\\\"\",\r\n \ \ \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\"\ - : \"Updating\",\r\n \"resourceGuid\": \"8f1ab7a8-e590-4dbd-99b0-bee4d9d0e26d\"\ + : \"Updating\",\r\n \"resourceGuid\": \"05152cae-d03b-4da9-a3c9-d54681cc1910\"\ ,\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\"\ : \"Static\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n\ \ },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\"\ : {\r\n \"name\": \"Basic\",\r\n \"tier\": \"Regional\"\r\n }\r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/45c84416-e061-42e1-bdaa-200559beadf0?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f0edee-39a2-4175-ae74-24ab204a91a6?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['674'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 20:58:25 GMT'] + date: ['Fri, 27 Jul 2018 22:44:21 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -41,17 +41,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/45c84416-e061-42e1-bdaa-200559beadf0?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f0edee-39a2-4175-ae74-24ab204a91a6?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 20:58:28 GMT'] + date: ['Fri, 27 Jul 2018 22:44:25 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -66,16 +66,16 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/publicIPAddresses/pyipname239e0f35?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/publicIPAddresses/pyipname239e0f35?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyipname239e0f35\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/publicIPAddresses/pyipname239e0f35\"\ - ,\r\n \"etag\": \"W/\\\"bd139900-df46-48ea-8903-286d865d00b6\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"fb9deb62-0593-48e2-a7a8-aa28be924ac1\\\"\",\r\n \ \ \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\"\ - : \"Succeeded\",\r\n \"resourceGuid\": \"8f1ab7a8-e590-4dbd-99b0-bee4d9d0e26d\"\ - ,\r\n \"ipAddress\": \"13.93.179.235\",\r\n \"publicIPAddressVersion\"\ + : \"Succeeded\",\r\n \"resourceGuid\": \"05152cae-d03b-4da9-a3c9-d54681cc1910\"\ + ,\r\n \"ipAddress\": \"40.118.145.73\",\r\n \"publicIPAddressVersion\"\ : \"IPv4\",\r\n \"publicIPAllocationMethod\": \"Static\",\r\n \"idleTimeoutInMinutes\"\ : 4,\r\n \"ipTags\": []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\"\ ,\r\n \"sku\": {\r\n \"name\": \"Basic\",\r\n \"tier\": \"Regional\"\ @@ -84,8 +84,8 @@ interactions: cache-control: [no-cache] content-length: ['710'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 20:58:29 GMT'] - etag: [W/"bd139900-df46-48ea-8903-286d865d00b6"] + date: ['Fri, 27 Jul 2018 22:44:26 GMT'] + etag: [W/"fb9deb62-0593-48e2-a7a8-aa28be924ac1"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -95,7 +95,7 @@ interactions: x-content-type-options: [nosniff] status: {code: 200, message: OK} - request: - body: 'b''b\''b\\\''{"location": "westus", "properties": {"frontendIPConfigurations": + body: 'b''b\''b\\\''b\\\\\\\''{"location": "westus", "properties": {"frontendIPConfigurations": [{"properties": {"privateIPAllocationMethod": "Dynamic", "publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/publicIPAddresses/pyipname239e0f35"}}, "name": "pyfipname239e0f35"}], "backendAddressPools": [{"name": "pyapname239e0f35"}], @@ -111,27 +111,27 @@ interactions: 4, "enableFloatingIP": false}, "name": "azure-sample-netrule1"}, {"properties": {"frontendIPConfiguration": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35"}, "protocol": "tcp", "frontendPort": 23, "backendPort": 22, "idleTimeoutInMinutes": - 4, "enableFloatingIP": false}, "name": "azure-sample-netrule2"}]}}\\\''\''''' + 4, "enableFloatingIP": false}, "name": "azure-sample-netrule2"}]}}\\\\\\\''\\\''\''''' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Length: ['2374'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pylbname239e0f35\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/loadBalancers\",\r\n \"location\": \"westus\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ - \ \"resourceGuid\": \"715c91b0-8cba-4fe1-b0ed-04d4611fd7f3\",\r\n \"\ + \ \"resourceGuid\": \"bbacd7d1-48e8-4a20-9bd0-e4cfee9daca8\",\r\n \"\ frontendIPConfigurations\": [\r\n {\r\n \"name\": \"pyfipname239e0f35\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"\ publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/publicIPAddresses/pyipname239e0f35\"\ @@ -143,14 +143,14 @@ interactions: \r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \ \ \"backendAddressPools\": [\r\n {\r\n \"name\": \"pyapname239e0f35\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/backendAddressPools/pyapname239e0f35\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"loadBalancingRules\": [\r\n {\r\n \ \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/loadBalancingRules/azure-sample-lb-rule\"\ \r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \ \ \"loadBalancingRules\": [\r\n {\r\n \"name\": \"azure-sample-lb-rule\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/loadBalancingRules/azure-sample-lb-rule\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"frontendIPConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35\"\ \r\n },\r\n \"frontendPort\": 80,\r\n \"backendPort\"\ @@ -162,7 +162,7 @@ interactions: \r\n }\r\n }\r\n }\r\n ],\r\n \"probes\": [\r\n\ \ {\r\n \"name\": \"pyprobename239e0f35\",\r\n \"id\":\ \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/probes/pyprobename239e0f35\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"protocol\": \"Http\",\r\n \"port\": 80,\r\n \ \ \"requestPath\": \"healthprobe.aspx\",\r\n \"intervalInSeconds\"\ @@ -171,7 +171,7 @@ interactions: \r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \ \ \"inboundNatRules\": [\r\n {\r\n \"name\": \"azure-sample-netrule1\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/inboundNatRules/azure-sample-netrule1\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"frontendIPConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35\"\ \r\n },\r\n \"frontendPort\": 21,\r\n \"backendPort\"\ @@ -179,21 +179,21 @@ interactions: : 4,\r\n \"protocol\": \"Tcp\",\r\n \"enableDestinationServiceEndpoint\"\ : false\r\n }\r\n },\r\n {\r\n \"name\": \"azure-sample-netrule2\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/inboundNatRules/azure-sample-netrule2\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"frontendIPConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35\"\ \r\n },\r\n \"frontendPort\": 23,\r\n \"backendPort\"\ : 22,\r\n \"enableFloatingIP\": false,\r\n \"idleTimeoutInMinutes\"\ : 4,\r\n \"protocol\": \"Tcp\",\r\n \"enableDestinationServiceEndpoint\"\ - : false\r\n }\r\n }\r\n ],\r\n \"outboundNatRules\": [],\r\ - \n \"inboundNatPools\": []\r\n },\r\n \"sku\": {\r\n \"name\": \"\ - Basic\",\r\n \"tier\": \"Regional\"\r\n }\r\n}"} + : false\r\n }\r\n }\r\n ],\r\n \"outboundRules\": [],\r\n\ + \ \"inboundNatPools\": []\r\n },\r\n \"sku\": {\r\n \"name\": \"Basic\"\ + ,\r\n \"tier\": \"Regional\"\r\n }\r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/bcda4369-6c65-4d86-b232-e40824d487fa?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f8545e70-6ed0-4808-8649-7389054c46f7?api-version=2018-06-01'] cache-control: [no-cache] - content-length: ['7425'] + content-length: ['7422'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 20:58:29 GMT'] + date: ['Fri, 27 Jul 2018 22:44:29 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -207,17 +207,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/bcda4369-6c65-4d86-b232-e40824d487fa?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f8545e70-6ed0-4808-8649-7389054c46f7?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 20:59:01 GMT'] + date: ['Fri, 27 Jul 2018 22:44:59 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -232,19 +232,19 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pylbname239e0f35\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/loadBalancers\",\r\n \"location\": \"westus\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ - \ \"resourceGuid\": \"715c91b0-8cba-4fe1-b0ed-04d4611fd7f3\",\r\n \"\ + \ \"resourceGuid\": \"bbacd7d1-48e8-4a20-9bd0-e4cfee9daca8\",\r\n \"\ frontendIPConfigurations\": [\r\n {\r\n \"name\": \"pyfipname239e0f35\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"\ publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/publicIPAddresses/pyipname239e0f35\"\ @@ -256,14 +256,14 @@ interactions: \r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \ \ \"backendAddressPools\": [\r\n {\r\n \"name\": \"pyapname239e0f35\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/backendAddressPools/pyapname239e0f35\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"loadBalancingRules\": [\r\n {\r\n \ \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/loadBalancingRules/azure-sample-lb-rule\"\ \r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \ \ \"loadBalancingRules\": [\r\n {\r\n \"name\": \"azure-sample-lb-rule\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/loadBalancingRules/azure-sample-lb-rule\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"frontendIPConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35\"\ \r\n },\r\n \"frontendPort\": 80,\r\n \"backendPort\"\ @@ -275,7 +275,7 @@ interactions: \r\n }\r\n }\r\n }\r\n ],\r\n \"probes\": [\r\n\ \ {\r\n \"name\": \"pyprobename239e0f35\",\r\n \"id\":\ \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/probes/pyprobename239e0f35\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"protocol\": \"Http\",\r\n \"port\": 80,\r\n \ \ \"requestPath\": \"healthprobe.aspx\",\r\n \"intervalInSeconds\"\ @@ -284,7 +284,7 @@ interactions: \r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \ \ \"inboundNatRules\": [\r\n {\r\n \"name\": \"azure-sample-netrule1\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/inboundNatRules/azure-sample-netrule1\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"frontendIPConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35\"\ \r\n },\r\n \"frontendPort\": 21,\r\n \"backendPort\"\ @@ -292,21 +292,21 @@ interactions: : 4,\r\n \"protocol\": \"Tcp\",\r\n \"enableDestinationServiceEndpoint\"\ : false\r\n }\r\n },\r\n {\r\n \"name\": \"azure-sample-netrule2\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/inboundNatRules/azure-sample-netrule2\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"frontendIPConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35\"\ \r\n },\r\n \"frontendPort\": 23,\r\n \"backendPort\"\ : 22,\r\n \"enableFloatingIP\": false,\r\n \"idleTimeoutInMinutes\"\ : 4,\r\n \"protocol\": \"Tcp\",\r\n \"enableDestinationServiceEndpoint\"\ - : false\r\n }\r\n }\r\n ],\r\n \"outboundNatRules\": [],\r\ - \n \"inboundNatPools\": []\r\n },\r\n \"sku\": {\r\n \"name\": \"\ - Basic\",\r\n \"tier\": \"Regional\"\r\n }\r\n}"} + : false\r\n }\r\n }\r\n ],\r\n \"outboundRules\": [],\r\n\ + \ \"inboundNatPools\": []\r\n },\r\n \"sku\": {\r\n \"name\": \"Basic\"\ + ,\r\n \"tier\": \"Regional\"\r\n }\r\n}"} headers: cache-control: [no-cache] - content-length: ['7425'] + content-length: ['7422'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 20:59:01 GMT'] - etag: [W/"dbbd12d7-a64f-4ca8-8d9e-094662b696ba"] + date: ['Fri, 27 Jul 2018 22:45:00 GMT'] + etag: [W/"31e29cd3-a0c6-47a7-9a6a-348b4c654b82"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -322,20 +322,20 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pylbname239e0f35\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/loadBalancers\",\r\n \"location\": \"westus\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ - \ \"resourceGuid\": \"715c91b0-8cba-4fe1-b0ed-04d4611fd7f3\",\r\n \"\ + \ \"resourceGuid\": \"bbacd7d1-48e8-4a20-9bd0-e4cfee9daca8\",\r\n \"\ frontendIPConfigurations\": [\r\n {\r\n \"name\": \"pyfipname239e0f35\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"\ publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/publicIPAddresses/pyipname239e0f35\"\ @@ -347,14 +347,14 @@ interactions: \r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \ \ \"backendAddressPools\": [\r\n {\r\n \"name\": \"pyapname239e0f35\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/backendAddressPools/pyapname239e0f35\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"loadBalancingRules\": [\r\n {\r\n \ \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/loadBalancingRules/azure-sample-lb-rule\"\ \r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \ \ \"loadBalancingRules\": [\r\n {\r\n \"name\": \"azure-sample-lb-rule\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/loadBalancingRules/azure-sample-lb-rule\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"frontendIPConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35\"\ \r\n },\r\n \"frontendPort\": 80,\r\n \"backendPort\"\ @@ -366,7 +366,7 @@ interactions: \r\n }\r\n }\r\n }\r\n ],\r\n \"probes\": [\r\n\ \ {\r\n \"name\": \"pyprobename239e0f35\",\r\n \"id\":\ \ \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/probes/pyprobename239e0f35\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"protocol\": \"Http\",\r\n \"port\": 80,\r\n \ \ \"requestPath\": \"healthprobe.aspx\",\r\n \"intervalInSeconds\"\ @@ -375,7 +375,7 @@ interactions: \r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \ \ \"inboundNatRules\": [\r\n {\r\n \"name\": \"azure-sample-netrule1\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/inboundNatRules/azure-sample-netrule1\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"frontendIPConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35\"\ \r\n },\r\n \"frontendPort\": 21,\r\n \"backendPort\"\ @@ -383,21 +383,21 @@ interactions: : 4,\r\n \"protocol\": \"Tcp\",\r\n \"enableDestinationServiceEndpoint\"\ : false\r\n }\r\n },\r\n {\r\n \"name\": \"azure-sample-netrule2\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/inboundNatRules/azure-sample-netrule2\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"frontendIPConfiguration\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35\"\ \r\n },\r\n \"frontendPort\": 23,\r\n \"backendPort\"\ : 22,\r\n \"enableFloatingIP\": false,\r\n \"idleTimeoutInMinutes\"\ : 4,\r\n \"protocol\": \"Tcp\",\r\n \"enableDestinationServiceEndpoint\"\ - : false\r\n }\r\n }\r\n ],\r\n \"outboundNatRules\": [],\r\ - \n \"inboundNatPools\": []\r\n },\r\n \"sku\": {\r\n \"name\": \"\ - Basic\",\r\n \"tier\": \"Regional\"\r\n }\r\n}"} + : false\r\n }\r\n }\r\n ],\r\n \"outboundRules\": [],\r\n\ + \ \"inboundNatPools\": []\r\n },\r\n \"sku\": {\r\n \"name\": \"Basic\"\ + ,\r\n \"tier\": \"Regional\"\r\n }\r\n}"} headers: cache-control: [no-cache] - content-length: ['7425'] + content-length: ['7422'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 20:59:02 GMT'] - etag: [W/"dbbd12d7-a64f-4ca8-8d9e-094662b696ba"] + date: ['Fri, 27 Jul 2018 22:45:01 GMT'] + etag: [W/"31e29cd3-a0c6-47a7-9a6a-348b4c654b82"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -413,24 +413,99 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/loadBalancers?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/loadBalancers?api-version=2018-06-01 response: - body: {string: '{"value":[{"name":"vmss1LB","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/loadBalancers/vmss1LB","etag":"W/\"3efc9a61-b29c-463b-9c61-9aea93fac524\"","type":"Microsoft.Network/loadBalancers","location":"westus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"e7a1fd83-d188-43f4-a6eb-edd798355f29","frontendIPConfigurations":[{"name":"loadBalancerFrontEnd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/loadBalancers/vmss1LB/frontendIPConfigurations/loadBalancerFrontEnd","etag":"W/\"3efc9a61-b29c-463b-9c61-9aea93fac524\"","properties":{"provisioningState":"Succeeded","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/publicIPAddresses/vmss1LBPublicIP"},"inboundNatRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/loadBalancers/vmss1LB/inboundNatRules/vmss1LBNatPool.0"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/loadBalancers/vmss1LB/inboundNatRules/vmss1LBNatPool.1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/loadBalancers/vmss1LB/inboundNatRules/vmss1LBNatPool.2"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/loadBalancers/vmss1LB/inboundNatRules/vmss1LBNatPool.3"}],"inboundNatPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/loadBalancers/vmss1LB/inboundNatPools/vmss1LBNatPool"}]}}],"backendAddressPools":[{"name":"vmss1LBBEPool","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/loadBalancers/vmss1LB/backendAddressPools/vmss1LBBEPool","etag":"W/\"3efc9a61-b29c-463b-9c61-9aea93fac524\"","properties":{"provisioningState":"Succeeded","backendIPConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/vmss1353aNic/ipConfigurations/vmss1353aIPConfig"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/vmss1353aNic/ipConfigurations/vmss1353aIPConfig"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/2/networkInterfaces/vmss1353aNic/ipConfigurations/vmss1353aIPConfig"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/3/networkInterfaces/vmss1353aNic/ipConfigurations/vmss1353aIPConfig"}]}}],"loadBalancingRules":[],"probes":[],"inboundNatRules":[{"name":"vmss1LBNatPool.0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/loadBalancers/vmss1LB/inboundNatRules/vmss1LBNatPool.0","etag":"W/\"3efc9a61-b29c-463b-9c61-9aea93fac524\"","properties":{"provisioningState":"Succeeded","frontendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/loadBalancers/vmss1LB/frontendIPConfigurations/loadBalancerFrontEnd"},"frontendPort":50000,"backendPort":22,"enableFloatingIP":false,"idleTimeoutInMinutes":4,"protocol":"Tcp","enableDestinationServiceEndpoint":false,"backendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/vmss1353aNic/ipConfigurations/vmss1353aIPConfig"}}},{"name":"vmss1LBNatPool.1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/loadBalancers/vmss1LB/inboundNatRules/vmss1LBNatPool.1","etag":"W/\"3efc9a61-b29c-463b-9c61-9aea93fac524\"","properties":{"provisioningState":"Succeeded","frontendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/loadBalancers/vmss1LB/frontendIPConfigurations/loadBalancerFrontEnd"},"frontendPort":50001,"backendPort":22,"enableFloatingIP":false,"idleTimeoutInMinutes":4,"protocol":"Tcp","enableDestinationServiceEndpoint":false,"backendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/vmss1353aNic/ipConfigurations/vmss1353aIPConfig"}}},{"name":"vmss1LBNatPool.2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/loadBalancers/vmss1LB/inboundNatRules/vmss1LBNatPool.2","etag":"W/\"3efc9a61-b29c-463b-9c61-9aea93fac524\"","properties":{"provisioningState":"Succeeded","frontendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/loadBalancers/vmss1LB/frontendIPConfigurations/loadBalancerFrontEnd"},"frontendPort":50002,"backendPort":22,"enableFloatingIP":false,"idleTimeoutInMinutes":4,"protocol":"Tcp","enableDestinationServiceEndpoint":false,"backendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/2/networkInterfaces/vmss1353aNic/ipConfigurations/vmss1353aIPConfig"}}},{"name":"vmss1LBNatPool.3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/loadBalancers/vmss1LB/inboundNatRules/vmss1LBNatPool.3","etag":"W/\"3efc9a61-b29c-463b-9c61-9aea93fac524\"","properties":{"provisioningState":"Succeeded","frontendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/loadBalancers/vmss1LB/frontendIPConfigurations/loadBalancerFrontEnd"},"frontendPort":50003,"backendPort":22,"enableFloatingIP":false,"idleTimeoutInMinutes":4,"protocol":"Tcp","enableDestinationServiceEndpoint":false,"backendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/3/networkInterfaces/vmss1353aNic/ipConfigurations/vmss1353aIPConfig"}}}],"outboundNatRules":[],"inboundNatPools":[{"name":"vmss1LBNatPool","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/loadBalancers/vmss1LB/inboundNatPools/vmss1LBNatPool","etag":"W/\"3efc9a61-b29c-463b-9c61-9aea93fac524\"","properties":{"provisioningState":"Succeeded","frontendPortRangeStart":50000,"frontendPortRangeEnd":50119,"backendPort":22,"protocol":"Tcp","idleTimeoutInMinutes":4,"enableFloatingIP":false,"enableDestinationServiceEndpoint":false,"frontendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/loadBalancers/vmss1LB/frontendIPConfigurations/loadBalancerFrontEnd"}}}]},"sku":{"name":"Basic","tier":"Regional"}},{"name":"pylbname239e0f35","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35","etag":"W/\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\"","type":"Microsoft.Network/loadBalancers","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"715c91b0-8cba-4fe1-b0ed-04d4611fd7f3","frontendIPConfigurations":[{"name":"pyfipname239e0f35","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35","etag":"W/\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\"","properties":{"provisioningState":"Succeeded","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/publicIPAddresses/pyipname239e0f35"},"loadBalancingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/loadBalancingRules/azure-sample-lb-rule"}],"inboundNatRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/inboundNatRules/azure-sample-netrule1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/inboundNatRules/azure-sample-netrule2"}]}}],"backendAddressPools":[{"name":"pyapname239e0f35","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/backendAddressPools/pyapname239e0f35","etag":"W/\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\"","properties":{"provisioningState":"Succeeded","loadBalancingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/loadBalancingRules/azure-sample-lb-rule"}]}}],"loadBalancingRules":[{"name":"azure-sample-lb-rule","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/loadBalancingRules/azure-sample-lb-rule","etag":"W/\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\"","properties":{"provisioningState":"Succeeded","frontendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35"},"frontendPort":80,"backendPort":80,"enableFloatingIP":false,"idleTimeoutInMinutes":4,"protocol":"Tcp","enableDestinationServiceEndpoint":false,"loadDistribution":"Default","backendAddressPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/backendAddressPools/pyapname239e0f35"},"probe":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/probes/pyprobename239e0f35"}}}],"probes":[{"name":"pyprobename239e0f35","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/probes/pyprobename239e0f35","etag":"W/\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\"","properties":{"provisioningState":"Succeeded","protocol":"Http","port":80,"requestPath":"healthprobe.aspx","intervalInSeconds":15,"numberOfProbes":4,"loadBalancingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/loadBalancingRules/azure-sample-lb-rule"}]}}],"inboundNatRules":[{"name":"azure-sample-netrule1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/inboundNatRules/azure-sample-netrule1","etag":"W/\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\"","properties":{"provisioningState":"Succeeded","frontendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35"},"frontendPort":21,"backendPort":22,"enableFloatingIP":false,"idleTimeoutInMinutes":4,"protocol":"Tcp","enableDestinationServiceEndpoint":false}},{"name":"azure-sample-netrule2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/inboundNatRules/azure-sample-netrule2","etag":"W/\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\"","properties":{"provisioningState":"Succeeded","frontendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35"},"frontendPort":23,"backendPort":22,"enableFloatingIP":false,"idleTimeoutInMinutes":4,"protocol":"Tcp","enableDestinationServiceEndpoint":false}}],"outboundNatRules":[],"inboundNatPools":[]},"sku":{"name":"Basic","tier":"Regional"}},{"name":"dcos-agent-lb-FEEFDCBC","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC","etag":"W/\"81c6b05f-83d3-4a8d-8199-fc16b3283e0c\"","type":"Microsoft.Network/loadBalancers","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"107682ff-2dbf-4e22-be30-e615c2d6b762","frontendIPConfigurations":[{"name":"dcos-agent-lbFrontEnd-FEEFDCBC","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/frontendIPConfigurations/dcos-agent-lbFrontEnd-FEEFDCBC","etag":"W/\"81c6b05f-83d3-4a8d-8199-fc16b3283e0c\"","properties":{"provisioningState":"Succeeded","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/publicIPAddresses/dcos-agent-ip-cliacsdnscjxm526agent-FEEFDCBC"},"loadBalancingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/loadBalancingRules/LBRuleHTTP"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/loadBalancingRules/LBRuleHTTPS"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/loadBalancingRules/LBRulePort8080"}]}}],"backendAddressPools":[{"name":"dcos-agent-pool-FEEFDCBC","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/backendAddressPools/dcos-agent-pool-FEEFDCBC","etag":"W/\"81c6b05f-83d3-4a8d-8199-fc16b3283e0c\"","properties":{"provisioningState":"Succeeded","backendIPConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Compute/virtualMachineScaleSets/dcos-agent-public-FEEFDCBC-vmss0/virtualMachines/0/networkInterfaces/agentNodeNic/ipConfigurations/nicipconfig"}],"loadBalancingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/loadBalancingRules/LBRuleHTTP"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/loadBalancingRules/LBRuleHTTPS"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/loadBalancingRules/LBRulePort8080"}]}}],"loadBalancingRules":[{"name":"LBRuleHTTP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/loadBalancingRules/LBRuleHTTP","etag":"W/\"81c6b05f-83d3-4a8d-8199-fc16b3283e0c\"","properties":{"provisioningState":"Succeeded","frontendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/frontendIPConfigurations/dcos-agent-lbFrontEnd-FEEFDCBC"},"frontendPort":80,"backendPort":80,"enableFloatingIP":false,"idleTimeoutInMinutes":5,"protocol":"Tcp","enableDestinationServiceEndpoint":false,"loadDistribution":"Default","backendAddressPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/backendAddressPools/dcos-agent-pool-FEEFDCBC"},"probe":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/probes/tcpHTTPProbe"}}},{"name":"LBRuleHTTPS","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/loadBalancingRules/LBRuleHTTPS","etag":"W/\"81c6b05f-83d3-4a8d-8199-fc16b3283e0c\"","properties":{"provisioningState":"Succeeded","frontendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/frontendIPConfigurations/dcos-agent-lbFrontEnd-FEEFDCBC"},"frontendPort":443,"backendPort":443,"enableFloatingIP":false,"idleTimeoutInMinutes":5,"protocol":"Tcp","enableDestinationServiceEndpoint":false,"loadDistribution":"Default","backendAddressPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/backendAddressPools/dcos-agent-pool-FEEFDCBC"},"probe":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/probes/tcpHTTPSProbe"}}},{"name":"LBRulePort8080","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/loadBalancingRules/LBRulePort8080","etag":"W/\"81c6b05f-83d3-4a8d-8199-fc16b3283e0c\"","properties":{"provisioningState":"Succeeded","frontendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/frontendIPConfigurations/dcos-agent-lbFrontEnd-FEEFDCBC"},"frontendPort":8080,"backendPort":8080,"enableFloatingIP":false,"idleTimeoutInMinutes":5,"protocol":"Tcp","enableDestinationServiceEndpoint":false,"loadDistribution":"Default","backendAddressPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/backendAddressPools/dcos-agent-pool-FEEFDCBC"},"probe":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/probes/tcpPort8080Probe"}}}],"probes":[{"name":"tcpHTTPProbe","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/probes/tcpHTTPProbe","etag":"W/\"81c6b05f-83d3-4a8d-8199-fc16b3283e0c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","port":80,"intervalInSeconds":5,"numberOfProbes":2,"loadBalancingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/loadBalancingRules/LBRuleHTTP"}]}},{"name":"tcpHTTPSProbe","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/probes/tcpHTTPSProbe","etag":"W/\"81c6b05f-83d3-4a8d-8199-fc16b3283e0c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","port":443,"intervalInSeconds":5,"numberOfProbes":2,"loadBalancingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/loadBalancingRules/LBRuleHTTPS"}]}},{"name":"tcpPort8080Probe","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/probes/tcpPort8080Probe","etag":"W/\"81c6b05f-83d3-4a8d-8199-fc16b3283e0c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","port":8080,"intervalInSeconds":5,"numberOfProbes":2,"loadBalancingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/loadBalancingRules/LBRulePort8080"}]}}],"inboundNatRules":[],"outboundNatRules":[],"inboundNatPools":[]},"sku":{"name":"Basic","tier":"Regional"}},{"name":"dcos-master-lb-FEEFDCBC","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-master-lb-FEEFDCBC","etag":"W/\"407487c6-e3bc-412c-879d-209dab1e743b\"","type":"Microsoft.Network/loadBalancers","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"be13ae63-593d-48be-bec1-850dd92d4d7d","frontendIPConfigurations":[{"name":"dcos-master-lbFrontEnd-FEEFDCBC","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-master-lb-FEEFDCBC/frontendIPConfigurations/dcos-master-lbFrontEnd-FEEFDCBC","etag":"W/\"407487c6-e3bc-412c-879d-209dab1e743b\"","properties":{"provisioningState":"Succeeded","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/publicIPAddresses/dcos-master-ip-cliacsdnscjxm526mgmt-FEEFDCBC"},"inboundNatRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-master-lb-FEEFDCBC/inboundNatRules/SSH-dcos-master-FEEFDCBC-0"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-master-lb-FEEFDCBC/inboundNatRules/SSHPort22-dcos-master-FEEFDCBC-0"}]}}],"backendAddressPools":[{"name":"dcos-master-pool-FEEFDCBC","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-master-lb-FEEFDCBC/backendAddressPools/dcos-master-pool-FEEFDCBC","etag":"W/\"407487c6-e3bc-412c-879d-209dab1e743b\"","properties":{"provisioningState":"Succeeded","backendIPConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkInterfaces/dcos-master-FEEFDCBC-nic-0/ipConfigurations/ipConfigNode"}]}}],"loadBalancingRules":[],"probes":[],"inboundNatRules":[{"name":"SSH-dcos-master-FEEFDCBC-0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-master-lb-FEEFDCBC/inboundNatRules/SSH-dcos-master-FEEFDCBC-0","etag":"W/\"407487c6-e3bc-412c-879d-209dab1e743b\"","properties":{"provisioningState":"Succeeded","frontendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-master-lb-FEEFDCBC/frontendIPConfigurations/dcos-master-lbFrontEnd-FEEFDCBC"},"frontendPort":2200,"backendPort":22,"enableFloatingIP":false,"idleTimeoutInMinutes":4,"protocol":"Tcp","enableDestinationServiceEndpoint":false,"backendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkInterfaces/dcos-master-FEEFDCBC-nic-0/ipConfigurations/ipConfigNode"}}},{"name":"SSHPort22-dcos-master-FEEFDCBC-0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-master-lb-FEEFDCBC/inboundNatRules/SSHPort22-dcos-master-FEEFDCBC-0","etag":"W/\"407487c6-e3bc-412c-879d-209dab1e743b\"","properties":{"provisioningState":"Succeeded","frontendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-master-lb-FEEFDCBC/frontendIPConfigurations/dcos-master-lbFrontEnd-FEEFDCBC"},"frontendPort":22,"backendPort":2222,"enableFloatingIP":false,"idleTimeoutInMinutes":4,"protocol":"Tcp","enableDestinationServiceEndpoint":false,"backendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkInterfaces/dcos-master-FEEFDCBC-nic-0/ipConfigurations/ipConfigNode"}}}],"outboundNatRules":[],"inboundNatPools":[]},"sku":{"name":"Basic","tier":"Regional"}},{"name":"kubernetes","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes","etag":"W/\"6538e22e-7d52-4cc0-a51b-bc477c4143c3\"","type":"Microsoft.Network/loadBalancers","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"f80b3142-a446-43cf-b7bd-fbb4237c998d","frontendIPConfigurations":[{"name":"aa9b10586fcb511e7b1250a58ac1f0a6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/frontendIPConfigurations/aa9b10586fcb511e7b1250a58ac1f0a6","etag":"W/\"6538e22e-7d52-4cc0-a51b-bc477c4143c3\"","properties":{"provisioningState":"Succeeded","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/publicIPAddresses/kubernetes-aa9b10586fcb511e7b1250a58ac1f0a6"},"loadBalancingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/loadBalancingRules/aa9b10586fcb511e7b1250a58ac1f0a6-TCP-5000"}]}}],"backendAddressPools":[{"name":"kubernetes","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/backendAddressPools/kubernetes","etag":"W/\"6538e22e-7d52-4cc0-a51b-bc477c4143c3\"","properties":{"provisioningState":"Succeeded","backendIPConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-6/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-2/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-0/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-7/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-5/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-1/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-8/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-4/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-3/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-9/ipConfigurations/ipconfig1"}],"loadBalancingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/loadBalancingRules/aa9b10586fcb511e7b1250a58ac1f0a6-TCP-5000"}]}}],"loadBalancingRules":[{"name":"aa9b10586fcb511e7b1250a58ac1f0a6-TCP-5000","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/loadBalancingRules/aa9b10586fcb511e7b1250a58ac1f0a6-TCP-5000","etag":"W/\"6538e22e-7d52-4cc0-a51b-bc477c4143c3\"","properties":{"provisioningState":"Succeeded","frontendIPConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/frontendIPConfigurations/aa9b10586fcb511e7b1250a58ac1f0a6"},"frontendPort":5000,"backendPort":5000,"enableFloatingIP":true,"idleTimeoutInMinutes":4,"protocol":"Tcp","enableDestinationServiceEndpoint":false,"loadDistribution":"Default","backendAddressPool":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/backendAddressPools/kubernetes"},"probe":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/probes/aa9b10586fcb511e7b1250a58ac1f0a6-TCP-5000"}}}],"probes":[{"name":"aa9b10586fcb511e7b1250a58ac1f0a6-TCP-5000","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/probes/aa9b10586fcb511e7b1250a58ac1f0a6-TCP-5000","etag":"W/\"6538e22e-7d52-4cc0-a51b-bc477c4143c3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","port":31702,"intervalInSeconds":5,"numberOfProbes":2,"loadBalancingRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/loadBalancingRules/aa9b10586fcb511e7b1250a58ac1f0a6-TCP-5000"}]}}],"inboundNatRules":[],"outboundNatRules":[],"inboundNatPools":[]},"sku":{"name":"Basic","tier":"Regional"}}]}'} + body: {string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"pylbname239e0f35\"\ + ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\",\r\ + \n \"type\": \"Microsoft.Network/loadBalancers\",\r\n \"location\"\ + : \"westus\",\r\n \"properties\": {\r\n \"provisioningState\"\ + : \"Succeeded\",\r\n \"resourceGuid\": \"bbacd7d1-48e8-4a20-9bd0-e4cfee9daca8\"\ + ,\r\n \"frontendIPConfigurations\": [\r\n {\r\n \ + \ \"name\": \"pyfipname239e0f35\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\ + \",\r\n \"properties\": {\r\n \"provisioningState\"\ + : \"Succeeded\",\r\n \"privateIPAllocationMethod\": \"Dynamic\"\ + ,\r\n \"publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/publicIPAddresses/pyipname239e0f35\"\ + \r\n },\r\n \"loadBalancingRules\": [\r\n \ + \ {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/loadBalancingRules/azure-sample-lb-rule\"\ + \r\n }\r\n ],\r\n \"inboundNatRules\"\ + : [\r\n {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/inboundNatRules/azure-sample-netrule1\"\ + \r\n },\r\n {\r\n \"id\": \"\ + /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/inboundNatRules/azure-sample-netrule2\"\ + \r\n }\r\n ]\r\n }\r\n }\r\ + \n ],\r\n \"backendAddressPools\": [\r\n {\r\n \ + \ \"name\": \"pyapname239e0f35\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/backendAddressPools/pyapname239e0f35\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\ + \",\r\n \"properties\": {\r\n \"provisioningState\"\ + : \"Succeeded\",\r\n \"loadBalancingRules\": [\r\n \ + \ {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/loadBalancingRules/azure-sample-lb-rule\"\ + \r\n }\r\n ]\r\n }\r\n }\r\ + \n ],\r\n \"loadBalancingRules\": [\r\n {\r\n \ + \ \"name\": \"azure-sample-lb-rule\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/loadBalancingRules/azure-sample-lb-rule\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\ + \",\r\n \"properties\": {\r\n \"provisioningState\"\ + : \"Succeeded\",\r\n \"frontendIPConfiguration\": {\r\n \ + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35\"\ + \r\n },\r\n \"frontendPort\": 80,\r\n \ + \ \"backendPort\": 80,\r\n \"enableFloatingIP\": false,\r\n\ + \ \"idleTimeoutInMinutes\": 4,\r\n \"protocol\"\ + : \"Tcp\",\r\n \"enableDestinationServiceEndpoint\": false,\r\ + \n \"loadDistribution\": \"Default\",\r\n \"backendAddressPool\"\ + : {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/backendAddressPools/pyapname239e0f35\"\ + \r\n },\r\n \"probe\": {\r\n \"id\"\ + : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/probes/pyprobename239e0f35\"\ + \r\n }\r\n }\r\n }\r\n ],\r\n \ + \ \"probes\": [\r\n {\r\n \"name\": \"pyprobename239e0f35\"\ + ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/probes/pyprobename239e0f35\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\ + \",\r\n \"properties\": {\r\n \"provisioningState\"\ + : \"Succeeded\",\r\n \"protocol\": \"Http\",\r\n \ + \ \"port\": 80,\r\n \"requestPath\": \"healthprobe.aspx\",\r\ + \n \"intervalInSeconds\": 15,\r\n \"numberOfProbes\"\ + : 4,\r\n \"loadBalancingRules\": [\r\n {\r\n \ + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/loadBalancingRules/azure-sample-lb-rule\"\ + \r\n }\r\n ]\r\n }\r\n }\r\ + \n ],\r\n \"inboundNatRules\": [\r\n {\r\n \ + \ \"name\": \"azure-sample-netrule1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/inboundNatRules/azure-sample-netrule1\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\ + \",\r\n \"properties\": {\r\n \"provisioningState\"\ + : \"Succeeded\",\r\n \"frontendIPConfiguration\": {\r\n \ + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35\"\ + \r\n },\r\n \"frontendPort\": 21,\r\n \ + \ \"backendPort\": 22,\r\n \"enableFloatingIP\": false,\r\n\ + \ \"idleTimeoutInMinutes\": 4,\r\n \"protocol\"\ + : \"Tcp\",\r\n \"enableDestinationServiceEndpoint\": false\r\n\ + \ }\r\n },\r\n {\r\n \"name\": \"\ + azure-sample-netrule2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/inboundNatRules/azure-sample-netrule2\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\ + \",\r\n \"properties\": {\r\n \"provisioningState\"\ + : \"Succeeded\",\r\n \"frontendIPConfiguration\": {\r\n \ + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35\"\ + \r\n },\r\n \"frontendPort\": 23,\r\n \ + \ \"backendPort\": 22,\r\n \"enableFloatingIP\": false,\r\n\ + \ \"idleTimeoutInMinutes\": 4,\r\n \"protocol\"\ + : \"Tcp\",\r\n \"enableDestinationServiceEndpoint\": false\r\n\ + \ }\r\n }\r\n ],\r\n \"outboundRules\":\ + \ [],\r\n \"inboundNatPools\": []\r\n },\r\n \"sku\": {\r\ + \n \"name\": \"Basic\",\r\n \"tier\": \"Regional\"\r\n \ + \ }\r\n }\r\n ]\r\n}"} headers: cache-control: [no-cache] - content-length: ['34051'] + content-length: ['8011'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 20:59:03 GMT'] + date: ['Fri, 27 Jul 2018 22:45:02 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-original-request-ids: [83b2cfe6-16f0-4a2f-a0cf-7d3281f8f105, 97b16b1b-efa6-4a71-8a90-f253358d9006] status: {code: 200, message: OK} - request: body: null @@ -439,21 +514,21 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers?api-version=2018-06-01 response: body: {string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"pylbname239e0f35\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\",\r\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\",\r\ \n \"type\": \"Microsoft.Network/loadBalancers\",\r\n \"location\"\ : \"westus\",\r\n \"properties\": {\r\n \"provisioningState\"\ - : \"Succeeded\",\r\n \"resourceGuid\": \"715c91b0-8cba-4fe1-b0ed-04d4611fd7f3\"\ + : \"Succeeded\",\r\n \"resourceGuid\": \"bbacd7d1-48e8-4a20-9bd0-e4cfee9daca8\"\ ,\r\n \"frontendIPConfigurations\": [\r\n {\r\n \ \ \"name\": \"pyfipname239e0f35\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\ \",\r\n \"properties\": {\r\n \"provisioningState\"\ : \"Succeeded\",\r\n \"privateIPAllocationMethod\": \"Dynamic\"\ ,\r\n \"publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/publicIPAddresses/pyipname239e0f35\"\ @@ -466,14 +541,14 @@ interactions: \r\n }\r\n ]\r\n }\r\n }\r\ \n ],\r\n \"backendAddressPools\": [\r\n {\r\n \ \ \"name\": \"pyapname239e0f35\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/backendAddressPools/pyapname239e0f35\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\ \",\r\n \"properties\": {\r\n \"provisioningState\"\ : \"Succeeded\",\r\n \"loadBalancingRules\": [\r\n \ \ {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/loadBalancingRules/azure-sample-lb-rule\"\ \r\n }\r\n ]\r\n }\r\n }\r\ \n ],\r\n \"loadBalancingRules\": [\r\n {\r\n \ \ \"name\": \"azure-sample-lb-rule\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/loadBalancingRules/azure-sample-lb-rule\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\ \",\r\n \"properties\": {\r\n \"provisioningState\"\ : \"Succeeded\",\r\n \"frontendIPConfiguration\": {\r\n \ \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35\"\ @@ -488,7 +563,7 @@ interactions: \r\n }\r\n }\r\n }\r\n ],\r\n \ \ \"probes\": [\r\n {\r\n \"name\": \"pyprobename239e0f35\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/probes/pyprobename239e0f35\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\ \",\r\n \"properties\": {\r\n \"provisioningState\"\ : \"Succeeded\",\r\n \"protocol\": \"Http\",\r\n \ \ \"port\": 80,\r\n \"requestPath\": \"healthprobe.aspx\",\r\ @@ -498,7 +573,7 @@ interactions: \r\n }\r\n ]\r\n }\r\n }\r\ \n ],\r\n \"inboundNatRules\": [\r\n {\r\n \ \ \"name\": \"azure-sample-netrule1\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/inboundNatRules/azure-sample-netrule1\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\ \",\r\n \"properties\": {\r\n \"provisioningState\"\ : \"Succeeded\",\r\n \"frontendIPConfiguration\": {\r\n \ \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35\"\ @@ -508,7 +583,7 @@ interactions: : \"Tcp\",\r\n \"enableDestinationServiceEndpoint\": false\r\n\ \ }\r\n },\r\n {\r\n \"name\": \"\ azure-sample-netrule2\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/inboundNatRules/azure-sample-netrule2\"\ - ,\r\n \"etag\": \"W/\\\"dbbd12d7-a64f-4ca8-8d9e-094662b696ba\\\"\ + ,\r\n \"etag\": \"W/\\\"31e29cd3-a0c6-47a7-9a6a-348b4c654b82\\\"\ \",\r\n \"properties\": {\r\n \"provisioningState\"\ : \"Succeeded\",\r\n \"frontendIPConfiguration\": {\r\n \ \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35/frontendIPConfigurations/pyfipname239e0f35\"\ @@ -516,15 +591,15 @@ interactions: \ \"backendPort\": 22,\r\n \"enableFloatingIP\": false,\r\n\ \ \"idleTimeoutInMinutes\": 4,\r\n \"protocol\"\ : \"Tcp\",\r\n \"enableDestinationServiceEndpoint\": false\r\n\ - \ }\r\n }\r\n ],\r\n \"outboundNatRules\"\ - : [],\r\n \"inboundNatPools\": []\r\n },\r\n \"sku\": {\r\ + \ }\r\n }\r\n ],\r\n \"outboundRules\":\ + \ [],\r\n \"inboundNatPools\": []\r\n },\r\n \"sku\": {\r\ \n \"name\": \"Basic\",\r\n \"tier\": \"Regional\"\r\n \ \ }\r\n }\r\n ]\r\n}"} headers: cache-control: [no-cache] - content-length: ['8014'] + content-length: ['8011'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 20:59:03 GMT'] + date: ['Fri, 27 Jul 2018 22:45:02 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -541,25 +616,25 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_load_balancers239e0f35/providers/Microsoft.Network/loadBalancers/pylbname239e0f35?api-version=2018-06-01 response: body: {string: ''} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3aee01d1-b171-4a91-9bec-929ff6a9f6fc?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/724703a1-2c35-4222-9074-b900a2335ec3?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 03 Apr 2018 20:59:03 GMT'] + date: ['Fri, 27 Jul 2018 22:45:04 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/3aee01d1-b171-4a91-9bec-929ff6a9f6fc?api-version=2018-02-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/724703a1-2c35-4222-9074-b900a2335ec3?api-version=2018-06-01'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} - request: body: null @@ -567,17 +642,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3aee01d1-b171-4a91-9bec-929ff6a9f6fc?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/724703a1-2c35-4222-9074-b900a2335ec3?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 20:59:14 GMT'] + date: ['Fri, 27 Jul 2018 22:45:15 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] diff --git a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_network_interface_card.yaml b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_network_interface_card.yaml index f25614b5e7b6..9192f04a3280 100644 --- a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_network_interface_card.yaml +++ b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_network_interface_card.yaml @@ -8,27 +8,27 @@ interactions: Connection: [keep-alive] Content-Length: ['92'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/virtualNetworks/pyvnetb046129e?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/virtualNetworks/pyvnetb046129e?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyvnetb046129e\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/virtualNetworks/pyvnetb046129e\"\ - ,\r\n \"etag\": \"W/\\\"cb290f9f-7ad2-48f9-850c-33d2142fd058\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"92ac17a7-8d17-4971-a4f6-06be5f4e87a8\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ - \ \"resourceGuid\": \"62ce6e9f-556c-4bf9-9c59-83a026fcbb93\",\r\n \"\ + \ \"resourceGuid\": \"4e07bcc2-ae93-4a75-a6eb-c6ea88bd08de\",\r\n \"\ addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\ \r\n ]\r\n },\r\n \"subnets\": [],\r\n \"virtualNetworkPeerings\"\ : [],\r\n \"enableDdosProtection\": false,\r\n \"enableVmProtection\"\ : false\r\n }\r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c9eece40-cd6e-478a-9bea-225f9df60080?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e32d8a74-3a8c-44ee-90c3-9f722604526c?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['693'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 20:59:20 GMT'] + date: ['Fri, 27 Jul 2018 22:45:22 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -42,17 +42,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c9eece40-cd6e-478a-9bea-225f9df60080?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e32d8a74-3a8c-44ee-90c3-9f722604526c?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 20:59:23 GMT'] + date: ['Fri, 27 Jul 2018 22:45:26 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -67,17 +67,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/c9eece40-cd6e-478a-9bea-225f9df60080?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e32d8a74-3a8c-44ee-90c3-9f722604526c?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 20:59:34 GMT'] + date: ['Fri, 27 Jul 2018 22:45:38 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -92,16 +92,16 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/virtualNetworks/pyvnetb046129e?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/virtualNetworks/pyvnetb046129e?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyvnetb046129e\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/virtualNetworks/pyvnetb046129e\"\ - ,\r\n \"etag\": \"W/\\\"ae0bb573-29c3-44a4-996d-360883a32ea1\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"7ce83db1-5771-4b9d-a33c-cc1bc7253d60\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ - \ \"resourceGuid\": \"62ce6e9f-556c-4bf9-9c59-83a026fcbb93\",\r\n \"\ + \ \"resourceGuid\": \"4e07bcc2-ae93-4a75-a6eb-c6ea88bd08de\",\r\n \"\ addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\ \r\n ]\r\n },\r\n \"subnets\": [],\r\n \"virtualNetworkPeerings\"\ : [],\r\n \"enableDdosProtection\": false,\r\n \"enableVmProtection\"\ @@ -110,8 +110,8 @@ interactions: cache-control: [no-cache] content-length: ['694'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 20:59:35 GMT'] - etag: [W/"ae0bb573-29c3-44a4-996d-360883a32ea1"] + date: ['Fri, 27 Jul 2018 22:45:39 GMT'] + etag: [W/"7ce83db1-5771-4b9d-a33c-cc1bc7253d60"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -128,22 +128,22 @@ interactions: Connection: [keep-alive] Content-Length: ['48'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/virtualNetworks/pyvnetb046129e/subnets/pysubnetb046129e?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/virtualNetworks/pyvnetb046129e/subnets/pysubnetb046129e?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pysubnetb046129e\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/virtualNetworks/pyvnetb046129e/subnets/pysubnetb046129e\"\ - ,\r\n \"etag\": \"W/\\\"96ec1b17-5d09-4185-bf81-c2cc02f077d2\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"51cb272a-9ac6-4275-88c0-51d2871f9a06\\\"\",\r\n \ \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"\ - addressPrefix\": \"10.0.0.0/24\"\r\n }\r\n}"} + addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": []\r\n }\r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/095c6b28-eafa-455f-aaa8-f65f8ad535f5?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f3c3eaff-1740-45e5-b150-07fd445cfcbf?api-version=2018-06-01'] cache-control: [no-cache] - content-length: ['407'] + content-length: ['431'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 20:59:36 GMT'] + date: ['Fri, 27 Jul 2018 22:45:41 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -157,17 +157,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/095c6b28-eafa-455f-aaa8-f65f8ad535f5?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f3c3eaff-1740-45e5-b150-07fd445cfcbf?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 20:59:40 GMT'] + date: ['Fri, 27 Jul 2018 22:45:45 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -182,21 +182,21 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/virtualNetworks/pyvnetb046129e/subnets/pysubnetb046129e?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/virtualNetworks/pyvnetb046129e/subnets/pysubnetb046129e?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pysubnetb046129e\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/virtualNetworks/pyvnetb046129e/subnets/pysubnetb046129e\"\ - ,\r\n \"etag\": \"W/\\\"3a11316d-da1e-4288-ab7a-66d91e428183\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"9231571f-9bc5-42cb-8d3e-29ec26efe9e7\\\"\",\r\n \ \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"\ - addressPrefix\": \"10.0.0.0/24\"\r\n }\r\n}"} + addressPrefix\": \"10.0.0.0/24\",\r\n \"delegations\": []\r\n }\r\n}"} headers: cache-control: [no-cache] - content-length: ['408'] + content-length: ['432'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 20:59:41 GMT'] - etag: [W/"3a11316d-da1e-4288-ab7a-66d91e428183"] + date: ['Fri, 27 Jul 2018 22:45:45 GMT'] + etag: [W/"9231571f-9bc5-42cb-8d3e-29ec26efe9e7"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -206,44 +206,46 @@ interactions: x-content-type-options: [nosniff] status: {code: 200, message: OK} - request: - body: 'b''b\''b\\\''{"location": "westus", "properties": {"ipConfigurations": + body: 'b''b\''b\\\''b\\\\\\\''{"location": "westus", "properties": {"ipConfigurations": [{"properties": {"subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/virtualNetworks/pyvnetb046129e/subnets/pysubnetb046129e"}}, - "name": "MyIpConfig"}]}}\\\''\''''' + "name": "MyIpConfig"}]}}\\\\\\\''\\\''\''''' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Length: ['326'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces/pynicb046129e?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces/pynicb046129e?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pynicb046129e\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces/pynicb046129e\"\ - ,\r\n \"etag\": \"W/\\\"2c63bf9a-127f-4507-9051-4e9961fef930\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"2c8a7312-079e-43af-8f06-6029cadd2e0a\\\"\",\r\n \ \ \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\"\ - : \"Succeeded\",\r\n \"resourceGuid\": \"6abb8454-7286-4bfe-b628-4c6cc6ff2a94\"\ + : \"Succeeded\",\r\n \"resourceGuid\": \"7721c185-8f21-4d46-9929-6968baaa5915\"\ ,\r\n \"ipConfigurations\": [\r\n {\r\n \"name\": \"MyIpConfig\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces/pynicb046129e/ipConfigurations/MyIpConfig\"\ - ,\r\n \"etag\": \"W/\\\"2c63bf9a-127f-4507-9051-4e9961fef930\\\"\"\ + ,\r\n \"etag\": \"W/\\\"2c8a7312-079e-43af-8f06-6029cadd2e0a\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\"\ : \"Dynamic\",\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/virtualNetworks/pyvnetb046129e/subnets/pysubnetb046129e\"\ \r\n },\r\n \"primary\": true,\r\n \"privateIPAddressVersion\"\ - : \"IPv4\"\r\n }\r\n }\r\n ],\r\n \"dnsSettings\": {\r\n\ - \ \"dnsServers\": [],\r\n \"appliedDnsServers\": [],\r\n \"\ - internalDomainNameSuffix\": \"t3xm2ytmkx2uxhczqoqcn5f1sd.dx.internal.cloudapp.net\"\ - \r\n },\r\n \"enableAcceleratedNetworking\": false,\r\n \"enableIPForwarding\"\ - : false,\r\n \"virtualNetworkTapProvisioningState\": \"NotProvisioned\"\ - \r\n },\r\n \"type\": \"Microsoft.Network/networkInterfaces\"\r\n}"} + : \"IPv4\",\r\n \"isInUseWithService\": false\r\n }\r\n \ + \ }\r\n ],\r\n \"dnsSettings\": {\r\n \"dnsServers\": [],\r\n\ + \ \"appliedDnsServers\": [],\r\n \"internalDomainNameSuffix\": \"\ + yk4aotutvz0uvjxly1virpii1g.dx.internal.cloudapp.net\"\r\n },\r\n \"\ + enableAcceleratedNetworking\": false,\r\n \"enableIPForwarding\": false,\r\ + \n \"services\": null,\r\n \"virtualNetworkTapProvisioningState\": \"\ + NotProvisioned\"\r\n },\r\n \"type\": \"Microsoft.Network/networkInterfaces\"\ + \r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/27b01d1d-36b4-438f-82a0-3a3d8d1ffb31?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/bf454c66-f41f-48a5-b056-4e3eaa8807c9?api-version=2018-06-01'] cache-control: [no-cache] - content-length: ['1679'] + content-length: ['1742'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 20:59:42 GMT'] + date: ['Fri, 27 Jul 2018 22:45:47 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -257,17 +259,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/27b01d1d-36b4-438f-82a0-3a3d8d1ffb31?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/bf454c66-f41f-48a5-b056-4e3eaa8807c9?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:00:12 GMT'] + date: ['Fri, 27 Jul 2018 22:46:19 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -282,34 +284,36 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces/pynicb046129e?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces/pynicb046129e?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pynicb046129e\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces/pynicb046129e\"\ - ,\r\n \"etag\": \"W/\\\"2c63bf9a-127f-4507-9051-4e9961fef930\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"2c8a7312-079e-43af-8f06-6029cadd2e0a\\\"\",\r\n \ \ \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\"\ - : \"Succeeded\",\r\n \"resourceGuid\": \"6abb8454-7286-4bfe-b628-4c6cc6ff2a94\"\ + : \"Succeeded\",\r\n \"resourceGuid\": \"7721c185-8f21-4d46-9929-6968baaa5915\"\ ,\r\n \"ipConfigurations\": [\r\n {\r\n \"name\": \"MyIpConfig\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces/pynicb046129e/ipConfigurations/MyIpConfig\"\ - ,\r\n \"etag\": \"W/\\\"2c63bf9a-127f-4507-9051-4e9961fef930\\\"\"\ + ,\r\n \"etag\": \"W/\\\"2c8a7312-079e-43af-8f06-6029cadd2e0a\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\"\ : \"Dynamic\",\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/virtualNetworks/pyvnetb046129e/subnets/pysubnetb046129e\"\ \r\n },\r\n \"primary\": true,\r\n \"privateIPAddressVersion\"\ - : \"IPv4\"\r\n }\r\n }\r\n ],\r\n \"dnsSettings\": {\r\n\ - \ \"dnsServers\": [],\r\n \"appliedDnsServers\": [],\r\n \"\ - internalDomainNameSuffix\": \"t3xm2ytmkx2uxhczqoqcn5f1sd.dx.internal.cloudapp.net\"\ - \r\n },\r\n \"enableAcceleratedNetworking\": false,\r\n \"enableIPForwarding\"\ - : false,\r\n \"virtualNetworkTapProvisioningState\": \"NotProvisioned\"\ - \r\n },\r\n \"type\": \"Microsoft.Network/networkInterfaces\"\r\n}"} + : \"IPv4\",\r\n \"isInUseWithService\": false\r\n }\r\n \ + \ }\r\n ],\r\n \"dnsSettings\": {\r\n \"dnsServers\": [],\r\n\ + \ \"appliedDnsServers\": [],\r\n \"internalDomainNameSuffix\": \"\ + yk4aotutvz0uvjxly1virpii1g.dx.internal.cloudapp.net\"\r\n },\r\n \"\ + enableAcceleratedNetworking\": false,\r\n \"enableIPForwarding\": false,\r\ + \n \"services\": null,\r\n \"virtualNetworkTapProvisioningState\": \"\ + NotProvisioned\"\r\n },\r\n \"type\": \"Microsoft.Network/networkInterfaces\"\ + \r\n}"} headers: cache-control: [no-cache] - content-length: ['1679'] + content-length: ['1742'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:00:13 GMT'] - etag: [W/"2c63bf9a-127f-4507-9051-4e9961fef930"] + date: ['Fri, 27 Jul 2018 22:46:20 GMT'] + etag: [W/"2c8a7312-079e-43af-8f06-6029cadd2e0a"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -325,35 +329,37 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces/pynicb046129e?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces/pynicb046129e?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pynicb046129e\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces/pynicb046129e\"\ - ,\r\n \"etag\": \"W/\\\"2c63bf9a-127f-4507-9051-4e9961fef930\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"2c8a7312-079e-43af-8f06-6029cadd2e0a\\\"\",\r\n \ \ \"location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\"\ - : \"Succeeded\",\r\n \"resourceGuid\": \"6abb8454-7286-4bfe-b628-4c6cc6ff2a94\"\ + : \"Succeeded\",\r\n \"resourceGuid\": \"7721c185-8f21-4d46-9929-6968baaa5915\"\ ,\r\n \"ipConfigurations\": [\r\n {\r\n \"name\": \"MyIpConfig\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces/pynicb046129e/ipConfigurations/MyIpConfig\"\ - ,\r\n \"etag\": \"W/\\\"2c63bf9a-127f-4507-9051-4e9961fef930\\\"\"\ + ,\r\n \"etag\": \"W/\\\"2c8a7312-079e-43af-8f06-6029cadd2e0a\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"privateIPAddress\": \"10.0.0.4\",\r\n \"privateIPAllocationMethod\"\ : \"Dynamic\",\r\n \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/virtualNetworks/pyvnetb046129e/subnets/pysubnetb046129e\"\ \r\n },\r\n \"primary\": true,\r\n \"privateIPAddressVersion\"\ - : \"IPv4\"\r\n }\r\n }\r\n ],\r\n \"dnsSettings\": {\r\n\ - \ \"dnsServers\": [],\r\n \"appliedDnsServers\": [],\r\n \"\ - internalDomainNameSuffix\": \"t3xm2ytmkx2uxhczqoqcn5f1sd.dx.internal.cloudapp.net\"\ - \r\n },\r\n \"enableAcceleratedNetworking\": false,\r\n \"enableIPForwarding\"\ - : false,\r\n \"virtualNetworkTapProvisioningState\": \"NotProvisioned\"\ - \r\n },\r\n \"type\": \"Microsoft.Network/networkInterfaces\"\r\n}"} + : \"IPv4\",\r\n \"isInUseWithService\": false\r\n }\r\n \ + \ }\r\n ],\r\n \"dnsSettings\": {\r\n \"dnsServers\": [],\r\n\ + \ \"appliedDnsServers\": [],\r\n \"internalDomainNameSuffix\": \"\ + yk4aotutvz0uvjxly1virpii1g.dx.internal.cloudapp.net\"\r\n },\r\n \"\ + enableAcceleratedNetworking\": false,\r\n \"enableIPForwarding\": false,\r\ + \n \"services\": null,\r\n \"virtualNetworkTapProvisioningState\": \"\ + NotProvisioned\"\r\n },\r\n \"type\": \"Microsoft.Network/networkInterfaces\"\ + \r\n}"} headers: cache-control: [no-cache] - content-length: ['1679'] + content-length: ['1742'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:00:14 GMT'] - etag: [W/"2c63bf9a-127f-4507-9051-4e9961fef930"] + date: ['Fri, 27 Jul 2018 22:46:21 GMT'] + etag: [W/"2c8a7312-079e-43af-8f06-6029cadd2e0a"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -369,38 +375,39 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces?api-version=2018-06-01 response: body: {string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"pynicb046129e\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces/pynicb046129e\"\ - ,\r\n \"etag\": \"W/\\\"2c63bf9a-127f-4507-9051-4e9961fef930\\\"\",\r\ + ,\r\n \"etag\": \"W/\\\"2c8a7312-079e-43af-8f06-6029cadd2e0a\\\"\",\r\ \n \"location\": \"westus\",\r\n \"properties\": {\r\n \"\ - provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"6abb8454-7286-4bfe-b628-4c6cc6ff2a94\"\ + provisioningState\": \"Succeeded\",\r\n \"resourceGuid\": \"7721c185-8f21-4d46-9929-6968baaa5915\"\ ,\r\n \"ipConfigurations\": [\r\n {\r\n \"name\"\ : \"MyIpConfig\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces/pynicb046129e/ipConfigurations/MyIpConfig\"\ - ,\r\n \"etag\": \"W/\\\"2c63bf9a-127f-4507-9051-4e9961fef930\\\"\ + ,\r\n \"etag\": \"W/\\\"2c8a7312-079e-43af-8f06-6029cadd2e0a\\\"\ \",\r\n \"properties\": {\r\n \"provisioningState\"\ : \"Succeeded\",\r\n \"privateIPAddress\": \"10.0.0.4\",\r\n\ \ \"privateIPAllocationMethod\": \"Dynamic\",\r\n \ \ \"subnet\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/virtualNetworks/pyvnetb046129e/subnets/pysubnetb046129e\"\ \r\n },\r\n \"primary\": true,\r\n \ - \ \"privateIPAddressVersion\": \"IPv4\"\r\n }\r\n }\r\n\ - \ ],\r\n \"dnsSettings\": {\r\n \"dnsServers\": [],\r\ - \n \"appliedDnsServers\": [],\r\n \"internalDomainNameSuffix\"\ - : \"t3xm2ytmkx2uxhczqoqcn5f1sd.dx.internal.cloudapp.net\"\r\n },\r\n\ - \ \"enableAcceleratedNetworking\": false,\r\n \"enableIPForwarding\"\ - : false,\r\n \"virtualNetworkTapProvisioningState\": \"NotProvisioned\"\ - \r\n },\r\n \"type\": \"Microsoft.Network/networkInterfaces\"\r\n\ - \ }\r\n ]\r\n}"} + \ \"privateIPAddressVersion\": \"IPv4\",\r\n \"isInUseWithService\"\ + : false\r\n }\r\n }\r\n ],\r\n \"dnsSettings\"\ + : {\r\n \"dnsServers\": [],\r\n \"appliedDnsServers\": [],\r\ + \n \"internalDomainNameSuffix\": \"yk4aotutvz0uvjxly1virpii1g.dx.internal.cloudapp.net\"\ + \r\n },\r\n \"enableAcceleratedNetworking\": false,\r\n \ + \ \"enableIPForwarding\": false,\r\n \"services\": null,\r\n \ + \ \"virtualNetworkTapProvisioningState\": \"NotProvisioned\"\r\n \ + \ },\r\n \"type\": \"Microsoft.Network/networkInterfaces\"\r\n }\r\ + \n ]\r\n}"} headers: cache-control: [no-cache] - content-length: ['1848'] + content-length: ['1919'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:00:14 GMT'] + date: ['Fri, 27 Jul 2018 22:46:22 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -416,25 +423,25 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkInterfaces?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkInterfaces?api-version=2018-06-01 response: - body: {string: '{"value":[{"name":"amar-1VMNic","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amar-1VMNic","etag":"W/\"be396889-f369-4741-805d-650d3986ad83\"","location":"westus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"a823c273-0688-47ea-85ad-59eac8b85b9f","ipConfigurations":[{"name":"ipconfigamar-1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amar-1VMNic/ipConfigurations/ipconfigamar-1","etag":"W/\"be396889-f369-4741-805d-650d3986ad83\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.0.0.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/publicIPAddresses/amar-1PublicIP"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/virtualNetworks/amar-1VNET/subnets/amar-1Subnet"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[]},"macAddress":"00-0D-3A-32-E5-45","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"favy345tg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkInterfaces/favy345tg","etag":"W/\"98904abf-787b-4f02-843b-add53c950c4c\"","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"3d50db43-fecd-4563-ba00-e14e657bd4d3","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkInterfaces/favy345tg/ipConfigurations/ipconfig1","etag":"W/\"98904abf-787b-4f02-843b-add53c950c4c\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.1.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/publicIPAddresses/favy345tg"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/virtualNetworks/favy345tg/subnets/favy345tg"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"5qhgjwhhtk0urlevepbfj1ix2b.dx.internal.cloudapp.net"},"macAddress":"00-0D-3A-33-B2-62","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Compute/virtualMachines/favy345tg"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"lmazuel-docker-machine-nic","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkInterfaces/lmazuel-docker-machine-nic","etag":"W/\"93353e2c-2b2a-4a90-bbda-3362fd580b4f\"","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"c32965fc-f789-47eb-9d97-1ddb13ff8ca8","ipConfigurations":[{"name":"ip","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkInterfaces/lmazuel-docker-machine-nic/ipConfigurations/ip","etag":"W/\"93353e2c-2b2a-4a90-bbda-3362fd580b4f\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.0.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/publicIPAddresses/lmazuel-docker-machine-ip"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/virtualNetworks/docker-machine-vnet/subnets/docker-machine"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"1lrpr0dxic2e1bstp1zohothvg.dx.internal.cloudapp.net"},"macAddress":"00-0D-3A-36-2B-49","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Compute/virtualMachines/lmazuel-docker-machine"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"lmazuel-vm1792","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkInterfaces/lmazuel-vm1792","etag":"W/\"c4775e4c-1a71-4d30-b575-8f1ebed920e4\"","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"672ccc9c-0870-4365-bc47-0e8ff939e4ac","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkInterfaces/lmazuel-vm1792/ipConfigurations/ipconfig1","etag":"W/\"c4775e4c-1a71-4d30-b575-8f1ebed920e4\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.0.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/publicIPAddresses/lmazuel-vm1-ip"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/virtualNetworks/lmazuel-vm1/subnets/default"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"xiy5c1mrlqjuzaovciqewprnhh.dx.internal.cloudapp.net"},"macAddress":"00-0D-3A-3B-01-2C","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Compute/virtualMachines/lmazuel-vm1"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"myvmabc1VMNic","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkInterfaces/myvmabc1VMNic","etag":"W/\"bece8769-1b61-4308-87ac-66864655aa50\"","location":"westus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"c1a18a30-365e-4c90-b819-97f49f1f7634","ipConfigurations":[{"name":"ipconfigmyvmabc1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkInterfaces/myvmabc1VMNic/ipConfigurations/ipconfigmyvmabc1","etag":"W/\"bece8769-1b61-4308-87ac-66864655aa50\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.0.0.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/publicIPAddresses/myvmabc1PublicIP"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/virtualNetworks/myvmabc1VNET/subnets/myvmabc1Subnet"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[]},"macAddress":"00-0D-3A-32-A4-9F","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"testnic6114","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg3787/providers/Microsoft.Network/networkInterfaces/testnic6114","etag":"W/\"6be4df25-0a1d-4ccc-acc3-209d4c3e9d46\"","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"3e2401a3-5538-4373-ba92-9fccbd8c9162","ipConfigurations":[{"name":"testcrpip7536","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg3787/providers/Microsoft.Network/networkInterfaces/testnic6114/ipConfigurations/testcrpip7536","etag":"W/\"6be4df25-0a1d-4ccc-acc3-209d4c3e9d46\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.0.0.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg3787/providers/Microsoft.Network/publicIPAddresses/testpip8044"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg3787/providers/Microsoft.Network/virtualNetworks/testvnet2595/subnets/testsubnet8775"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[]},"macAddress":"00-0D-3A-34-7F-A7","enableAcceleratedNetworking":false,"enableIPForwarding":false,"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"testnic4831","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg7175/providers/Microsoft.Network/networkInterfaces/testnic4831","etag":"W/\"46afab6a-9f06-426a-919a-4f5c7f0dcfbb\"","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"ad9554f1-d671-4b6e-8d21-5b47fc942dad","ipConfigurations":[{"name":"testcrpip1408","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg7175/providers/Microsoft.Network/networkInterfaces/testnic4831/ipConfigurations/testcrpip1408","etag":"W/\"46afab6a-9f06-426a-919a-4f5c7f0dcfbb\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.0.0.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg7175/providers/Microsoft.Network/publicIPAddresses/testpip6724"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg7175/providers/Microsoft.Network/virtualNetworks/testvnet6901/subnets/testsubnet2336"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[]},"macAddress":"00-0D-3A-34-9A-2A","enableAcceleratedNetworking":false,"enableIPForwarding":false,"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"testnic6387","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg8761/providers/Microsoft.Network/networkInterfaces/testnic6387","etag":"W/\"844b74eb-cdf2-4991-80ac-dda1856f58de\"","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"0f96f920-1a57-4a84-a212-b61971d3731a","ipConfigurations":[{"name":"testcrpip4391","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg8761/providers/Microsoft.Network/networkInterfaces/testnic6387/ipConfigurations/testcrpip4391","etag":"W/\"844b74eb-cdf2-4991-80ac-dda1856f58de\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.0.0.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg8761/providers/Microsoft.Network/publicIPAddresses/testpip9046"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg8761/providers/Microsoft.Network/virtualNetworks/testvnet725/subnets/testsubnet4030"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[]},"macAddress":"00-0D-3A-33-71-3A","enableAcceleratedNetworking":false,"enableIPForwarding":false,"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"testnic7791","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg9639/providers/Microsoft.Network/networkInterfaces/testnic7791","etag":"W/\"bd053673-cb46-45e6-b39c-5b03d4b6942a\"","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"b36dfd67-a33e-4a3b-9e6a-435a26255541","ipConfigurations":[{"name":"testcrpip4510","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg9639/providers/Microsoft.Network/networkInterfaces/testnic7791/ipConfigurations/testcrpip4510","etag":"W/\"bd053673-cb46-45e6-b39c-5b03d4b6942a\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.0.0.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg9639/providers/Microsoft.Network/publicIPAddresses/testpip5796"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg9639/providers/Microsoft.Network/virtualNetworks/testvnet1642/subnets/testsubnet707"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[]},"macAddress":"00-0D-3A-31-70-F9","enableAcceleratedNetworking":false,"enableIPForwarding":false,"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"pynicb046129e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces/pynicb046129e","etag":"W/\"2c63bf9a-127f-4507-9051-4e9961fef930\"","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"6abb8454-7286-4bfe-b628-4c6cc6ff2a94","ipConfigurations":[{"name":"MyIpConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces/pynicb046129e/ipConfigurations/MyIpConfig","etag":"W/\"2c63bf9a-127f-4507-9051-4e9961fef930\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.0.0.4","privateIPAllocationMethod":"Dynamic","subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/virtualNetworks/pyvnetb046129e/subnets/pysubnetb046129e"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"t3xm2ytmkx2uxhczqoqcn5f1sd.dx.internal.cloudapp.net"},"enableAcceleratedNetworking":false,"enableIPForwarding":false,"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"wilxvm230","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkInterfaces/wilxvm230","etag":"W/\"549355ec-47d9-479a-a7bb-718a6d5e2c96\"","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"b4c6c694-1545-4bf8-b803-f75e0f509cf5","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkInterfaces/wilxvm230/ipConfigurations/ipconfig1","etag":"W/\"549355ec-47d9-479a-a7bb-718a6d5e2c96\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.0.0.5","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/publicIPAddresses/wilxvm2-ip"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/virtualNetworks/amar-1VNET/subnets/amar-1Subnet"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"hfjoqzoniuuutc5euyiz3wwgye.dx.internal.cloudapp.net"},"macAddress":"00-0D-3A-31-7C-3F","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Compute/virtualMachines/wilxvm2"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"azvmc632","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkInterfaces/azvmc632","etag":"W/\"3b6d31a3-145a-4edc-a146-52f1dc64bd66\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"b92342ac-a55e-4b3b-864e-77fc709973fb","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkInterfaces/azvmc632/ipConfigurations/ipconfig1","etag":"W/\"3b6d31a3-145a-4edc-a146-52f1dc64bd66\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.1.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/publicIPAddresses/azvmc632"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/virtualNetworks/azvmc632/subnets/azvmc632"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"z1gxskbzck1ebkr0xeph5kuv3a.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-14-D5-33","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Compute/virtualMachines/azvmc632"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"azvmc635","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkInterfaces/azvmc635","etag":"W/\"fc77bccd-e277-49b6-b02e-b3006bcc74d5\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"803b50df-360e-45c9-9ed6-e3f16f61f572","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkInterfaces/azvmc635/ipConfigurations/ipconfig1","etag":"W/\"fc77bccd-e277-49b6-b02e-b3006bcc74d5\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.1.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/publicIPAddresses/azvmc635"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/virtualNetworks/azvmc635/subnets/azvmc635"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[]},"enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/AZVMC635/providers/Microsoft.Compute/virtualMachines/azvmc635"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"dcos-master-FEEFDCBC-nic-0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkInterfaces/dcos-master-FEEFDCBC-nic-0","etag":"W/\"2be5631f-67d8-42ea-8805-286807d2f57f\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"9a836e59-e8d7-4b39-897e-c9b6baa5f168","ipConfigurations":[{"name":"ipConfigNode","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkInterfaces/dcos-master-FEEFDCBC-nic-0/ipConfigurations/ipConfigNode","etag":"W/\"2be5631f-67d8-42ea-8805-286807d2f57f\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"172.16.0.5","privateIPAllocationMethod":"Static","subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/virtualNetworks/dcos-vnet-FEEFDCBC/subnets/dcos-masterSubnet"},"primary":true,"privateIPAddressVersion":"IPv4","loadBalancerBackendAddressPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-master-lb-FEEFDCBC/backendAddressPools/dcos-master-pool-FEEFDCBC"}],"loadBalancerInboundNatRules":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-master-lb-FEEFDCBC/inboundNatRules/SSH-dcos-master-FEEFDCBC-0"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-master-lb-FEEFDCBC/inboundNatRules/SSHPort22-dcos-master-FEEFDCBC-0"}]}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"2w31n0m4u0selc1lbu3synvcga.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-1C-21-E7","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Compute/virtualMachines/dcos-master-FEEFDCBC-0"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"foovmrealcool101","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foovmrealcool101/providers/Microsoft.Network/networkInterfaces/foovmrealcool101","etag":"W/\"0890c954-ee14-483a-8fce-ef5279ef1341\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"2d4b2009-31e5-44b8-bb34-6eed6dc42f76","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foovmrealcool101/providers/Microsoft.Network/networkInterfaces/foovmrealcool101/ipConfigurations/ipconfig1","etag":"W/\"0890c954-ee14-483a-8fce-ef5279ef1341\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.1.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foovmrealcool101/providers/Microsoft.Network/publicIPAddresses/foovmrealcool101"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foovmrealcool101/providers/Microsoft.Network/virtualNetworks/foovmrealcool101/subnets/Subnet"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"t0gdtt45phsupexxqwtrr0tq3b.bx.internal.cloudapp.net"},"enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foovmrealcool101/providers/Microsoft.Network/networkSecurityGroups/foovmrealcool101"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"fzmc75","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkInterfaces/fzmc75","etag":"W/\"550a99cd-2e04-45f4-8d37-4a60a321fb45\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"00a34d86-ffc3-484c-9459-d730bc274a04","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkInterfaces/fzmc75/ipConfigurations/ipconfig1","etag":"W/\"550a99cd-2e04-45f4-8d37-4a60a321fb45\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.1.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/publicIPAddresses/fzmc75"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/virtualNetworks/fzmc75/subnets/Subnet"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"5nk3so25fyjubp0azaythe43vd.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-13-7C-3C","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Compute/virtualMachines/fzmc75"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"fzvm123mccw","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkInterfaces/fzvm123mccw","etag":"W/\"a3b818c7-56c4-44c3-b53e-84a45262f6ca\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"2d04da64-8cd5-4888-bb4d-ddf2f39764eb","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkInterfaces/fzvm123mccw/ipConfigurations/ipconfig1","etag":"W/\"a3b818c7-56c4-44c3-b53e-84a45262f6ca\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.1.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/publicIPAddresses/fzvm123mccw"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/virtualNetworks/fzvm123mccw/subnets/fzvm123mccw"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"mmxemvd50jzexietl0brthfg1c.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-1B-68-36","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Compute/virtualMachines/fzvm123mccw"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"mccwVM20","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mccwVM20/providers/Microsoft.Network/networkInterfaces/mccwVM20","etag":"W/\"32cc9b5d-aa4e-4dce-9c26-58139405f873\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"76ad7025-d505-40b8-8a3e-e7bc7517822f","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mccwVM20/providers/Microsoft.Network/networkInterfaces/mccwVM20/ipConfigurations/ipconfig1","etag":"W/\"32cc9b5d-aa4e-4dce-9c26-58139405f873\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.1.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mccwVM20/providers/Microsoft.Network/publicIPAddresses/mccwVM20"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mccwVM20/providers/Microsoft.Network/virtualNetworks/mccwVM20/subnets/Subnet"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"jvlhx5vtur3uxhn3ph1jzknkvf.bx.internal.cloudapp.net"},"enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mccwVM20/providers/Microsoft.Network/networkSecurityGroups/mccwVM20"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"mcw1358vm","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkInterfaces/mcw1358vm","etag":"W/\"e9e0ffb1-47de-4d7a-bf47-96aac592ad4e\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"d34b4eb5-a6fa-420e-91b3-e05857c10f60","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkInterfaces/mcw1358vm/ipConfigurations/ipconfig1","etag":"W/\"e9e0ffb1-47de-4d7a-bf47-96aac592ad4e\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.1.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/publicIPAddresses/mcw1358vm"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/virtualNetworks/mcw1358vm/subnets/mcw1358vm"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"x2dsc343s3re3i4sf1om411lpe.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-1B-65-CD","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Compute/virtualMachines/mcw1358vm"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"mcw18765","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkInterfaces/mcw18765","etag":"W/\"d82ced80-d0f5-42eb-ab23-31798cdb6417\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"528faadf-1dd2-48e3-8d7b-8093d4e7cff4","ipConfigurations":[{"name":"mcw18765","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkInterfaces/mcw18765/ipConfigurations/mcw18765","etag":"W/\"d82ced80-d0f5-42eb-ab23-31798cdb6417\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.1.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/publicIPAddresses/mcw18765"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/virtualNetworks/mcw18765/subnets/mcw18765"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"dplqnzq2nklefaumecuxpl425f.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-17-6B-C5","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Compute/virtualMachines/mcw18765"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"mcw18766","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkInterfaces/mcw18766","etag":"W/\"aa37260f-ee5d-48cb-9384-6d8512f32695\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"8c4c0620-66db-4ffc-b4e9-2acd8d73218a","ipConfigurations":[{"name":"mcw18766","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkInterfaces/mcw18766/ipConfigurations/mcw18766","etag":"W/\"aa37260f-ee5d-48cb-9384-6d8512f32695\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.1.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/publicIPAddresses/mcw18766"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/virtualNetworks/mcw18766/subnets/mcw18766"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"31lvizafhnbudbksujqq0nhope.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-1C-96-72","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Compute/virtualMachines/mcw18766"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"mcw3569vm","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkInterfaces/mcw3569vm","etag":"W/\"79982071-7be4-4d9a-8650-11925560da18\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"a8fa53a8-e108-4374-b8ee-64ead81c067e","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkInterfaces/mcw3569vm/ipConfigurations/ipconfig1","etag":"W/\"79982071-7be4-4d9a-8650-11925560da18\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.1.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/publicIPAddresses/mcw3569vm"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/virtualNetworks/mcw3569vm/subnets/mcw3569vm"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"cpmoormca2qunhte4mow5fhxye.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-10-C8-A8","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Compute/virtualMachines/mcw3569vm"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"aks-nodepool1-14641967-nic-0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/networkInterfaces/aks-nodepool1-14641967-nic-0","etag":"W/\"f33e3122-8cb0-408d-aac0-a3f566f1097f\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"951734f9-743d-42a0-9e23-d29d09db46ab","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/networkInterfaces/aks-nodepool1-14641967-nic-0/ipConfigurations/ipconfig1","etag":"W/\"f33e3122-8cb0-408d-aac0-a3f566f1097f\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.240.0.6","privateIPAllocationMethod":"Dynamic","subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-14641967/subnets/aks-subnet"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"5qpo2n1nczvurhd0xjtqdsujcg.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-1C-26-67","enableAcceleratedNetworking":false,"enableIPForwarding":true,"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Compute/virtualMachines/aks-nodepool1-14641967-0"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"aks-nodepool1-14641967-nic-1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/networkInterfaces/aks-nodepool1-14641967-nic-1","etag":"W/\"92db3ad7-912e-420c-9990-521c345fbd28\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"6ebbe09e-656c-4351-98b3-ffa2373cd368","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/networkInterfaces/aks-nodepool1-14641967-nic-1/ipConfigurations/ipconfig1","etag":"W/\"92db3ad7-912e-420c-9990-521c345fbd28\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.240.0.5","privateIPAllocationMethod":"Dynamic","subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-14641967/subnets/aks-subnet"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"5qpo2n1nczvurhd0xjtqdsujcg.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-1B-21-4D","enableAcceleratedNetworking":false,"enableIPForwarding":true,"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Compute/virtualMachines/aks-nodepool1-14641967-1"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"aks-nodepool1-14641967-nic-2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/networkInterfaces/aks-nodepool1-14641967-nic-2","etag":"W/\"de363027-d59c-464d-863a-117de28657cf\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"0b488324-35d2-4145-a2db-b477dafaa4e9","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/networkInterfaces/aks-nodepool1-14641967-nic-2/ipConfigurations/ipconfig1","etag":"W/\"de363027-d59c-464d-863a-117de28657cf\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.240.0.4","privateIPAllocationMethod":"Dynamic","subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-14641967/subnets/aks-subnet"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"5qpo2n1nczvurhd0xjtqdsujcg.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-1A-C3-BA","enableAcceleratedNetworking":false,"enableIPForwarding":true,"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Compute/virtualMachines/aks-nodepool1-14641967-2"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"aks-agentpool-55696168-nic-0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-0","etag":"W/\"db3fb94b-8baa-422c-9bb1-4fbd15c3c91f\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"c25234db-a558-471e-b488-9ec7485fafaa","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-0/ipConfigurations/ipconfig1","etag":"W/\"db3fb94b-8baa-422c-9bb1-4fbd15c3c91f\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.240.0.5","privateIPAllocationMethod":"Dynamic","subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-55696168/subnets/aks-subnet"},"primary":true,"privateIPAddressVersion":"IPv4","loadBalancerBackendAddressPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/backendAddressPools/kubernetes"}]}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"5yfkmmr543qudms4grccpduo4c.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-14-43-6B","enableAcceleratedNetworking":false,"enableIPForwarding":true,"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Compute/virtualMachines/aks-agentpool-55696168-0"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"aks-agentpool-55696168-nic-1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-1","etag":"W/\"dd544120-ea00-4142-8eb3-7421aaac062d\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"7cdd88ea-ce14-49fc-a3ba-2fe3cd7dba10","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-1/ipConfigurations/ipconfig1","etag":"W/\"dd544120-ea00-4142-8eb3-7421aaac062d\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.240.0.6","privateIPAllocationMethod":"Dynamic","subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-55696168/subnets/aks-subnet"},"primary":true,"privateIPAddressVersion":"IPv4","loadBalancerBackendAddressPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/backendAddressPools/kubernetes"}]}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"5yfkmmr543qudms4grccpduo4c.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-14-4B-8B","enableAcceleratedNetworking":false,"enableIPForwarding":true,"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Compute/virtualMachines/aks-agentpool-55696168-1"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"aks-agentpool-55696168-nic-2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-2","etag":"W/\"02813408-1555-443c-9ee1-6dbb31075ba9\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"d9f5dbed-b994-4ec9-9270-2feb44379075","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-2/ipConfigurations/ipconfig1","etag":"W/\"02813408-1555-443c-9ee1-6dbb31075ba9\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.240.0.8","privateIPAllocationMethod":"Dynamic","subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-55696168/subnets/aks-subnet"},"primary":true,"privateIPAddressVersion":"IPv4","loadBalancerBackendAddressPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/backendAddressPools/kubernetes"}]}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"5yfkmmr543qudms4grccpduo4c.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-14-45-7E","enableAcceleratedNetworking":false,"enableIPForwarding":true,"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Compute/virtualMachines/aks-agentpool-55696168-2"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"aks-agentpool-55696168-nic-3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-3","etag":"W/\"f4b7167a-5ce6-4917-9009-a8563550818d\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"df98def6-c344-40af-add2-81bef4d229fe","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-3/ipConfigurations/ipconfig1","etag":"W/\"f4b7167a-5ce6-4917-9009-a8563550818d\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.240.0.9","privateIPAllocationMethod":"Dynamic","subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-55696168/subnets/aks-subnet"},"primary":true,"privateIPAddressVersion":"IPv4","loadBalancerBackendAddressPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/backendAddressPools/kubernetes"}]}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"5yfkmmr543qudms4grccpduo4c.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-14-4D-0B","enableAcceleratedNetworking":false,"enableIPForwarding":true,"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Compute/virtualMachines/aks-agentpool-55696168-3"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"aks-agentpool-55696168-nic-4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-4","etag":"W/\"fa3a9c99-dcf2-4a0d-a69c-50d203d9bc54\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"b6411a3b-b7d5-4212-afa7-fa2ec144686e","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-4/ipConfigurations/ipconfig1","etag":"W/\"fa3a9c99-dcf2-4a0d-a69c-50d203d9bc54\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.240.0.4","privateIPAllocationMethod":"Dynamic","subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-55696168/subnets/aks-subnet"},"primary":true,"privateIPAddressVersion":"IPv4","loadBalancerBackendAddressPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/backendAddressPools/kubernetes"}]}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"5yfkmmr543qudms4grccpduo4c.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-14-46-ED","enableAcceleratedNetworking":false,"enableIPForwarding":true,"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Compute/virtualMachines/aks-agentpool-55696168-4"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"aks-agentpool-55696168-nic-5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-5","etag":"W/\"a7af0c83-32e7-4b93-b6ee-27c2d95ba690\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"efdb3e01-4271-49cc-ae44-01e3ea3a3401","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-5/ipConfigurations/ipconfig1","etag":"W/\"a7af0c83-32e7-4b93-b6ee-27c2d95ba690\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.240.0.11","privateIPAllocationMethod":"Dynamic","subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-55696168/subnets/aks-subnet"},"primary":true,"privateIPAddressVersion":"IPv4","loadBalancerBackendAddressPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/backendAddressPools/kubernetes"}]}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"5yfkmmr543qudms4grccpduo4c.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-14-4D-52","enableAcceleratedNetworking":false,"enableIPForwarding":true,"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Compute/virtualMachines/aks-agentpool-55696168-5"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"aks-agentpool-55696168-nic-6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-6","etag":"W/\"3e372f1d-5810-4308-a238-9ef017cc7f86\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"d7f84228-94c0-45be-b19f-6b62f6132187","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-6/ipConfigurations/ipconfig1","etag":"W/\"3e372f1d-5810-4308-a238-9ef017cc7f86\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.240.0.10","privateIPAllocationMethod":"Dynamic","subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-55696168/subnets/aks-subnet"},"primary":true,"privateIPAddressVersion":"IPv4","loadBalancerBackendAddressPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/backendAddressPools/kubernetes"}]}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"5yfkmmr543qudms4grccpduo4c.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-14-4B-D6","enableAcceleratedNetworking":false,"enableIPForwarding":true,"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Compute/virtualMachines/aks-agentpool-55696168-6"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"aks-agentpool-55696168-nic-7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-7","etag":"W/\"77145fe2-93d9-4901-8329-41fba2f57bdb\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"84f8cfe1-cb46-47e2-9a84-73e28fba2c83","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-7/ipConfigurations/ipconfig1","etag":"W/\"77145fe2-93d9-4901-8329-41fba2f57bdb\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.240.0.13","privateIPAllocationMethod":"Dynamic","subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-55696168/subnets/aks-subnet"},"primary":true,"privateIPAddressVersion":"IPv4","loadBalancerBackendAddressPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/backendAddressPools/kubernetes"}]}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"5yfkmmr543qudms4grccpduo4c.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-14-48-1E","enableAcceleratedNetworking":false,"enableIPForwarding":true,"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Compute/virtualMachines/aks-agentpool-55696168-7"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"aks-agentpool-55696168-nic-8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-8","etag":"W/\"cd6ea8dc-e556-445b-b89f-8912c2f6ce80\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"11f4b662-1557-483b-874e-5575411ee962","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-8/ipConfigurations/ipconfig1","etag":"W/\"cd6ea8dc-e556-445b-b89f-8912c2f6ce80\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.240.0.12","privateIPAllocationMethod":"Dynamic","subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-55696168/subnets/aks-subnet"},"primary":true,"privateIPAddressVersion":"IPv4","loadBalancerBackendAddressPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/backendAddressPools/kubernetes"}]}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"5yfkmmr543qudms4grccpduo4c.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-14-49-59","enableAcceleratedNetworking":false,"enableIPForwarding":true,"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Compute/virtualMachines/aks-agentpool-55696168-8"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"aks-agentpool-55696168-nic-9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-9","etag":"W/\"f637e427-e599-493d-9609-2443de0c6e56\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"8aff8524-8537-432c-80a4-bee0dcc42efc","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-9/ipConfigurations/ipconfig1","etag":"W/\"f637e427-e599-493d-9609-2443de0c6e56\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.240.0.7","privateIPAllocationMethod":"Dynamic","subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-55696168/subnets/aks-subnet"},"primary":true,"privateIPAddressVersion":"IPv4","loadBalancerBackendAddressPools":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/backendAddressPools/kubernetes"}]}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"5yfkmmr543qudms4grccpduo4c.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-14-46-CD","enableAcceleratedNetworking":false,"enableIPForwarding":true,"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Compute/virtualMachines/aks-agentpool-55696168-9"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"mvz45tr13","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkInterfaces/mvz45tr13","etag":"W/\"6b52607f-a175-4056-bab6-1656604d7855\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"95c3c0d7-64c0-46d1-891c-a452d1ca643b","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkInterfaces/mvz45tr13/ipConfigurations/ipconfig1","etag":"W/\"6b52607f-a175-4056-bab6-1656604d7855\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.1.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/publicIPAddresses/mvz45tr13"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/virtualNetworks/mvz45tr13/subnets/mvz45tr13"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"yvwfdp2kofgu3itl5zr4z2bwfc.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-13-7A-D1","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Compute/virtualMachines/mvz45tr13"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"myfvm65","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkInterfaces/myfvm65","etag":"W/\"6b59b4cd-eb31-4638-b797-f8b37632b678\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"c0259b21-97d7-4321-b1f7-10a416c983fc","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkInterfaces/myfvm65/ipConfigurations/ipconfig1","etag":"W/\"6b59b4cd-eb31-4638-b797-f8b37632b678\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.1.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/publicIPAddresses/myfvm65"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/virtualNetworks/myfvm65/subnets/Subnet"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"05eba2nm0o3eld2314adrwc1oe.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-1B-06-D6","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Compute/virtualMachines/myfvm65"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"MyReallyCoolVM202","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Network/networkInterfaces/MyReallyCoolVM202","etag":"W/\"30420c73-3804-4512-b75c-595df9fffc48\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"2eadf169-ce1d-48aa-8bfc-7784779f668e","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Network/networkInterfaces/MyReallyCoolVM202/ipConfigurations/ipconfig1","etag":"W/\"30420c73-3804-4512-b75c-595df9fffc48\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.1.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Network/publicIPAddresses/MyReallyCoolVM202"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Network/virtualNetworks/MyReallyCoolVM202/subnets/Subnet"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"fhjre2nqdhyudkojwbh2mkia3c.bx.internal.cloudapp.net"},"enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Network/networkSecurityGroups/MyReallyCoolVM202"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"mysuperCoolVM202","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mysuperCoolVM202/providers/Microsoft.Network/networkInterfaces/mysuperCoolVM202","etag":"W/\"80365006-2442-476f-99a5-ba02245db91e\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"f0bafdcf-ed39-4ad4-8460-903bf0814a87","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mysuperCoolVM202/providers/Microsoft.Network/networkInterfaces/mysuperCoolVM202/ipConfigurations/ipconfig1","etag":"W/\"80365006-2442-476f-99a5-ba02245db91e\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.1.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mysuperCoolVM202/providers/Microsoft.Network/publicIPAddresses/mysuperCoolVM202"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mysuperCoolVM202/providers/Microsoft.Network/virtualNetworks/mysuperCoolVM202/subnets/Subnet"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"ahx2fs3tg0zefj0e443jd42ish.bx.internal.cloudapp.net"},"enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mysuperCoolVM202/providers/Microsoft.Network/networkSecurityGroups/mysuperCoolVM202"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"mynicynic","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mytestyrg/providers/Microsoft.Network/networkInterfaces/mynicynic","etag":"W/\"ab4d9125-80f0-4b53-8cd9-bf2942b77a39\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"e196518f-0262-4985-92cf-d6182c4fa384","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mytestyrg/providers/Microsoft.Network/networkInterfaces/mynicynic/ipConfigurations/ipconfig1","etag":"W/\"ab4d9125-80f0-4b53-8cd9-bf2942b77a39\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.1.5","privateIPAllocationMethod":"Dynamic","subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/virtualNetworks/zvb346/subnets/zvb346"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"knec1datyjquzff51mckwy1ede.bx.internal.cloudapp.net"},"enableAcceleratedNetworking":false,"enableIPForwarding":false,"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"scottphvm","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkInterfaces/scottphvm","etag":"W/\"5b097e2c-fdff-4057-9918-50393ea470ed\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"1c6255da-32ee-4023-be41-dc79da4da84f","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkInterfaces/scottphvm/ipConfigurations/ipconfig1","etag":"W/\"5b097e2c-fdff-4057-9918-50393ea470ed\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.1.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/publicIPAddresses/scottphvm"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/virtualNetworks/scottphvm/subnets/scottphvm"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"rnata5zafs4uvdxzzcqvlshnlf.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-1B-0B-64","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Compute/virtualMachines/scottphvm"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"wilxvm35","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkInterfaces/wilxvm35","etag":"W/\"cd08d5db-41ad-4f46-97fa-cbc3f47b2cd8\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"78c7af71-bcfd-4690-9785-3e195a52b661","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkInterfaces/wilxvm35/ipConfigurations/ipconfig1","etag":"W/\"cd08d5db-41ad-4f46-97fa-cbc3f47b2cd8\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.1.5","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/publicIPAddresses/wilxvm-ip"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/virtualNetworks/azvmc635/subnets/azvmc635"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"yyj5ykylh2ku3c544p4olpbbqe.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-13-64-E6","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Compute/virtualMachines/wilxvm"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"zvb346","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkInterfaces/zvb346","etag":"W/\"9a0173e5-9952-4f3d-9d05-148ed7b4fb0b\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"321e4861-cc51-4440-9c5f-ec51df8acc1d","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkInterfaces/zvb346/ipConfigurations/ipconfig1","etag":"W/\"9a0173e5-9952-4f3d-9d05-148ed7b4fb0b\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"192.168.1.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/publicIPAddresses/zvb346"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/virtualNetworks/zvb346/subnets/zvb346"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"knec1datyjquzff51mckwy1ede.bx.internal.cloudapp.net"},"macAddress":"00-0D-3A-13-29-FD","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Compute/virtualMachines/zvb346"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"vm1VMNic","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkInterfaces/vm1VMNic","etag":"W/\"a6b66396-0acd-46ed-981f-5156c0c9ed40\"","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"1e7fae2c-53aa-4e72-973b-34129a42d8c3","ipConfigurations":[{"name":"ipconfigvm1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkInterfaces/vm1VMNic/ipConfigurations/ipconfigvm1","etag":"W/\"a6b66396-0acd-46ed-981f-5156c0c9ed40\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.0.0.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/virtualNetworks/vm1VNET/subnets/vm1Subnet"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"u0sesib4rbqupoohiug4plwg3c.jx.internal.cloudapp.net"},"macAddress":"00-0D-3A-77-33-0F","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Compute/virtualMachines/vm1"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"vm1VMNic","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkInterfaces/vm1VMNic","etag":"W/\"b6dc8b97-daa9-43bd-9a55-399e23ce9a91\"","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"46268a89-62c9-4ebe-b1c8-980517644bc7","ipConfigurations":[{"name":"ipconfigvm1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkInterfaces/vm1VMNic/ipConfigurations/ipconfigvm1","etag":"W/\"b6dc8b97-daa9-43bd-9a55-399e23ce9a91\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.0.0.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/virtualNetworks/vm1VNET/subnets/vm1Subnet"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"c0wayk5bzqxejngxsl111l3rbc.jx.internal.cloudapp.net"},"macAddress":"00-0D-3A-74-D2-C0","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Compute/virtualMachines/vm1"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"vm1VMNic","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkInterfaces/vm1VMNic","etag":"W/\"3eb4f6b1-5614-47b0-82db-84396978ed02\"","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"0f5fde0a-8c07-4f98-8b69-04845fba44a8","ipConfigurations":[{"name":"ipconfigvm1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkInterfaces/vm1VMNic/ipConfigurations/ipconfigvm1","etag":"W/\"3eb4f6b1-5614-47b0-82db-84396978ed02\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.0.0.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/virtualNetworks/vm1VNET/subnets/vm1Subnet"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"xs4cgxdr3bqudbyk3sbqqpv1vh.jx.internal.cloudapp.net"},"macAddress":"00-0D-3A-70-3F-C9","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Compute/virtualMachines/vm1"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"groupVMNic","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkInterfaces/groupVMNic","etag":"W/\"592ed026-7ac3-4fa1-b041-e5a356b0a271\"","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"41968496-7f9b-4ec6-b2f4-d7b2045b8c36","ipConfigurations":[{"name":"ipconfiggroup","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkInterfaces/groupVMNic/ipConfigurations/ipconfiggroup","etag":"W/\"592ed026-7ac3-4fa1-b041-e5a356b0a271\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.0.0.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/publicIPAddresses/groupPublicIP"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/virtualNetworks/groupVNET/subnets/groupSubnet"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"3muoprkzfjze5nwxelzzio135h.jx.internal.cloudapp.net"},"macAddress":"00-0D-3A-75-DB-FB","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Compute/virtualMachines/group"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"t-chwong-vmVMNic","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkInterfaces/t-chwong-vmVMNic","etag":"W/\"016b3f36-c67c-400b-8fb5-73fa9dcaa629\"","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"f229332d-8a84-43f7-a7a1-edf70fc2c99f","ipConfigurations":[{"name":"ipconfigt-chwong-vm","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkInterfaces/t-chwong-vmVMNic/ipConfigurations/ipconfigt-chwong-vm","etag":"W/\"016b3f36-c67c-400b-8fb5-73fa9dcaa629\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.0.0.5","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/publicIPAddresses/t-chwong-vmPublicIP"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/virtualNetworks/groupVNET/subnets/groupSubnet"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"3muoprkzfjze5nwxelzzio135h.jx.internal.cloudapp.net"},"macAddress":"00-0D-3A-73-7F-E8","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Compute/virtualMachines/t-chwong-vm"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"test-vm-1VMNic","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkInterfaces/test-vm-1VMNic","etag":"W/\"b9d7cab0-c29d-4486-a19d-c8157e55f88b\"","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"0bbe7faf-27ff-41cb-95d2-0f132c87dfe8","ipConfigurations":[{"name":"ipconfigtest-vm-1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkInterfaces/test-vm-1VMNic/ipConfigurations/ipconfigtest-vm-1","etag":"W/\"b9d7cab0-c29d-4486-a19d-c8157e55f88b\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.0.0.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/publicIPAddresses/test-vm-1PublicIP"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/virtualNetworks/test-vm-1VNET/subnets/test-vm-1Subnet"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[]},"macAddress":"00-0D-3A-70-DF-91","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"test-vm-2VMNic","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkInterfaces/test-vm-2VMNic","etag":"W/\"b4970f48-0fd5-491e-afa5-7fb36d59e33e\"","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"fe3cdeb0-a16e-4d6b-ba90-6b1fcce88dcc","ipConfigurations":[{"name":"ipconfigtest-vm-2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkInterfaces/test-vm-2VMNic/ipConfigurations/ipconfigtest-vm-2","etag":"W/\"b4970f48-0fd5-491e-afa5-7fb36d59e33e\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.0.0.5","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/publicIPAddresses/test-vm-2PublicIP"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/virtualNetworks/test-vm-1VNET/subnets/test-vm-1Subnet"},"primary":true,"privateIPAddressVersion":"IPv4"}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"4t11znc2nzaedc0yd0etzj4xmd.jx.internal.cloudapp.net"},"macAddress":"00-0D-3A-74-5B-B3","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG"},"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Compute/virtualMachines/test-vm-2"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"}]}'} + body: {string: '{"value":[{"name":"pynicb046129e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces/pynicb046129e","etag":"W/\"2c8a7312-079e-43af-8f06-6029cadd2e0a\"","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"7721c185-8f21-4d46-9929-6968baaa5915","ipConfigurations":[{"name":"MyIpConfig","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces/pynicb046129e/ipConfigurations/MyIpConfig","etag":"W/\"2c8a7312-079e-43af-8f06-6029cadd2e0a\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.0.0.4","privateIPAllocationMethod":"Dynamic","subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/virtualNetworks/pyvnetb046129e/subnets/pysubnetb046129e"},"primary":true,"privateIPAddressVersion":"IPv4","isInUseWithService":false}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[],"internalDomainNameSuffix":"yk4aotutvz0uvjxly1virpii1g.dx.internal.cloudapp.net"},"enableAcceleratedNetworking":false,"enableIPForwarding":false,"services":null,"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"windowsvm624","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/networkInterfaces/windowsvm624","etag":"W/\"22e7299a-d679-4808-ad55-fc1a857a75ed\"","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"9b8d305c-80b3-4b95-a98d-137d99951ad4","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/networkInterfaces/windowsvm624/ipConfigurations/ipconfig1","etag":"W/\"22e7299a-d679-4808-ad55-fc1a857a75ed\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.1.1.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/publicIPAddresses/windowsvm-ip"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/virtualNetworks/wilxgroup1-vnet/subnets/default"},"primary":true,"privateIPAddressVersion":"IPv4","isInUseWithService":false}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[]},"enableAcceleratedNetworking":true,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/networkSecurityGroups/windowsvm-nsg"},"services":null,"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Compute/virtualMachines/windowsvm"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"amareh2451","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amareh2451","etag":"W/\"c6de21dc-0c04-4f23-89a0-989c2dfd9091\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"cc947cd3-1806-4e0d-895b-33634842dad1","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amareh2451/ipConfigurations/ipconfig1","etag":"W/\"c6de21dc-0c04-4f23-89a0-989c2dfd9091\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.0.16.5","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/publicIPAddresses/amareh2-ip"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/virtualNetworks/amar-vnet/subnets/default"},"primary":true,"privateIPAddressVersion":"IPv4","isInUseWithService":false}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[]},"macAddress":"00-0D-3A-4D-EC-1B","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg"},"services":null,"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"amareh3187","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amareh3187","etag":"W/\"a3d11fcd-2345-4a49-acfd-e751d94b6a2f\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"17b2695e-c987-466b-8be9-1a1ef092f88b","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amareh3187/ipConfigurations/ipconfig1","etag":"W/\"a3d11fcd-2345-4a49-acfd-e751d94b6a2f\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.0.16.6","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/publicIPAddresses/amareh3-ip"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/virtualNetworks/amar-vnet/subnets/default"},"primary":true,"privateIPAddressVersion":"IPv4","isInUseWithService":false}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[]},"macAddress":"00-0D-3A-18-0B-96","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg"},"services":null,"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"amareh453","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amareh453","etag":"W/\"d9b548ca-5182-4cdf-871e-c6b1dc1b441f\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"dc4d1ab8-bc2e-405a-89a1-be9b40d3dc15","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amareh453/ipConfigurations/ipconfig1","etag":"W/\"d9b548ca-5182-4cdf-871e-c6b1dc1b441f\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.2.0.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/publicIPAddresses/amareh4-ip"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/virtualNetworks/amar-vnet2/subnets/default"},"primary":true,"privateIPAddressVersion":"IPv4","isInUseWithService":false}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[]},"macAddress":"00-0D-3A-17-8F-35","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg"},"services":null,"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"amareh554","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amareh554","etag":"W/\"10cff3f7-f98d-4511-8432-9f32cdb178e4\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"f2b4d457-ff30-47f8-90a4-569aed23308d","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amareh554/ipConfigurations/ipconfig1","etag":"W/\"10cff3f7-f98d-4511-8432-9f32cdb178e4\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.0.16.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/publicIPAddresses/amareh-ip"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/virtualNetworks/amar-vnet/subnets/default"},"primary":true,"privateIPAddressVersion":"IPv4","isInUseWithService":false}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[]},"macAddress":"00-0D-3A-4D-F9-07","enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg"},"services":null,"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"},{"name":"lmazuel-testcapture427","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Network/networkInterfaces/lmazuel-testcapture427","etag":"W/\"53003083-c398-46fa-a616-3df40521ce00\"","location":"westus2","properties":{"provisioningState":"Succeeded","resourceGuid":"15eb6eb5-bd81-4e32-b1fd-9fc9e4b1faea","ipConfigurations":[{"name":"ipconfig1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Network/networkInterfaces/lmazuel-testcapture427/ipConfigurations/ipconfig1","etag":"W/\"53003083-c398-46fa-a616-3df40521ce00\"","properties":{"provisioningState":"Succeeded","privateIPAddress":"10.1.0.4","privateIPAllocationMethod":"Dynamic","publicIPAddress":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Network/publicIPAddresses/lmazuel-testcapture-ip"},"subnet":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Network/virtualNetworks/lmazuel-testcapture-vnet/subnets/default"},"primary":true,"privateIPAddressVersion":"IPv4","isInUseWithService":false}}],"dnsSettings":{"dnsServers":[],"appliedDnsServers":[]},"enableAcceleratedNetworking":false,"enableIPForwarding":false,"networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Network/networkSecurityGroups/lmazuel-testcapture-nsg"},"services":null,"primary":true,"virtualMachine":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Compute/virtualMachines/lmazuel-testcapture"},"virtualNetworkTapProvisioningState":"NotProvisioned"},"type":"Microsoft.Network/networkInterfaces"}]}'} headers: cache-control: [no-cache] - content-length: ['87852'] + content-length: ['11082'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:00:15 GMT'] + date: ['Fri, 27 Jul 2018 22:46:23 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-original-request-ids: [bd8f747d-d364-4309-a90e-50756cf7c4c2, c679073e-13eb-495d-b8f5-065467131bc7, - 15b334b9-33c0-41b0-8fd9-0acf080e9c15] + x-ms-original-request-ids: [726f3d3d-6662-419c-9c08-8d56b501e72a, 68195720-ed07-49a5-964e-fa05b5e26a8a, + 12267eb1-d132-40f9-a4f2-541840e506aa] status: {code: 200, message: OK} - request: body: null @@ -444,25 +451,25 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces/pynicb046129e?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_interface_cardb046129e/providers/Microsoft.Network/networkInterfaces/pynicb046129e?api-version=2018-06-01 response: body: {string: ''} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e9de6f06-d985-482b-bbe0-9f359c68bb3d?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/a12d6e29-1e53-4ed8-9364-cd251befe1b1?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 03 Apr 2018 21:00:16 GMT'] + date: ['Fri, 27 Jul 2018 22:46:25 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/e9de6f06-d985-482b-bbe0-9f359c68bb3d?api-version=2018-02-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/a12d6e29-1e53-4ed8-9364-cd251befe1b1?api-version=2018-06-01'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} - request: body: null @@ -470,17 +477,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e9de6f06-d985-482b-bbe0-9f359c68bb3d?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/a12d6e29-1e53-4ed8-9364-cd251befe1b1?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:00:27 GMT'] + date: ['Fri, 27 Jul 2018 22:46:36 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] diff --git a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_network_security_groups.yaml b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_network_security_groups.yaml index b04502a75fd3..825a98c69a4e 100644 --- a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_network_security_groups.yaml +++ b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_network_security_groups.yaml @@ -10,20 +10,20 @@ interactions: Connection: [keep-alive] Content-Length: ['348'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pysecgroupc575136b\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b\"\ - ,\r\n \"etag\": \"W/\\\"01399d7c-290f-44e6-b223-fdf0e3ae3d7f\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"1f08e085-dfb0-4e2e-a75f-a0a91dd7c17a\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/networkSecurityGroups\",\r\n \"location\"\ : \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ - ,\r\n \"resourceGuid\": \"08b31770-acd1-4a5a-9e53-831222fd491e\",\r\n \ + ,\r\n \"resourceGuid\": \"6cf7eb01-67ca-4291-a158-e71f15e2513d\",\r\n \ \ \"securityRules\": [\r\n {\r\n \"name\": \"pysecgrouprulec575136b\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules/pysecgrouprulec575136b\"\ - ,\r\n \"etag\": \"W/\\\"01399d7c-290f-44e6-b223-fdf0e3ae3d7f\\\"\"\ + ,\r\n \"etag\": \"W/\\\"1f08e085-dfb0-4e2e-a75f-a0a91dd7c17a\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ ,\r\n \"description\": \"Test security rule\",\r\n \"protocol\"\ : \"Tcp\",\r\n \"sourcePortRange\": \"655\",\r\n \"destinationPortRange\"\ @@ -35,7 +35,7 @@ interactions: : []\r\n }\r\n }\r\n ],\r\n \"defaultSecurityRules\": [\r\ \n {\r\n \"name\": \"AllowVnetInBound\",\r\n \"id\": \"\ /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowVnetInBound\"\ - ,\r\n \"etag\": \"W/\\\"01399d7c-290f-44e6-b223-fdf0e3ae3d7f\\\"\"\ + ,\r\n \"etag\": \"W/\\\"1f08e085-dfb0-4e2e-a75f-a0a91dd7c17a\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ ,\r\n \"description\": \"Allow inbound traffic from all VMs in VNET\"\ ,\r\n \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\"\ @@ -47,7 +47,7 @@ interactions: : [],\r\n \"destinationAddressPrefixes\": []\r\n }\r\n \ \ },\r\n {\r\n \"name\": \"AllowAzureLoadBalancerInBound\",\r\ \n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowAzureLoadBalancerInBound\"\ - ,\r\n \"etag\": \"W/\\\"01399d7c-290f-44e6-b223-fdf0e3ae3d7f\\\"\"\ + ,\r\n \"etag\": \"W/\\\"1f08e085-dfb0-4e2e-a75f-a0a91dd7c17a\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ ,\r\n \"description\": \"Allow inbound traffic from azure load balancer\"\ ,\r\n \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\"\ @@ -59,7 +59,7 @@ interactions: : [],\r\n \"destinationAddressPrefixes\": []\r\n }\r\n \ \ },\r\n {\r\n \"name\": \"DenyAllInBound\",\r\n \"id\"\ : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/DenyAllInBound\"\ - ,\r\n \"etag\": \"W/\\\"01399d7c-290f-44e6-b223-fdf0e3ae3d7f\\\"\"\ + ,\r\n \"etag\": \"W/\\\"1f08e085-dfb0-4e2e-a75f-a0a91dd7c17a\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ ,\r\n \"description\": \"Deny all inbound traffic\",\r\n \ \ \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\",\r\n \ @@ -70,7 +70,7 @@ interactions: : [],\r\n \"sourceAddressPrefixes\": [],\r\n \"destinationAddressPrefixes\"\ : []\r\n }\r\n },\r\n {\r\n \"name\": \"AllowVnetOutBound\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowVnetOutBound\"\ - ,\r\n \"etag\": \"W/\\\"01399d7c-290f-44e6-b223-fdf0e3ae3d7f\\\"\"\ + ,\r\n \"etag\": \"W/\\\"1f08e085-dfb0-4e2e-a75f-a0a91dd7c17a\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ ,\r\n \"description\": \"Allow outbound traffic from all VMs to all\ \ VMs in VNET\",\r\n \"protocol\": \"*\",\r\n \"sourcePortRange\"\ @@ -82,7 +82,7 @@ interactions: : [],\r\n \"destinationAddressPrefixes\": []\r\n }\r\n \ \ },\r\n {\r\n \"name\": \"AllowInternetOutBound\",\r\n \ \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowInternetOutBound\"\ - ,\r\n \"etag\": \"W/\\\"01399d7c-290f-44e6-b223-fdf0e3ae3d7f\\\"\"\ + ,\r\n \"etag\": \"W/\\\"1f08e085-dfb0-4e2e-a75f-a0a91dd7c17a\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ ,\r\n \"description\": \"Allow outbound traffic from all VMs to Internet\"\ ,\r\n \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\"\ @@ -94,7 +94,7 @@ interactions: : [],\r\n \"destinationAddressPrefixes\": []\r\n }\r\n \ \ },\r\n {\r\n \"name\": \"DenyAllOutBound\",\r\n \"\ id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/DenyAllOutBound\"\ - ,\r\n \"etag\": \"W/\\\"01399d7c-290f-44e6-b223-fdf0e3ae3d7f\\\"\"\ + ,\r\n \"etag\": \"W/\\\"1f08e085-dfb0-4e2e-a75f-a0a91dd7c17a\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ ,\r\n \"description\": \"Deny all outbound traffic\",\r\n \ \ \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\",\r\n \ @@ -105,17 +105,17 @@ interactions: : [],\r\n \"sourceAddressPrefixes\": [],\r\n \"destinationAddressPrefixes\"\ : []\r\n }\r\n }\r\n ]\r\n }\r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ef5ba000-e226-4fc0-b960-d55034ae81c3?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/d3d237e6-cd4e-4434-8ff5-a326f4a389ed?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['7357'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:00:31 GMT'] + date: ['Fri, 27 Jul 2018 22:46:41 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 201, message: Created} - request: body: null @@ -123,17 +123,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ef5ba000-e226-4fc0-b960-d55034ae81c3?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/d3d237e6-cd4e-4434-8ff5-a326f4a389ed?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:00:43 GMT'] + date: ['Fri, 27 Jul 2018 22:46:52 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -148,19 +148,19 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pysecgroupc575136b\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/networkSecurityGroups\",\r\n \"location\"\ : \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ - ,\r\n \"resourceGuid\": \"08b31770-acd1-4a5a-9e53-831222fd491e\",\r\n \ + ,\r\n \"resourceGuid\": \"6cf7eb01-67ca-4291-a158-e71f15e2513d\",\r\n \ \ \"securityRules\": [\r\n {\r\n \"name\": \"pysecgrouprulec575136b\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules/pysecgrouprulec575136b\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"description\": \"Test security rule\",\r\n \"protocol\"\ : \"Tcp\",\r\n \"sourcePortRange\": \"655\",\r\n \"destinationPortRange\"\ @@ -172,7 +172,7 @@ interactions: : []\r\n }\r\n }\r\n ],\r\n \"defaultSecurityRules\": [\r\ \n {\r\n \"name\": \"AllowVnetInBound\",\r\n \"id\": \"\ /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowVnetInBound\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"description\": \"Allow inbound traffic from all VMs in VNET\"\ ,\r\n \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\"\ @@ -184,7 +184,7 @@ interactions: : [],\r\n \"destinationAddressPrefixes\": []\r\n }\r\n \ \ },\r\n {\r\n \"name\": \"AllowAzureLoadBalancerInBound\",\r\ \n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowAzureLoadBalancerInBound\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"description\": \"Allow inbound traffic from azure load balancer\"\ ,\r\n \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\"\ @@ -196,7 +196,7 @@ interactions: : [],\r\n \"destinationAddressPrefixes\": []\r\n }\r\n \ \ },\r\n {\r\n \"name\": \"DenyAllInBound\",\r\n \"id\"\ : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/DenyAllInBound\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"description\": \"Deny all inbound traffic\",\r\n \ \ \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\",\r\n \ @@ -207,7 +207,7 @@ interactions: : [],\r\n \"sourceAddressPrefixes\": [],\r\n \"destinationAddressPrefixes\"\ : []\r\n }\r\n },\r\n {\r\n \"name\": \"AllowVnetOutBound\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowVnetOutBound\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"description\": \"Allow outbound traffic from all VMs to all\ \ VMs in VNET\",\r\n \"protocol\": \"*\",\r\n \"sourcePortRange\"\ @@ -219,7 +219,7 @@ interactions: : [],\r\n \"destinationAddressPrefixes\": []\r\n }\r\n \ \ },\r\n {\r\n \"name\": \"AllowInternetOutBound\",\r\n \ \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowInternetOutBound\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"description\": \"Allow outbound traffic from all VMs to Internet\"\ ,\r\n \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\"\ @@ -231,7 +231,7 @@ interactions: : [],\r\n \"destinationAddressPrefixes\": []\r\n }\r\n \ \ },\r\n {\r\n \"name\": \"DenyAllOutBound\",\r\n \"\ id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/DenyAllOutBound\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"description\": \"Deny all outbound traffic\",\r\n \ \ \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\",\r\n \ @@ -245,8 +245,8 @@ interactions: cache-control: [no-cache] content-length: ['7365'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:00:43 GMT'] - etag: [W/"d6f2c69b-1ca9-4a94-926f-3d0f211118c4"] + date: ['Fri, 27 Jul 2018 22:46:53 GMT'] + etag: [W/"842a1e80-7a3f-421b-98c8-95e6470465c3"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -262,20 +262,20 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pysecgroupc575136b\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/networkSecurityGroups\",\r\n \"location\"\ : \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ - ,\r\n \"resourceGuid\": \"08b31770-acd1-4a5a-9e53-831222fd491e\",\r\n \ + ,\r\n \"resourceGuid\": \"6cf7eb01-67ca-4291-a158-e71f15e2513d\",\r\n \ \ \"securityRules\": [\r\n {\r\n \"name\": \"pysecgrouprulec575136b\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules/pysecgrouprulec575136b\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"description\": \"Test security rule\",\r\n \"protocol\"\ : \"Tcp\",\r\n \"sourcePortRange\": \"655\",\r\n \"destinationPortRange\"\ @@ -287,7 +287,7 @@ interactions: : []\r\n }\r\n }\r\n ],\r\n \"defaultSecurityRules\": [\r\ \n {\r\n \"name\": \"AllowVnetInBound\",\r\n \"id\": \"\ /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowVnetInBound\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"description\": \"Allow inbound traffic from all VMs in VNET\"\ ,\r\n \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\"\ @@ -299,7 +299,7 @@ interactions: : [],\r\n \"destinationAddressPrefixes\": []\r\n }\r\n \ \ },\r\n {\r\n \"name\": \"AllowAzureLoadBalancerInBound\",\r\ \n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowAzureLoadBalancerInBound\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"description\": \"Allow inbound traffic from azure load balancer\"\ ,\r\n \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\"\ @@ -311,7 +311,7 @@ interactions: : [],\r\n \"destinationAddressPrefixes\": []\r\n }\r\n \ \ },\r\n {\r\n \"name\": \"DenyAllInBound\",\r\n \"id\"\ : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/DenyAllInBound\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"description\": \"Deny all inbound traffic\",\r\n \ \ \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\",\r\n \ @@ -322,7 +322,7 @@ interactions: : [],\r\n \"sourceAddressPrefixes\": [],\r\n \"destinationAddressPrefixes\"\ : []\r\n }\r\n },\r\n {\r\n \"name\": \"AllowVnetOutBound\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowVnetOutBound\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"description\": \"Allow outbound traffic from all VMs to all\ \ VMs in VNET\",\r\n \"protocol\": \"*\",\r\n \"sourcePortRange\"\ @@ -334,7 +334,7 @@ interactions: : [],\r\n \"destinationAddressPrefixes\": []\r\n }\r\n \ \ },\r\n {\r\n \"name\": \"AllowInternetOutBound\",\r\n \ \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowInternetOutBound\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"description\": \"Allow outbound traffic from all VMs to Internet\"\ ,\r\n \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\"\ @@ -346,7 +346,7 @@ interactions: : [],\r\n \"destinationAddressPrefixes\": []\r\n }\r\n \ \ },\r\n {\r\n \"name\": \"DenyAllOutBound\",\r\n \"\ id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/DenyAllOutBound\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"description\": \"Deny all outbound traffic\",\r\n \ \ \"protocol\": \"*\",\r\n \"sourcePortRange\": \"*\",\r\n \ @@ -360,8 +360,8 @@ interactions: cache-control: [no-cache] content-length: ['7365'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:00:43 GMT'] - etag: [W/"d6f2c69b-1ca9-4a94-926f-3d0f211118c4"] + date: ['Fri, 27 Jul 2018 22:46:55 GMT'] + etag: [W/"842a1e80-7a3f-421b-98c8-95e6470465c3"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -377,21 +377,21 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups?api-version=2018-06-01 response: body: {string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"pysecgroupc575136b\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\",\r\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\",\r\ \n \"type\": \"Microsoft.Network/networkSecurityGroups\",\r\n \"\ location\": \"westus\",\r\n \"properties\": {\r\n \"provisioningState\"\ - : \"Succeeded\",\r\n \"resourceGuid\": \"08b31770-acd1-4a5a-9e53-831222fd491e\"\ + : \"Succeeded\",\r\n \"resourceGuid\": \"6cf7eb01-67ca-4291-a158-e71f15e2513d\"\ ,\r\n \"securityRules\": [\r\n {\r\n \"name\":\ \ \"pysecgrouprulec575136b\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules/pysecgrouprulec575136b\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\ \",\r\n \"properties\": {\r\n \"provisioningState\"\ : \"Succeeded\",\r\n \"description\": \"Test security rule\"\ ,\r\n \"protocol\": \"Tcp\",\r\n \"sourcePortRange\"\ @@ -404,7 +404,7 @@ interactions: : []\r\n }\r\n }\r\n ],\r\n \"defaultSecurityRules\"\ : [\r\n {\r\n \"name\": \"AllowVnetInBound\",\r\n \ \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowVnetInBound\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\ \",\r\n \"properties\": {\r\n \"provisioningState\"\ : \"Succeeded\",\r\n \"description\": \"Allow inbound traffic\ \ from all VMs in VNET\",\r\n \"protocol\": \"*\",\r\n \ @@ -417,7 +417,7 @@ interactions: sourceAddressPrefixes\": [],\r\n \"destinationAddressPrefixes\"\ : []\r\n }\r\n },\r\n {\r\n \"name\"\ : \"AllowAzureLoadBalancerInBound\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowAzureLoadBalancerInBound\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\ \",\r\n \"properties\": {\r\n \"provisioningState\"\ : \"Succeeded\",\r\n \"description\": \"Allow inbound traffic\ \ from azure load balancer\",\r\n \"protocol\": \"*\",\r\n \ @@ -430,7 +430,7 @@ interactions: : [],\r\n \"destinationAddressPrefixes\": []\r\n }\r\ \n },\r\n {\r\n \"name\": \"DenyAllInBound\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/DenyAllInBound\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\ \",\r\n \"properties\": {\r\n \"provisioningState\"\ : \"Succeeded\",\r\n \"description\": \"Deny all inbound traffic\"\ ,\r\n \"protocol\": \"*\",\r\n \"sourcePortRange\"\ @@ -442,7 +442,7 @@ interactions: \ \"sourceAddressPrefixes\": [],\r\n \"destinationAddressPrefixes\"\ : []\r\n }\r\n },\r\n {\r\n \"name\"\ : \"AllowVnetOutBound\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowVnetOutBound\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\ \",\r\n \"properties\": {\r\n \"provisioningState\"\ : \"Succeeded\",\r\n \"description\": \"Allow outbound traffic\ \ from all VMs to all VMs in VNET\",\r\n \"protocol\": \"*\"\ @@ -455,7 +455,7 @@ interactions: sourceAddressPrefixes\": [],\r\n \"destinationAddressPrefixes\"\ : []\r\n }\r\n },\r\n {\r\n \"name\"\ : \"AllowInternetOutBound\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowInternetOutBound\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\ \",\r\n \"properties\": {\r\n \"provisioningState\"\ : \"Succeeded\",\r\n \"description\": \"Allow outbound traffic\ \ from all VMs to Internet\",\r\n \"protocol\": \"*\",\r\n \ @@ -468,7 +468,7 @@ interactions: : [],\r\n \"destinationAddressPrefixes\": []\r\n }\r\ \n },\r\n {\r\n \"name\": \"DenyAllOutBound\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/DenyAllOutBound\"\ - ,\r\n \"etag\": \"W/\\\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\\\"\ + ,\r\n \"etag\": \"W/\\\"842a1e80-7a3f-421b-98c8-95e6470465c3\\\"\ \",\r\n \"properties\": {\r\n \"provisioningState\"\ : \"Succeeded\",\r\n \"description\": \"Deny all outbound traffic\"\ ,\r\n \"protocol\": \"*\",\r\n \"sourcePortRange\"\ @@ -484,7 +484,7 @@ interactions: cache-control: [no-cache] content-length: ['8038'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:00:44 GMT'] + date: ['Fri, 27 Jul 2018 22:46:55 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -500,289 +500,74 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkSecurityGroups?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/networkSecurityGroups?api-version=2018-06-01 response: - body: {string: '{"value":[{"name":"amar-1NSG","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","type":"Microsoft.Network/networkSecurityGroups","location":"westus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"88d4f6a9-5838-49e4-a624-47a294529167","securityRules":[{"name":"Cleanuptool-22-Corpnet-6a6f494f-a829-4769-9df4-3c476c945c01","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-6a6f494f-a829-4769-9df4-3c476c945c01","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1011,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-5f621a21-ae0a-4305-87cb-56c51e55772d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-5f621a21-ae0a-4305-87cb-56c51e55772d","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1012,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-62786b87-7b79-436e-aa39-f03c037276df","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-62786b87-7b79-436e-aa39-f03c037276df","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1013,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-04fb02d1-c4d9-444d-a94e-987f40a07113","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-04fb02d1-c4d9-444d-a94e-987f40a07113","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1014,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c4f95024-d87a-4e9e-8d63-d847c041ec56","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-c4f95024-d87a-4e9e-8d63-d847c041ec56","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1015,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-de79e0a3-8da5-4ac9-a7a9-6ca5f76acd2a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-de79e0a3-8da5-4ac9-a7a9-6ca5f76acd2a","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1016,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-974a11be-9e5e-4a8b-b645-292b46a0211f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-974a11be-9e5e-4a8b-b645-292b46a0211f","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1017,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d62ff4df-39b5-4d63-9da6-eb34607c3bf7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-d62ff4df-39b5-4d63-9da6-eb34607c3bf7","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1018,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-02f2581f-0c61-48e8-b1b6-444f93beea09","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-02f2581f-0c61-48e8-b1b6-444f93beea09","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1019,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-aefb84f1-eb58-428c-a831-813697c9464f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-aefb84f1-eb58-428c-a831-813697c9464f","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1020,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d1216b7e-38d0-440a-be08-6a48c5ba9cbd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-d1216b7e-38d0-440a-be08-6a48c5ba9cbd","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1021,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-94f031dd-4d28-4620-83ca-3b2b01c29d3c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-94f031dd-4d28-4620-83ca-3b2b01c29d3c","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1022,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-1a940d60-5cc6-42c5-b8da-d4872b73d44d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-1a940d60-5cc6-42c5-b8da-d4872b73d44d","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1023,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-bd114977-aa29-4e5b-a55e-2b085c9a9b56","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-bd114977-aa29-4e5b-a55e-2b085c9a9b56","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1024,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-de42c64a-3f17-477f-9be5-c19608b053e0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-de42c64a-3f17-477f-9be5-c19608b053e0","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1025,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-44d258d9-7c10-4dda-9af7-c1633d070454","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-44d258d9-7c10-4dda-9af7-c1633d070454","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1026,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-281438fc-a15c-4dc4-909d-0b98252afc0f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-281438fc-a15c-4dc4-909d-0b98252afc0f","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1027,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-565200ba-6694-4db9-a482-94289f9cc9fb","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-565200ba-6694-4db9-a482-94289f9cc9fb","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1028,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-08a2d3ef-5202-459f-9c65-c67e8b49b96d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-08a2d3ef-5202-459f-9c65-c67e8b49b96d","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1029,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-e51e39f9-0f16-4110-aa38-7b8ee890e1c6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-e51e39f9-0f16-4110-aa38-7b8ee890e1c6","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1030,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-20cda54c-8eb2-4750-befc-9300642898a9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-20cda54c-8eb2-4750-befc-9300642898a9","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1031,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-6275f9ca-335a-4e90-899c-5a845c496c74","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-6275f9ca-335a-4e90-899c-5a845c496c74","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1032,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-0b8ae304-d15a-49a0-ad6e-8aef38216496","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-0b8ae304-d15a-49a0-ad6e-8aef38216496","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1033,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-e18707e1-e3e1-48e1-a959-3688715e11cb","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-e18707e1-e3e1-48e1-a959-3688715e11cb","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1034,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d0ef3c18-b2a6-47b4-a184-7c3e1d8f7cb8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-d0ef3c18-b2a6-47b4-a184-7c3e1d8f7cb8","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1035,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2e28757c-8a2a-454d-b016-4565fa54e8b4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-2e28757c-8a2a-454d-b016-4565fa54e8b4","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1036,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-21f0351b-4bb4-4893-9454-fa18c52d3692","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-21f0351b-4bb4-4893-9454-fa18c52d3692","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1037,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-6880e9cb-5783-4c17-9af0-cd8ac0ad87f1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-6880e9cb-5783-4c17-9af0-cd8ac0ad87f1","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1038,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-88f02d89-abbe-4782-920d-4455cc68ff88","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/securityRules/Cleanuptool-22-Corpnet-88f02d89-abbe-4782-920d-4455cc68ff88","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1039,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/defaultSecurityRules/AllowVnetInBound","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/defaultSecurityRules/DenyAllInBound","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amar-1NSG/defaultSecurityRules/DenyAllOutBound","etag":"W/\"8d8709ac-4e07-401a-8ab8-8c740fe17e6d\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amar-1VMNic"}]}},{"name":"testnsg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/networkSecurityGroups/testnsg","etag":"W/\"8d73320f-df29-4114-b333-1dc579b614da\"","type":"Microsoft.Network/networkSecurityGroups","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"13556126-10ea-48f8-b188-65b9734140fa","securityRules":[],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetInBound","etag":"W/\"8d73320f-df29-4114-b333-1dc579b614da\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"8d73320f-df29-4114-b333-1dc579b614da\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllInBound","etag":"W/\"8d73320f-df29-4114-b333-1dc579b614da\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"8d73320f-df29-4114-b333-1dc579b614da\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"8d73320f-df29-4114-b333-1dc579b614da\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/networkSecurityGroups/testnsg/defaultSecurityRules/DenyAllOutBound","etag":"W/\"8d73320f-df29-4114-b333-1dc579b614da\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/vmss1353aNic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/vmss1353aNic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/2/networkInterfaces/vmss1353aNic"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/3/networkInterfaces/vmss1353aNic"}]}},{"name":"coprnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/corpnetnsg/providers/Microsoft.Network/networkSecurityGroups/coprnet","etag":"W/\"8d03c4c5-8630-465e-95ed-a6aa7fd499f0\"","type":"Microsoft.Network/networkSecurityGroups","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"d914ba63-64d0-4b32-8f8e-fa4914276802","securityRules":[],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/corpnetnsg/providers/Microsoft.Network/networkSecurityGroups/coprnet/defaultSecurityRules/AllowVnetInBound","etag":"W/\"8d03c4c5-8630-465e-95ed-a6aa7fd499f0\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/corpnetnsg/providers/Microsoft.Network/networkSecurityGroups/coprnet/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"8d03c4c5-8630-465e-95ed-a6aa7fd499f0\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/corpnetnsg/providers/Microsoft.Network/networkSecurityGroups/coprnet/defaultSecurityRules/DenyAllInBound","etag":"W/\"8d03c4c5-8630-465e-95ed-a6aa7fd499f0\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/corpnetnsg/providers/Microsoft.Network/networkSecurityGroups/coprnet/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"8d03c4c5-8630-465e-95ed-a6aa7fd499f0\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/corpnetnsg/providers/Microsoft.Network/networkSecurityGroups/coprnet/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"8d03c4c5-8630-465e-95ed-a6aa7fd499f0\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/corpnetnsg/providers/Microsoft.Network/networkSecurityGroups/coprnet/defaultSecurityRules/DenyAllOutBound","etag":"W/\"8d03c4c5-8630-465e-95ed-a6aa7fd499f0\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}]}},{"name":"favy345tg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","type":"Microsoft.Network/networkSecurityGroups","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"13e07362-2ac1-46f3-a766-199cad37f401","securityRules":[{"name":"Cleanuptool-5985-Corpnet-d67048ea-de6e-4069-b558-bb40a2950443","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-d67048ea-de6e-4069-b558-bb40a2950443","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1012,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-beef3b16-58c2-4754-98e5-e1229bef30e4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-beef3b16-58c2-4754-98e5-e1229bef30e4","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1011,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d351bf4b-0ae7-4ea1-94f7-f3284b26e247","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-d351bf4b-0ae7-4ea1-94f7-f3284b26e247","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1013,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-73940a13-1185-46e2-b451-d71e48e22408","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-73940a13-1185-46e2-b451-d71e48e22408","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1014,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-36bed31f-0714-4a15-9d91-8ce7309f7abd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-36bed31f-0714-4a15-9d91-8ce7309f7abd","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1015,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ab076c28-bb1e-442d-b467-0dbd55fcff63","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-ab076c28-bb1e-442d-b467-0dbd55fcff63","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1016,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-456768f0-b549-4e89-8a24-a6159adb7095","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-456768f0-b549-4e89-8a24-a6159adb7095","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1017,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-39c59f9d-74bc-4523-98ff-828991e4d28b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-39c59f9d-74bc-4523-98ff-828991e4d28b","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1018,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-e8ab892f-6ee4-4fa2-bd0e-4fe354a459a2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-e8ab892f-6ee4-4fa2-bd0e-4fe354a459a2","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1019,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-1af4dc38-c30a-4a3b-a585-8a19ae4b39c8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-1af4dc38-c30a-4a3b-a585-8a19ae4b39c8","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1020,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-da64427e-15de-4d1a-9909-e94b7718fcc7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-da64427e-15de-4d1a-9909-e94b7718fcc7","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1021,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-01c73df8-684e-4fa5-b3ad-bfe9433e7e42","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-01c73df8-684e-4fa5-b3ad-bfe9433e7e42","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1022,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-96df5f0e-84f9-42f7-ba6a-cbea21432ed5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-96df5f0e-84f9-42f7-ba6a-cbea21432ed5","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1023,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-6e3eabd5-983f-4efb-8a3e-d8b2cdfd4b64","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-6e3eabd5-983f-4efb-8a3e-d8b2cdfd4b64","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1024,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-0dc96899-856f-4e01-8a04-39c50070be51","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-0dc96899-856f-4e01-8a04-39c50070be51","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1025,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-16e3639a-bcb6-49af-98e9-0c223757d6db","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-16e3639a-bcb6-49af-98e9-0c223757d6db","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1026,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ec9e33c7-bf7d-4167-9ad3-41129bdef208","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-ec9e33c7-bf7d-4167-9ad3-41129bdef208","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1027,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-3947d6f7-d068-4898-bfb6-96cee7c5820f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-3947d6f7-d068-4898-bfb6-96cee7c5820f","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1028,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-e34bedd0-f24d-467b-ab64-ce523a623cee","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-e34bedd0-f24d-467b-ab64-ce523a623cee","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1029,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-e089bccc-c1c3-40ba-88b8-17ebdbf2403e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-e089bccc-c1c3-40ba-88b8-17ebdbf2403e","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1030,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-44c344f6-5b7b-4222-8dbe-c72b96af0cb5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-44c344f6-5b7b-4222-8dbe-c72b96af0cb5","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1031,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-e8156ed9-467f-4c28-a7d7-945b16241e07","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-e8156ed9-467f-4c28-a7d7-945b16241e07","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1032,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-e899794e-4c30-4e1c-ac6c-0ee81bbb03a5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-e899794e-4c30-4e1c-ac6c-0ee81bbb03a5","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1033,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-4461e143-2773-44c8-8266-c55138c9b930","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-4461e143-2773-44c8-8266-c55138c9b930","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1034,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ae3ae893-4653-46e5-9a49-4ecf65733ae0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-ae3ae893-4653-46e5-9a49-4ecf65733ae0","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1035,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-4f0e001d-2c26-4f13-b564-8bd77981bc81","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-4f0e001d-2c26-4f13-b564-8bd77981bc81","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1036,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-08804f1e-5d32-41ab-b06d-89a561e35221","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-08804f1e-5d32-41ab-b06d-89a561e35221","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1037,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-4b4510b7-252c-4a8c-9087-271d71256105","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-4b4510b7-252c-4a8c-9087-271d71256105","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1038,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-af6ee256-bb88-43a5-839d-22ee969684f4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-af6ee256-bb88-43a5-839d-22ee969684f4","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1039,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-c7c4f229-cdb7-4c19-9f32-668ab241e977","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-3389-Corpnet-c7c4f229-cdb7-4c19-9f32-668ab241e977","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1040,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-550b9d41-5ab6-4b33-bb74-675fd9013d05","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-550b9d41-5ab6-4b33-bb74-675fd9013d05","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1041,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-aa2f595e-6cf2-472f-81ac-fff33e9bc05f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-aa2f595e-6cf2-472f-81ac-fff33e9bc05f","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1042,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-faf640dc-73a9-4c3d-8f42-945a9b2494c0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-faf640dc-73a9-4c3d-8f42-945a9b2494c0","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1043,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-f578c8f9-6db5-4e66-a459-4ad949c1654c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-f578c8f9-6db5-4e66-a459-4ad949c1654c","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1044,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-49e23c2b-e5f3-40fa-aa58-906bb4b57ba5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-49e23c2b-e5f3-40fa-aa58-906bb4b57ba5","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1045,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-c52774c3-3584-46fb-8046-b48b3d2d962d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-c52774c3-3584-46fb-8046-b48b3d2d962d","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1046,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-e297b802-c159-4cc6-a8cb-768e594fe42c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-e297b802-c159-4cc6-a8cb-768e594fe42c","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1047,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-a638ee60-3977-4aeb-8422-c12d205c8c8a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-a638ee60-3977-4aeb-8422-c12d205c8c8a","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1048,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-9d5c7c11-08e7-4105-9124-0bea95198c36","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-9d5c7c11-08e7-4105-9124-0bea95198c36","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1049,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-5bc3f70d-2bde-40a9-95e0-5aa7e8a01436","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-5bc3f70d-2bde-40a9-95e0-5aa7e8a01436","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1050,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-be99ce24-472d-4c40-aa5b-a80deda2af7d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-be99ce24-472d-4c40-aa5b-a80deda2af7d","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1051,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-d050bc6b-f015-43de-bd9a-760d14a72984","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-d050bc6b-f015-43de-bd9a-760d14a72984","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1052,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-f051b143-75bc-4181-ae16-bb40516a38ab","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-f051b143-75bc-4181-ae16-bb40516a38ab","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1053,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-d9f3efcf-7918-4c59-b3cf-a7ec925c0901","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-d9f3efcf-7918-4c59-b3cf-a7ec925c0901","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1054,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-ca193359-5e4d-4a75-b84d-ab34f7083edf","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-ca193359-5e4d-4a75-b84d-ab34f7083edf","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1055,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-26c8924e-f6cf-4439-89a1-cb8305920259","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-26c8924e-f6cf-4439-89a1-cb8305920259","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1056,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-255f5306-ad3b-49cc-a0cf-af6043e53731","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-255f5306-ad3b-49cc-a0cf-af6043e53731","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1057,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-9034e499-efaa-4bb1-9923-9a4d61f0643e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-9034e499-efaa-4bb1-9923-9a4d61f0643e","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1058,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-8e498079-192a-45d5-80cc-378e7257cd7c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-8e498079-192a-45d5-80cc-378e7257cd7c","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1059,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-26210afd-f1c7-4e41-93d9-033af3e4012f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-26210afd-f1c7-4e41-93d9-033af3e4012f","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1060,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-8c32c5a3-fc37-4a2f-b84b-7c65a3644cd9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-8c32c5a3-fc37-4a2f-b84b-7c65a3644cd9","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1061,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-b49c9996-030d-4ae8-94ff-6b5d4ad2e400","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-b49c9996-030d-4ae8-94ff-6b5d4ad2e400","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1062,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-5ee6414a-7766-40e5-8cd2-5d3d98fc15c9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-5ee6414a-7766-40e5-8cd2-5d3d98fc15c9","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1063,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-0b917273-3d60-49e3-a6c9-76628a648b46","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-0b917273-3d60-49e3-a6c9-76628a648b46","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1064,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-5d387e74-2138-46df-a731-dad0f288bc6f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-5d387e74-2138-46df-a731-dad0f288bc6f","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1065,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-b57f9e1a-b60b-4fdb-92fe-db64781f614a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-b57f9e1a-b60b-4fdb-92fe-db64781f614a","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1066,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-3c9353c5-945b-4740-bf6d-6725ab6577ab","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-3c9353c5-945b-4740-bf6d-6725ab6577ab","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1067,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-e4cf087b-de16-414d-9a26-9624db0b3128","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/securityRules/Cleanuptool-5985-Corpnet-e4cf087b-de16-414d-9a26-9624db0b3128","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1068,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/defaultSecurityRules/AllowVnetInBound","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/defaultSecurityRules/DenyAllInBound","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkSecurityGroups/favy345tg/defaultSecurityRules/DenyAllOutBound","etag":"W/\"fbebff89-63bd-4571-a193-6a20bfa27c2d\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkInterfaces/favy345tg"}]}},{"name":"lmazuel-docker-machine-firewall","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","type":"Microsoft.Network/networkSecurityGroups","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"b9519f4e-c599-487b-9ea9-9bef2f8f1bda","securityRules":[{"name":"DockerAllowAny","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/DockerAllowAny","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","description":"Allow - docker engine access (TLS-protected)","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"2376","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":300,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Port5000-TcpAllowAny","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Port5000-TcpAllowAny","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","description":"User - requested port to be accessible from Internet via docker-machine","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"5000-5010","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":1000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-7b1f2de1-85a8-42ba-a7ff-6e57cb5b5675","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-7b1f2de1-85a8-42ba-a7ff-6e57cb5b5675","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":111,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-ba17b73e-12a9-404d-bf36-5e8871ee4d4f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-ba17b73e-12a9-404d-bf36-5e8871ee4d4f","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":112,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-fc0ec767-c9b3-49ef-a7a8-9fdba934632c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-fc0ec767-c9b3-49ef-a7a8-9fdba934632c","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":113,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c1e2cabe-4c8a-4290-ab85-994c0cf91cd7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-c1e2cabe-4c8a-4290-ab85-994c0cf91cd7","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":114,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d9e026a7-28d2-4338-8b06-49df8fcf3fdd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-d9e026a7-28d2-4338-8b06-49df8fcf3fdd","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":115,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-1c68cb10-bd95-44d1-8528-7b798bb30ea3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-1c68cb10-bd95-44d1-8528-7b798bb30ea3","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":116,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-66b9d590-73fd-4e15-84fa-9b6ca1211319","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-66b9d590-73fd-4e15-84fa-9b6ca1211319","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":117,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-4945407e-1426-48bb-ac25-74ebda466bf1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-4945407e-1426-48bb-ac25-74ebda466bf1","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":118,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-4348086d-9a9f-467c-887a-d5a850f2a40c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-4348086d-9a9f-467c-887a-d5a850f2a40c","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":119,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-546729e3-13be-4781-bfb4-6dea1b985ea2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-546729e3-13be-4781-bfb4-6dea1b985ea2","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":120,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-0031ad0e-5cd5-4c3b-8049-edd117566633","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-0031ad0e-5cd5-4c3b-8049-edd117566633","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":121,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c7bf4a07-a98d-489c-9ded-fa2743cf5684","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-c7bf4a07-a98d-489c-9ded-fa2743cf5684","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":122,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c207f8a0-3710-48a6-8a00-fd006fe12651","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-c207f8a0-3710-48a6-8a00-fd006fe12651","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":123,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-1a7412e5-8eb5-4b3f-9ddb-05e551f75e54","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-1a7412e5-8eb5-4b3f-9ddb-05e551f75e54","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":124,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2ee939d5-42d7-4dfb-8dea-06c8af2d6c3b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-2ee939d5-42d7-4dfb-8dea-06c8af2d6c3b","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":125,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a3c47fd2-3c8e-403f-8a9f-c2f27628aa09","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-a3c47fd2-3c8e-403f-8a9f-c2f27628aa09","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":126,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-4556a8ff-edae-4d5a-a843-297d3bce76f7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-4556a8ff-edae-4d5a-a843-297d3bce76f7","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":127,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-f3e6f1e6-45f9-4a9f-87d2-208bcfd620c6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-f3e6f1e6-45f9-4a9f-87d2-208bcfd620c6","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":128,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-53eff39e-6064-4932-894c-d7a3b4a7e16f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-53eff39e-6064-4932-894c-d7a3b4a7e16f","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":129,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-b36aa817-5823-4734-8e5b-bf1bbae5a455","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-b36aa817-5823-4734-8e5b-bf1bbae5a455","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":130,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-ed55061a-954e-4481-bf21-5f0397fde0af","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-ed55061a-954e-4481-bf21-5f0397fde0af","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":131,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-ccaaf3c6-9dff-4eb9-a47a-7ce1465367ff","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-ccaaf3c6-9dff-4eb9-a47a-7ce1465367ff","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":132,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-84dd513e-02dc-44fd-94a4-32a312161468","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-84dd513e-02dc-44fd-94a4-32a312161468","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":133,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-520607da-fe0a-4cb8-9ce6-bb2e436cb13f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-520607da-fe0a-4cb8-9ce6-bb2e436cb13f","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":134,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-3fad0eb2-d361-47b9-a845-9c2f3d0b884b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-3fad0eb2-d361-47b9-a845-9c2f3d0b884b","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":135,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-943bf7dd-3744-4a6c-84fe-1bff8c0efc76","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-943bf7dd-3744-4a6c-84fe-1bff8c0efc76","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":136,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-42d643e6-91f2-42dd-9b26-734668c8e232","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-42d643e6-91f2-42dd-9b26-734668c8e232","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":137,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-88888458-f8b9-4ee3-88fc-d5708e2a79f2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-88888458-f8b9-4ee3-88fc-d5708e2a79f2","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":138,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-e317708b-5ff5-4895-8de9-a4a5f9122329","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/securityRules/Cleanuptool-22-Corpnet-e317708b-5ff5-4895-8de9-a4a5f9122329","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":139,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/defaultSecurityRules/AllowVnetInBound","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/defaultSecurityRules/DenyAllInBound","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkSecurityGroups/lmazuel-docker-machine-firewall/defaultSecurityRules/DenyAllOutBound","etag":"W/\"08a75293-e1f7-4b33-acf9-b6884a0ea8ce\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkInterfaces/lmazuel-docker-machine-nic"}]}},{"name":"lmazuel-vm1-nsg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","type":"Microsoft.Network/networkSecurityGroups","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"c19cdce5-bbcf-49d9-aace-43a78cf4b7ce","securityRules":[{"name":"Cleanuptool-22-Corpnet-f8de9920-8264-4e0f-9728-0e1715d03dd7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-f8de9920-8264-4e0f-9728-0e1715d03dd7","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":110,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a09c31b7-2b50-4c05-b2a8-484e05ecf4e2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-a09c31b7-2b50-4c05-b2a8-484e05ecf4e2","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":111,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-dfec8946-243f-4785-9977-608ff314e024","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-dfec8946-243f-4785-9977-608ff314e024","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":112,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-7c80edf8-337f-47ce-9da5-37e6aae41834","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-7c80edf8-337f-47ce-9da5-37e6aae41834","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":113,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-1d55ace0-4a2f-4393-ba8e-68be103d1722","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-1d55ace0-4a2f-4393-ba8e-68be103d1722","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":114,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-9d7f9a94-f443-4837-bd0f-7113663eee08","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-9d7f9a94-f443-4837-bd0f-7113663eee08","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":115,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-9a0d7e21-d268-437a-b258-a668f048868a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-9a0d7e21-d268-437a-b258-a668f048868a","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":116,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d1989cfb-4f4e-4c2f-98e1-09abaf893521","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-d1989cfb-4f4e-4c2f-98e1-09abaf893521","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":117,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-8792cc89-dfb8-4be9-ac38-9bff3b1cb491","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-8792cc89-dfb8-4be9-ac38-9bff3b1cb491","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":118,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-3e22202f-d993-44dd-b10d-8a54c32e96ab","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-3e22202f-d993-44dd-b10d-8a54c32e96ab","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":119,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-8970811c-8a38-4baf-a503-dc3ef32949e0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-8970811c-8a38-4baf-a503-dc3ef32949e0","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":120,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a9a3a6e9-2b2d-448b-8900-5e0e3c1d92e9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-a9a3a6e9-2b2d-448b-8900-5e0e3c1d92e9","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":121,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-6c587f8f-3047-4314-82c3-5439a15c61c4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-6c587f8f-3047-4314-82c3-5439a15c61c4","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":122,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-8a79a9af-394b-43ac-8c7f-df96547c0b0c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-8a79a9af-394b-43ac-8c7f-df96547c0b0c","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":123,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-ec5f809e-ffc1-4155-b5a1-dcb48d254bba","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-ec5f809e-ffc1-4155-b5a1-dcb48d254bba","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":124,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-af2531d5-44f5-46b5-a9c1-cc47ad5c27ed","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-af2531d5-44f5-46b5-a9c1-cc47ad5c27ed","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":125,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d0addf32-4b0d-4788-92cd-2546110e43d2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-d0addf32-4b0d-4788-92cd-2546110e43d2","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":126,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-e4fa2e5e-1fdd-4acd-8291-89e9e41008cc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-e4fa2e5e-1fdd-4acd-8291-89e9e41008cc","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":127,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-ca7036ea-af81-47be-a4ad-a6c4bc3dbaf1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-ca7036ea-af81-47be-a4ad-a6c4bc3dbaf1","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":128,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c069173b-d8ab-4f4a-9163-82b8765701bf","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-c069173b-d8ab-4f4a-9163-82b8765701bf","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":129,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-7c4b7951-3268-4eb2-b26f-0bcfc661b6c2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-7c4b7951-3268-4eb2-b26f-0bcfc661b6c2","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":130,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-9143e2e6-249f-4bec-8b91-508482e6c56e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-9143e2e6-249f-4bec-8b91-508482e6c56e","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":131,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-75072d1a-ddf8-4e2f-a1ec-dfd32a2aa805","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-75072d1a-ddf8-4e2f-a1ec-dfd32a2aa805","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":132,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-5721f107-3cd0-4996-bbaf-e33317e8621d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-5721f107-3cd0-4996-bbaf-e33317e8621d","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":133,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-fb34983a-9de6-4f1d-96e6-7b1f26deadad","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-fb34983a-9de6-4f1d-96e6-7b1f26deadad","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":134,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-f642d8f3-bd1e-4ecb-b36d-842ada15baef","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-f642d8f3-bd1e-4ecb-b36d-842ada15baef","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":135,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d09e8987-d119-4a95-adc8-8a566d3348b5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-d09e8987-d119-4a95-adc8-8a566d3348b5","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":136,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-30f1461d-93a9-4e99-a999-ec3943062c9f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-30f1461d-93a9-4e99-a999-ec3943062c9f","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":137,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-319a253e-e7dd-4404-ab56-5b65db3f2711","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/securityRules/Cleanuptool-22-Corpnet-319a253e-e7dd-4404-ab56-5b65db3f2711","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":138,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/defaultSecurityRules/AllowVnetInBound","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/defaultSecurityRules/DenyAllInBound","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkSecurityGroups/lmazuel-vm1-nsg/defaultSecurityRules/DenyAllOutBound","etag":"W/\"9783ff6b-8a57-4660-a704-2f71d4a30fc7\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkInterfaces/lmazuel-vm1792"}]}},{"name":"myvmabc1NSG","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","type":"Microsoft.Network/networkSecurityGroups","location":"westus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"c9ae0a24-e9c9-4ebd-936d-0d4880d52671","securityRules":[{"name":"Cleanuptool-22-Corpnet-86776a3d-2eed-45b4-812e-642fbcc466d1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-86776a3d-2eed-45b4-812e-642fbcc466d1","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1011,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d9a3902f-2f5d-4ca0-8a30-4b8fa700174e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-d9a3902f-2f5d-4ca0-8a30-4b8fa700174e","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1012,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-b38ae8de-6ab8-4a62-958b-1e7f65f19f1c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-b38ae8de-6ab8-4a62-958b-1e7f65f19f1c","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1013,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-e355ca75-04e1-4f8c-b484-4f12b6028933","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-e355ca75-04e1-4f8c-b484-4f12b6028933","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1014,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c2a69c1d-48d5-4159-8f4e-456236b0b047","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-c2a69c1d-48d5-4159-8f4e-456236b0b047","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1015,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-3c3c5c1b-1fb7-4bae-909c-2d616d339c97","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-3c3c5c1b-1fb7-4bae-909c-2d616d339c97","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1016,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-08b4f73b-45b6-4065-8697-4d2fce3cf5c7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-08b4f73b-45b6-4065-8697-4d2fce3cf5c7","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1017,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-91436706-6945-470d-a969-e6af16def83b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-91436706-6945-470d-a969-e6af16def83b","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1018,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-8c5c7069-95c3-46bd-bd59-1a4b9539d071","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-8c5c7069-95c3-46bd-bd59-1a4b9539d071","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1019,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d88971b8-6179-4094-aa45-44bda4e15654","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-d88971b8-6179-4094-aa45-44bda4e15654","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1020,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-76c2d9f1-f4eb-44f7-a493-4d4c4f24785b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-76c2d9f1-f4eb-44f7-a493-4d4c4f24785b","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1021,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-233e28c4-d04f-4442-bd23-5b456238432a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-233e28c4-d04f-4442-bd23-5b456238432a","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1022,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-95a27f36-6f38-4377-a4fe-6bb0865f8074","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-95a27f36-6f38-4377-a4fe-6bb0865f8074","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1023,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-ad0a4bfd-05eb-4e0f-ac7f-5409001c2fd3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-ad0a4bfd-05eb-4e0f-ac7f-5409001c2fd3","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1024,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-5664b3bc-4749-4f54-bd65-6188dee48bb2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-5664b3bc-4749-4f54-bd65-6188dee48bb2","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1025,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-6dcc7872-b4f9-4674-acb0-10973f92c81b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-6dcc7872-b4f9-4674-acb0-10973f92c81b","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1026,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-4e997471-285e-46fc-97cf-696d6d8e6642","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-4e997471-285e-46fc-97cf-696d6d8e6642","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1027,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-5b5c5dbd-50cd-4274-857f-b332134a0fdd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-5b5c5dbd-50cd-4274-857f-b332134a0fdd","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1028,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-ed7039e8-d4ed-4b30-9991-9e6edd963678","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-ed7039e8-d4ed-4b30-9991-9e6edd963678","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1029,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2a82ba1a-6ff2-4af1-acd0-0d50246b61fa","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-2a82ba1a-6ff2-4af1-acd0-0d50246b61fa","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1030,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-0637f665-62e2-4111-ad2c-e9b301b30ba3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-0637f665-62e2-4111-ad2c-e9b301b30ba3","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1031,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-66573a09-fa8a-4813-bdbc-40f770bccfc4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-66573a09-fa8a-4813-bdbc-40f770bccfc4","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1032,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-98a7c13c-e335-4e45-9793-05ffa9ddbe17","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-98a7c13c-e335-4e45-9793-05ffa9ddbe17","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1033,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-06d097c5-6fb3-4a2a-89d5-19e001a9f4da","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-06d097c5-6fb3-4a2a-89d5-19e001a9f4da","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1034,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-21007f40-d129-4dbc-81f9-bfbb38b5a782","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-21007f40-d129-4dbc-81f9-bfbb38b5a782","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1035,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-81cd997d-5079-4dab-a7dd-b7768d18aa48","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-81cd997d-5079-4dab-a7dd-b7768d18aa48","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1036,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d083383b-1d59-48d8-b20e-4800eb3b0fae","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-d083383b-1d59-48d8-b20e-4800eb3b0fae","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1037,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c53b5347-c20c-43a1-af98-8a4f02dd2448","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-c53b5347-c20c-43a1-af98-8a4f02dd2448","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1038,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-b60626de-7287-4f51-ba79-32b526a86a40","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/securityRules/Cleanuptool-22-Corpnet-b60626de-7287-4f51-ba79-32b526a86a40","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1039,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/defaultSecurityRules/AllowVnetInBound","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/defaultSecurityRules/DenyAllInBound","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkSecurityGroups/myvmabc1NSG/defaultSecurityRules/DenyAllOutBound","etag":"W/\"ad736ab2-4719-49a0-85df-4aef9387ba56\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkInterfaces/myvmabc1VMNic"}]}},{"name":"pysecgroupc575136b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b","etag":"W/\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\"","type":"Microsoft.Network/networkSecurityGroups","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"08b31770-acd1-4a5a-9e53-831222fd491e","securityRules":[{"name":"pysecgrouprulec575136b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules/pysecgrouprulec575136b","etag":"W/\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\"","properties":{"provisioningState":"Succeeded","description":"Test - security rule","protocol":"Tcp","sourcePortRange":"655","destinationPortRange":"123-3500","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowVnetInBound","etag":"W/\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/DenyAllInBound","etag":"W/\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/DenyAllOutBound","etag":"W/\"d6f2c69b-1ca9-4a94-926f-3d0f211118c4\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}]}},{"name":"wilxvm2-nsg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","type":"Microsoft.Network/networkSecurityGroups","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"f740643b-9a23-4b66-b960-dc967a68e000","securityRules":[{"name":"Cleanuptool-22-Corpnet-b62c268b-28f6-46b3-a0e2-4f35cf3d9615","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-b62c268b-28f6-46b3-a0e2-4f35cf3d9615","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":110,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d0e3f1ff-a125-4399-be74-7ba746dc6821","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-d0e3f1ff-a125-4399-be74-7ba746dc6821","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":111,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-73672eb0-d56b-440f-bca5-65982eafba07","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-73672eb0-d56b-440f-bca5-65982eafba07","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":112,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-5f1803ab-cc61-433d-bc3d-d69ffe7c3215","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-5f1803ab-cc61-433d-bc3d-d69ffe7c3215","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":113,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-5d06c33e-c414-4f58-b0a3-3559eb3ee21d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-5d06c33e-c414-4f58-b0a3-3559eb3ee21d","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":114,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2c116de8-cc1b-4501-8143-43a3c31b315a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-2c116de8-cc1b-4501-8143-43a3c31b315a","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":115,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-e58a6cff-4e98-43ec-98e6-ce9bf06659f9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-e58a6cff-4e98-43ec-98e6-ce9bf06659f9","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":116,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-b85a40aa-329f-4554-84a8-7a35ac989a6a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-b85a40aa-329f-4554-84a8-7a35ac989a6a","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":117,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d05a4e68-602c-495c-9830-1b90af97e910","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-d05a4e68-602c-495c-9830-1b90af97e910","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":118,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-76025561-b5e1-46f7-87e6-9d7addde1cd4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-76025561-b5e1-46f7-87e6-9d7addde1cd4","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":119,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-3318c1e4-9853-4739-910c-87dc1c810ee2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-3318c1e4-9853-4739-910c-87dc1c810ee2","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":120,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a36f288a-68f0-4396-88f4-507374a2e4a7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-a36f288a-68f0-4396-88f4-507374a2e4a7","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":121,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-03f9b92a-8bb9-495b-a6d0-8857e94de04d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-03f9b92a-8bb9-495b-a6d0-8857e94de04d","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":122,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-60338e51-c4eb-409c-8df9-91d72765a289","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-60338e51-c4eb-409c-8df9-91d72765a289","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":123,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-bb53f291-7ad2-45b5-94b6-325eddea2cf1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-bb53f291-7ad2-45b5-94b6-325eddea2cf1","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":124,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d19e49d2-0ac1-4e1d-8e84-3ba142ff678a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-d19e49d2-0ac1-4e1d-8e84-3ba142ff678a","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":125,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-42d2fb2a-5d7d-4fe4-83f3-e7b508f4e573","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-42d2fb2a-5d7d-4fe4-83f3-e7b508f4e573","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":126,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-10e9eb77-287b-4ecc-b353-3a20b5baa14c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-10e9eb77-287b-4ecc-b353-3a20b5baa14c","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":127,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-ffb6282b-2d33-499b-ae99-24bb2309ff53","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-ffb6282b-2d33-499b-ae99-24bb2309ff53","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":128,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d4b7fd9f-9b1b-476d-be6e-8f3ca8e46cf2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-d4b7fd9f-9b1b-476d-be6e-8f3ca8e46cf2","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":129,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-72ebd432-ee27-4d41-9c2e-3225952bc95e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-72ebd432-ee27-4d41-9c2e-3225952bc95e","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":130,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-095f8336-ae3d-45d6-9cbe-bcff779aa4a4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-095f8336-ae3d-45d6-9cbe-bcff779aa4a4","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":131,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-474dcb51-3274-456c-a47c-91ead0597c87","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-474dcb51-3274-456c-a47c-91ead0597c87","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":132,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-b43eff46-af9d-41a4-8a3a-63161e437bf9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-b43eff46-af9d-41a4-8a3a-63161e437bf9","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":133,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-1d82db8f-4d89-4fbc-9986-2f4be381a84c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-1d82db8f-4d89-4fbc-9986-2f4be381a84c","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":134,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-656fb7f3-3f92-4a39-abdb-79f83ff8d925","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-656fb7f3-3f92-4a39-abdb-79f83ff8d925","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":135,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-80e0d808-4a76-4c09-9dba-9f760d703d60","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-80e0d808-4a76-4c09-9dba-9f760d703d60","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":136,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c8611a31-ea8d-4864-a576-9d3864a51e87","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-c8611a31-ea8d-4864-a576-9d3864a51e87","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":137,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-e91545dc-04c4-4600-8a7f-d34e4ba3e6e2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/securityRules/Cleanuptool-22-Corpnet-e91545dc-04c4-4600-8a7f-d34e4ba3e6e2","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":138,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/defaultSecurityRules/AllowVnetInBound","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/defaultSecurityRules/DenyAllInBound","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm2-nsg/defaultSecurityRules/DenyAllOutBound","etag":"W/\"9a5961f7-9aa6-421f-bb0c-892e4fa6b460\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkInterfaces/wilxvm230"}]}},{"name":"ygsrcnsg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ygsrc/providers/Microsoft.Network/networkSecurityGroups/ygsrcnsg","etag":"W/\"65faf37a-6b1c-48de-bfcd-014208e87897\"","type":"Microsoft.Network/networkSecurityGroups","location":"westus","properties":{"provisioningState":"Failed","resourceGuid":"34793fa9-f38a-49a4-836f-d47c2ac2f5a8","securityRules":[],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ygsrc/providers/Microsoft.Network/networkSecurityGroups/ygsrcnsg/defaultSecurityRules/AllowVnetInBound","etag":"W/\"65faf37a-6b1c-48de-bfcd-014208e87897\"","properties":{"provisioningState":"Failed","description":"Allow + body: {string: '{"value":[{"name":"pysecgroupc575136b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b","etag":"W/\"842a1e80-7a3f-421b-98c8-95e6470465c3\"","type":"Microsoft.Network/networkSecurityGroups","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"6cf7eb01-67ca-4291-a158-e71f15e2513d","securityRules":[{"name":"pysecgrouprulec575136b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules/pysecgrouprulec575136b","etag":"W/\"842a1e80-7a3f-421b-98c8-95e6470465c3\"","properties":{"provisioningState":"Succeeded","description":"Test + security rule","protocol":"Tcp","sourcePortRange":"655","destinationPortRange":"123-3500","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowVnetInBound","etag":"W/\"842a1e80-7a3f-421b-98c8-95e6470465c3\"","properties":{"provisioningState":"Succeeded","description":"Allow + inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"842a1e80-7a3f-421b-98c8-95e6470465c3\"","properties":{"provisioningState":"Succeeded","description":"Allow + inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/DenyAllInBound","etag":"W/\"842a1e80-7a3f-421b-98c8-95e6470465c3\"","properties":{"provisioningState":"Succeeded","description":"Deny + all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"842a1e80-7a3f-421b-98c8-95e6470465c3\"","properties":{"provisioningState":"Succeeded","description":"Allow + outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"842a1e80-7a3f-421b-98c8-95e6470465c3\"","properties":{"provisioningState":"Succeeded","description":"Allow + outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/defaultSecurityRules/DenyAllOutBound","etag":"W/\"842a1e80-7a3f-421b-98c8-95e6470465c3\"","properties":{"provisioningState":"Succeeded","description":"Deny + all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}]}},{"name":"windowsvm-nsg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/networkSecurityGroups/windowsvm-nsg","etag":"W/\"3bef9b61-2fc0-41f8-98c6-d5e8239ea289\"","type":"Microsoft.Network/networkSecurityGroups","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"0432a4f2-4f77-4d29-9a83-286c4a44d2d7","securityRules":[{"name":"HTTP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/networkSecurityGroups/windowsvm-nsg/securityRules/HTTP","etag":"W/\"3bef9b61-2fc0-41f8-98c6-d5e8239ea289\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"80","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":300,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"HTTPS","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/networkSecurityGroups/windowsvm-nsg/securityRules/HTTPS","etag":"W/\"3bef9b61-2fc0-41f8-98c6-d5e8239ea289\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"443","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":320,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"SSH","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/networkSecurityGroups/windowsvm-nsg/securityRules/SSH","etag":"W/\"3bef9b61-2fc0-41f8-98c6-d5e8239ea289\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":340,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"MS_SQL","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/networkSecurityGroups/windowsvm-nsg/securityRules/MS_SQL","etag":"W/\"3bef9b61-2fc0-41f8-98c6-d5e8239ea289\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"1433","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":360,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"RDP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/networkSecurityGroups/windowsvm-nsg/securityRules/RDP","etag":"W/\"3bef9b61-2fc0-41f8-98c6-d5e8239ea289\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":380,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/networkSecurityGroups/windowsvm-nsg/defaultSecurityRules/AllowVnetInBound","etag":"W/\"3bef9b61-2fc0-41f8-98c6-d5e8239ea289\"","properties":{"provisioningState":"Succeeded","description":"Allow + inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/networkSecurityGroups/windowsvm-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"3bef9b61-2fc0-41f8-98c6-d5e8239ea289\"","properties":{"provisioningState":"Succeeded","description":"Allow + inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/networkSecurityGroups/windowsvm-nsg/defaultSecurityRules/DenyAllInBound","etag":"W/\"3bef9b61-2fc0-41f8-98c6-d5e8239ea289\"","properties":{"provisioningState":"Succeeded","description":"Deny + all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/networkSecurityGroups/windowsvm-nsg/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"3bef9b61-2fc0-41f8-98c6-d5e8239ea289\"","properties":{"provisioningState":"Succeeded","description":"Allow + outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/networkSecurityGroups/windowsvm-nsg/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"3bef9b61-2fc0-41f8-98c6-d5e8239ea289\"","properties":{"provisioningState":"Succeeded","description":"Allow + outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/networkSecurityGroups/windowsvm-nsg/defaultSecurityRules/DenyAllOutBound","etag":"W/\"3bef9b61-2fc0-41f8-98c6-d5e8239ea289\"","properties":{"provisioningState":"Succeeded","description":"Deny + all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/networkInterfaces/windowsvm624"}]}},{"name":"ygsrcnsg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ygsrc/providers/Microsoft.Network/networkSecurityGroups/ygsrcnsg","etag":"W/\"65faf37a-6b1c-48de-bfcd-014208e87897\"","type":"Microsoft.Network/networkSecurityGroups","location":"westus","properties":{"provisioningState":"Failed","resourceGuid":"34793fa9-f38a-49a4-836f-d47c2ac2f5a8","securityRules":[],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ygsrc/providers/Microsoft.Network/networkSecurityGroups/ygsrcnsg/defaultSecurityRules/AllowVnetInBound","etag":"W/\"65faf37a-6b1c-48de-bfcd-014208e87897\"","properties":{"provisioningState":"Failed","description":"Allow inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ygsrc/providers/Microsoft.Network/networkSecurityGroups/ygsrcnsg/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"65faf37a-6b1c-48de-bfcd-014208e87897\"","properties":{"provisioningState":"Failed","description":"Allow inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ygsrc/providers/Microsoft.Network/networkSecurityGroups/ygsrcnsg/defaultSecurityRules/DenyAllInBound","etag":"W/\"65faf37a-6b1c-48de-bfcd-014208e87897\"","properties":{"provisioningState":"Failed","description":"Deny all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ygsrc/providers/Microsoft.Network/networkSecurityGroups/ygsrcnsg/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"65faf37a-6b1c-48de-bfcd-014208e87897\"","properties":{"provisioningState":"Failed","description":"Allow outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ygsrc/providers/Microsoft.Network/networkSecurityGroups/ygsrcnsg/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"65faf37a-6b1c-48de-bfcd-014208e87897\"","properties":{"provisioningState":"Failed","description":"Allow outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ygsrc/providers/Microsoft.Network/networkSecurityGroups/ygsrcnsg/defaultSecurityRules/DenyAllOutBound","etag":"W/\"65faf37a-6b1c-48de-bfcd-014208e87897\"","properties":{"provisioningState":"Failed","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}]}},{"name":"ADXCorpNetNSG","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ADXScriptRG/providers/Microsoft.Network/networkSecurityGroups/ADXCorpNetNSG","etag":"W/\"6e04329e-b2fd-4b1f-a8ec-b6db461b76ca\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"daf21161-9832-4d16-9edd-ae4c5c32db27","securityRules":[],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ADXScriptRG/providers/Microsoft.Network/networkSecurityGroups/ADXCorpNetNSG/defaultSecurityRules/AllowVnetInBound","etag":"W/\"6e04329e-b2fd-4b1f-a8ec-b6db461b76ca\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ADXScriptRG/providers/Microsoft.Network/networkSecurityGroups/ADXCorpNetNSG/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"6e04329e-b2fd-4b1f-a8ec-b6db461b76ca\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ADXScriptRG/providers/Microsoft.Network/networkSecurityGroups/ADXCorpNetNSG/defaultSecurityRules/DenyAllInBound","etag":"W/\"6e04329e-b2fd-4b1f-a8ec-b6db461b76ca\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ADXScriptRG/providers/Microsoft.Network/networkSecurityGroups/ADXCorpNetNSG/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"6e04329e-b2fd-4b1f-a8ec-b6db461b76ca\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ADXScriptRG/providers/Microsoft.Network/networkSecurityGroups/ADXCorpNetNSG/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"6e04329e-b2fd-4b1f-a8ec-b6db461b76ca\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ADXScriptRG/providers/Microsoft.Network/networkSecurityGroups/ADXCorpNetNSG/defaultSecurityRules/DenyAllOutBound","etag":"W/\"6e04329e-b2fd-4b1f-a8ec-b6db461b76ca\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}]}},{"name":"azvmc632","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"59f722be-f81f-4007-af7b-caaaa4946b7d","securityRules":[{"name":"Cleanuptool-5985-Corpnet-9e3214d7-332d-414e-91f2-0c72d7edb065","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-9e3214d7-332d-414e-91f2-0c72d7edb065","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1012,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-5868b537-6ec9-463f-919b-f821bc35b6a6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-5868b537-6ec9-463f-919b-f821bc35b6a6","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1011,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-4ed9ccf7-cf71-4327-ab0b-6d21ae3325ce","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-4ed9ccf7-cf71-4327-ab0b-6d21ae3325ce","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1013,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-6b85f09e-07ce-45ae-9799-f1251eeaf4bd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-6b85f09e-07ce-45ae-9799-f1251eeaf4bd","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1014,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-ec58f35a-a1ce-433e-99e5-d4bcbd31382a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-ec58f35a-a1ce-433e-99e5-d4bcbd31382a","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1015,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-b434d830-8524-40d7-b1e9-318291bdb947","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-b434d830-8524-40d7-b1e9-318291bdb947","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1016,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-bb31f4c5-455e-492e-a93d-ff2759bdc5bc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-bb31f4c5-455e-492e-a93d-ff2759bdc5bc","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1017,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-d4c90258-5f5e-48e7-94e0-12b7d2833756","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-d4c90258-5f5e-48e7-94e0-12b7d2833756","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1018,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-f8c046d4-241e-4774-8815-a035b38321b2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-f8c046d4-241e-4774-8815-a035b38321b2","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1019,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-6c5033b8-0925-4618-b153-32fbeb83de88","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-6c5033b8-0925-4618-b153-32fbeb83de88","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1020,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-962e84e8-51e2-4c88-b9c5-38270f9c09dc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-962e84e8-51e2-4c88-b9c5-38270f9c09dc","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1021,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-4ee80774-8994-465a-95b8-58322c540a4b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-4ee80774-8994-465a-95b8-58322c540a4b","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1022,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-02f5b728-4f71-4326-a11e-1d7c3de47ff9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-02f5b728-4f71-4326-a11e-1d7c3de47ff9","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1023,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-8f8ec7cf-cf92-476a-86c1-315f8f884f20","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-8f8ec7cf-cf92-476a-86c1-315f8f884f20","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1024,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-890e464f-536a-40bf-ae72-9bb1f4983ce0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-890e464f-536a-40bf-ae72-9bb1f4983ce0","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1025,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-55ba1380-4d70-4765-aa72-66484111601a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-55ba1380-4d70-4765-aa72-66484111601a","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1026,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-057e965d-992f-4b4a-b746-04107098e6c5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-057e965d-992f-4b4a-b746-04107098e6c5","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1027,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-c0f7625a-deef-45e7-b910-cec5f77cd6dd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-c0f7625a-deef-45e7-b910-cec5f77cd6dd","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1028,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-d408ca15-98e4-45b1-8c98-cd703896d66f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-d408ca15-98e4-45b1-8c98-cd703896d66f","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1029,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-1b7b54c2-9efd-441b-9661-8c28d0cfa822","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-1b7b54c2-9efd-441b-9661-8c28d0cfa822","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1030,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-113c1b77-2a16-4760-b3e9-ae4761933cd8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-113c1b77-2a16-4760-b3e9-ae4761933cd8","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1031,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-a3d15e62-de30-476b-a554-cf366261a645","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-a3d15e62-de30-476b-a554-cf366261a645","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1032,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-cbd010b5-c48d-40fb-9aac-f22cba5cb469","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-cbd010b5-c48d-40fb-9aac-f22cba5cb469","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1033,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-c0011e5d-d752-4301-9812-f270420aee84","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-c0011e5d-d752-4301-9812-f270420aee84","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1034,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-56c44cc4-dc29-4158-9dc8-9c9887237944","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-56c44cc4-dc29-4158-9dc8-9c9887237944","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1035,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-12f0ab61-cb5b-4abe-9ac1-f644390d3d2c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-12f0ab61-cb5b-4abe-9ac1-f644390d3d2c","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1036,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-629efc89-8b3b-45e9-84a0-844ce96e7b76","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-629efc89-8b3b-45e9-84a0-844ce96e7b76","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1037,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-67c4d7a5-3142-490e-9643-35da26e39dfd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-67c4d7a5-3142-490e-9643-35da26e39dfd","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1038,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-605e9221-d990-40d6-ae64-32e706e0afb8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-605e9221-d990-40d6-ae64-32e706e0afb8","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1039,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-7db56486-031d-4924-b5bd-3c2f53c353bc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-5985-Corpnet-7db56486-031d-4924-b5bd-3c2f53c353bc","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1040,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-6aed53a9-5b29-4e1f-98c5-8a465c151137","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-6aed53a9-5b29-4e1f-98c5-8a465c151137","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1041,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-78537620-3d31-4b88-9501-19cf85b8d582","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-78537620-3d31-4b88-9501-19cf85b8d582","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1042,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-db839b92-1af3-4569-b001-51dc8722a5d0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-db839b92-1af3-4569-b001-51dc8722a5d0","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1043,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-aed3ef8c-deef-4af2-8ad0-aa848469454b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-aed3ef8c-deef-4af2-8ad0-aa848469454b","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1044,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-13113efa-9697-424b-9ff8-8c8627eaa8ec","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-13113efa-9697-424b-9ff8-8c8627eaa8ec","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1045,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ef9f787a-87ef-4eda-8ae4-df55c048ced6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-ef9f787a-87ef-4eda-8ae4-df55c048ced6","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1046,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-f0786d30-02b5-4359-9d13-1fc0066c5f7e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-f0786d30-02b5-4359-9d13-1fc0066c5f7e","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1047,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-476a63d7-d634-4b4b-9b6b-2090875716b0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-476a63d7-d634-4b4b-9b6b-2090875716b0","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1048,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d88737a6-e5ad-448b-9a97-7c145f7f4626","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-d88737a6-e5ad-448b-9a97-7c145f7f4626","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1049,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-7daf4e6f-ac18-45fd-baa9-1adc63ad0d06","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-7daf4e6f-ac18-45fd-baa9-1adc63ad0d06","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1050,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-f14a9909-27f9-4726-8bee-88304192684d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-f14a9909-27f9-4726-8bee-88304192684d","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1051,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-6fd8e09f-bb8a-4a52-8603-db4f49b8b632","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-6fd8e09f-bb8a-4a52-8603-db4f49b8b632","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1052,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-fd1e8c45-6c93-4479-97eb-b702931bea75","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-fd1e8c45-6c93-4479-97eb-b702931bea75","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1053,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-670cc031-2f38-4d80-8eda-b1f0bf5b65ba","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-670cc031-2f38-4d80-8eda-b1f0bf5b65ba","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1054,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-e217bfc3-7ddc-4537-8f99-bbbc47804156","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-e217bfc3-7ddc-4537-8f99-bbbc47804156","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1055,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b1c93c83-e055-413f-8464-a42d8feb2235","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-b1c93c83-e055-413f-8464-a42d8feb2235","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1056,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-15014b2b-3ea8-4c9d-8d09-59f7cdde9cbb","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-15014b2b-3ea8-4c9d-8d09-59f7cdde9cbb","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1057,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-7c455e6f-b2ab-4f74-8069-a2115e09234a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-7c455e6f-b2ab-4f74-8069-a2115e09234a","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1058,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-a55a0dac-caf6-4dc4-9b88-3d078c644fec","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-a55a0dac-caf6-4dc4-9b88-3d078c644fec","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1059,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-dd5ce87c-5152-46c4-85a6-5db50a410ea3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-dd5ce87c-5152-46c4-85a6-5db50a410ea3","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1060,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-352542de-bf0f-4730-b6a8-48588700c494","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-352542de-bf0f-4730-b6a8-48588700c494","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1061,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-61a15760-348f-49be-9d74-a187e1b1a69d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-61a15760-348f-49be-9d74-a187e1b1a69d","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1062,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-cbc7ca7c-d454-4f45-9854-8bc3ed6c2b10","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-cbc7ca7c-d454-4f45-9854-8bc3ed6c2b10","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1063,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ab97cf6b-deb7-44d5-b650-898f7528fcf0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-ab97cf6b-deb7-44d5-b650-898f7528fcf0","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1064,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-4523ae73-a4fd-41ba-83d9-382e867744f0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-4523ae73-a4fd-41ba-83d9-382e867744f0","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1065,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d8ee5193-42bf-4d3c-b890-9e7ba1bd505f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-d8ee5193-42bf-4d3c-b890-9e7ba1bd505f","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1066,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-208d3030-57ea-4c03-8f2b-97117a2f9974","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-208d3030-57ea-4c03-8f2b-97117a2f9974","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1067,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-a7d70e63-882c-48ea-902c-fb8b2b3b4a5c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/securityRules/Cleanuptool-3389-Corpnet-a7d70e63-882c-48ea-902c-fb8b2b3b4a5c","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1068,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/defaultSecurityRules/AllowVnetInBound","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/defaultSecurityRules/DenyAllInBound","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkSecurityGroups/azvmc632/defaultSecurityRules/DenyAllOutBound","etag":"W/\"8c86ad86-ba00-4350-9361-ce7b46acf0f5\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkInterfaces/azvmc632"}]}},{"name":"azvmc635","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"4d1de0ef-bbc1-4191-b5c1-48f97a657f98","securityRules":[{"name":"Cleanuptool-3389-Corpnet-793778eb-37da-46a0-abac-a48e04d28e6d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-793778eb-37da-46a0-abac-a48e04d28e6d","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1011,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-d16caac9-a5ec-4216-8f46-932493b4e0df","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-d16caac9-a5ec-4216-8f46-932493b4e0df","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1012,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-d55a3b90-13e5-4897-aa11-c5d8fcbb9c54","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-d55a3b90-13e5-4897-aa11-c5d8fcbb9c54","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1013,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-6b0cefd8-63a0-4289-8f32-ca24ba7d16cc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-6b0cefd8-63a0-4289-8f32-ca24ba7d16cc","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1014,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-a99486dd-7d18-4f30-a2b0-c6165cdebf28","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-a99486dd-7d18-4f30-a2b0-c6165cdebf28","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1015,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-73f38e14-dc2a-4af8-b65a-1509aa382743","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-73f38e14-dc2a-4af8-b65a-1509aa382743","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1016,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-15e87401-48c9-4f5d-bd35-f29a131bfd9d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-15e87401-48c9-4f5d-bd35-f29a131bfd9d","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1017,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-88617b54-5f7a-4d82-89d4-f2868a54be31","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-88617b54-5f7a-4d82-89d4-f2868a54be31","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1018,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-3e13e7ab-9f4e-45ba-a76e-2f505f3138c0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-3e13e7ab-9f4e-45ba-a76e-2f505f3138c0","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1019,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-25cc4d98-05ed-4195-a230-ca280ae8b396","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-25cc4d98-05ed-4195-a230-ca280ae8b396","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1020,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-128e00a7-1821-4a67-9fbd-60f8d507825a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-128e00a7-1821-4a67-9fbd-60f8d507825a","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1021,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-cd18b256-2566-4f10-bf1c-16c24170602f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-cd18b256-2566-4f10-bf1c-16c24170602f","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1022,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-c858d7ff-7dc4-40a8-b5a2-337f84457acc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-c858d7ff-7dc4-40a8-b5a2-337f84457acc","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1023,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-c666e217-5ef8-43d5-85fa-ec09ad09a21b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-c666e217-5ef8-43d5-85fa-ec09ad09a21b","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1024,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-8c249f97-5397-4053-b5b9-8c083d9fbbda","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-8c249f97-5397-4053-b5b9-8c083d9fbbda","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1025,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-6efeeefd-e9f9-4f46-ab0a-b06f3ace3991","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-6efeeefd-e9f9-4f46-ab0a-b06f3ace3991","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1026,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-e6b38470-013e-4a07-9045-10e7091ad2da","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-e6b38470-013e-4a07-9045-10e7091ad2da","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1027,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-03f2687e-61c7-4d22-9c8c-94b811b7033e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-03f2687e-61c7-4d22-9c8c-94b811b7033e","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1028,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-9f6b5471-7f64-414a-82c2-7e95acdb430a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-9f6b5471-7f64-414a-82c2-7e95acdb430a","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1029,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-de0c6957-6819-44d3-8d45-551b3b8f753f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-de0c6957-6819-44d3-8d45-551b3b8f753f","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1030,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-bc19d660-c623-493c-9419-23111a28f302","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-bc19d660-c623-493c-9419-23111a28f302","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1031,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-db73afe2-3191-4d21-bd30-32fc15edde68","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-db73afe2-3191-4d21-bd30-32fc15edde68","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1032,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-c8b88597-7c3d-4f22-9e99-b99016b88c34","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-c8b88597-7c3d-4f22-9e99-b99016b88c34","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1033,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-a5509d3b-425f-45b6-9827-50606bdb1b17","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-a5509d3b-425f-45b6-9827-50606bdb1b17","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1034,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-aad4db5e-21dc-4028-83d5-224be4de9463","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-aad4db5e-21dc-4028-83d5-224be4de9463","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1035,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-73ab8ae9-8b9b-4c15-9897-e4e9d9eba42c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-73ab8ae9-8b9b-4c15-9897-e4e9d9eba42c","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1036,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-35bba267-66b5-49b6-9c5b-e4887a4331d3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-35bba267-66b5-49b6-9c5b-e4887a4331d3","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1037,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-74e328b2-0b05-4516-b596-d81a7fc25ea3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-74e328b2-0b05-4516-b596-d81a7fc25ea3","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1038,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-ca681fdb-e2ee-42c6-9ee0-7190d5378d3a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-ca681fdb-e2ee-42c6-9ee0-7190d5378d3a","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1039,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-b17bdd43-d632-4ab3-bf64-be9b974956b2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-5985-Corpnet-b17bdd43-d632-4ab3-bf64-be9b974956b2","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1040,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-85fa5cfb-bc59-4e0e-a72a-a5f9ab586d06","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-85fa5cfb-bc59-4e0e-a72a-a5f9ab586d06","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1041,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ab40d788-e645-4a63-b2c3-c0196bfed046","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-ab40d788-e645-4a63-b2c3-c0196bfed046","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1042,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-3de35c63-7be5-4de1-9b8e-46869a88e01e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-3de35c63-7be5-4de1-9b8e-46869a88e01e","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1043,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-e7408fc0-2003-4ceb-8e3e-67e9285cfdfc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-e7408fc0-2003-4ceb-8e3e-67e9285cfdfc","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1044,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-4c549f55-6efe-4042-bce1-1c8a84eacd3a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-4c549f55-6efe-4042-bce1-1c8a84eacd3a","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1045,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-dee82094-a1b5-41a0-88bf-fd6c83b4b14c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-dee82094-a1b5-41a0-88bf-fd6c83b4b14c","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1046,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-8ba90a48-6149-4189-8cce-2b57f275ce7c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-8ba90a48-6149-4189-8cce-2b57f275ce7c","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1047,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-8c23489a-77a4-44a4-90b4-6d2cdec78d35","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-8c23489a-77a4-44a4-90b4-6d2cdec78d35","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1048,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-1598d56d-523f-4f8c-a8bf-9e8552426abd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-1598d56d-523f-4f8c-a8bf-9e8552426abd","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1049,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b6d7cc89-2100-46a7-94f7-f2e0fd4d77da","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-b6d7cc89-2100-46a7-94f7-f2e0fd4d77da","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1050,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-c08d4bbc-3471-4ed1-951f-4c87cbcbf26e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-c08d4bbc-3471-4ed1-951f-4c87cbcbf26e","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1051,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-0512fb6f-4bc2-4695-85fc-51f1d8ad6e5d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-0512fb6f-4bc2-4695-85fc-51f1d8ad6e5d","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1052,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-21f35549-8ab9-4da1-a62a-e8c8f87c2dbb","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-21f35549-8ab9-4da1-a62a-e8c8f87c2dbb","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1053,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-36ccdcb1-8fbf-4627-93c3-ac723e2ec9f6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-36ccdcb1-8fbf-4627-93c3-ac723e2ec9f6","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1054,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-840e9e9b-a90e-497c-bce8-49ef9c4902b1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-840e9e9b-a90e-497c-bce8-49ef9c4902b1","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1055,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-76c1ed17-bb55-44f2-bc43-3cf3a272bdcb","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-76c1ed17-bb55-44f2-bc43-3cf3a272bdcb","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1056,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-f5e39a2c-080d-46ba-a9ac-7bf95fdc2135","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-f5e39a2c-080d-46ba-a9ac-7bf95fdc2135","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1057,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-bb079681-2f8d-4379-8d7e-14dee6111a5b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-bb079681-2f8d-4379-8d7e-14dee6111a5b","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1058,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-90bd612a-5d08-4a7f-bad8-bf855aa52a96","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-90bd612a-5d08-4a7f-bad8-bf855aa52a96","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1059,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-48aceb68-2ec0-46c7-8fee-089e376ff53b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-48aceb68-2ec0-46c7-8fee-089e376ff53b","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1060,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-4a6a45bc-a3c5-4a6b-a348-390eb9da3abd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-4a6a45bc-a3c5-4a6b-a348-390eb9da3abd","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1061,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-41efb293-a5e8-4aeb-9edf-bae5dccea0cb","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-41efb293-a5e8-4aeb-9edf-bae5dccea0cb","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1062,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-7351656e-710b-4af4-8055-44d48d465ce0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-7351656e-710b-4af4-8055-44d48d465ce0","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1063,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-4312cd44-c557-4f88-97aa-45bd91e6c33d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-4312cd44-c557-4f88-97aa-45bd91e6c33d","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1064,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-fcb4a7e7-dda0-4b30-b920-bd63cb567e22","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-fcb4a7e7-dda0-4b30-b920-bd63cb567e22","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1065,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-54e25fb0-aff1-483d-b094-c689b280c34c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-54e25fb0-aff1-483d-b094-c689b280c34c","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1066,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-30f923a5-fc80-4ca4-b022-c236f7595f4d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-30f923a5-fc80-4ca4-b022-c236f7595f4d","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1067,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-aa300c2c-0062-4aa4-9062-ea0cd82ae471","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/securityRules/Cleanuptool-3389-Corpnet-aa300c2c-0062-4aa4-9062-ea0cd82ae471","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1068,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/defaultSecurityRules/AllowVnetInBound","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/defaultSecurityRules/DenyAllInBound","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkSecurityGroups/azvmc635/defaultSecurityRules/DenyAllOutBound","etag":"W/\"4b928ec0-07a3-4e66-9786-4b45b24cc208\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkInterfaces/azvmc635"}]}},{"name":"dcos-agent-private-nsg-FEEFDCBC","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-agent-private-nsg-FEEFDCBC","etag":"W/\"e6b6b945-8123-4824-a9ab-ae42ce43ea8b\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"3e41d2cf-6a9e-48d8-9a0a-6848e2b9ab26","securityRules":[],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-agent-private-nsg-FEEFDCBC/defaultSecurityRules/AllowVnetInBound","etag":"W/\"e6b6b945-8123-4824-a9ab-ae42ce43ea8b\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-agent-private-nsg-FEEFDCBC/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"e6b6b945-8123-4824-a9ab-ae42ce43ea8b\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-agent-private-nsg-FEEFDCBC/defaultSecurityRules/DenyAllInBound","etag":"W/\"e6b6b945-8123-4824-a9ab-ae42ce43ea8b\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-agent-private-nsg-FEEFDCBC/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"e6b6b945-8123-4824-a9ab-ae42ce43ea8b\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-agent-private-nsg-FEEFDCBC/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"e6b6b945-8123-4824-a9ab-ae42ce43ea8b\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-agent-private-nsg-FEEFDCBC/defaultSecurityRules/DenyAllOutBound","etag":"W/\"e6b6b945-8123-4824-a9ab-ae42ce43ea8b\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"subnets":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/virtualNetworks/dcos-vnet-FEEFDCBC/subnets/dcos-agentPrivateSubnet"}]}},{"name":"dcos-agent-public-nsg-FEEFDCBC","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-agent-public-nsg-FEEFDCBC","etag":"W/\"67053d33-cca5-4147-be5f-1f292a5fab1f\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"06ad5a7a-80ce-4af7-a8ee-d6774c201f8e","securityRules":[{"name":"Allow_HTTP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-agent-public-nsg-FEEFDCBC/securityRules/Allow_HTTP","etag":"W/\"67053d33-cca5-4147-be5f-1f292a5fab1f\"","properties":{"provisioningState":"Succeeded","description":"Allow - HTTP traffic from the Internet to Public Agents","protocol":"*","sourcePortRange":"*","destinationPortRange":"80","sourceAddressPrefix":"Internet","destinationAddressPrefix":"*","access":"Allow","priority":200,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Allow_HTTPS","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-agent-public-nsg-FEEFDCBC/securityRules/Allow_HTTPS","etag":"W/\"67053d33-cca5-4147-be5f-1f292a5fab1f\"","properties":{"provisioningState":"Succeeded","description":"Allow - HTTPS traffic from the Internet to Public Agents","protocol":"*","sourcePortRange":"*","destinationPortRange":"443","sourceAddressPrefix":"Internet","destinationAddressPrefix":"*","access":"Allow","priority":300,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Allow_8080","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-agent-public-nsg-FEEFDCBC/securityRules/Allow_8080","etag":"W/\"67053d33-cca5-4147-be5f-1f292a5fab1f\"","properties":{"provisioningState":"Succeeded","description":"Allow - 8080 traffic from the Internet to Public Agents","protocol":"*","sourcePortRange":"*","destinationPortRange":"8080","sourceAddressPrefix":"Internet","destinationAddressPrefix":"*","access":"Allow","priority":400,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-agent-public-nsg-FEEFDCBC/defaultSecurityRules/AllowVnetInBound","etag":"W/\"67053d33-cca5-4147-be5f-1f292a5fab1f\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-agent-public-nsg-FEEFDCBC/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"67053d33-cca5-4147-be5f-1f292a5fab1f\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-agent-public-nsg-FEEFDCBC/defaultSecurityRules/DenyAllInBound","etag":"W/\"67053d33-cca5-4147-be5f-1f292a5fab1f\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-agent-public-nsg-FEEFDCBC/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"67053d33-cca5-4147-be5f-1f292a5fab1f\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-agent-public-nsg-FEEFDCBC/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"67053d33-cca5-4147-be5f-1f292a5fab1f\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-agent-public-nsg-FEEFDCBC/defaultSecurityRules/DenyAllOutBound","etag":"W/\"67053d33-cca5-4147-be5f-1f292a5fab1f\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"subnets":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/virtualNetworks/dcos-vnet-FEEFDCBC/subnets/dcos-agentPublicSubnet"}]}},{"name":"dcos-master-nsg-FEEFDCBC","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"c44d2b5b-46b3-4df8-9635-dc11e13d39ce","securityRules":[{"name":"ssh2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/ssh2","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","description":"Allow - SSH","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"2222","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":201,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-3a15e613-6d2a-499b-9a62-a7608d56651b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-3a15e613-6d2a-499b-9a62-a7608d56651b","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":110,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-fa08f0cf-7164-4ea8-a807-7dbbfdcf93a8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-fa08f0cf-7164-4ea8-a807-7dbbfdcf93a8","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":111,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-eba982f7-f218-4711-9bdf-9b8e9aade7d1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-eba982f7-f218-4711-9bdf-9b8e9aade7d1","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":112,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-09cda103-1480-4208-9940-30de8128ff1f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-09cda103-1480-4208-9940-30de8128ff1f","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":113,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-5998106e-8397-4fd7-905f-73432c8fd3d7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-5998106e-8397-4fd7-905f-73432c8fd3d7","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":114,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-38e04532-4f65-4bdf-a838-6b5536533579","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-38e04532-4f65-4bdf-a838-6b5536533579","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":115,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-e60dcc97-1185-487c-bdce-499a80028d2c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-e60dcc97-1185-487c-bdce-499a80028d2c","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":116,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-1572d869-ecf6-4b98-86d4-d381c3542ba2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-1572d869-ecf6-4b98-86d4-d381c3542ba2","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":117,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-bc41359a-d404-4c07-84c9-aebf08bc073a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-bc41359a-d404-4c07-84c9-aebf08bc073a","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":118,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-46b29a3c-458d-4a85-aedb-300b1d5c6a38","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-46b29a3c-458d-4a85-aedb-300b1d5c6a38","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":119,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-042ad99f-d140-4c54-b850-c627d7500131","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-042ad99f-d140-4c54-b850-c627d7500131","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":120,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-06f0e69a-3f9a-40c5-a701-539c7372d97a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-06f0e69a-3f9a-40c5-a701-539c7372d97a","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":121,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-cab0a4ab-4ae1-440a-9b32-7a9cd8aad34a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-cab0a4ab-4ae1-440a-9b32-7a9cd8aad34a","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":122,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-05687808-e503-4c4e-a7af-79402cf41a3f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-05687808-e503-4c4e-a7af-79402cf41a3f","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":123,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-167b9401-0e48-49d5-bee4-782f0522b13d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-167b9401-0e48-49d5-bee4-782f0522b13d","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":124,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-6320d6cf-2450-4daf-9160-455a86c0a48b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-6320d6cf-2450-4daf-9160-455a86c0a48b","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":125,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-15702af9-6447-4047-96eb-b6819f1bdb3f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-15702af9-6447-4047-96eb-b6819f1bdb3f","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":126,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-8caf39c6-e112-40c6-8cad-a11115d4334d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-8caf39c6-e112-40c6-8cad-a11115d4334d","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":127,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-05b721ee-467e-435d-b0c5-3f64a1a821e8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-05b721ee-467e-435d-b0c5-3f64a1a821e8","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":128,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-f4a01061-e49d-4634-8efe-098233d4e0f6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-f4a01061-e49d-4634-8efe-098233d4e0f6","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":129,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-bc938630-4be5-4034-a37a-62c0edb53b6d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-bc938630-4be5-4034-a37a-62c0edb53b6d","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":130,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-dce15051-1594-45c4-bc71-899c5c2bc58c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-dce15051-1594-45c4-bc71-899c5c2bc58c","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":131,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-eb4aa327-3d9d-405e-9628-9a33cb874b8d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-eb4aa327-3d9d-405e-9628-9a33cb874b8d","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":132,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-24bdcdd5-02e6-4f17-9215-eb34ce540918","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-24bdcdd5-02e6-4f17-9215-eb34ce540918","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":133,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-1e8a9799-dbae-4b36-a28b-7094d9d75d10","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-1e8a9799-dbae-4b36-a28b-7094d9d75d10","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":134,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c906c141-fccd-44db-b60b-fb1c229184fd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-c906c141-fccd-44db-b60b-fb1c229184fd","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":135,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-e5fbc9b9-4f62-43d9-9f8a-bc5621b517c5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-e5fbc9b9-4f62-43d9-9f8a-bc5621b517c5","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":136,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-bb015a70-b3bf-4f1e-b7c3-56242cc2f809","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-bb015a70-b3bf-4f1e-b7c3-56242cc2f809","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":137,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-578f10cd-314d-4ca5-bdc0-6c195d38676a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/securityRules/Cleanuptool-22-Corpnet-578f10cd-314d-4ca5-bdc0-6c195d38676a","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":138,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/defaultSecurityRules/AllowVnetInBound","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/defaultSecurityRules/DenyAllInBound","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-master-nsg-FEEFDCBC/defaultSecurityRules/DenyAllOutBound","etag":"W/\"0ca25a2e-a019-4eff-b169-f14da51d81a1\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkInterfaces/dcos-master-FEEFDCBC-nic-0"}]}},{"name":"foovmrealcool101","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foovmrealcool101/providers/Microsoft.Network/networkSecurityGroups/foovmrealcool101","etag":"W/\"c492c47f-a2b8-4379-a1ed-ae9e2bb987e9\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"b99ce3c6-a833-4fed-8b3a-afcf2ed5b1c9","securityRules":[{"name":"foovmrealcool101","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foovmrealcool101/providers/Microsoft.Network/networkSecurityGroups/foovmrealcool101/securityRules/foovmrealcool101","etag":"W/\"c492c47f-a2b8-4379-a1ed-ae9e2bb987e9\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":1000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foovmrealcool101/providers/Microsoft.Network/networkSecurityGroups/foovmrealcool101/defaultSecurityRules/AllowVnetInBound","etag":"W/\"c492c47f-a2b8-4379-a1ed-ae9e2bb987e9\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foovmrealcool101/providers/Microsoft.Network/networkSecurityGroups/foovmrealcool101/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"c492c47f-a2b8-4379-a1ed-ae9e2bb987e9\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foovmrealcool101/providers/Microsoft.Network/networkSecurityGroups/foovmrealcool101/defaultSecurityRules/DenyAllInBound","etag":"W/\"c492c47f-a2b8-4379-a1ed-ae9e2bb987e9\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foovmrealcool101/providers/Microsoft.Network/networkSecurityGroups/foovmrealcool101/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"c492c47f-a2b8-4379-a1ed-ae9e2bb987e9\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foovmrealcool101/providers/Microsoft.Network/networkSecurityGroups/foovmrealcool101/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"c492c47f-a2b8-4379-a1ed-ae9e2bb987e9\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foovmrealcool101/providers/Microsoft.Network/networkSecurityGroups/foovmrealcool101/defaultSecurityRules/DenyAllOutBound","etag":"W/\"c492c47f-a2b8-4379-a1ed-ae9e2bb987e9\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foovmrealcool101/providers/Microsoft.Network/networkInterfaces/foovmrealcool101"}]}},{"name":"fzmc75","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"020eb427-9103-41a8-9194-4011c143936a","securityRules":[{"name":"Cleanuptool-3389-Corpnet-d6398522-8489-41ca-b818-8545ec132b06","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-d6398522-8489-41ca-b818-8545ec132b06","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1011,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-c8c0986f-5934-41e1-932a-97f37412d31f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-c8c0986f-5934-41e1-932a-97f37412d31f","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1012,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d140f84e-95e7-4cb4-a6c4-35533c88d893","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-d140f84e-95e7-4cb4-a6c4-35533c88d893","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1013,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-da65fbac-7971-441a-b412-a7e4c0fc48ed","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-da65fbac-7971-441a-b412-a7e4c0fc48ed","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1014,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-e0c33b1b-9da1-4fc6-88d3-9b470dcc66b0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-e0c33b1b-9da1-4fc6-88d3-9b470dcc66b0","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1015,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-0d7393f5-4711-49ff-ab9e-8ac00d1afee6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-0d7393f5-4711-49ff-ab9e-8ac00d1afee6","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1016,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-92ab3572-3ea7-4d58-9db1-636610c8b3d6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-92ab3572-3ea7-4d58-9db1-636610c8b3d6","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1017,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-889cf7d2-768f-4719-bd32-51fba5082d0a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-889cf7d2-768f-4719-bd32-51fba5082d0a","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1018,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-8005dd41-43cf-4811-b41f-fe3994a7dea9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-8005dd41-43cf-4811-b41f-fe3994a7dea9","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1019,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-54084ff6-8c4d-454e-a27f-63243f682c9a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-54084ff6-8c4d-454e-a27f-63243f682c9a","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1020,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-50f49cd3-fc1e-495e-bb56-14445e74e096","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-50f49cd3-fc1e-495e-bb56-14445e74e096","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1021,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d5c4c40d-cc1a-4f84-9328-312cbcfe4360","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-d5c4c40d-cc1a-4f84-9328-312cbcfe4360","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1022,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-04b3710d-7c7b-4957-b206-2ddb15f7a49e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-04b3710d-7c7b-4957-b206-2ddb15f7a49e","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1023,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-f9316ec5-7670-463c-a97b-ef4843cf401d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-f9316ec5-7670-463c-a97b-ef4843cf401d","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1024,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b209cbf7-1d5d-4def-8459-1cb4651350f9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-b209cbf7-1d5d-4def-8459-1cb4651350f9","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1025,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d09fc596-aeb2-4f17-9c17-8f3795c7ae3b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-d09fc596-aeb2-4f17-9c17-8f3795c7ae3b","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1026,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-24c9d535-4ab6-42f4-b780-65469e260e6d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-24c9d535-4ab6-42f4-b780-65469e260e6d","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1027,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-c2d2d75a-bf6d-4483-aef8-9c367ede56a0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-c2d2d75a-bf6d-4483-aef8-9c367ede56a0","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1028,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-6b0e64d2-04ab-4004-ac8d-b7232ec8dbba","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-6b0e64d2-04ab-4004-ac8d-b7232ec8dbba","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1029,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-6d27c7ee-5f9e-4b81-9164-d427a091cfb4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-6d27c7ee-5f9e-4b81-9164-d427a091cfb4","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1030,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-dc3556a8-61fb-4a29-9a22-6b666a5f84c4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-dc3556a8-61fb-4a29-9a22-6b666a5f84c4","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1031,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-e8664d69-921a-4c88-a144-e5a5d34f094e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-e8664d69-921a-4c88-a144-e5a5d34f094e","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1032,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-efb1c9f5-f2bf-4387-8e2a-f8ec523f0e41","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-efb1c9f5-f2bf-4387-8e2a-f8ec523f0e41","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1033,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-2206589c-16ee-4769-ad50-7066b3981a2c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-2206589c-16ee-4769-ad50-7066b3981a2c","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1034,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-bebbeb88-6c8c-456b-aac5-25669c806eaf","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-bebbeb88-6c8c-456b-aac5-25669c806eaf","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1035,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-319e6eee-9c18-453e-a1bf-684fa27fe800","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-319e6eee-9c18-453e-a1bf-684fa27fe800","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1036,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-13b008a2-a8b4-4689-85ea-95d01d1e90a8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-13b008a2-a8b4-4689-85ea-95d01d1e90a8","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1037,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-f3fec85f-1b8a-41cc-8f15-be22eac759cc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-f3fec85f-1b8a-41cc-8f15-be22eac759cc","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1038,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-a3921540-5f8a-4878-bf3a-7315797f4ec7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/securityRules/Cleanuptool-3389-Corpnet-a3921540-5f8a-4878-bf3a-7315797f4ec7","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1039,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/defaultSecurityRules/AllowVnetInBound","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/defaultSecurityRules/DenyAllInBound","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkSecurityGroups/fzmc75/defaultSecurityRules/DenyAllOutBound","etag":"W/\"4c53f2ef-674f-4ccb-97aa-857ca41fe0ab\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkInterfaces/fzmc75"}]}},{"name":"fzvm123mccw","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"81e7e77d-289b-4522-b1d0-4df94e0d010c","securityRules":[{"name":"Cleanuptool-3389-Corpnet-c8cc8b00-4d94-44ae-ae99-0965b1fcda23","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-c8cc8b00-4d94-44ae-ae99-0965b1fcda23","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1011,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-44fdc867-c219-45c0-85f5-57e0192a5fdc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-44fdc867-c219-45c0-85f5-57e0192a5fdc","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1012,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-0ef35e5e-51cf-4863-89f3-f8ba143bde0d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-0ef35e5e-51cf-4863-89f3-f8ba143bde0d","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1013,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-fd64efce-c923-4f8a-b256-17aaf92868e8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-fd64efce-c923-4f8a-b256-17aaf92868e8","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1014,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-e347b8b9-cd7f-46eb-aca8-06b6641fbe06","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-e347b8b9-cd7f-46eb-aca8-06b6641fbe06","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1015,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-1129b8df-a16c-46d2-9592-6f9503455f21","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-1129b8df-a16c-46d2-9592-6f9503455f21","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1016,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-27c0d279-9c6b-48de-98f1-b0beb25d68b8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-27c0d279-9c6b-48de-98f1-b0beb25d68b8","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1017,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-6eb3e5e2-e408-4199-954f-dd65f143256e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-6eb3e5e2-e408-4199-954f-dd65f143256e","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1018,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-cf92edaa-f85b-455d-8fed-2666c8e8e02d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-cf92edaa-f85b-455d-8fed-2666c8e8e02d","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1019,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-2d122631-c378-4ad1-a4a1-0e7b80abb975","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-2d122631-c378-4ad1-a4a1-0e7b80abb975","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1020,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-43f1828f-6cb9-49ab-bbc4-f48e27b4a430","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-43f1828f-6cb9-49ab-bbc4-f48e27b4a430","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1021,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-1de59196-b4f8-4212-8033-2d470ddbd531","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-1de59196-b4f8-4212-8033-2d470ddbd531","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1022,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-717848cb-c19c-4b48-b883-94f7136a6651","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-717848cb-c19c-4b48-b883-94f7136a6651","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1023,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-74f52551-f333-41b1-8d55-39f3f12a6f64","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-74f52551-f333-41b1-8d55-39f3f12a6f64","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1024,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-f2a432e0-8493-4e71-8e8f-878fd9c09a3c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-f2a432e0-8493-4e71-8e8f-878fd9c09a3c","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1025,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-4ecdcd76-a25f-4d0a-b853-7ff216e9ab61","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-4ecdcd76-a25f-4d0a-b853-7ff216e9ab61","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1026,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-94f8ba46-8d9e-4376-a877-442cdf5e4bb6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-94f8ba46-8d9e-4376-a877-442cdf5e4bb6","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1027,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-1fb0ea89-42b7-47c6-af92-f8ecd9430a93","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-1fb0ea89-42b7-47c6-af92-f8ecd9430a93","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1028,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-b07cfb8e-338b-440b-a01c-5fa682ead461","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-b07cfb8e-338b-440b-a01c-5fa682ead461","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1029,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-a2a9e813-8e16-4c08-b585-ebc13b64c820","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-a2a9e813-8e16-4c08-b585-ebc13b64c820","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1030,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-df4baa5b-af11-494f-a9ca-9de6eb293efa","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-df4baa5b-af11-494f-a9ca-9de6eb293efa","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1031,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-941b4316-0893-405a-86e8-ccd3275083a0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-941b4316-0893-405a-86e8-ccd3275083a0","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1032,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-1be92ad0-284c-4f8a-b66f-39d6a06b53c6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-1be92ad0-284c-4f8a-b66f-39d6a06b53c6","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1033,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-7c4db4c5-c450-425b-8ecc-caa3070371f4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-7c4db4c5-c450-425b-8ecc-caa3070371f4","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1034,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-8abef85f-2bf8-4778-af12-67b5ef7afdf0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-8abef85f-2bf8-4778-af12-67b5ef7afdf0","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1035,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-1d8f9111-8b78-4277-b27d-2e20195573df","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-1d8f9111-8b78-4277-b27d-2e20195573df","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1036,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-b8a605a5-0001-4e86-8f0c-1525b70073cd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-b8a605a5-0001-4e86-8f0c-1525b70073cd","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1037,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-6a8f841d-42bf-4c8d-81de-d3233186f2b2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-6a8f841d-42bf-4c8d-81de-d3233186f2b2","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1038,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-4871fadf-1e3f-474d-927a-47eae07663b9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-4871fadf-1e3f-474d-927a-47eae07663b9","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1039,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-2b6fb7ce-33ce-4b89-8902-375ed5e1280f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-5985-Corpnet-2b6fb7ce-33ce-4b89-8902-375ed5e1280f","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1040,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-763691a2-5e19-48fb-bd16-c0104940493b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-763691a2-5e19-48fb-bd16-c0104940493b","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1041,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-8b359a85-09d1-41a1-9772-ecdb539fb807","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-8b359a85-09d1-41a1-9772-ecdb539fb807","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1042,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-49cc3282-5d5a-4b8e-9cbe-d9071e83b8cc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-49cc3282-5d5a-4b8e-9cbe-d9071e83b8cc","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1043,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9deadef8-2619-4636-ae7b-1a8122b10284","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-9deadef8-2619-4636-ae7b-1a8122b10284","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1044,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-7cb02334-342c-453b-8c81-7c2c66d9eca8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-7cb02334-342c-453b-8c81-7c2c66d9eca8","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1045,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-21b3aa4b-a7b5-44c9-930d-25447f20a507","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-21b3aa4b-a7b5-44c9-930d-25447f20a507","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1046,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-eb17cdde-7f89-47ee-934d-82c23eb338fe","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-eb17cdde-7f89-47ee-934d-82c23eb338fe","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1047,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b819da6a-6ffa-4d54-80f2-aa6e1475fd0a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-b819da6a-6ffa-4d54-80f2-aa6e1475fd0a","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1048,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-5b3ca4ea-9d6a-47c3-8d30-ddddbda277d3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-5b3ca4ea-9d6a-47c3-8d30-ddddbda277d3","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1049,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-e250006c-b285-41c8-b99f-a80a7ba99cf1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-e250006c-b285-41c8-b99f-a80a7ba99cf1","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1050,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b4063ce8-0ed0-40cf-8365-e8b4ff165fda","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-b4063ce8-0ed0-40cf-8365-e8b4ff165fda","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1051,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-6982537c-ad4c-4eac-be98-a98778c8ccc1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-6982537c-ad4c-4eac-be98-a98778c8ccc1","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1052,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-51e529b2-a291-4b9a-8db2-7d266fe20772","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-51e529b2-a291-4b9a-8db2-7d266fe20772","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1053,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-1c510d38-42e9-4b84-8fad-2f9c292b8b7d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-1c510d38-42e9-4b84-8fad-2f9c292b8b7d","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1054,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-83b8a4d9-391c-47a4-b961-8b41d779acf0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-83b8a4d9-391c-47a4-b961-8b41d779acf0","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1055,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-953f0e95-4b04-41f0-ba09-c5e0eec82f4b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-953f0e95-4b04-41f0-ba09-c5e0eec82f4b","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1056,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-cc81917c-77d3-4ad2-b08a-0ca1bd9119b3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-cc81917c-77d3-4ad2-b08a-0ca1bd9119b3","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1057,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-a03ef8ec-d6ce-48a0-b55f-55efe9e8e28d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-a03ef8ec-d6ce-48a0-b55f-55efe9e8e28d","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1058,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-22869802-1260-42a8-94eb-552e474f1de7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-22869802-1260-42a8-94eb-552e474f1de7","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1059,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-834d8063-4c87-48bf-9a38-d64fe1c4701d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-834d8063-4c87-48bf-9a38-d64fe1c4701d","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1060,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-924ad479-6205-40ec-907f-dd7b07e75d09","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-924ad479-6205-40ec-907f-dd7b07e75d09","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1061,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-1252d331-b711-4c60-912d-a0668f12584b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-1252d331-b711-4c60-912d-a0668f12584b","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1062,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d1710290-b513-47e2-b5a2-03f29969f84b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-d1710290-b513-47e2-b5a2-03f29969f84b","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1063,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-4c27a856-c261-458b-9913-ef229c9dc18f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-4c27a856-c261-458b-9913-ef229c9dc18f","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1064,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-0d34144e-6f37-4e79-95e8-57ac042a1fbf","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-0d34144e-6f37-4e79-95e8-57ac042a1fbf","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1065,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-a8babb8b-9c1a-4d7a-9c26-654655fb29c1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-a8babb8b-9c1a-4d7a-9c26-654655fb29c1","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1066,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b329fb23-24e6-4de1-a862-8d7111270a77","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-b329fb23-24e6-4de1-a862-8d7111270a77","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1067,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-356d9e82-7ee7-4e0f-9eea-8caa2819f242","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/securityRules/Cleanuptool-3389-Corpnet-356d9e82-7ee7-4e0f-9eea-8caa2819f242","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1068,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/defaultSecurityRules/AllowVnetInBound","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/defaultSecurityRules/DenyAllInBound","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkSecurityGroups/fzvm123mccw/defaultSecurityRules/DenyAllOutBound","etag":"W/\"ea871b35-a8e1-4e9a-81de-da92f0a327dc\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkInterfaces/fzvm123mccw"}]}},{"name":"mccwVM20","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mccwVM20/providers/Microsoft.Network/networkSecurityGroups/mccwVM20","etag":"W/\"af9bb69f-bea9-47d7-bb6e-f883d437a22b\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"1ff72547-2617-4f4c-8ced-61e96642d766","securityRules":[{"name":"mccwVM20","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mccwVM20/providers/Microsoft.Network/networkSecurityGroups/mccwVM20/securityRules/mccwVM20","etag":"W/\"af9bb69f-bea9-47d7-bb6e-f883d437a22b\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":1000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mccwVM20/providers/Microsoft.Network/networkSecurityGroups/mccwVM20/defaultSecurityRules/AllowVnetInBound","etag":"W/\"af9bb69f-bea9-47d7-bb6e-f883d437a22b\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mccwVM20/providers/Microsoft.Network/networkSecurityGroups/mccwVM20/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"af9bb69f-bea9-47d7-bb6e-f883d437a22b\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mccwVM20/providers/Microsoft.Network/networkSecurityGroups/mccwVM20/defaultSecurityRules/DenyAllInBound","etag":"W/\"af9bb69f-bea9-47d7-bb6e-f883d437a22b\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mccwVM20/providers/Microsoft.Network/networkSecurityGroups/mccwVM20/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"af9bb69f-bea9-47d7-bb6e-f883d437a22b\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mccwVM20/providers/Microsoft.Network/networkSecurityGroups/mccwVM20/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"af9bb69f-bea9-47d7-bb6e-f883d437a22b\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mccwVM20/providers/Microsoft.Network/networkSecurityGroups/mccwVM20/defaultSecurityRules/DenyAllOutBound","etag":"W/\"af9bb69f-bea9-47d7-bb6e-f883d437a22b\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mccwVM20/providers/Microsoft.Network/networkInterfaces/mccwVM20"}]}},{"name":"mcmvpvm001","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcmvpvm001/providers/Microsoft.Network/networkSecurityGroups/mcmvpvm001","etag":"W/\"ee5dbefb-0ff3-42c9-9522-5aba7a3ff586\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"0ab358ec-be84-458c-bab8-6ec4023d9f45","securityRules":[{"name":"mcmvpvm0013389","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcmvpvm001/providers/Microsoft.Network/networkSecurityGroups/mcmvpvm001/securityRules/mcmvpvm0013389","etag":"W/\"ee5dbefb-0ff3-42c9-9522-5aba7a3ff586\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":1000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"mcmvpvm0015985","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcmvpvm001/providers/Microsoft.Network/networkSecurityGroups/mcmvpvm001/securityRules/mcmvpvm0015985","etag":"W/\"ee5dbefb-0ff3-42c9-9522-5aba7a3ff586\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":1001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcmvpvm001/providers/Microsoft.Network/networkSecurityGroups/mcmvpvm001/defaultSecurityRules/AllowVnetInBound","etag":"W/\"ee5dbefb-0ff3-42c9-9522-5aba7a3ff586\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcmvpvm001/providers/Microsoft.Network/networkSecurityGroups/mcmvpvm001/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"ee5dbefb-0ff3-42c9-9522-5aba7a3ff586\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcmvpvm001/providers/Microsoft.Network/networkSecurityGroups/mcmvpvm001/defaultSecurityRules/DenyAllInBound","etag":"W/\"ee5dbefb-0ff3-42c9-9522-5aba7a3ff586\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcmvpvm001/providers/Microsoft.Network/networkSecurityGroups/mcmvpvm001/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"ee5dbefb-0ff3-42c9-9522-5aba7a3ff586\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcmvpvm001/providers/Microsoft.Network/networkSecurityGroups/mcmvpvm001/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"ee5dbefb-0ff3-42c9-9522-5aba7a3ff586\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcmvpvm001/providers/Microsoft.Network/networkSecurityGroups/mcmvpvm001/defaultSecurityRules/DenyAllOutBound","etag":"W/\"ee5dbefb-0ff3-42c9-9522-5aba7a3ff586\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}]}},{"name":"mcvmmvp007","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcvmmvp007/providers/Microsoft.Network/networkSecurityGroups/mcvmmvp007","etag":"W/\"e183e521-0316-4f67-8d48-66960c8e9024\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"e12ca208-2d63-4f7f-b65d-03df53b891a2","securityRules":[{"name":"mcvmmvp0073389","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcvmmvp007/providers/Microsoft.Network/networkSecurityGroups/mcvmmvp007/securityRules/mcvmmvp0073389","etag":"W/\"e183e521-0316-4f67-8d48-66960c8e9024\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":1000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"mcvmmvp0075985","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcvmmvp007/providers/Microsoft.Network/networkSecurityGroups/mcvmmvp007/securityRules/mcvmmvp0075985","etag":"W/\"e183e521-0316-4f67-8d48-66960c8e9024\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":1001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcvmmvp007/providers/Microsoft.Network/networkSecurityGroups/mcvmmvp007/defaultSecurityRules/AllowVnetInBound","etag":"W/\"e183e521-0316-4f67-8d48-66960c8e9024\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcvmmvp007/providers/Microsoft.Network/networkSecurityGroups/mcvmmvp007/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"e183e521-0316-4f67-8d48-66960c8e9024\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcvmmvp007/providers/Microsoft.Network/networkSecurityGroups/mcvmmvp007/defaultSecurityRules/DenyAllInBound","etag":"W/\"e183e521-0316-4f67-8d48-66960c8e9024\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcvmmvp007/providers/Microsoft.Network/networkSecurityGroups/mcvmmvp007/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"e183e521-0316-4f67-8d48-66960c8e9024\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcvmmvp007/providers/Microsoft.Network/networkSecurityGroups/mcvmmvp007/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"e183e521-0316-4f67-8d48-66960c8e9024\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcvmmvp007/providers/Microsoft.Network/networkSecurityGroups/mcvmmvp007/defaultSecurityRules/DenyAllOutBound","etag":"W/\"e183e521-0316-4f67-8d48-66960c8e9024\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}]}},{"name":"mcw1358vm","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"86fee934-15b8-4dcf-b075-f433a176d122","securityRules":[{"name":"Cleanuptool-5985-Corpnet-9b91d3c8-7216-4bef-9c02-44167e572a0d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-9b91d3c8-7216-4bef-9c02-44167e572a0d","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1012,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-903ad30b-5521-4e70-ba93-747e566d0427","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-903ad30b-5521-4e70-ba93-747e566d0427","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1013,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d65e8df4-aaaf-4b62-a4fd-ca5c5c4ef7aa","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-d65e8df4-aaaf-4b62-a4fd-ca5c5c4ef7aa","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1011,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-b915be41-bb44-4847-9b83-0eec13dceb82","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-b915be41-bb44-4847-9b83-0eec13dceb82","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1014,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-49521a51-3ebf-4aaa-b8e1-d4206237a12f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-49521a51-3ebf-4aaa-b8e1-d4206237a12f","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1015,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-cd31deee-967a-4bc3-b668-263ec4ef03e0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-cd31deee-967a-4bc3-b668-263ec4ef03e0","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1016,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-f5c0ace2-b2dd-409c-ab1f-5eebdf27fd4d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-f5c0ace2-b2dd-409c-ab1f-5eebdf27fd4d","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1017,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-1b073464-e786-463f-a0c6-ae2211051b4c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-1b073464-e786-463f-a0c6-ae2211051b4c","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1018,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-d0a3cfd1-0696-4b4d-a4ea-db34f466f446","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-d0a3cfd1-0696-4b4d-a4ea-db34f466f446","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1019,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-ff677717-8686-4f8f-ac6f-3a39c8f1db00","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-ff677717-8686-4f8f-ac6f-3a39c8f1db00","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1020,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-bb3950fa-4cc0-4c91-886e-7d233520d1d4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-bb3950fa-4cc0-4c91-886e-7d233520d1d4","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1021,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-2c599c17-d228-4f12-8a91-ceb02e6cde3b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-2c599c17-d228-4f12-8a91-ceb02e6cde3b","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1022,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-5e492070-afd4-4836-a9a4-c36f8275af2d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-5e492070-afd4-4836-a9a4-c36f8275af2d","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1023,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-500cdcf7-d4fb-404c-99f5-0536cb1cd00d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-500cdcf7-d4fb-404c-99f5-0536cb1cd00d","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1024,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-8804699b-c584-4967-8779-99d489ddc5f1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-8804699b-c584-4967-8779-99d489ddc5f1","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1025,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-7e2f0b72-499a-40cb-8a5f-b91a0a89b4ef","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-7e2f0b72-499a-40cb-8a5f-b91a0a89b4ef","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1026,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-8febc210-3c20-4b8d-b032-0ed8e12accf3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-8febc210-3c20-4b8d-b032-0ed8e12accf3","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1027,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-a6fa5ec1-22dd-4a7b-b514-a79b757dab25","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-a6fa5ec1-22dd-4a7b-b514-a79b757dab25","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1028,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-62fcbe2a-2430-4ecb-bb2f-499b6f080414","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-62fcbe2a-2430-4ecb-bb2f-499b6f080414","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1029,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-62c4acb1-314e-44e9-8a9e-45b07a5e286f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-62c4acb1-314e-44e9-8a9e-45b07a5e286f","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1030,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-cceb04d9-2004-4dd9-9ea1-6de06545474a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-cceb04d9-2004-4dd9-9ea1-6de06545474a","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1031,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-f0b30941-982b-49a0-9bd2-30448a36a920","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-f0b30941-982b-49a0-9bd2-30448a36a920","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1032,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-fe156349-2840-42c3-a1cb-a79a2ad4b21a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-fe156349-2840-42c3-a1cb-a79a2ad4b21a","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1033,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-d324f81f-54e3-4d15-a36a-78dcd40ca0de","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-d324f81f-54e3-4d15-a36a-78dcd40ca0de","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1034,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-cbca6724-74b5-4559-b7a7-73a658f970f8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-cbca6724-74b5-4559-b7a7-73a658f970f8","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1035,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-d3bf3767-1538-4d5f-ba6c-d0862cd1cad9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-d3bf3767-1538-4d5f-ba6c-d0862cd1cad9","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1036,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-f64e4443-b2bd-49c1-8acb-4493e0c6b30a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-f64e4443-b2bd-49c1-8acb-4493e0c6b30a","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1037,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-61a42d2f-af43-4656-b140-634431c33590","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-61a42d2f-af43-4656-b140-634431c33590","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1038,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-42f53bb9-7bca-4d8e-b8d9-d3bf2031c50e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-42f53bb9-7bca-4d8e-b8d9-d3bf2031c50e","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1039,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-4ba24dfa-8f12-4247-912d-ad97e5d53e71","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-5985-Corpnet-4ba24dfa-8f12-4247-912d-ad97e5d53e71","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1040,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-5bbb6b96-f8bd-461f-a35d-a5abbeb6e59e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-5bbb6b96-f8bd-461f-a35d-a5abbeb6e59e","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1041,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-88066409-0231-4cd2-abca-6112c9778023","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-88066409-0231-4cd2-abca-6112c9778023","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1042,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-12b93bf3-642b-4e6e-b23d-a30fe6dbcf7a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-12b93bf3-642b-4e6e-b23d-a30fe6dbcf7a","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1043,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-225f14fa-f7cb-41ce-911e-b544133ff757","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-225f14fa-f7cb-41ce-911e-b544133ff757","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1044,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ac80a0b9-1685-4abd-937b-850fdb0bbc0d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-ac80a0b9-1685-4abd-937b-850fdb0bbc0d","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1045,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-912d0113-df0b-41ca-b6c3-5351ee3527ed","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-912d0113-df0b-41ca-b6c3-5351ee3527ed","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1046,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b7a04aa5-3475-4970-9998-3d4ea82de34a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-b7a04aa5-3475-4970-9998-3d4ea82de34a","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1047,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-bf8294b5-546c-4a1c-87bf-deb1cc721103","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-bf8294b5-546c-4a1c-87bf-deb1cc721103","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1048,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-5923a7e5-a06b-4281-a519-53bfa5982130","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-5923a7e5-a06b-4281-a519-53bfa5982130","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1049,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d594cc55-f15c-4b69-bc24-4bf74aac20e9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-d594cc55-f15c-4b69-bc24-4bf74aac20e9","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1050,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-7d1ff521-3b6f-4768-a447-5d66daa161cd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-7d1ff521-3b6f-4768-a447-5d66daa161cd","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1051,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-74775237-9b04-4a0a-b2d4-eb9daa3d20d7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-74775237-9b04-4a0a-b2d4-eb9daa3d20d7","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1052,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-f808bfc7-f138-4125-8c5b-fb175b50ac4d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-f808bfc7-f138-4125-8c5b-fb175b50ac4d","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1053,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9da5afac-dbe9-4359-80c0-a5591e88bee3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-9da5afac-dbe9-4359-80c0-a5591e88bee3","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1054,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-cccabfcd-6fd5-4dd5-8fa1-c107935b07b9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-cccabfcd-6fd5-4dd5-8fa1-c107935b07b9","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1055,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-0b9c5358-8585-43b3-ba66-028eeabb9cea","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-0b9c5358-8585-43b3-ba66-028eeabb9cea","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1056,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-46fdad6d-a1c9-41eb-a34c-3655056a8f90","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-46fdad6d-a1c9-41eb-a34c-3655056a8f90","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1057,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-0017ef78-0fc4-4db8-974c-5586bf61cac3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-0017ef78-0fc4-4db8-974c-5586bf61cac3","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1058,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-7258ca63-f844-4bba-9c81-0e1dc4e3a283","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-7258ca63-f844-4bba-9c81-0e1dc4e3a283","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1059,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-e13bd9f0-7d8d-46fe-9a4e-91fcc03934cc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-e13bd9f0-7d8d-46fe-9a4e-91fcc03934cc","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1060,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-8ce45816-4189-4382-ba5e-c0a69a66d949","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-8ce45816-4189-4382-ba5e-c0a69a66d949","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1061,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-1210de23-a137-4a92-b12e-27521c6cabad","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-1210de23-a137-4a92-b12e-27521c6cabad","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1062,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-af817cd5-00ec-4f74-ab22-bc0b9815631c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-af817cd5-00ec-4f74-ab22-bc0b9815631c","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1063,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9715616f-7319-450c-8634-d8a7c0f05dce","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-9715616f-7319-450c-8634-d8a7c0f05dce","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1064,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-1410ca4c-8544-4f3c-b7e2-1da4baf5c74f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-1410ca4c-8544-4f3c-b7e2-1da4baf5c74f","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1065,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ba995a4a-73f1-442a-8824-83c040370977","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-ba995a4a-73f1-442a-8824-83c040370977","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1066,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-f07b046e-27fc-476b-962c-d848da31940c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-f07b046e-27fc-476b-962c-d848da31940c","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1067,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-64ed41d5-e656-4350-987e-fea161e9038b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/securityRules/Cleanuptool-3389-Corpnet-64ed41d5-e656-4350-987e-fea161e9038b","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1068,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/defaultSecurityRules/AllowVnetInBound","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/defaultSecurityRules/DenyAllInBound","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkSecurityGroups/mcw1358vm/defaultSecurityRules/DenyAllOutBound","etag":"W/\"17ce2a6b-8f6c-4c15-bb03-496f9f66386c\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkInterfaces/mcw1358vm"}]}},{"name":"mcw18765","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"91a66525-4def-4c79-bad3-5cac72682eec","securityRules":[{"name":"Cleanuptool-3389-Corpnet-e302fdf5-925c-4470-a44b-905d49a1ac8a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-e302fdf5-925c-4470-a44b-905d49a1ac8a","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":110,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-6bdbac2b-0280-4f9e-a6e7-885cedeeb634","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-6bdbac2b-0280-4f9e-a6e7-885cedeeb634","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":111,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-56ffdaed-ddb5-4b12-8d40-acd390ddb8db","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-56ffdaed-ddb5-4b12-8d40-acd390ddb8db","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":112,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-28fd39e5-6874-42b8-a77c-cf21b2056b53","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-28fd39e5-6874-42b8-a77c-cf21b2056b53","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":113,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-055ad897-2355-4f24-9d38-ede375d1639c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-055ad897-2355-4f24-9d38-ede375d1639c","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":114,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-39509726-44f9-48e7-b27a-6a5fc3a9c1aa","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-39509726-44f9-48e7-b27a-6a5fc3a9c1aa","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":115,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-2a80a694-0d5b-4ded-8e42-99e6b060b38a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-2a80a694-0d5b-4ded-8e42-99e6b060b38a","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":116,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b1c99514-8d1e-496d-9858-faf33e7344a0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-b1c99514-8d1e-496d-9858-faf33e7344a0","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":117,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-c49088be-e0a2-4358-99b2-1a1bc0b0493a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-c49088be-e0a2-4358-99b2-1a1bc0b0493a","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":118,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-c75742ec-5bc0-4407-b7c8-a688c214acec","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-c75742ec-5bc0-4407-b7c8-a688c214acec","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":119,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ce5a9cef-36b1-42c5-815e-4bd615d30736","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-ce5a9cef-36b1-42c5-815e-4bd615d30736","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":120,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d91cf347-39a3-4839-982a-c97b0e329c1b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-d91cf347-39a3-4839-982a-c97b0e329c1b","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":121,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-2396d1b1-c9e0-4a49-bf6e-ac9f08effe96","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-2396d1b1-c9e0-4a49-bf6e-ac9f08effe96","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":122,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-8d7ce08d-04e3-4842-b3fa-b1da2c4f0a69","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-8d7ce08d-04e3-4842-b3fa-b1da2c4f0a69","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":123,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-3473645d-689b-48aa-80ff-b92bb5d7ca6f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-3473645d-689b-48aa-80ff-b92bb5d7ca6f","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":124,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-44ef8fa6-e730-4fa8-9307-401fbf2e9aa1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-44ef8fa6-e730-4fa8-9307-401fbf2e9aa1","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":125,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-31a3345a-fc86-4716-b07b-9c4f745211e5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-31a3345a-fc86-4716-b07b-9c4f745211e5","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":126,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-24b21f83-2363-40b4-a398-120921d02052","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-24b21f83-2363-40b4-a398-120921d02052","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":127,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-27b89e49-ddf1-479c-9740-0fe083863bb6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-27b89e49-ddf1-479c-9740-0fe083863bb6","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":128,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d8cd4b77-f2ed-44f6-855b-b5e2cd5e6d51","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-d8cd4b77-f2ed-44f6-855b-b5e2cd5e6d51","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":129,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-144d4861-dba6-4ef0-83d8-9c93d3629232","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-144d4861-dba6-4ef0-83d8-9c93d3629232","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":130,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-090e48b7-316a-4a0e-b3d4-a754f5d730b3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-090e48b7-316a-4a0e-b3d4-a754f5d730b3","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":131,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-77f01303-5b97-4a59-af97-fb6b4ac7e8ee","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-77f01303-5b97-4a59-af97-fb6b4ac7e8ee","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":132,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ee3b0893-933a-4b70-ba24-a25e322a0131","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-ee3b0893-933a-4b70-ba24-a25e322a0131","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":133,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-367018be-6264-4865-819b-7eba2dfd9789","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-367018be-6264-4865-819b-7eba2dfd9789","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":134,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-566bb719-791d-459b-a976-486bccb227f5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-566bb719-791d-459b-a976-486bccb227f5","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":135,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-c386bd05-36da-4485-9971-aef803f399f3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-c386bd05-36da-4485-9971-aef803f399f3","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":136,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-827a1f45-5db0-408c-b91e-478d06e148ef","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-827a1f45-5db0-408c-b91e-478d06e148ef","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":137,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-a43c0cbb-79e3-4ccb-accb-3ee501dafd17","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-3389-Corpnet-a43c0cbb-79e3-4ccb-accb-3ee501dafd17","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":138,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-ae6e6251-fd7c-47b5-a270-9f69ce9e1e3f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-ae6e6251-fd7c-47b5-a270-9f69ce9e1e3f","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":139,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-8cbf42f3-7951-402f-9862-9519ca9924de","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-8cbf42f3-7951-402f-9862-9519ca9924de","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":140,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-72ebd3d0-2251-4023-bf4c-da3ea866c02c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-72ebd3d0-2251-4023-bf4c-da3ea866c02c","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":141,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-0e607b32-865e-4ff0-b815-3f8ac06752a8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-0e607b32-865e-4ff0-b815-3f8ac06752a8","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":142,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-5d9717c0-ddad-4d52-aee4-1658cdf21006","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-5d9717c0-ddad-4d52-aee4-1658cdf21006","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":143,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-7298da9a-20ab-4a34-a57d-1954981de087","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-7298da9a-20ab-4a34-a57d-1954981de087","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":144,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-52d342b5-9401-4be8-bf07-34ff8c7bcebf","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-52d342b5-9401-4be8-bf07-34ff8c7bcebf","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":145,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-e0fa9e4a-69b5-46f2-80f0-296de34f36db","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-e0fa9e4a-69b5-46f2-80f0-296de34f36db","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":146,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-6f9c19d2-17bd-4fa4-b10f-4322e261413f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-6f9c19d2-17bd-4fa4-b10f-4322e261413f","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":147,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-945a2862-f093-413a-bd8a-200117a50c09","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-945a2862-f093-413a-bd8a-200117a50c09","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":148,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-3c41e7e1-f2cb-4b07-90aa-3bdcf0694137","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-3c41e7e1-f2cb-4b07-90aa-3bdcf0694137","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":149,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-4939d964-2015-4d71-a7d8-1d94b7d7ee1d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-4939d964-2015-4d71-a7d8-1d94b7d7ee1d","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":150,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-2d6c59b9-8c23-4fa1-b792-c25af8122ae2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-2d6c59b9-8c23-4fa1-b792-c25af8122ae2","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":151,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-8f28003c-3eb2-410f-beec-da9d0fbf1f3b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-8f28003c-3eb2-410f-beec-da9d0fbf1f3b","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":152,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-10ebc677-5a3e-42a4-85b3-508ad664993f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-10ebc677-5a3e-42a4-85b3-508ad664993f","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":153,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-20859e9f-6e4d-435f-9283-584c097da9db","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-20859e9f-6e4d-435f-9283-584c097da9db","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":154,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-7ba09252-5416-417b-bf71-141ec67147b0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-7ba09252-5416-417b-bf71-141ec67147b0","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":155,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-37508428-6b67-42ff-8e17-3816bb430aa6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-37508428-6b67-42ff-8e17-3816bb430aa6","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":156,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-6f71a89d-1500-4e7f-b960-e4515ca5148e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-6f71a89d-1500-4e7f-b960-e4515ca5148e","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":157,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-aef926f5-a598-47ed-8623-b84b73107681","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-aef926f5-a598-47ed-8623-b84b73107681","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":158,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-463e3211-0182-4f1b-871e-f4cc7b0f0ddb","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-463e3211-0182-4f1b-871e-f4cc7b0f0ddb","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":159,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-f1291c6a-14d3-4c0f-ba67-3c94641b7d40","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-f1291c6a-14d3-4c0f-ba67-3c94641b7d40","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":160,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-7f3ae641-ca97-4733-b1ce-70d1a30c4af6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-7f3ae641-ca97-4733-b1ce-70d1a30c4af6","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":161,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-eff506e1-2dce-4f54-a8fb-382ca3d3dc00","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-eff506e1-2dce-4f54-a8fb-382ca3d3dc00","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":162,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-43d2d540-6ce4-4ee9-9a1b-f0883ca660bb","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-43d2d540-6ce4-4ee9-9a1b-f0883ca660bb","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":163,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-b0cc23ff-dd9e-4671-9b28-2957f0270266","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-b0cc23ff-dd9e-4671-9b28-2957f0270266","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":164,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-bc9e1f6a-0116-497a-8387-75e86ef2d351","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-bc9e1f6a-0116-497a-8387-75e86ef2d351","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":165,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-2d34b1e2-aae0-4df7-b30a-ecb07f4199a7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-2d34b1e2-aae0-4df7-b30a-ecb07f4199a7","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":166,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-f5240830-7833-4e80-8715-912716207d37","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/securityRules/Cleanuptool-5985-Corpnet-f5240830-7833-4e80-8715-912716207d37","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":167,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/defaultSecurityRules/AllowVnetInBound","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/defaultSecurityRules/DenyAllInBound","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkSecurityGroups/mcw18765/defaultSecurityRules/DenyAllOutBound","etag":"W/\"06223d9b-83b4-42fc-9d5f-8542701683e7\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkInterfaces/mcw18765"}]}},{"name":"mcw18766","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"2df223a1-c685-4122-8458-8dcba185ebdd","securityRules":[{"name":"Cleanuptool-3389-Corpnet-a1ddab0d-18d8-45cf-8cbd-e3b2be8bdef2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-a1ddab0d-18d8-45cf-8cbd-e3b2be8bdef2","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":110,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-3bf91304-a793-4ad0-827d-ece6d6d66bc0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-3bf91304-a793-4ad0-827d-ece6d6d66bc0","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":111,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ee3799c3-61e7-429c-a634-8f897d03d0e5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-ee3799c3-61e7-429c-a634-8f897d03d0e5","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":112,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-3c0aaab0-72ff-44c3-8783-179d3db690e5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-3c0aaab0-72ff-44c3-8783-179d3db690e5","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":113,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-956cae21-99ea-44fc-85d5-bca17bae2a3a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-956cae21-99ea-44fc-85d5-bca17bae2a3a","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":114,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-66ddd936-2bb0-4e85-ac24-ed696fcc5d96","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-66ddd936-2bb0-4e85-ac24-ed696fcc5d96","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":115,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-974f40a0-9149-422e-9a39-69d944106cba","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-974f40a0-9149-422e-9a39-69d944106cba","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":116,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-bef7c5e8-f8e1-4378-a184-9c52c04cea5c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-bef7c5e8-f8e1-4378-a184-9c52c04cea5c","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":117,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-81a60a10-a5f0-40aa-b07a-090658a902ca","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-81a60a10-a5f0-40aa-b07a-090658a902ca","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":118,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-7624f2b2-3614-4004-ad17-17ac386f277b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-7624f2b2-3614-4004-ad17-17ac386f277b","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":119,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b28e0969-b66c-46c8-812e-3ba580379eec","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-b28e0969-b66c-46c8-812e-3ba580379eec","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":120,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-bc05384e-9a5d-4cfb-9906-649b17fe5f3c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-bc05384e-9a5d-4cfb-9906-649b17fe5f3c","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":121,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-5512bff0-be1a-4ffa-a7f1-4ac65670e248","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-5512bff0-be1a-4ffa-a7f1-4ac65670e248","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":122,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-97438ace-de8e-4da7-b726-91afd7eb6ac1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-97438ace-de8e-4da7-b726-91afd7eb6ac1","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":123,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-deff98b0-fa86-43e3-9fc8-0eafc6e89c6b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-deff98b0-fa86-43e3-9fc8-0eafc6e89c6b","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":124,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ad06b27c-d6b3-4407-998e-c7dc275f6a37","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-ad06b27c-d6b3-4407-998e-c7dc275f6a37","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":125,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-983c04dc-9445-4bfe-a3d8-73c8091a49dc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-983c04dc-9445-4bfe-a3d8-73c8091a49dc","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":126,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-5d579e2d-e8e3-4225-994f-40371167080f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-5d579e2d-e8e3-4225-994f-40371167080f","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":127,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d6ff780a-da48-431c-b737-6dcd97f352d1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-d6ff780a-da48-431c-b737-6dcd97f352d1","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":128,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-54b872c2-c2b5-4dee-aa89-e39d9495cb58","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-54b872c2-c2b5-4dee-aa89-e39d9495cb58","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":129,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-da110380-6e0a-450f-bf42-4875b3d58ae0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-da110380-6e0a-450f-bf42-4875b3d58ae0","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":130,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-5498b4bf-e374-44f1-844c-b95ba81d8d16","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-5498b4bf-e374-44f1-844c-b95ba81d8d16","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":131,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-e21269ba-2606-42e1-ae12-0ddd46213607","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-e21269ba-2606-42e1-ae12-0ddd46213607","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":132,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-0c8970f2-42e7-4d8e-8895-8c0371c30142","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-0c8970f2-42e7-4d8e-8895-8c0371c30142","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":133,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-3ba4731c-0415-4e19-8420-373fbfe27bed","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-3ba4731c-0415-4e19-8420-373fbfe27bed","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":134,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d92c6b0b-bf8f-43e6-89e9-728e84182d4d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-d92c6b0b-bf8f-43e6-89e9-728e84182d4d","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":135,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d23e2d1d-24bc-464c-afec-8fc1f15090da","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-d23e2d1d-24bc-464c-afec-8fc1f15090da","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":136,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-7c8539f6-5b2a-4382-ac2c-c8595beda3f1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-7c8539f6-5b2a-4382-ac2c-c8595beda3f1","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":137,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-0500087f-adec-4405-bcd6-9e6e8c79f3b2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-3389-Corpnet-0500087f-adec-4405-bcd6-9e6e8c79f3b2","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":138,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-ef1dc075-e0d0-425e-9729-ac7ee8b81689","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-ef1dc075-e0d0-425e-9729-ac7ee8b81689","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":139,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-77fe14f2-014a-4ffe-9649-2f0cddb7925e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-77fe14f2-014a-4ffe-9649-2f0cddb7925e","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":140,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-5cd01296-5238-4d3f-a347-577418e8213a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-5cd01296-5238-4d3f-a347-577418e8213a","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":141,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-c97c9eb4-76ab-4d35-8daa-2c359833a97c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-c97c9eb4-76ab-4d35-8daa-2c359833a97c","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":142,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-c2923a23-6e5d-481f-b1a9-99cb94681d38","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-c2923a23-6e5d-481f-b1a9-99cb94681d38","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":143,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-4c3b65ed-715c-4c12-8433-266a9d2ea5fa","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-4c3b65ed-715c-4c12-8433-266a9d2ea5fa","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":144,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-0e22aec1-b090-4e0c-88f9-b5ca404e07b2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-0e22aec1-b090-4e0c-88f9-b5ca404e07b2","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":145,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-1bebf66f-6f20-4d98-b3f9-5333e5d61956","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-1bebf66f-6f20-4d98-b3f9-5333e5d61956","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":146,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-e6b88c7c-92e6-4ebb-ad3e-3913e2c834b5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-e6b88c7c-92e6-4ebb-ad3e-3913e2c834b5","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":147,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-6ef0e2e5-d294-4e2f-abc9-cb5eb54a64a1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-6ef0e2e5-d294-4e2f-abc9-cb5eb54a64a1","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":148,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-233a48e2-21c2-49a7-b88c-0f9c44edaca0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-233a48e2-21c2-49a7-b88c-0f9c44edaca0","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":149,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-b8574026-4812-4a94-af2a-31262ca0b49e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-b8574026-4812-4a94-af2a-31262ca0b49e","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":150,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-beb52a87-0355-4738-855a-1dd70dd83f48","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-beb52a87-0355-4738-855a-1dd70dd83f48","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":151,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-4ff8ffcf-e581-4f31-a1b6-128d736ef71d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-4ff8ffcf-e581-4f31-a1b6-128d736ef71d","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":152,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-3ee4749e-576f-482c-a381-9c1c46d5b86d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-3ee4749e-576f-482c-a381-9c1c46d5b86d","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":153,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-8c58db43-86aa-4329-bcad-edce83d7a9c8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-8c58db43-86aa-4329-bcad-edce83d7a9c8","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":154,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-24fd8bd4-aaed-451a-9525-bdd2a8b372bf","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-24fd8bd4-aaed-451a-9525-bdd2a8b372bf","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":155,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-74ace640-9fa8-4fdb-8bc5-efa6e94395be","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-74ace640-9fa8-4fdb-8bc5-efa6e94395be","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":156,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-a0c35ecb-bb84-4e1c-8183-4d2733071d4b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-a0c35ecb-bb84-4e1c-8183-4d2733071d4b","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":157,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-0e54f9ac-bea9-4a89-bc53-745c0c4c3556","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-0e54f9ac-bea9-4a89-bc53-745c0c4c3556","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":158,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-d35d5947-93f5-4811-870c-3c88bbcdb296","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-d35d5947-93f5-4811-870c-3c88bbcdb296","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":159,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-75866082-e89f-4590-bad5-6c7c6c83e00b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-75866082-e89f-4590-bad5-6c7c6c83e00b","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":160,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-2bdb2404-802b-4119-b6ae-fd13162eccb1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-2bdb2404-802b-4119-b6ae-fd13162eccb1","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":161,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-ab29bc60-6704-406c-8bf3-4825ce4b736f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-ab29bc60-6704-406c-8bf3-4825ce4b736f","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":162,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-1dfe7380-7f37-4294-8124-5f0971f08e0d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-1dfe7380-7f37-4294-8124-5f0971f08e0d","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":163,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-14b388e3-f7aa-43fd-8495-b0567311dd17","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-14b388e3-f7aa-43fd-8495-b0567311dd17","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":164,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-b89258e3-0e0f-4038-9184-d93b07724635","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-b89258e3-0e0f-4038-9184-d93b07724635","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":165,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-efbcf90f-6452-4d5d-90ab-de7298c59819","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-efbcf90f-6452-4d5d-90ab-de7298c59819","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":166,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-c0ad14f7-4025-44fd-b885-9f7549a5af9f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/securityRules/Cleanuptool-5985-Corpnet-c0ad14f7-4025-44fd-b885-9f7549a5af9f","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":167,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/defaultSecurityRules/AllowVnetInBound","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/defaultSecurityRules/DenyAllInBound","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkSecurityGroups/mcw18766/defaultSecurityRules/DenyAllOutBound","etag":"W/\"09c1c506-734d-438c-88ee-0d32b47605e8\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkInterfaces/mcw18766"}]}},{"name":"mcw3569vm","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"85b5f0d7-09de-48e8-8545-e7a2dd6da4ef","securityRules":[{"name":"Cleanuptool-5985-Corpnet-4439d3e9-1328-47ce-8969-86771dfa6fc5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-4439d3e9-1328-47ce-8969-86771dfa6fc5","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1012,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-25a6f820-c1de-4b20-acb8-f4ead9776d78","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-25a6f820-c1de-4b20-acb8-f4ead9776d78","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1013,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-69a92f32-5dcc-472d-8842-74f24bea4b08","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-69a92f32-5dcc-472d-8842-74f24bea4b08","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1014,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ed66d165-eb95-433e-bc4d-aff0f9666b0c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-ed66d165-eb95-433e-bc4d-aff0f9666b0c","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1011,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-806732d0-1887-41d9-99d7-d940200f4161","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-806732d0-1887-41d9-99d7-d940200f4161","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1015,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-6085937f-3651-48f5-a2de-7516b249b565","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-6085937f-3651-48f5-a2de-7516b249b565","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1016,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-7a28f432-fc11-408a-aa1a-c5c348bf7f1c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-7a28f432-fc11-408a-aa1a-c5c348bf7f1c","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1017,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-08b7da21-8611-47b4-9b33-894a740f7f4f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-08b7da21-8611-47b4-9b33-894a740f7f4f","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1018,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-2ea910cf-8153-4320-9025-5a1504a2e198","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-2ea910cf-8153-4320-9025-5a1504a2e198","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1019,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9e67e191-b0a6-44a3-93ae-39f4a8c8bd24","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-9e67e191-b0a6-44a3-93ae-39f4a8c8bd24","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1020,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-7fc6bbb3-6b44-4f67-82f6-ceb641f2e892","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-7fc6bbb3-6b44-4f67-82f6-ceb641f2e892","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1021,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-3a6fee8b-c479-4df5-9154-0faae21d4732","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-3a6fee8b-c479-4df5-9154-0faae21d4732","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1022,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b4f0b651-2145-4bc0-ad0e-b201718f8f61","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-b4f0b651-2145-4bc0-ad0e-b201718f8f61","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1023,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-18e57ac0-f006-47da-90da-42eac0dcae57","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-18e57ac0-f006-47da-90da-42eac0dcae57","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1024,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ceef2091-1e85-4f58-980f-c2059fd9aa27","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-ceef2091-1e85-4f58-980f-c2059fd9aa27","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1025,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-81161b6a-076c-4033-8171-9d8582365ef7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-81161b6a-076c-4033-8171-9d8582365ef7","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1026,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-7c31ad52-c0b5-46c5-9497-04b7f890a92a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-7c31ad52-c0b5-46c5-9497-04b7f890a92a","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1027,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9d003243-a389-48d0-b3b3-1ebfa734958b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-9d003243-a389-48d0-b3b3-1ebfa734958b","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1028,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-7566e793-503b-49c7-a3ba-2c47ce45f5e2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-7566e793-503b-49c7-a3ba-2c47ce45f5e2","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1029,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-78ec1547-18d4-4fb4-b254-84fd2b3319a6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-78ec1547-18d4-4fb4-b254-84fd2b3319a6","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1030,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b4184e24-2651-4e79-8322-f0531d93f255","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-b4184e24-2651-4e79-8322-f0531d93f255","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1031,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-151ea200-de64-4208-bfa4-5c76df45e8fa","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-151ea200-de64-4208-bfa4-5c76df45e8fa","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1032,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-a043a749-a65d-42f3-8cf1-69b94fbf6324","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-a043a749-a65d-42f3-8cf1-69b94fbf6324","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1033,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-4cfbb97f-ac2d-4298-90a2-9ebc83a895ab","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-4cfbb97f-ac2d-4298-90a2-9ebc83a895ab","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1034,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-1830d677-4b81-4aaa-b608-b410f0fb7058","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-1830d677-4b81-4aaa-b608-b410f0fb7058","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1035,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-774f25cd-e0b0-4398-a6e5-fc85c27f2ef9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-774f25cd-e0b0-4398-a6e5-fc85c27f2ef9","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1036,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ffc0885b-085f-41f1-af82-9a5b643ca9ba","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-ffc0885b-085f-41f1-af82-9a5b643ca9ba","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1037,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9b2d8a13-51cd-4a3e-9a51-31debb047f92","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-9b2d8a13-51cd-4a3e-9a51-31debb047f92","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1038,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-27d377e8-6b2c-477e-aa4b-0c5e89c1ae97","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-27d377e8-6b2c-477e-aa4b-0c5e89c1ae97","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1039,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-2b6992df-2a9e-4b2b-800e-aabb4b4da039","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-2b6992df-2a9e-4b2b-800e-aabb4b4da039","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1040,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-020eec66-c638-4935-a702-72db7aa41ad8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-020eec66-c638-4935-a702-72db7aa41ad8","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1041,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-867afa72-7b31-41ec-9466-e5372779feab","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-3389-Corpnet-867afa72-7b31-41ec-9466-e5372779feab","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1042,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-700e551b-1281-467a-b2b6-766f2b3699be","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-700e551b-1281-467a-b2b6-766f2b3699be","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1043,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-e8f5dc03-1be8-4f58-9e22-37c39118b3e1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-e8f5dc03-1be8-4f58-9e22-37c39118b3e1","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1044,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-39217615-5d0b-4c37-8f93-c7bc7ae6e5d8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-39217615-5d0b-4c37-8f93-c7bc7ae6e5d8","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1045,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-85e98bc8-e7a8-4964-8ea6-43ed35e4bb72","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-85e98bc8-e7a8-4964-8ea6-43ed35e4bb72","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1046,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-ef0fbe5a-1a12-456e-b7cb-90fc93961c07","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-ef0fbe5a-1a12-456e-b7cb-90fc93961c07","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1047,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-7551f4f4-8818-43d5-9167-ce4ee3451686","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-7551f4f4-8818-43d5-9167-ce4ee3451686","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1048,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-fec68147-6de2-43c9-b19c-e8c4ed25cca1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-fec68147-6de2-43c9-b19c-e8c4ed25cca1","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1049,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-6a22abcb-bac1-4adc-8f40-c56023e4b7f4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-6a22abcb-bac1-4adc-8f40-c56023e4b7f4","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1050,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-cce6cd3a-fe3e-46f4-8559-50910a4d7f8c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-cce6cd3a-fe3e-46f4-8559-50910a4d7f8c","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1051,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-1370d639-1b5b-4786-9b05-f0af5cd26a28","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-1370d639-1b5b-4786-9b05-f0af5cd26a28","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1052,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-0a801eab-69c2-46e9-84ad-5e058adf27a3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-0a801eab-69c2-46e9-84ad-5e058adf27a3","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1053,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-2f4345b0-34c7-4bd7-b4e0-35f25b754aeb","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-2f4345b0-34c7-4bd7-b4e0-35f25b754aeb","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1054,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-a42ccac6-42ba-42f6-ad75-43c33a7ac75a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-a42ccac6-42ba-42f6-ad75-43c33a7ac75a","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1055,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-e58760bc-cb35-4a22-b9f8-e7607a745835","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-e58760bc-cb35-4a22-b9f8-e7607a745835","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1056,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-1f35c1b2-f263-48b6-9aba-f79a6079f650","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-1f35c1b2-f263-48b6-9aba-f79a6079f650","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1057,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-1e8e1fe3-7812-466e-8b7d-16870f99e2ba","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-1e8e1fe3-7812-466e-8b7d-16870f99e2ba","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1058,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-5bacc2a1-2c37-4102-aaf1-1c48b4efa072","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-5bacc2a1-2c37-4102-aaf1-1c48b4efa072","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1059,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-b0e2e7f6-e5b9-489e-994a-28b224aef8c9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-b0e2e7f6-e5b9-489e-994a-28b224aef8c9","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1060,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-1aeb43a5-93aa-4eb9-b99d-b7201227df3b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-1aeb43a5-93aa-4eb9-b99d-b7201227df3b","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1061,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-2a2a37e5-2279-4877-b8dc-98f915e27fae","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-2a2a37e5-2279-4877-b8dc-98f915e27fae","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1062,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-e288d3ee-0689-4608-8d49-81bb04478da1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-e288d3ee-0689-4608-8d49-81bb04478da1","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1063,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-b00b05c0-7b2c-46da-9167-4b8716cd378c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-b00b05c0-7b2c-46da-9167-4b8716cd378c","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1064,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-738b51a7-0aa1-4815-b921-2a2ff01c686a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-738b51a7-0aa1-4815-b921-2a2ff01c686a","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1065,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-6ae2d112-3033-4753-add2-dc3aad3a485d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-6ae2d112-3033-4753-add2-dc3aad3a485d","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1066,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-a22fc2fd-6783-470b-abe9-9bb0d3302a3a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-a22fc2fd-6783-470b-abe9-9bb0d3302a3a","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1067,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-f9de0bd6-34a9-48d4-9c18-c7b628f82acd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/securityRules/Cleanuptool-5985-Corpnet-f9de0bd6-34a9-48d4-9c18-c7b628f82acd","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1068,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/defaultSecurityRules/AllowVnetInBound","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/defaultSecurityRules/DenyAllInBound","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkSecurityGroups/mcw3569vm/defaultSecurityRules/DenyAllOutBound","etag":"W/\"0f85c057-1508-4874-8cbc-f238f1a87ea4\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkInterfaces/mcw3569vm"}]}},{"name":"aks-agentpool-14641967-nsg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-14641967-nsg","etag":"W/\"34649d89-c42d-48fd-971d-0ac07fb4ff8c\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"625ccd7f-7156-425f-9d7d-9ea54e86b4ba","securityRules":[{"name":"allow_ssh","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-14641967-nsg/securityRules/allow_ssh","etag":"W/\"34649d89-c42d-48fd-971d-0ac07fb4ff8c\"","properties":{"provisioningState":"Succeeded","description":"Allow - SSH traffic to master","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22-22","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":101,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"allow_kube_tls","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-14641967-nsg/securityRules/allow_kube_tls","etag":"W/\"34649d89-c42d-48fd-971d-0ac07fb4ff8c\"","properties":{"provisioningState":"Succeeded","description":"Allow - kube-apiserver (tls) traffic to master","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"443-443","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":100,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-14641967-nsg/defaultSecurityRules/AllowVnetInBound","etag":"W/\"34649d89-c42d-48fd-971d-0ac07fb4ff8c\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-14641967-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"34649d89-c42d-48fd-971d-0ac07fb4ff8c\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-14641967-nsg/defaultSecurityRules/DenyAllInBound","etag":"W/\"34649d89-c42d-48fd-971d-0ac07fb4ff8c\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-14641967-nsg/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"34649d89-c42d-48fd-971d-0ac07fb4ff8c\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-14641967-nsg/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"34649d89-c42d-48fd-971d-0ac07fb4ff8c\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-14641967-nsg/defaultSecurityRules/DenyAllOutBound","etag":"W/\"34649d89-c42d-48fd-971d-0ac07fb4ff8c\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"subnets":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-14641967/subnets/aks-subnet"}]}},{"name":"aks-agentpool-55696168-nsg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-55696168-nsg","etag":"W/\"1212376a-a9df-465d-8bc3-a9bc52809559\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"1cfec113-4237-4b5c-a281-29e7a1e852a5","securityRules":[{"name":"allow_ssh","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-55696168-nsg/securityRules/allow_ssh","etag":"W/\"1212376a-a9df-465d-8bc3-a9bc52809559\"","properties":{"provisioningState":"Succeeded","description":"Allow - SSH traffic to master","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22-22","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":101,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"allow_kube_tls","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-55696168-nsg/securityRules/allow_kube_tls","etag":"W/\"1212376a-a9df-465d-8bc3-a9bc52809559\"","properties":{"provisioningState":"Succeeded","description":"Allow - kube-apiserver (tls) traffic to master","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"443-443","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":100,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"aa9b10586fcb511e7b1250a58ac1f0a6-TCP-5000-Internet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-55696168-nsg/securityRules/aa9b10586fcb511e7b1250a58ac1f0a6-TCP-5000-Internet","etag":"W/\"1212376a-a9df-465d-8bc3-a9bc52809559\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5000","sourceAddressPrefix":"Internet","destinationAddressPrefix":"*","access":"Allow","priority":500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-55696168-nsg/defaultSecurityRules/AllowVnetInBound","etag":"W/\"1212376a-a9df-465d-8bc3-a9bc52809559\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-55696168-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"1212376a-a9df-465d-8bc3-a9bc52809559\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-55696168-nsg/defaultSecurityRules/DenyAllInBound","etag":"W/\"1212376a-a9df-465d-8bc3-a9bc52809559\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-55696168-nsg/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"1212376a-a9df-465d-8bc3-a9bc52809559\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-55696168-nsg/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"1212376a-a9df-465d-8bc3-a9bc52809559\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-55696168-nsg/defaultSecurityRules/DenyAllOutBound","etag":"W/\"1212376a-a9df-465d-8bc3-a9bc52809559\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"subnets":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-55696168/subnets/aks-subnet"}]}},{"name":"mvz45tr13","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"e316878b-1882-4614-aa20-6043ca095f80","securityRules":[{"name":"Cleanuptool-3389-Corpnet-506fa3ed-389e-48de-bb65-acade5ae80b5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-506fa3ed-389e-48de-bb65-acade5ae80b5","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1011,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-85294888-7981-4315-8ab1-1b5457f834c5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-85294888-7981-4315-8ab1-1b5457f834c5","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1012,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-77bb4f8c-6cb7-4de0-aca6-fe57c17d3b33","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-77bb4f8c-6cb7-4de0-aca6-fe57c17d3b33","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1013,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-6495b5c5-0238-43fe-991a-6257ac3393a2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-6495b5c5-0238-43fe-991a-6257ac3393a2","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1014,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-234ae9da-0b73-4815-9ff6-dfa89484b3ae","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-234ae9da-0b73-4815-9ff6-dfa89484b3ae","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1015,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-4d48e01f-8aab-4570-a076-f81da817d3a6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-4d48e01f-8aab-4570-a076-f81da817d3a6","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1016,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-a88dc34d-3dcc-4320-822f-efb60eea86b1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-a88dc34d-3dcc-4320-822f-efb60eea86b1","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1017,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-3cea01aa-b64b-4aa5-b6a9-d0244ec2669b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-3cea01aa-b64b-4aa5-b6a9-d0244ec2669b","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1018,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ae00e10b-7400-4913-9f4a-cd5ae2c4d2fb","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-ae00e10b-7400-4913-9f4a-cd5ae2c4d2fb","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1019,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-eca3d351-fab7-45b7-94a6-c25dd4c1d87d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-eca3d351-fab7-45b7-94a6-c25dd4c1d87d","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1020,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-8b4c9513-3e72-4a84-9245-56c5aa46050f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-8b4c9513-3e72-4a84-9245-56c5aa46050f","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1021,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b55ce8f0-77ab-455e-b116-8718bb9ff624","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-b55ce8f0-77ab-455e-b116-8718bb9ff624","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1022,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b2648df6-0ffc-45d7-8281-96b543282a8f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-b2648df6-0ffc-45d7-8281-96b543282a8f","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1023,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-0669b0a3-491f-4b24-b2c2-32f6608b150e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-0669b0a3-491f-4b24-b2c2-32f6608b150e","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1024,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-8f8aaf8c-a438-46c2-ad1b-5cb24fe5b48d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-8f8aaf8c-a438-46c2-ad1b-5cb24fe5b48d","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1025,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-093c937f-6887-4632-80b2-26093cab742a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-093c937f-6887-4632-80b2-26093cab742a","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1026,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-8eac9d64-12d9-4407-b055-82fab2accafd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-8eac9d64-12d9-4407-b055-82fab2accafd","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1027,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-e831c0f6-14f3-4b34-867e-3f62490ba959","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-e831c0f6-14f3-4b34-867e-3f62490ba959","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1028,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-626d9964-ada0-4a49-add9-d9c360218e94","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-626d9964-ada0-4a49-add9-d9c360218e94","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1029,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-f515970c-3e91-4374-91a2-948d70010b05","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-f515970c-3e91-4374-91a2-948d70010b05","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1030,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-a2ea6097-1a50-40b8-b254-aba6de299514","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-a2ea6097-1a50-40b8-b254-aba6de299514","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1031,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-78917cea-50b1-4a4b-8be5-70f2af3c7d52","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-78917cea-50b1-4a4b-8be5-70f2af3c7d52","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1032,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9d2c3057-524e-4ab5-a17b-8db5bff34286","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-9d2c3057-524e-4ab5-a17b-8db5bff34286","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1033,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-e710bd0f-c1fc-477c-a121-05480bcdd93b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-e710bd0f-c1fc-477c-a121-05480bcdd93b","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1034,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-703746d6-6de0-49c1-a974-84190f9e3fdb","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-703746d6-6de0-49c1-a974-84190f9e3fdb","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1035,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-822d8feb-1fdf-441f-a208-4e8e1af0920f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-822d8feb-1fdf-441f-a208-4e8e1af0920f","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1036,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-e4372624-2a0e-4b26-8421-18245d748509","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-e4372624-2a0e-4b26-8421-18245d748509","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1037,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-c069eeef-69d8-4dee-8bc3-a3f5c729527a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-c069eeef-69d8-4dee-8bc3-a3f5c729527a","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1038,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-0f85362b-9e90-4dc6-8f91-0ca9b8e2dd5f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-3389-Corpnet-0f85362b-9e90-4dc6-8f91-0ca9b8e2dd5f","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1039,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-5a39ebd6-b000-45cb-b5fe-61a4a6bb3b52","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-5a39ebd6-b000-45cb-b5fe-61a4a6bb3b52","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1040,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-caa612d9-ba48-4083-9bde-2d5d4c2181da","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-caa612d9-ba48-4083-9bde-2d5d4c2181da","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1041,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-527af8c3-3bbd-459f-8dc5-ceadc50f7374","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-527af8c3-3bbd-459f-8dc5-ceadc50f7374","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1042,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-49fbe0b1-6e85-442e-85c5-bb2236eeffe8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-49fbe0b1-6e85-442e-85c5-bb2236eeffe8","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1043,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-0c48ebdf-9d7b-46ff-b2d4-f58ae3897651","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-0c48ebdf-9d7b-46ff-b2d4-f58ae3897651","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1044,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-15e1275c-6195-4f79-b1fb-21e186f06166","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-15e1275c-6195-4f79-b1fb-21e186f06166","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1045,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-95e5f9f3-34c3-4d7e-a73c-a3c12c79bc71","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-95e5f9f3-34c3-4d7e-a73c-a3c12c79bc71","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1046,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-271a779a-db75-4bb5-9f56-84358c529c68","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-271a779a-db75-4bb5-9f56-84358c529c68","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1047,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-5c527fbc-9005-4d53-9421-a9eccbae396a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-5c527fbc-9005-4d53-9421-a9eccbae396a","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1048,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-993c7d85-826c-46ce-a526-fb24e8b37bcb","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-993c7d85-826c-46ce-a526-fb24e8b37bcb","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1049,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-54f6ad4e-32fb-4114-a5c7-c9899656c407","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-54f6ad4e-32fb-4114-a5c7-c9899656c407","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1050,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-da48206b-b7b5-4153-b404-408761b75d9c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-da48206b-b7b5-4153-b404-408761b75d9c","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1051,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-cc5b1274-962c-4d82-8d84-6cd83454ff9d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-cc5b1274-962c-4d82-8d84-6cd83454ff9d","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1052,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-dfb684c3-4c4e-45a4-8ee7-74359479569b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-dfb684c3-4c4e-45a4-8ee7-74359479569b","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1053,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-c19fa9d0-c4dc-4ea1-b21f-58ba0fdb4308","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-c19fa9d0-c4dc-4ea1-b21f-58ba0fdb4308","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1054,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-cd089ee7-91d4-4fce-bdcc-ff59aec0c4f6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-cd089ee7-91d4-4fce-bdcc-ff59aec0c4f6","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1055,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-da007330-4ceb-49e9-a1b7-7eee7f2385b1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-da007330-4ceb-49e9-a1b7-7eee7f2385b1","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1056,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-db36ce0a-700d-42c2-b3f6-ad7768b46524","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-db36ce0a-700d-42c2-b3f6-ad7768b46524","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1057,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-0aa86a31-a002-496c-a0a0-e3185317a8dd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-0aa86a31-a002-496c-a0a0-e3185317a8dd","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1058,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-55060b92-89ac-4b71-a9b9-c9d433c3243b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-55060b92-89ac-4b71-a9b9-c9d433c3243b","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1059,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-03a5b371-7780-4672-bd6b-91af22faa8fe","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-03a5b371-7780-4672-bd6b-91af22faa8fe","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1060,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-560bd519-f953-49e1-86c6-dfb119922d5b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-560bd519-f953-49e1-86c6-dfb119922d5b","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1061,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-74be585d-9287-4cdf-b113-746c32297c92","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-74be585d-9287-4cdf-b113-746c32297c92","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1062,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-43558ac9-6557-425d-aa5a-3b46849bf9a6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-43558ac9-6557-425d-aa5a-3b46849bf9a6","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1063,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-f22ca81c-ef5b-4711-8068-6e3094310270","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-f22ca81c-ef5b-4711-8068-6e3094310270","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1064,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-78b415b4-94f2-4d91-a753-9bd9b29a3694","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-78b415b4-94f2-4d91-a753-9bd9b29a3694","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1065,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-12787f26-eebb-411c-8112-40b44cabc14e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-12787f26-eebb-411c-8112-40b44cabc14e","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1066,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-a47c3bc3-c725-45e2-b3bf-51c906829c1f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-a47c3bc3-c725-45e2-b3bf-51c906829c1f","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1067,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-2442690d-061d-46e7-bbf2-9cfb2f39d508","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/securityRules/Cleanuptool-5985-Corpnet-2442690d-061d-46e7-bbf2-9cfb2f39d508","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1068,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/defaultSecurityRules/AllowVnetInBound","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/defaultSecurityRules/DenyAllInBound","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkSecurityGroups/mvz45tr13/defaultSecurityRules/DenyAllOutBound","etag":"W/\"5c9c04c2-d01a-49c1-9dd1-e5a854e08ee3\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkInterfaces/mvz45tr13"}]}},{"name":"myfvm65","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"315180de-d201-4545-8552-12015eb1c4d0","securityRules":[{"name":"Cleanuptool-3389-Corpnet-a63d4f59-6e26-4191-85ec-786c0fcf9e2f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-a63d4f59-6e26-4191-85ec-786c0fcf9e2f","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1011,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-42e76560-86fa-40d6-98ff-8cd9686f685f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-42e76560-86fa-40d6-98ff-8cd9686f685f","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1012,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-cb6c73e4-f570-4c2c-a3e5-d7dfb6a66174","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-cb6c73e4-f570-4c2c-a3e5-d7dfb6a66174","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1013,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-4e7b4765-de35-4363-bd6c-af1ff8ce7cad","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-4e7b4765-de35-4363-bd6c-af1ff8ce7cad","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1014,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9d56c79a-b6e2-4144-b047-83bfb2c23688","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-9d56c79a-b6e2-4144-b047-83bfb2c23688","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1015,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d6b37f7f-9d43-4652-84ac-d38749bb5083","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-d6b37f7f-9d43-4652-84ac-d38749bb5083","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1016,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-8a9bf409-736b-4033-af3e-10e734685eca","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-8a9bf409-736b-4033-af3e-10e734685eca","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1017,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-276097c0-099b-45e4-b694-6f126b44d32d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-276097c0-099b-45e4-b694-6f126b44d32d","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1018,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-87571384-1585-47c3-a806-2607ec709336","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-87571384-1585-47c3-a806-2607ec709336","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1019,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-38d36884-b37e-4e81-be80-58e1c761cd0f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-38d36884-b37e-4e81-be80-58e1c761cd0f","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1020,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-55cd5c8b-7eb7-4c5b-93fd-90cc13c38ead","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-55cd5c8b-7eb7-4c5b-93fd-90cc13c38ead","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1021,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-a0fbd8f8-7fba-4254-a04e-0f7b4b6eadf7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-a0fbd8f8-7fba-4254-a04e-0f7b4b6eadf7","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1022,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-8c105a9a-2a0a-43fd-8b54-119bd65ca5d5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-8c105a9a-2a0a-43fd-8b54-119bd65ca5d5","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1023,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-a5ac726d-686f-4536-812b-9c89a1f525a9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-a5ac726d-686f-4536-812b-9c89a1f525a9","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1024,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-035c4bf1-03d8-4805-8f1d-53e6bc6646c6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-035c4bf1-03d8-4805-8f1d-53e6bc6646c6","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1025,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-f662d0f4-9c9a-4891-963c-e450dd2bd67e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-f662d0f4-9c9a-4891-963c-e450dd2bd67e","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1026,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-c0d5d647-0296-4c5a-8e3c-dfab3ef3f27c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-c0d5d647-0296-4c5a-8e3c-dfab3ef3f27c","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1027,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-2b8e11b1-2c8c-4139-8e27-fe2d70fadf52","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-2b8e11b1-2c8c-4139-8e27-fe2d70fadf52","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1028,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-60efcb2d-9756-4b5b-96b3-cf07d70b6d49","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-60efcb2d-9756-4b5b-96b3-cf07d70b6d49","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1029,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b27bf5a3-1d49-4a42-bac9-badadfb4d04d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-b27bf5a3-1d49-4a42-bac9-badadfb4d04d","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1030,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-1cde26c5-0148-483d-a0b0-1bf6db72f985","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-1cde26c5-0148-483d-a0b0-1bf6db72f985","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1031,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-3eeb813f-fa55-4b93-ad1b-98f352f3d336","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-3eeb813f-fa55-4b93-ad1b-98f352f3d336","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1032,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-390085f0-4e9f-4c06-a7ac-bf623ca45e8f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-390085f0-4e9f-4c06-a7ac-bf623ca45e8f","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1033,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-f0532c84-72c2-4959-bdbd-70b670e2d0ae","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-f0532c84-72c2-4959-bdbd-70b670e2d0ae","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1034,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-bdefeb1a-b627-4cdd-8bab-9e3c7a10dc97","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-bdefeb1a-b627-4cdd-8bab-9e3c7a10dc97","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1035,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-a4f668eb-84d5-4121-8ad2-696e95eed244","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-a4f668eb-84d5-4121-8ad2-696e95eed244","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1036,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-2f9aa124-8120-4d1c-82a3-944fbb3ad9a7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-2f9aa124-8120-4d1c-82a3-944fbb3ad9a7","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1037,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-28dca994-cccc-4222-bd87-ee59b47ab69b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-28dca994-cccc-4222-bd87-ee59b47ab69b","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1038,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-3d8a9e70-4247-4e9f-a9e8-bc2895d24a2c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/securityRules/Cleanuptool-3389-Corpnet-3d8a9e70-4247-4e9f-a9e8-bc2895d24a2c","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1039,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/defaultSecurityRules/AllowVnetInBound","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/defaultSecurityRules/DenyAllInBound","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkSecurityGroups/myfvm65/defaultSecurityRules/DenyAllOutBound","etag":"W/\"98be7081-e583-4f07-ade7-49df875c5280\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkInterfaces/myfvm65"}]}},{"name":"MyReallyCoolVM202","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Network/networkSecurityGroups/MyReallyCoolVM202","etag":"W/\"a323b8a5-5cc0-477a-bb8a-11a93ba418d0\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"b9a2fa2e-b119-4b13-875f-fa397dc55e9e","securityRules":[{"name":"MyReallyCoolVM202","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Network/networkSecurityGroups/MyReallyCoolVM202/securityRules/MyReallyCoolVM202","etag":"W/\"a323b8a5-5cc0-477a-bb8a-11a93ba418d0\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":1000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Network/networkSecurityGroups/MyReallyCoolVM202/defaultSecurityRules/AllowVnetInBound","etag":"W/\"a323b8a5-5cc0-477a-bb8a-11a93ba418d0\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Network/networkSecurityGroups/MyReallyCoolVM202/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"a323b8a5-5cc0-477a-bb8a-11a93ba418d0\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Network/networkSecurityGroups/MyReallyCoolVM202/defaultSecurityRules/DenyAllInBound","etag":"W/\"a323b8a5-5cc0-477a-bb8a-11a93ba418d0\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Network/networkSecurityGroups/MyReallyCoolVM202/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"a323b8a5-5cc0-477a-bb8a-11a93ba418d0\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Network/networkSecurityGroups/MyReallyCoolVM202/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"a323b8a5-5cc0-477a-bb8a-11a93ba418d0\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Network/networkSecurityGroups/MyReallyCoolVM202/defaultSecurityRules/DenyAllOutBound","etag":"W/\"a323b8a5-5cc0-477a-bb8a-11a93ba418d0\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Network/networkInterfaces/MyReallyCoolVM202"}]}},{"name":"mysuperCoolVM202","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mysuperCoolVM202/providers/Microsoft.Network/networkSecurityGroups/mysuperCoolVM202","etag":"W/\"0130082f-ce65-4b9d-a55e-4f042fb36bde\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"3a3cb14d-7003-4135-ac6f-d735e35d5163","securityRules":[{"name":"mysuperCoolVM202","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mysuperCoolVM202/providers/Microsoft.Network/networkSecurityGroups/mysuperCoolVM202/securityRules/mysuperCoolVM202","etag":"W/\"0130082f-ce65-4b9d-a55e-4f042fb36bde\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":1000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mysuperCoolVM202/providers/Microsoft.Network/networkSecurityGroups/mysuperCoolVM202/defaultSecurityRules/AllowVnetInBound","etag":"W/\"0130082f-ce65-4b9d-a55e-4f042fb36bde\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mysuperCoolVM202/providers/Microsoft.Network/networkSecurityGroups/mysuperCoolVM202/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"0130082f-ce65-4b9d-a55e-4f042fb36bde\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mysuperCoolVM202/providers/Microsoft.Network/networkSecurityGroups/mysuperCoolVM202/defaultSecurityRules/DenyAllInBound","etag":"W/\"0130082f-ce65-4b9d-a55e-4f042fb36bde\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mysuperCoolVM202/providers/Microsoft.Network/networkSecurityGroups/mysuperCoolVM202/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"0130082f-ce65-4b9d-a55e-4f042fb36bde\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mysuperCoolVM202/providers/Microsoft.Network/networkSecurityGroups/mysuperCoolVM202/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"0130082f-ce65-4b9d-a55e-4f042fb36bde\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mysuperCoolVM202/providers/Microsoft.Network/networkSecurityGroups/mysuperCoolVM202/defaultSecurityRules/DenyAllOutBound","etag":"W/\"0130082f-ce65-4b9d-a55e-4f042fb36bde\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mysuperCoolVM202/providers/Microsoft.Network/networkInterfaces/mysuperCoolVM202"}]}},{"name":"scottphvm","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"cebf8e40-a085-4d05-9815-632e59ab9137","securityRules":[{"name":"Cleanuptool-5985-Corpnet-c2f2dbed-d8d4-4166-a27b-3d47a6f4485a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-c2f2dbed-d8d4-4166-a27b-3d47a6f4485a","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1012,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-6ddddf89-82c4-40f8-bd5c-66504f1309de","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-6ddddf89-82c4-40f8-bd5c-66504f1309de","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1013,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-1d821d5c-72f9-4051-8994-9e9638797cad","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-1d821d5c-72f9-4051-8994-9e9638797cad","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1014,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-dae061d0-a319-4186-8899-a2f33e64eb99","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-dae061d0-a319-4186-8899-a2f33e64eb99","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1015,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-1c69a181-473e-42ea-aee2-2a6ceee037ab","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-1c69a181-473e-42ea-aee2-2a6ceee037ab","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1016,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-351c8de4-7365-48a2-9030-49ef92f843df","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-351c8de4-7365-48a2-9030-49ef92f843df","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1017,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-54003957-b600-43bb-9e32-861aaada9efc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-54003957-b600-43bb-9e32-861aaada9efc","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1018,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-b770a488-423c-44e5-9215-f456bd000cfe","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-b770a488-423c-44e5-9215-f456bd000cfe","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1019,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-c60de0b4-e05d-4b27-9f46-21af5047db3d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-c60de0b4-e05d-4b27-9f46-21af5047db3d","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1020,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-8dc0cd13-8318-4df4-8c68-bcb7868b77af","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-8dc0cd13-8318-4df4-8c68-bcb7868b77af","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1021,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-7aa5035b-b2e6-4ee6-baee-b428e4153b90","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-7aa5035b-b2e6-4ee6-baee-b428e4153b90","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1022,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-e96b1b5c-e3a1-4854-b8d9-2df51613ea1f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-e96b1b5c-e3a1-4854-b8d9-2df51613ea1f","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1023,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-0fbfb30a-e03b-4015-b4b3-f90820e11e4c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-0fbfb30a-e03b-4015-b4b3-f90820e11e4c","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1024,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-e72e8e0a-a82e-44fe-9bbf-3d6dd12671ae","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-e72e8e0a-a82e-44fe-9bbf-3d6dd12671ae","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1025,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-4a16c1f7-8e7b-4e9c-b5fa-edf38cfd9c7d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-4a16c1f7-8e7b-4e9c-b5fa-edf38cfd9c7d","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1026,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-dca274c4-ebeb-40e2-a777-dc4f3e23501d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-dca274c4-ebeb-40e2-a777-dc4f3e23501d","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1027,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-d78c273b-7df7-418d-9c9f-3cca40259097","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-d78c273b-7df7-418d-9c9f-3cca40259097","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1028,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-f4709098-c8d0-429d-b9fd-169530436aff","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-f4709098-c8d0-429d-b9fd-169530436aff","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1029,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-f481f68c-dd16-4d4c-9557-ce082ca33b1f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-f481f68c-dd16-4d4c-9557-ce082ca33b1f","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1030,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-00b45c1e-a5fd-497e-9eb3-78dbea58c98a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-00b45c1e-a5fd-497e-9eb3-78dbea58c98a","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1031,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-17cc0d63-495b-40c6-881b-226a43dbb886","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-17cc0d63-495b-40c6-881b-226a43dbb886","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1032,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-35720cfa-5183-4794-8aaf-29e8bff9b077","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-35720cfa-5183-4794-8aaf-29e8bff9b077","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1033,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-162e0873-dc35-44db-a2bb-7e9cf8436bd9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-162e0873-dc35-44db-a2bb-7e9cf8436bd9","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1034,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-7ac79f8f-2d40-4027-8ccb-e3c74844db65","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-7ac79f8f-2d40-4027-8ccb-e3c74844db65","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1035,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-8c2d3758-be65-45fc-8e91-b3cee98ca1bd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-8c2d3758-be65-45fc-8e91-b3cee98ca1bd","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1036,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-209d03bf-f17d-4137-915b-28c2197c7578","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-209d03bf-f17d-4137-915b-28c2197c7578","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1037,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-a3eb3d60-492f-4cf8-8f02-30723ab46fd1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-a3eb3d60-492f-4cf8-8f02-30723ab46fd1","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1038,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-803d76be-c65c-4435-b4c8-d8912bc80e2b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-803d76be-c65c-4435-b4c8-d8912bc80e2b","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1039,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-cbb28e80-e8cc-429c-b6e2-1385edc4eb7b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-5985-Corpnet-cbb28e80-e8cc-429c-b6e2-1385edc4eb7b","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1040,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-249b1f72-5814-4a02-b556-223af811796e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-249b1f72-5814-4a02-b556-223af811796e","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1011,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b9f120eb-bd7d-4847-b40c-002d08103c6e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-b9f120eb-bd7d-4847-b40c-002d08103c6e","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1041,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-6bd868b8-ae59-4bb1-b38b-55753507474c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-6bd868b8-ae59-4bb1-b38b-55753507474c","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1042,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-27b110d1-60ac-4bfb-b8b1-29deb7fd18fc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-27b110d1-60ac-4bfb-b8b1-29deb7fd18fc","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1043,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-fe728dc6-60df-43cc-acf8-9929e7e7b9d6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-fe728dc6-60df-43cc-acf8-9929e7e7b9d6","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1044,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-eed7f6df-78ae-4edf-9bbe-83ab93c353c1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-eed7f6df-78ae-4edf-9bbe-83ab93c353c1","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1045,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-fe5f23d3-eafa-4977-8ba5-9a0ee9c2e9d8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-fe5f23d3-eafa-4977-8ba5-9a0ee9c2e9d8","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1046,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-6bca222a-0edf-4295-ba0c-ba5937fe377f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-6bca222a-0edf-4295-ba0c-ba5937fe377f","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1047,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-396d537f-e3fa-4061-813c-7f32ac662185","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-396d537f-e3fa-4061-813c-7f32ac662185","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1048,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-4659c5b3-ac18-4e48-84aa-d67d9a13304e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-4659c5b3-ac18-4e48-84aa-d67d9a13304e","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1049,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-638b8af4-bb9f-49e7-8d25-59e18b28a7c6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-638b8af4-bb9f-49e7-8d25-59e18b28a7c6","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1050,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b0177be7-55da-4285-887f-fbd2a01ed59a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-b0177be7-55da-4285-887f-fbd2a01ed59a","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1051,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b8f74e45-e62d-4cfb-862d-3697aab7c2b0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-b8f74e45-e62d-4cfb-862d-3697aab7c2b0","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1052,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b59288b6-f25f-47a0-ab35-1b60a0dd6bf1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-b59288b6-f25f-47a0-ab35-1b60a0dd6bf1","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1053,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-925df2c9-0f92-4d72-a10c-fdf644d31b01","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-925df2c9-0f92-4d72-a10c-fdf644d31b01","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1054,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-bdb84dea-9b23-43b3-9850-907f5f2a285e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-bdb84dea-9b23-43b3-9850-907f5f2a285e","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1055,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-a580aa30-9def-4e82-b0ad-9d99ffd759d4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-a580aa30-9def-4e82-b0ad-9d99ffd759d4","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1056,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9fba2fa7-1231-4f68-849f-10d86f8ae5d7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-9fba2fa7-1231-4f68-849f-10d86f8ae5d7","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1057,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-4292f2b1-31f4-4c4f-b3e0-e389d672ecc1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-4292f2b1-31f4-4c4f-b3e0-e389d672ecc1","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1058,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-92298578-ec5d-489d-9887-ec0a33d39f75","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-92298578-ec5d-489d-9887-ec0a33d39f75","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1059,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-a1b6a52d-2718-4276-a2b2-9782ef63fe58","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-a1b6a52d-2718-4276-a2b2-9782ef63fe58","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1060,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-721586f8-f939-40a0-b8ed-233428218630","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-721586f8-f939-40a0-b8ed-233428218630","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1061,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d82017f4-c4e4-433f-ad23-bbaf8884f5c6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-d82017f4-c4e4-433f-ad23-bbaf8884f5c6","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1062,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-2efa0095-7b38-4fdb-899e-2a6efe24cc97","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-2efa0095-7b38-4fdb-899e-2a6efe24cc97","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1063,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-248c2885-045e-481d-b2af-c4346e167ad6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-248c2885-045e-481d-b2af-c4346e167ad6","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1064,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-2c56c57e-5745-42f5-9373-86def9d92e95","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-2c56c57e-5745-42f5-9373-86def9d92e95","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1065,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-45177b53-4053-40ae-beb4-9dee449a4314","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-45177b53-4053-40ae-beb4-9dee449a4314","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1066,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-db02a294-5250-4fdd-b849-4d406d80d6b2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-db02a294-5250-4fdd-b849-4d406d80d6b2","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1067,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-45701f33-ba3b-4e2a-8877-0cb4e4cd1296","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/securityRules/Cleanuptool-3389-Corpnet-45701f33-ba3b-4e2a-8877-0cb4e4cd1296","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1068,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/defaultSecurityRules/AllowVnetInBound","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/defaultSecurityRules/DenyAllInBound","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkSecurityGroups/scottphvm/defaultSecurityRules/DenyAllOutBound","etag":"W/\"388ef1e5-0713-4936-8c14-6ab095d1a637\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkInterfaces/scottphvm"}]}},{"name":"wilxvm-nsg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"84edaebf-b289-4be0-a8dc-ac00c8b3c7f5","securityRules":[{"name":"Cleanuptool-22-Corpnet-8d0ce1b8-fd8a-4fc4-a74d-3274aa59500d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-8d0ce1b8-fd8a-4fc4-a74d-3274aa59500d","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":110,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-feeba141-1ce4-421f-acca-13afdc6b5fb5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-feeba141-1ce4-421f-acca-13afdc6b5fb5","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":111,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2430af0f-e901-47e9-9e29-4bde7c909e20","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-2430af0f-e901-47e9-9e29-4bde7c909e20","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":112,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a01335a6-f01b-4bef-93ef-4d884732bab0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-a01335a6-f01b-4bef-93ef-4d884732bab0","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":113,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-13805a86-0438-4c16-929b-2b47e3a0395f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-13805a86-0438-4c16-929b-2b47e3a0395f","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":114,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d8a80827-1c98-4243-b2db-2eff196d52ce","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-d8a80827-1c98-4243-b2db-2eff196d52ce","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":115,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d7b13839-d64c-44e0-af30-ce7ff447534f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-d7b13839-d64c-44e0-af30-ce7ff447534f","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":116,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-82f95915-4e2e-4b0a-8a5d-da4c32e403d8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-82f95915-4e2e-4b0a-8a5d-da4c32e403d8","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":117,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-1efb1337-237c-4f17-bfff-7741a5b6355a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-1efb1337-237c-4f17-bfff-7741a5b6355a","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":118,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-53d2f53d-5fd4-4368-a634-8313d3731c2c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-53d2f53d-5fd4-4368-a634-8313d3731c2c","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":119,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-b1fbc26c-1bc0-49ca-8188-dafdc49a3dad","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-b1fbc26c-1bc0-49ca-8188-dafdc49a3dad","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":120,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-5beb75b9-da43-4f74-99ce-f65aa9ae08c0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-5beb75b9-da43-4f74-99ce-f65aa9ae08c0","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":121,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-7ab418aa-dbba-4bf7-93f9-840e03ff6993","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-7ab418aa-dbba-4bf7-93f9-840e03ff6993","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":122,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-dec0def9-f18a-4785-b4d6-64a317d626c3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-dec0def9-f18a-4785-b4d6-64a317d626c3","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":123,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-bb408e0b-b89c-4a46-8806-da5ec297f128","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-bb408e0b-b89c-4a46-8806-da5ec297f128","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":124,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-9619e4d3-fa15-4c25-9f69-cdfb60f3ee68","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-9619e4d3-fa15-4c25-9f69-cdfb60f3ee68","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":125,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-790d227c-5713-4329-909c-a73ebc3cddf9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-790d227c-5713-4329-909c-a73ebc3cddf9","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":126,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-22f42946-20ab-46a8-8673-fdaf3ec7ff58","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-22f42946-20ab-46a8-8673-fdaf3ec7ff58","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":127,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-fea9790a-95ac-4c99-8106-60b896e636eb","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-fea9790a-95ac-4c99-8106-60b896e636eb","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":128,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2556031a-9663-4974-a6d9-f6caf0991a65","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-2556031a-9663-4974-a6d9-f6caf0991a65","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":129,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-0bc4c489-35cb-40ea-ad93-f3e1430d5e1d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-0bc4c489-35cb-40ea-ad93-f3e1430d5e1d","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":130,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-7f317343-7ba1-400b-93be-e1b2df16af50","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-7f317343-7ba1-400b-93be-e1b2df16af50","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":131,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-28562e55-05b7-41f9-b1a2-9a08f6c343a4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-28562e55-05b7-41f9-b1a2-9a08f6c343a4","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":132,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-1b99977c-4ebc-44cf-9150-cc873a26c65b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-1b99977c-4ebc-44cf-9150-cc873a26c65b","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":133,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a4406073-8127-485d-9162-174f97ad6386","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-a4406073-8127-485d-9162-174f97ad6386","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":134,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-4daccedc-ce4d-4035-a5d1-98cc072ebfc6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-4daccedc-ce4d-4035-a5d1-98cc072ebfc6","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":135,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-3cdb153a-4b12-41cb-a139-a0d9df83d4c3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-3cdb153a-4b12-41cb-a139-a0d9df83d4c3","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":136,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-9839fbc3-fe19-42b1-bb04-7aad440ac694","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-9839fbc3-fe19-42b1-bb04-7aad440ac694","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":137,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-276f0c05-262e-4312-9060-e55790c3be07","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/securityRules/Cleanuptool-22-Corpnet-276f0c05-262e-4312-9060-e55790c3be07","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":138,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/defaultSecurityRules/AllowVnetInBound","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/defaultSecurityRules/DenyAllInBound","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkSecurityGroups/wilxvm-nsg/defaultSecurityRules/DenyAllOutBound","etag":"W/\"be331c3f-a3f8-4ce7-b2bb-6e37a57cb17c\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkInterfaces/wilxvm35"}]}},{"name":"zvb346","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"6121e9c8-a00f-41ae-843e-9c2ec37efa4d","securityRules":[{"name":"Cleanuptool-3389-Corpnet-678fd790-891e-4432-8f23-31d4edb85305","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-678fd790-891e-4432-8f23-31d4edb85305","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1011,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-a8aeb140-9f37-4f8b-abb3-24e414cd7f7a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-a8aeb140-9f37-4f8b-abb3-24e414cd7f7a","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1012,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-28c8fe5e-23c7-40d0-a8b1-a828660c9827","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-28c8fe5e-23c7-40d0-a8b1-a828660c9827","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1013,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-62b5afce-5871-410c-9fc1-69dd7595645e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-62b5afce-5871-410c-9fc1-69dd7595645e","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1014,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-61adff9a-51a0-4518-9780-7c80738f356a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-61adff9a-51a0-4518-9780-7c80738f356a","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1015,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-cba64a40-dca6-4c40-ac41-2cfaf0254c49","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-cba64a40-dca6-4c40-ac41-2cfaf0254c49","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1016,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-cfe6a859-e405-455e-acc4-5065a2f117e8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-cfe6a859-e405-455e-acc4-5065a2f117e8","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1017,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-80138e28-7bca-497a-8f23-ee5c3cbc1c58","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-80138e28-7bca-497a-8f23-ee5c3cbc1c58","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1018,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-fdaca678-ce3d-45df-aecd-1454415388c0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-fdaca678-ce3d-45df-aecd-1454415388c0","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1019,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-70b287c8-d838-4d44-a235-692f9eee7f57","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-70b287c8-d838-4d44-a235-692f9eee7f57","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1020,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d9204ba0-e248-431a-8cf4-ff0b7e22375b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-d9204ba0-e248-431a-8cf4-ff0b7e22375b","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1021,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-2914284b-d107-4b38-8127-dd388e07a5f1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-2914284b-d107-4b38-8127-dd388e07a5f1","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1022,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-18a45ff3-2e82-486a-a9b9-3918d93701f7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-18a45ff3-2e82-486a-a9b9-3918d93701f7","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1023,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-71b8f658-3361-45f1-b220-b331ccb22745","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-71b8f658-3361-45f1-b220-b331ccb22745","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1024,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-18ef7e07-21df-41fe-99a2-a363eee14a71","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-18ef7e07-21df-41fe-99a2-a363eee14a71","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1025,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d4348862-70ea-4d55-b7c2-0f8ed7ccbf40","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-d4348862-70ea-4d55-b7c2-0f8ed7ccbf40","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1026,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-bfb4a897-f2d2-4a31-8446-f0fdfbe508cc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-bfb4a897-f2d2-4a31-8446-f0fdfbe508cc","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1027,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-e58fdcec-2c0a-469b-8dea-ab0e5ea27b20","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-e58fdcec-2c0a-469b-8dea-ab0e5ea27b20","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1028,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b93dbbf0-05c4-4387-9a6d-35006145eb57","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-b93dbbf0-05c4-4387-9a6d-35006145eb57","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1029,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9c727b65-8c88-4e33-a769-6b015a78f8de","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-9c727b65-8c88-4e33-a769-6b015a78f8de","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1030,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-f68597c5-35d3-4aa1-afef-3c0aa09705ec","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-f68597c5-35d3-4aa1-afef-3c0aa09705ec","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1031,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-5a3e4f37-323f-4f1d-bffe-7fc17e8ceb32","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-5a3e4f37-323f-4f1d-bffe-7fc17e8ceb32","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1032,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-88f7af17-d39a-4e60-94db-a97538286140","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-88f7af17-d39a-4e60-94db-a97538286140","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1033,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-bcbd2f93-153c-4d6c-91b2-743fc4f2c478","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-bcbd2f93-153c-4d6c-91b2-743fc4f2c478","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1034,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-2d7b3c35-9786-4ead-bb0a-e0514c86ea6c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-2d7b3c35-9786-4ead-bb0a-e0514c86ea6c","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1035,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-08211e52-49f1-4f65-8c53-d12db38cd079","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-08211e52-49f1-4f65-8c53-d12db38cd079","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1036,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-802cf359-d67c-4e77-a9dc-12144692c823","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-802cf359-d67c-4e77-a9dc-12144692c823","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1037,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9686b6f3-99ff-4159-ae92-64548925a26b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-9686b6f3-99ff-4159-ae92-64548925a26b","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1038,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-6ed5c5fb-04a3-4e92-ac26-0f3b6743f3f4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-3389-Corpnet-6ed5c5fb-04a3-4e92-ac26-0f3b6743f3f4","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1039,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-0505cfff-a7f6-4d7f-92ae-7491fb356373","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-0505cfff-a7f6-4d7f-92ae-7491fb356373","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1040,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-650ef499-911c-4e60-afb4-636e2db3e5ee","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-650ef499-911c-4e60-afb4-636e2db3e5ee","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1041,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-fafdbe45-fb0c-4bf2-9f4f-1defaba4660a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-fafdbe45-fb0c-4bf2-9f4f-1defaba4660a","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1042,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-b90f9162-b870-47db-85a5-838146fe9b2c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-b90f9162-b870-47db-85a5-838146fe9b2c","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1043,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-5f67b53c-ae3a-4ab7-809a-48d7be93f724","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-5f67b53c-ae3a-4ab7-809a-48d7be93f724","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1044,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-7ee02509-408f-40a0-9e4b-55f9c89eae57","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-7ee02509-408f-40a0-9e4b-55f9c89eae57","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1045,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-77578479-d2c0-4124-aa87-586d035ac295","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-77578479-d2c0-4124-aa87-586d035ac295","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1046,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-1d002532-8a30-4383-9da6-c301f08ecb4f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-1d002532-8a30-4383-9da6-c301f08ecb4f","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1047,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-f1737958-5b10-4f75-b906-64adb8eb9d06","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-f1737958-5b10-4f75-b906-64adb8eb9d06","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1048,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-65143658-8825-4f6a-841b-62a0f509f048","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-65143658-8825-4f6a-841b-62a0f509f048","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1049,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-0a7af602-a2ad-4ae4-b31f-70eb3689dcd4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-0a7af602-a2ad-4ae4-b31f-70eb3689dcd4","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1050,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-706bedb1-05eb-4436-acb7-2f895336695b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-706bedb1-05eb-4436-acb7-2f895336695b","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1051,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-3d0308a3-4210-4a59-8820-320d94e3da78","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-3d0308a3-4210-4a59-8820-320d94e3da78","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1052,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-ff41fa2d-3e18-4cf3-a943-d23155740156","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-ff41fa2d-3e18-4cf3-a943-d23155740156","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":1053,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-53dc4071-f731-4f81-9043-cbdec3e776ee","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-53dc4071-f731-4f81-9043-cbdec3e776ee","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":1054,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-fd8896e5-7426-43ba-bd36-e4a82e3f1690","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-fd8896e5-7426-43ba-bd36-e4a82e3f1690","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":1055,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-ff980e7d-3b1b-42ab-9420-53583ad6a629","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-ff980e7d-3b1b-42ab-9420-53583ad6a629","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":1056,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-067b8e31-403e-46ef-a8d5-92459a7b4b0a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-067b8e31-403e-46ef-a8d5-92459a7b4b0a","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1057,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-cd694a13-3b4d-4f82-9fa1-2f5be173017d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-cd694a13-3b4d-4f82-9fa1-2f5be173017d","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1058,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-9eb39be9-9645-4f5b-af31-d185170594fe","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-9eb39be9-9645-4f5b-af31-d185170594fe","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":1059,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-be95b8d4-d8d6-4310-a0e8-4b1fedf029e8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-be95b8d4-d8d6-4310-a0e8-4b1fedf029e8","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":1060,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-e2fa91ce-6b7b-48ac-8ef0-14490b0b9e24","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-e2fa91ce-6b7b-48ac-8ef0-14490b0b9e24","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":1061,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-e4f7aef5-28e2-41ee-8ffc-eda7b41b7fb8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-e4f7aef5-28e2-41ee-8ffc-eda7b41b7fb8","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":1062,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-f048c2a0-deca-4320-8568-19424949c71a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-f048c2a0-deca-4320-8568-19424949c71a","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1063,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-bc2e8e8d-95b3-478f-8d1e-b1692989e681","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-bc2e8e8d-95b3-478f-8d1e-b1692989e681","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1064,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-8089e6b9-4025-4cbe-93a7-e4a297dfb613","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-8089e6b9-4025-4cbe-93a7-e4a297dfb613","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":1065,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-4a11655f-06f7-4838-b518-5e1538781a08","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-4a11655f-06f7-4838-b518-5e1538781a08","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":1066,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-9fb1c8bc-79c2-4095-91bc-886fc3b2c7d6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-9fb1c8bc-79c2-4095-91bc-886fc3b2c7d6","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":1067,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-5985-Corpnet-e961c0f1-47c4-4065-b384-e4dc0b0696a4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/securityRules/Cleanuptool-5985-Corpnet-e961c0f1-47c4-4065-b384-e4dc0b0696a4","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"5985","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":1068,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/defaultSecurityRules/AllowVnetInBound","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/defaultSecurityRules/DenyAllInBound","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkSecurityGroups/zvb346/defaultSecurityRules/DenyAllOutBound","etag":"W/\"54e55df1-7207-4717-8c2f-15ad2142847c\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkInterfaces/zvb346"}]}},{"name":"vm1NSG","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","type":"Microsoft.Network/networkSecurityGroups","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"f4a8e3b9-c13c-4f10-a744-17156d6118ee","securityRules":[{"name":"Cleanuptool-22-Corpnet-d6af194c-9262-4100-b6e9-0e788d21d245","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-d6af194c-9262-4100-b6e9-0e788d21d245","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":110,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-af496ef7-43a7-42d5-9054-7b27135fbb8e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-af496ef7-43a7-42d5-9054-7b27135fbb8e","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":111,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-78f52320-8843-4d30-9c2e-4d434e1eff16","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-78f52320-8843-4d30-9c2e-4d434e1eff16","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":112,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-39fdfb92-8cd9-4177-ab6f-a43d0ab07b50","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-39fdfb92-8cd9-4177-ab6f-a43d0ab07b50","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":113,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-72fd40ea-1770-4950-9328-83d827f8a8dc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-72fd40ea-1770-4950-9328-83d827f8a8dc","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":114,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-6ba8472d-8bee-406f-92c5-0a5b26fbe620","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-6ba8472d-8bee-406f-92c5-0a5b26fbe620","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":115,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-7da550f2-6932-4ae0-b85d-982271116ec5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-7da550f2-6932-4ae0-b85d-982271116ec5","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":116,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-f8720c24-f77e-43ea-9b03-c8a85bac4393","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-f8720c24-f77e-43ea-9b03-c8a85bac4393","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":117,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-b7522544-bf3a-4f66-84af-73b396d12f22","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-b7522544-bf3a-4f66-84af-73b396d12f22","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":118,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-da6d7e8f-9d81-4285-b5bf-b156f3786545","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-da6d7e8f-9d81-4285-b5bf-b156f3786545","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":119,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d87d2c14-46c2-4e28-8b1b-9419d6ede02a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-d87d2c14-46c2-4e28-8b1b-9419d6ede02a","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":120,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a6a182bf-a396-4a8a-8ad0-f4b20496f7a5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-a6a182bf-a396-4a8a-8ad0-f4b20496f7a5","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":121,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-5f920c40-2cff-4e1e-96ed-50742fea5975","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-5f920c40-2cff-4e1e-96ed-50742fea5975","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":122,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-7bd86c3b-edc8-4952-98d6-87496240b5d6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-7bd86c3b-edc8-4952-98d6-87496240b5d6","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":123,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-4c76cfed-df49-42b6-b03e-e29ab0e70010","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-4c76cfed-df49-42b6-b03e-e29ab0e70010","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":124,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-07126074-cec8-448f-9162-31c8fc80601c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-07126074-cec8-448f-9162-31c8fc80601c","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":125,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-5db79884-a6eb-4c4f-b6b2-a77e79c00a8e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-5db79884-a6eb-4c4f-b6b2-a77e79c00a8e","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":126,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-82cfffad-2920-4fd9-9eb0-fb6e724cedb5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-82cfffad-2920-4fd9-9eb0-fb6e724cedb5","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":127,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a53263eb-c7a1-495d-8bd8-7774d007438c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-a53263eb-c7a1-495d-8bd8-7774d007438c","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":128,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-0e3bf2fa-2f77-44b0-839b-136b88ba599d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-0e3bf2fa-2f77-44b0-839b-136b88ba599d","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":129,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-dd990106-6d2b-4098-bb9d-3cf37f4061c0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-dd990106-6d2b-4098-bb9d-3cf37f4061c0","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":130,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-5a1b12a8-eb15-41fd-bbfa-a61e6e23e7e2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-5a1b12a8-eb15-41fd-bbfa-a61e6e23e7e2","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":131,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-ce7480cf-f167-4ba5-a5d8-08fc7986df1a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-ce7480cf-f167-4ba5-a5d8-08fc7986df1a","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":132,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-989a3f89-d718-41a4-a97e-f07523c9212f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-989a3f89-d718-41a4-a97e-f07523c9212f","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":133,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-5df1cfa9-43e1-47fb-abec-8e526b170a93","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-5df1cfa9-43e1-47fb-abec-8e526b170a93","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":134,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-60e99ba1-00f8-40ef-89b7-391bb8059eba","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-60e99ba1-00f8-40ef-89b7-391bb8059eba","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":135,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-f8353247-8cf3-45a9-9168-cf466b8345c7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-f8353247-8cf3-45a9-9168-cf466b8345c7","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":136,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-7e0c1d29-5dca-4b35-a1a3-753fb112df0a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-7e0c1d29-5dca-4b35-a1a3-753fb112df0a","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":137,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-42c242df-626a-4d6a-9564-d96490f95119","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-42c242df-626a-4d6a-9564-d96490f95119","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":138,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/defaultSecurityRules/AllowVnetInBound","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/defaultSecurityRules/DenyAllInBound","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/defaultSecurityRules/DenyAllOutBound","etag":"W/\"73207a15-9986-4373-aba1-e9c886b62292\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkInterfaces/vm1VMNic"}]}},{"name":"vm1NSG","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","type":"Microsoft.Network/networkSecurityGroups","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"10f92d97-3eba-46bc-b329-74d31bfe576b","securityRules":[{"name":"Cleanuptool-22-Corpnet-ffb851f4-dfb4-4c41-8790-9de6319e3dfc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-ffb851f4-dfb4-4c41-8790-9de6319e3dfc","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":110,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-12404e86-39b3-4677-af46-a70c571a2a39","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-12404e86-39b3-4677-af46-a70c571a2a39","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":111,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d8004eea-012d-414d-8426-960d42d1b946","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-d8004eea-012d-414d-8426-960d42d1b946","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":112,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-949cb11f-783f-4658-9c0f-8eaa1320197c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-949cb11f-783f-4658-9c0f-8eaa1320197c","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":113,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-aa195c8d-d62d-4605-a8f9-dc479e2df283","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-aa195c8d-d62d-4605-a8f9-dc479e2df283","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":114,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-680c3f62-f7d9-46e2-a7bb-1f307f6ae265","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-680c3f62-f7d9-46e2-a7bb-1f307f6ae265","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":115,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-7d76d3ae-6196-4165-8cfb-de6a409539bb","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-7d76d3ae-6196-4165-8cfb-de6a409539bb","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":116,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-b8f1dce7-4cf6-44f8-b7cf-933e1b4d0015","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-b8f1dce7-4cf6-44f8-b7cf-933e1b4d0015","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":117,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-17817a3a-2ab5-4209-b7f3-b926ecad890d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-17817a3a-2ab5-4209-b7f3-b926ecad890d","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":118,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-f574fa6f-2b65-4f73-863f-e9cd4cce1f44","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-f574fa6f-2b65-4f73-863f-e9cd4cce1f44","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":119,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-f401d0e6-8df5-45a3-a6c7-9d1a1e03966c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-f401d0e6-8df5-45a3-a6c7-9d1a1e03966c","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":120,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-61d20ea2-d38b-4635-a35e-bb99d766e0f8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-61d20ea2-d38b-4635-a35e-bb99d766e0f8","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":121,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-cf207adf-2fd4-4ab1-a07a-367981c8a09f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-cf207adf-2fd4-4ab1-a07a-367981c8a09f","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":122,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-f8f6cddf-b28e-4d59-a70f-bc3b169a9c7b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-f8f6cddf-b28e-4d59-a70f-bc3b169a9c7b","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":123,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-7b439083-b51e-4c2b-b4fa-08c853fe5057","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-7b439083-b51e-4c2b-b4fa-08c853fe5057","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":124,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-cd8d36a0-3932-4720-9baa-8d6f185dbb7a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-cd8d36a0-3932-4720-9baa-8d6f185dbb7a","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":125,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-18025b45-d228-4e7c-a7de-39e174c448a0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-18025b45-d228-4e7c-a7de-39e174c448a0","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":126,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d829f535-931d-4364-bc5c-83a65f92f0c6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-d829f535-931d-4364-bc5c-83a65f92f0c6","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":127,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-0cc265ed-a87b-49d7-94d4-3ca48f7dc0db","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-0cc265ed-a87b-49d7-94d4-3ca48f7dc0db","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":128,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-8196508a-bb83-4305-9440-7fbf45eeada9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-8196508a-bb83-4305-9440-7fbf45eeada9","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":129,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-39103730-0ae0-4ee2-92a3-0dc9e44cf9ad","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-39103730-0ae0-4ee2-92a3-0dc9e44cf9ad","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":130,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-026166dc-70d5-476d-9155-adad1b357c5f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-026166dc-70d5-476d-9155-adad1b357c5f","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":131,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-97ebf079-393e-47a8-97c4-9c99f81b79d2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-97ebf079-393e-47a8-97c4-9c99f81b79d2","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":132,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-afeb9264-b9b0-4d50-9a56-7945c5ab95f9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-afeb9264-b9b0-4d50-9a56-7945c5ab95f9","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":133,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-31870387-db35-4dc7-9450-d8ee578535af","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-31870387-db35-4dc7-9450-d8ee578535af","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":134,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a4a8bd99-f202-4e95-8145-6a602797e904","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-a4a8bd99-f202-4e95-8145-6a602797e904","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":135,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-fd530af3-e75e-4b2f-bc16-c310ba030bc4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-fd530af3-e75e-4b2f-bc16-c310ba030bc4","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":136,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-ed22c36a-ff79-48cb-8fb1-74d15121f11d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-ed22c36a-ff79-48cb-8fb1-74d15121f11d","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":137,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2d68a863-3d8d-430f-87d7-32f5786c57f7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-2d68a863-3d8d-430f-87d7-32f5786c57f7","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":138,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/defaultSecurityRules/AllowVnetInBound","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/defaultSecurityRules/DenyAllInBound","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/defaultSecurityRules/DenyAllOutBound","etag":"W/\"61ef38d9-a7e5-4dff-af0f-2ba150fba487\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkInterfaces/vm1VMNic"}]}},{"name":"vm1NSG","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","type":"Microsoft.Network/networkSecurityGroups","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"0c3dbfe8-cf43-4ad3-a6bb-c13f85bf2e8c","securityRules":[{"name":"Cleanuptool-22-Corpnet-f2e08471-75e8-4fc8-a64a-944f1b210013","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-f2e08471-75e8-4fc8-a64a-944f1b210013","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":110,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-f20a1a2e-a552-458c-a58d-8380ea491c79","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-f20a1a2e-a552-458c-a58d-8380ea491c79","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":111,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-9e718007-6fa0-49ad-b76d-21347cdb252d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-9e718007-6fa0-49ad-b76d-21347cdb252d","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":112,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-ad644e05-8a7d-49e9-a59f-f5198f93e3f6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-ad644e05-8a7d-49e9-a59f-f5198f93e3f6","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":113,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a0f5323e-7fcb-4e98-8f18-cf76ae8c4a4c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-a0f5323e-7fcb-4e98-8f18-cf76ae8c4a4c","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":114,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-301a9763-7835-40e7-aabd-5723ff50a888","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-301a9763-7835-40e7-aabd-5723ff50a888","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":115,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-56c4a179-3aa4-4a64-b61d-84f1c704e02e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-56c4a179-3aa4-4a64-b61d-84f1c704e02e","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":116,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-44d997f2-1a08-4bad-8c22-5c4606a41b17","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-44d997f2-1a08-4bad-8c22-5c4606a41b17","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":117,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-33a38c9b-f69c-4d08-8b63-09b474ad922e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-33a38c9b-f69c-4d08-8b63-09b474ad922e","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":118,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-e2d8620f-11f0-4670-bbd5-682cf0e02f3c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-e2d8620f-11f0-4670-bbd5-682cf0e02f3c","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":119,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-1df96719-d003-443f-a04d-c54b17ca4b22","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-1df96719-d003-443f-a04d-c54b17ca4b22","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":120,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-797869e4-40e7-44bb-8f48-0c673cd5cb93","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-797869e4-40e7-44bb-8f48-0c673cd5cb93","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":121,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-91e0de34-bd09-44ed-bb26-f543c023bac8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-91e0de34-bd09-44ed-bb26-f543c023bac8","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":122,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-6dae9343-716b-4098-839c-c6bd57ed02bb","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-6dae9343-716b-4098-839c-c6bd57ed02bb","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":123,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-deca54c5-fa59-4a73-b196-6c8efa4657a1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-deca54c5-fa59-4a73-b196-6c8efa4657a1","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":124,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-7fcb2ba0-3c54-43bc-9eaa-0dfbba43a913","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-7fcb2ba0-3c54-43bc-9eaa-0dfbba43a913","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":125,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-35455743-4dd1-4e60-8460-8a7ddeed9de1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-35455743-4dd1-4e60-8460-8a7ddeed9de1","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":126,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-240e6634-7299-4a3c-83d1-b6cd8e07d984","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-240e6634-7299-4a3c-83d1-b6cd8e07d984","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":127,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2a039368-0b68-4bc3-ab9e-d74bb2fed3ed","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-2a039368-0b68-4bc3-ab9e-d74bb2fed3ed","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":128,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-fbfd79ea-0463-4fc2-b5ca-8b8279b92eee","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-fbfd79ea-0463-4fc2-b5ca-8b8279b92eee","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":129,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a26b90af-cd47-4fff-8659-6d1e936ef238","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-a26b90af-cd47-4fff-8659-6d1e936ef238","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":130,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-879485f0-8d2e-4398-8504-3c4630a3b9e2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-879485f0-8d2e-4398-8504-3c4630a3b9e2","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":131,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-64247b04-6638-44f9-ab64-85b74ba2a5a6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-64247b04-6638-44f9-ab64-85b74ba2a5a6","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":132,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a0d9c739-3388-4b68-a054-8f14bc755367","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-a0d9c739-3388-4b68-a054-8f14bc755367","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":133,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c1525dc7-5378-4326-90c5-ccdf65f18ac0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-c1525dc7-5378-4326-90c5-ccdf65f18ac0","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":134,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-6b311ce8-dd5a-4402-9480-ff7ae533bd72","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-6b311ce8-dd5a-4402-9480-ff7ae533bd72","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":135,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c5c99ee0-512a-4ab5-b928-8a24af4153aa","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-c5c99ee0-512a-4ab5-b928-8a24af4153aa","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":136,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-39f46418-9e6c-4870-be9f-bde1a9b42277","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-39f46418-9e6c-4870-be9f-bde1a9b42277","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":137,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-1bbfc9ef-325a-4f9b-9684-251ec04993a2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/securityRules/Cleanuptool-22-Corpnet-1bbfc9ef-325a-4f9b-9684-251ec04993a2","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":138,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/defaultSecurityRules/AllowVnetInBound","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/defaultSecurityRules/DenyAllInBound","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkSecurityGroups/vm1NSG/defaultSecurityRules/DenyAllOutBound","etag":"W/\"35c1e764-1315-4226-a278-532c020b5382\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkInterfaces/vm1VMNic"}]}},{"name":"groupNSG","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","type":"Microsoft.Network/networkSecurityGroups","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"f2e2dde4-4f56-45bd-af44-b3a846b906e3","securityRules":[{"name":"Cleanuptool-22-Corpnet-404b4e99-a7ad-45d0-bd92-2fb0201f3b47","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-404b4e99-a7ad-45d0-bd92-2fb0201f3b47","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":110,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-3e802cf6-4d68-4e77-bc36-6f37c56f3d78","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-3e802cf6-4d68-4e77-bc36-6f37c56f3d78","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":111,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-e08aeb1e-2c7c-41d3-a494-5fffb84219e5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-e08aeb1e-2c7c-41d3-a494-5fffb84219e5","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":112,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-e464bdb7-3938-4f94-a9a7-ed9d9ba1c46f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-e464bdb7-3938-4f94-a9a7-ed9d9ba1c46f","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":113,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-5c55ce74-7fdf-48a6-8248-d9c39aedc680","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-5c55ce74-7fdf-48a6-8248-d9c39aedc680","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":114,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-bb60e579-bb98-435a-a9b6-dcc1829978da","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-bb60e579-bb98-435a-a9b6-dcc1829978da","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":115,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-626faec4-12a8-4761-81f7-6f023c9d4fa1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-626faec4-12a8-4761-81f7-6f023c9d4fa1","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":116,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-42409472-24f2-4895-8251-bbb0f61a3cf1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-42409472-24f2-4895-8251-bbb0f61a3cf1","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":117,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2e19b523-d91b-4ef1-b3fd-84ae6d9bd7d6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-2e19b523-d91b-4ef1-b3fd-84ae6d9bd7d6","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":118,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-9c78af00-e28a-4aba-97f3-4e54c9d146af","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-9c78af00-e28a-4aba-97f3-4e54c9d146af","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":119,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-b17fae15-cde3-4916-9961-73fb815f92c4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-b17fae15-cde3-4916-9961-73fb815f92c4","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":120,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-f52b45ee-1004-4ca1-b5b8-abb06c685469","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-f52b45ee-1004-4ca1-b5b8-abb06c685469","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":121,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-fc00d90c-ccf9-4b83-8476-02c2945ba038","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-fc00d90c-ccf9-4b83-8476-02c2945ba038","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":122,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-12ef23aa-5c66-4a8a-9af6-5ba39ae63e42","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-12ef23aa-5c66-4a8a-9af6-5ba39ae63e42","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":123,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-b04c365d-31e7-47c4-8d7d-3391b021420c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-b04c365d-31e7-47c4-8d7d-3391b021420c","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":124,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-f6e29414-3399-42b3-8cea-a57033e2b4d4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-f6e29414-3399-42b3-8cea-a57033e2b4d4","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":125,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d5aa2eec-f817-4dc9-ad4a-ae63dd344b32","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-d5aa2eec-f817-4dc9-ad4a-ae63dd344b32","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":126,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-359fce2f-a913-427f-93a6-1825a2a3c715","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-359fce2f-a913-427f-93a6-1825a2a3c715","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":127,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-da837e60-be5f-4039-b531-7501b2e1460d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-da837e60-be5f-4039-b531-7501b2e1460d","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":128,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-20c5a503-ea76-4310-9cd6-c25cf84b34bd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-20c5a503-ea76-4310-9cd6-c25cf84b34bd","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":129,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-28acc0a6-425b-44d9-93e0-c9282197c49d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-28acc0a6-425b-44d9-93e0-c9282197c49d","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":130,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-ef74f5d9-7cd2-44a9-8246-72301aedfae1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-ef74f5d9-7cd2-44a9-8246-72301aedfae1","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":131,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c538aaa7-f284-413a-bff9-61f37d0343ac","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-c538aaa7-f284-413a-bff9-61f37d0343ac","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":132,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-9fb8508b-01b2-42b6-b4fe-3cd3c8dfd465","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-9fb8508b-01b2-42b6-b4fe-3cd3c8dfd465","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":133,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-4d98dc91-1393-4bd2-ab9a-ddedc3f4cb75","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-4d98dc91-1393-4bd2-ab9a-ddedc3f4cb75","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":134,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-fb49cb51-2289-4688-8600-887c9991a051","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-fb49cb51-2289-4688-8600-887c9991a051","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":135,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-00d332e9-87a9-47e7-8bda-6bd45bb458ed","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-00d332e9-87a9-47e7-8bda-6bd45bb458ed","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":136,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a0c4ff40-d39b-49f8-94b9-bd68d0c028ee","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-a0c4ff40-d39b-49f8-94b9-bd68d0c028ee","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":137,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-b477dbeb-6ea2-404c-9c9f-15724412e4b7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/securityRules/Cleanuptool-22-Corpnet-b477dbeb-6ea2-404c-9c9f-15724412e4b7","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":138,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/defaultSecurityRules/AllowVnetInBound","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/defaultSecurityRules/DenyAllInBound","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/groupNSG/defaultSecurityRules/DenyAllOutBound","etag":"W/\"fe69a1c5-2f61-41c3-b4b0-f0c731ea20b7\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkInterfaces/groupVMNic"}]}},{"name":"t-chwong-vmNSG","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","type":"Microsoft.Network/networkSecurityGroups","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"36405ae5-a302-46ca-8fdb-76fe261dbc6b","securityRules":[{"name":"Cleanuptool-22-Corpnet-2a50a9b8-aa7a-46c9-b37b-63fe168d88f0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-2a50a9b8-aa7a-46c9-b37b-63fe168d88f0","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":110,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-475e751d-b4fb-415f-8a90-e08898a78334","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-475e751d-b4fb-415f-8a90-e08898a78334","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":111,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-848f054c-2f44-4df4-ae1a-5ebf421cd43f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-848f054c-2f44-4df4-ae1a-5ebf421cd43f","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":112,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2dba722c-c647-4b42-8502-b117b4f19d2a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-2dba722c-c647-4b42-8502-b117b4f19d2a","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":113,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-00e7f3fd-4a0c-46c2-868c-13d1c9c120d4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-00e7f3fd-4a0c-46c2-868c-13d1c9c120d4","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":114,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-3b3d9a34-0870-4fe0-879f-135bb5ba434b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-3b3d9a34-0870-4fe0-879f-135bb5ba434b","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":115,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-160aaaad-fc8f-4bd5-bf07-dea0d2234b1c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-160aaaad-fc8f-4bd5-bf07-dea0d2234b1c","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":116,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-06dd2ada-5952-42e8-85e8-c0eebd63c02e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-06dd2ada-5952-42e8-85e8-c0eebd63c02e","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":117,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-9a8c4386-616c-4753-b664-7d3fa5291408","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-9a8c4386-616c-4753-b664-7d3fa5291408","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":118,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-eb587bae-b108-4325-b137-317a9c3cb7c4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-eb587bae-b108-4325-b137-317a9c3cb7c4","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":119,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-da9cc5de-5fc5-490b-8315-d07a7724e020","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-da9cc5de-5fc5-490b-8315-d07a7724e020","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":120,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-9342a78b-840f-4adc-ad1b-70ab25185636","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-9342a78b-840f-4adc-ad1b-70ab25185636","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":121,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-b15df726-b67d-4d98-ae7a-cfb7a6e1a480","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-b15df726-b67d-4d98-ae7a-cfb7a6e1a480","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":122,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a505059e-c662-473d-9b24-62c7e3f263fc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-a505059e-c662-473d-9b24-62c7e3f263fc","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":123,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-112849d9-4043-433c-9ea0-664e58570e62","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-112849d9-4043-433c-9ea0-664e58570e62","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":124,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-e0f4cf73-2704-4434-86da-229132c42b76","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-e0f4cf73-2704-4434-86da-229132c42b76","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":125,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-1835ba76-2ed3-41e1-83f4-6e08dff63a3f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-1835ba76-2ed3-41e1-83f4-6e08dff63a3f","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":126,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-0161cdbb-43ca-4748-9d85-c1ea927fb82f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-0161cdbb-43ca-4748-9d85-c1ea927fb82f","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":127,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-19cf3a8d-94a3-48de-8404-f42ca82b1bec","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-19cf3a8d-94a3-48de-8404-f42ca82b1bec","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":128,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c2919bf3-78c9-4921-a4ae-cf921e99daf2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-c2919bf3-78c9-4921-a4ae-cf921e99daf2","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":129,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2b8e359f-5bc1-4923-887d-10a62a923d28","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-2b8e359f-5bc1-4923-887d-10a62a923d28","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":130,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-16a50fdb-277b-4f8f-afe7-d9c06a145e31","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-16a50fdb-277b-4f8f-afe7-d9c06a145e31","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":131,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-7c1f64a2-f071-4aaa-b690-3070bf605d98","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-7c1f64a2-f071-4aaa-b690-3070bf605d98","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":132,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-732ffe4c-1490-4bf8-bd52-fdd96acbdaa9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-732ffe4c-1490-4bf8-bd52-fdd96acbdaa9","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":133,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-cf43584d-fc75-4f2a-bfc0-7839417cbe56","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-cf43584d-fc75-4f2a-bfc0-7839417cbe56","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":134,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-f6f3a5bd-34f3-499c-941e-682806325cf4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-f6f3a5bd-34f3-499c-941e-682806325cf4","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":135,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-4110ddeb-7a55-4a83-bb73-10167631c9e2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-4110ddeb-7a55-4a83-bb73-10167631c9e2","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":136,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-7fbfa514-e316-46ed-b174-8cdaee9f2513","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-7fbfa514-e316-46ed-b174-8cdaee9f2513","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":137,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c0789f01-8968-4886-a4ff-00a7fda0979d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/securityRules/Cleanuptool-22-Corpnet-c0789f01-8968-4886-a4ff-00a7fda0979d","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":138,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/defaultSecurityRules/AllowVnetInBound","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/defaultSecurityRules/DenyAllInBound","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkSecurityGroups/t-chwong-vmNSG/defaultSecurityRules/DenyAllOutBound","etag":"W/\"2aea68ba-f10d-4f58-99ad-af019a869c9f\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkInterfaces/t-chwong-vmVMNic"}]}},{"name":"test-vm-1NSG","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","type":"Microsoft.Network/networkSecurityGroups","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"93e8bb06-7f6a-41d1-a0a0-33fd224c10a6","securityRules":[{"name":"Cleanuptool-22-Corpnet-b1c9a33c-2954-46e9-a5dd-81cf5ff24e6e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-b1c9a33c-2954-46e9-a5dd-81cf5ff24e6e","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":110,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-200f91b6-3aa5-40b4-8285-118311e110c3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-200f91b6-3aa5-40b4-8285-118311e110c3","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":111,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-02c46f61-4f58-4171-8a75-1fab41c5b19b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-02c46f61-4f58-4171-8a75-1fab41c5b19b","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":112,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-0a0519c7-ec3d-45d7-bbfe-2fae7fd8cfc0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-0a0519c7-ec3d-45d7-bbfe-2fae7fd8cfc0","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":113,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-39491985-ddab-449f-af5a-2cc7db1ade64","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-39491985-ddab-449f-af5a-2cc7db1ade64","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":114,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2caa5f06-8e6a-4204-9575-c4261b59ed37","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-2caa5f06-8e6a-4204-9575-c4261b59ed37","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":115,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2022e31d-ae3e-4cb8-8fa9-ca1dd720791b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-2022e31d-ae3e-4cb8-8fa9-ca1dd720791b","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":116,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-ae303511-41f9-4864-b4fe-916da053a366","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-ae303511-41f9-4864-b4fe-916da053a366","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":117,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-04494037-2cda-4fe9-886d-79b6085f212c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-04494037-2cda-4fe9-886d-79b6085f212c","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":118,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-e82be5ab-54a7-4bfb-ba78-edefa19e1c44","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-e82be5ab-54a7-4bfb-ba78-edefa19e1c44","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":119,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-90d33e6e-f8d6-46ee-a93c-2f60908f0b1b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-90d33e6e-f8d6-46ee-a93c-2f60908f0b1b","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":120,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-55e1abe0-0139-47b2-8316-d68d18ba1ab7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-55e1abe0-0139-47b2-8316-d68d18ba1ab7","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":121,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-5ef5784c-7011-46a0-9c79-4d57511595f4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-5ef5784c-7011-46a0-9c79-4d57511595f4","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":122,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-6dfda0a8-3730-4326-96be-3b9399e252fb","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-6dfda0a8-3730-4326-96be-3b9399e252fb","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":123,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-deb63105-0134-43dd-ae5f-e94f8a808851","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-deb63105-0134-43dd-ae5f-e94f8a808851","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":124,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-1606eefa-9ba1-4550-bb0b-6244760edcb1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-1606eefa-9ba1-4550-bb0b-6244760edcb1","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":125,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-1d9dc4c0-5829-4558-a9a4-b6f7070ea616","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-1d9dc4c0-5829-4558-a9a4-b6f7070ea616","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":126,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-ddb34e72-8cc7-417e-96d3-d528211cbba6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-ddb34e72-8cc7-417e-96d3-d528211cbba6","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":127,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-7b6807d3-516e-400f-bbbc-ca600ae66918","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-7b6807d3-516e-400f-bbbc-ca600ae66918","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":128,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-b066417c-c3a6-454c-bbff-71e6ad70701e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-b066417c-c3a6-454c-bbff-71e6ad70701e","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":129,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-4ae2075d-624a-43d1-8efd-2a219e89be0f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-4ae2075d-624a-43d1-8efd-2a219e89be0f","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":130,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-892e4450-efa8-467b-afa0-e95063deb8ce","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-892e4450-efa8-467b-afa0-e95063deb8ce","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":131,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-aaf36ec7-9ad8-4084-9b6c-812e19653308","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-aaf36ec7-9ad8-4084-9b6c-812e19653308","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":132,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-4d6ba2c1-9c7a-41c0-80ac-77435fdee820","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-4d6ba2c1-9c7a-41c0-80ac-77435fdee820","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":133,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-b0b334d9-2a69-475a-91bc-07b08ff7b88c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-b0b334d9-2a69-475a-91bc-07b08ff7b88c","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":134,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-acc32ebe-0d3f-40bd-b85a-7e8a51411455","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-acc32ebe-0d3f-40bd-b85a-7e8a51411455","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":135,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-348154c9-6a6a-4b2e-b429-6fb2ca1acdfc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-348154c9-6a6a-4b2e-b429-6fb2ca1acdfc","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":136,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a788bcf2-c81a-432e-9569-965501fd809a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-a788bcf2-c81a-432e-9569-965501fd809a","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":137,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-dcb0746c-dfb4-49e2-afa1-dc49c1b33b41","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Cleanuptool-22-Corpnet-dcb0746c-dfb4-49e2-afa1-dc49c1b33b41","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":138,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Port_22","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/securityRules/Port_22","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","protocol":"*","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"*","destinationAddressPrefix":"13.66.26.61","access":"Allow","priority":100,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/defaultSecurityRules/AllowVnetInBound","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/defaultSecurityRules/DenyAllInBound","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-1NSG/defaultSecurityRules/DenyAllOutBound","etag":"W/\"93b74ab0-f6d0-4e66-a324-f75b5bbfdd96\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkInterfaces/test-vm-1VMNic"}]}},{"name":"test-vm-2NSG","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","type":"Microsoft.Network/networkSecurityGroups","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"11f7a02f-7745-463f-9df5-344c5ddfcf1b","securityRules":[{"name":"Cleanuptool-22-Corpnet-6a96d50a-5121-47bf-91b9-4950179167e4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-6a96d50a-5121-47bf-91b9-4950179167e4","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":110,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-14774556-abfc-421b-91a1-b12a3fb5e147","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-14774556-abfc-421b-91a1-b12a3fb5e147","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":111,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-9c43fa27-460c-4225-bc42-0879af6c6983","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-9c43fa27-460c-4225-bc42-0879af6c6983","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":112,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-de4ea9ad-5a00-48bd-b827-59ce45a21924","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-de4ea9ad-5a00-48bd-b827-59ce45a21924","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":113,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2e65b9c5-006b-4b21-a1db-c4ddd654d0c1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-2e65b9c5-006b-4b21-a1db-c4ddd654d0c1","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":114,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-02b324ba-0089-4550-a14d-c262773979ff","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-02b324ba-0089-4550-a14d-c262773979ff","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":115,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d3a9c5d5-3bf8-4f4a-9dc4-288d51dcde86","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-d3a9c5d5-3bf8-4f4a-9dc4-288d51dcde86","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":116,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-8527e2c3-3157-49a0-9760-5415a26aaeb7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-8527e2c3-3157-49a0-9760-5415a26aaeb7","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":117,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-fab8e39f-4a8a-410c-a0b0-199737b4a1ad","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-fab8e39f-4a8a-410c-a0b0-199737b4a1ad","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":118,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d6f8861b-cb26-41df-9817-7098ebc1e140","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-d6f8861b-cb26-41df-9817-7098ebc1e140","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":119,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c6513b8f-076a-421f-95c5-3cf0a9ddcc6f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-c6513b8f-076a-421f-95c5-3cf0a9ddcc6f","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":120,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-0b8c3a3d-485a-4730-bd45-db29aaebb5b3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-0b8c3a3d-485a-4730-bd45-db29aaebb5b3","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":121,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-7c4a1559-77be-4a0c-bb1c-260a63d0f215","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-7c4a1559-77be-4a0c-bb1c-260a63d0f215","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":122,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-4f50ae40-e0e8-402c-9cd1-544a119df8f2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-4f50ae40-e0e8-402c-9cd1-544a119df8f2","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":123,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-37296631-ad14-4d79-9872-f5f7d3f589c9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-37296631-ad14-4d79-9872-f5f7d3f589c9","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":124,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d2f3c276-e775-42ac-a757-a86bc1f2ec4d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-d2f3c276-e775-42ac-a757-a86bc1f2ec4d","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":125,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-0828677d-7832-41b9-81c9-7e91d5dae351","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-0828677d-7832-41b9-81c9-7e91d5dae351","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":126,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-9b71df93-70e8-4521-a98c-395e98001917","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-9b71df93-70e8-4521-a98c-395e98001917","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":127,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-cbb2b994-8724-4945-913c-983582621ce8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-cbb2b994-8724-4945-913c-983582621ce8","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":128,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-68ced30a-ac66-467d-a1bb-835d14e0554e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-68ced30a-ac66-467d-a1bb-835d14e0554e","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":129,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-0d7e1365-9f9e-4f15-924c-e8a4c38c27b3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-0d7e1365-9f9e-4f15-924c-e8a4c38c27b3","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":130,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c34fdd5f-ad23-4bd4-aa90-8043bcbb08d5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-c34fdd5f-ad23-4bd4-aa90-8043bcbb08d5","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":131,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-36af81dd-1e57-4f31-98a3-c06219efa36d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-36af81dd-1e57-4f31-98a3-c06219efa36d","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":132,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-bf818645-504c-40bd-8b93-de5bb7924e80","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-bf818645-504c-40bd-8b93-de5bb7924e80","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":133,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-e828f703-c915-44b2-9558-be189a9f18ed","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-e828f703-c915-44b2-9558-be189a9f18ed","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":134,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-09553d6f-070a-4684-811e-dbcaf05eb5e5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-09553d6f-070a-4684-811e-dbcaf05eb5e5","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":135,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-0151a556-b1a7-4a89-83a5-b3e0565dd631","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-0151a556-b1a7-4a89-83a5-b3e0565dd631","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":136,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-e939012f-3963-4d2d-827e-211c1d8d9a41","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-e939012f-3963-4d2d-827e-211c1d8d9a41","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":137,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-5d6ec846-a2f5-48fa-8d7a-ceee2a29e108","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/securityRules/Cleanuptool-22-Corpnet-5d6ec846-a2f5-48fa-8d7a-ceee2a29e108","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","protocol":"Tcp","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":138,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/defaultSecurityRules/AllowVnetInBound","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","description":"Allow - inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/defaultSecurityRules/DenyAllInBound","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","description":"Deny - all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","description":"Allow - outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkSecurityGroups/test-vm-2NSG/defaultSecurityRules/DenyAllOutBound","etag":"W/\"0e04ca25-824e-4034-b5ef-a8aeae2e0f53\"","properties":{"provisioningState":"Succeeded","description":"Deny - all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkInterfaces/test-vm-2VMNic"}]}}]}'} + all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}]}},{"name":"amareh-nsg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"0ba19b47-4178-426e-97a7-5f69a02532cd","securityRules":[{"name":"HTTP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/HTTP","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"80","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":300,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"HTTPS","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/HTTPS","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"443","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":320,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"SSH","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/SSH","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":340,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"RDP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/RDP","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":360,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d2f40335-c8f2-4bca-8c30-b6041d56922c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-d2f40335-c8f2-4bca-8c30-b6041d56922c","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":110,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-4a89cc84-cc94-412f-989d-b9ec03956fac","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-4a89cc84-cc94-412f-989d-b9ec03956fac","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":111,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-40ecaf0f-9547-41c1-bfc6-f56169a39904","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-40ecaf0f-9547-41c1-bfc6-f56169a39904","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":112,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2c7299e0-55b8-4ef2-ab7a-d27f4df21107","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-2c7299e0-55b8-4ef2-ab7a-d27f4df21107","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":113,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-dc920f0c-2368-4797-9081-ebedddda6087","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-dc920f0c-2368-4797-9081-ebedddda6087","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":114,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-f84c56ae-ceed-4929-97b0-31ceb7bcf523","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-f84c56ae-ceed-4929-97b0-31ceb7bcf523","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":115,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c31188f5-038a-483c-b75c-cc4b1558849c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-c31188f5-038a-483c-b75c-cc4b1558849c","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":116,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-aadc81eb-7617-4692-b95a-b11076faba65","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-aadc81eb-7617-4692-b95a-b11076faba65","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":117,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-133b76db-7ae8-4f5a-867d-7c5118dea7bd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-133b76db-7ae8-4f5a-867d-7c5118dea7bd","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":118,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2d68488c-7d4d-46ef-aab6-89b0e6b5598d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-2d68488c-7d4d-46ef-aab6-89b0e6b5598d","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":119,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-4d58aaaf-c562-4051-890a-8675cb115371","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-4d58aaaf-c562-4051-890a-8675cb115371","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":120,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-9e07b43a-1cd2-45a7-b2ff-db9b602b41ce","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-9e07b43a-1cd2-45a7-b2ff-db9b602b41ce","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":121,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-45bb8189-aa48-470e-8b29-3e2f30dac311","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-45bb8189-aa48-470e-8b29-3e2f30dac311","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":122,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-b70191c2-9ae7-4342-8cd9-e6e521a7a508","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-b70191c2-9ae7-4342-8cd9-e6e521a7a508","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":123,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-e0188589-abf9-41b0-a96b-21d124a0082b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-e0188589-abf9-41b0-a96b-21d124a0082b","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":124,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-8927a228-447c-48c0-93fb-7bac39a26cb6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-8927a228-447c-48c0-93fb-7bac39a26cb6","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":125,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-5dff9bfb-3e95-4bd5-9b70-0a564e6c8bf8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-5dff9bfb-3e95-4bd5-9b70-0a564e6c8bf8","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":126,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-b921323c-be25-47b7-ab97-2dbda5d0d46a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-b921323c-be25-47b7-ab97-2dbda5d0d46a","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":127,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-6a9d0c02-5d31-45f4-a2ed-6d2165c98b3a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-6a9d0c02-5d31-45f4-a2ed-6d2165c98b3a","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":128,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-1e2ff37d-0955-4acb-ad83-9d9f39299b21","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-1e2ff37d-0955-4acb-ad83-9d9f39299b21","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":129,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-f04267c0-91ec-488e-aa20-a6ae14dfebaa","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-f04267c0-91ec-488e-aa20-a6ae14dfebaa","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":130,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-803e484d-7faa-4555-86d6-bee1d73b9290","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-803e484d-7faa-4555-86d6-bee1d73b9290","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":131,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-dfef7be4-887b-4a63-b1d0-fa6ce9ff45e1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-dfef7be4-887b-4a63-b1d0-fa6ce9ff45e1","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":132,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-0447975e-0a93-4d2d-abac-2f1f2298d086","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-0447975e-0a93-4d2d-abac-2f1f2298d086","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":133,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-f3eebd24-b103-4a88-b855-c254d2fc98c2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-f3eebd24-b103-4a88-b855-c254d2fc98c2","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":134,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-6bfc3a2f-084d-405d-a907-ed8de808998e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-6bfc3a2f-084d-405d-a907-ed8de808998e","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":135,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-29d01d08-a764-4295-96bf-653cedc8d9c5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-29d01d08-a764-4295-96bf-653cedc8d9c5","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":136,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-3e2df171-16a6-4a30-bf4d-89807ed51d59","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-3e2df171-16a6-4a30-bf4d-89807ed51d59","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":137,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-041d2b88-62c7-4ad3-99a6-49dc6944ff66","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-22-Corpnet-041d2b88-62c7-4ad3-99a6-49dc6944ff66","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":138,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-db54d149-40e4-44fe-8269-4d7fe7e9156c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-db54d149-40e4-44fe-8269-4d7fe7e9156c","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":139,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-de4d57a8-cb71-4833-b43b-c3d8239a2467","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-de4d57a8-cb71-4833-b43b-c3d8239a2467","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":140,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9f6ea0b1-97ab-43b2-9c12-f2b3dc5a4327","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-9f6ea0b1-97ab-43b2-9c12-f2b3dc5a4327","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":141,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ec9abbd4-0cfb-422b-8d46-e23205f4566e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-ec9abbd4-0cfb-422b-8d46-e23205f4566e","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":142,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-bb97ed69-e30f-49c8-8f41-6474b5507758","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-bb97ed69-e30f-49c8-8f41-6474b5507758","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":143,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-847a4ea5-abbd-415f-b287-4d3ce190badf","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-847a4ea5-abbd-415f-b287-4d3ce190badf","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":144,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-2c46ef66-4f08-4766-aa9c-eb4ab14048f1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-2c46ef66-4f08-4766-aa9c-eb4ab14048f1","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":145,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-7051ba76-18a0-4cd2-9f4d-2c297b504acf","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-7051ba76-18a0-4cd2-9f4d-2c297b504acf","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":146,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-e7b51719-7c41-4d32-986b-46c977e4142d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-e7b51719-7c41-4d32-986b-46c977e4142d","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":147,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b3ae1482-4bc5-4271-85c7-c0676ea68243","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-b3ae1482-4bc5-4271-85c7-c0676ea68243","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":148,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-2f456a52-f6fa-4906-9220-29e403b069ef","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-2f456a52-f6fa-4906-9220-29e403b069ef","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":149,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-09bfadb8-4049-428c-9664-33d648c2eeec","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-09bfadb8-4049-428c-9664-33d648c2eeec","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":150,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-f5316475-b3e6-4c12-8345-8e0ea2394e49","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-f5316475-b3e6-4c12-8345-8e0ea2394e49","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":151,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-52164c28-7fcc-42dd-b062-910e91c96815","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-52164c28-7fcc-42dd-b062-910e91c96815","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":152,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-1d587456-1138-4602-a493-430107458cab","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-1d587456-1138-4602-a493-430107458cab","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":153,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-39116fef-b33b-45ae-813a-83236248fe1a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-39116fef-b33b-45ae-813a-83236248fe1a","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":154,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-7f008ca6-da14-4f56-b207-71fb4fb2001f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-7f008ca6-da14-4f56-b207-71fb4fb2001f","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":155,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b02db1f0-9f4b-4980-8c1d-bd766efaa402","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-b02db1f0-9f4b-4980-8c1d-bd766efaa402","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":156,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-cace201e-65ba-4de7-be61-795239a300e1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-cace201e-65ba-4de7-be61-795239a300e1","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":157,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b19fe543-83a6-4f48-a2a0-894b232badaf","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-b19fe543-83a6-4f48-a2a0-894b232badaf","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":158,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-1808e536-602f-44b9-946d-cd016de6c6a7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-1808e536-602f-44b9-946d-cd016de6c6a7","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":159,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-7951d568-7aec-44e1-a33a-0c9abd06e377","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-7951d568-7aec-44e1-a33a-0c9abd06e377","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":160,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9f053078-8d52-41b7-a143-eccd9a71fc4d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-9f053078-8d52-41b7-a143-eccd9a71fc4d","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":161,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-98d9c511-c8c7-4917-a8f1-8e96477a090e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-98d9c511-c8c7-4917-a8f1-8e96477a090e","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":162,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-4c2f1d98-4f33-4345-b04e-704bdd836e36","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-4c2f1d98-4f33-4345-b04e-704bdd836e36","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":163,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9c997c78-c045-4d27-85b1-9c76d4e52b16","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-9c997c78-c045-4d27-85b1-9c76d4e52b16","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":164,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b117fa56-3760-4d75-b9ba-bd5335733833","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-b117fa56-3760-4d75-b9ba-bd5335733833","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":165,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-215582b3-516e-4f2a-9207-65f05ccb046d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-215582b3-516e-4f2a-9207-65f05ccb046d","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":166,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9e7e0f00-a67a-43df-9fe0-295b80e728f5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/securityRules/Cleanuptool-3389-Corpnet-9e7e0f00-a67a-43df-9fe0-295b80e728f5","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":167,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/defaultSecurityRules/AllowVnetInBound","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","description":"Allow + inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","description":"Allow + inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/defaultSecurityRules/DenyAllInBound","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","description":"Deny + all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","description":"Allow + outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","description":"Allow + outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh-nsg/defaultSecurityRules/DenyAllOutBound","etag":"W/\"1d38a9e5-a4d0-4558-b229-bcc02b8629c8\"","properties":{"provisioningState":"Succeeded","description":"Deny + all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amareh554"}]}},{"name":"amareh2-nsg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"7a7372d2-ac69-4f74-b3e3-76b85c51ec33","securityRules":[{"name":"RDP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/RDP","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":300,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"SSH","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/SSH","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":320,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"HTTPS","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/HTTPS","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"443","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":340,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"HTTP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/HTTP","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"80","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":360,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-34b1af58-96b5-4553-99c9-33c6bef9f7e5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-34b1af58-96b5-4553-99c9-33c6bef9f7e5","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":110,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-5420b326-9c1f-4442-984d-030b9f00d2b0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-5420b326-9c1f-4442-984d-030b9f00d2b0","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":111,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-6cdb9011-dc6c-4076-aafb-036ba4b78d30","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-6cdb9011-dc6c-4076-aafb-036ba4b78d30","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":112,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-33c786c0-3813-4f57-a7a6-13f13bf7d47a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-33c786c0-3813-4f57-a7a6-13f13bf7d47a","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":113,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-74461eb8-a98f-44d6-bb66-13ec83f7fbbc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-74461eb8-a98f-44d6-bb66-13ec83f7fbbc","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":114,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-8a249c95-cea5-41d1-8266-5f237d30c025","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-8a249c95-cea5-41d1-8266-5f237d30c025","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":115,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-c3fbcb10-2ccd-4958-b247-0b2d59a096b7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-c3fbcb10-2ccd-4958-b247-0b2d59a096b7","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":116,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-2eb75624-4101-41f0-9a47-8b3e0cd22a6f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-2eb75624-4101-41f0-9a47-8b3e0cd22a6f","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":117,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-afdc97dd-c6a9-456f-9a36-654962b66824","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-afdc97dd-c6a9-456f-9a36-654962b66824","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":118,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-1c0369f1-1d70-483d-9429-b0b9e2e95265","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-1c0369f1-1d70-483d-9429-b0b9e2e95265","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":119,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-16387c8d-0dc0-439d-a25b-d11d5dc4983d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-16387c8d-0dc0-439d-a25b-d11d5dc4983d","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":120,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-f2497d79-370c-4a5c-9442-383c8cd0ca3b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-f2497d79-370c-4a5c-9442-383c8cd0ca3b","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":121,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-830dfc90-3637-44d7-bda2-b6c22bf28abb","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-830dfc90-3637-44d7-bda2-b6c22bf28abb","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":122,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ed07f725-a887-4a6e-9ad3-368dbe3fc01f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-ed07f725-a887-4a6e-9ad3-368dbe3fc01f","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":123,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-8186dc0e-24a7-4c97-929c-748e42fd64d6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-8186dc0e-24a7-4c97-929c-748e42fd64d6","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":124,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-17773468-94d6-4651-9f8c-73dbe10d4f91","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-17773468-94d6-4651-9f8c-73dbe10d4f91","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":125,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-040985a9-71b3-48c9-8ce5-59b2526de106","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-040985a9-71b3-48c9-8ce5-59b2526de106","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":126,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d53f0e3b-85f3-40fe-ab39-721009a4d9b1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-d53f0e3b-85f3-40fe-ab39-721009a4d9b1","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":127,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ddd38089-91e6-4695-9e29-b6310ccf200b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-ddd38089-91e6-4695-9e29-b6310ccf200b","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":128,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b75a2246-52fd-4ce8-8afb-d39bae754d5b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-b75a2246-52fd-4ce8-8afb-d39bae754d5b","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":129,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-0e8e97fb-a6f8-4c90-9ef3-c0f448f964f9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-0e8e97fb-a6f8-4c90-9ef3-c0f448f964f9","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":130,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d0a38836-3abe-424d-a06c-30d24dcda928","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-d0a38836-3abe-424d-a06c-30d24dcda928","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":131,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-4f8b1675-13c0-4e9c-9cc9-99de11a82914","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-4f8b1675-13c0-4e9c-9cc9-99de11a82914","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":132,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-7f5db0cd-b198-42be-a9b7-f363f05267b5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-7f5db0cd-b198-42be-a9b7-f363f05267b5","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":133,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-49163639-d729-450c-a3ff-dfa3a42808de","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-49163639-d729-450c-a3ff-dfa3a42808de","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":134,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b2a9a290-684b-4879-9af2-74327f7a1ac3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-b2a9a290-684b-4879-9af2-74327f7a1ac3","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":135,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-fc1b63f3-b538-4427-8d5d-df268ab7c68c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-fc1b63f3-b538-4427-8d5d-df268ab7c68c","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":136,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-76f742cc-78b4-4d91-a5b2-c11bb9d5d90b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-76f742cc-78b4-4d91-a5b2-c11bb9d5d90b","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":137,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-68586b68-9c7e-42c7-a31c-f5a8e784a16c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-3389-Corpnet-68586b68-9c7e-42c7-a31c-f5a8e784a16c","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":138,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-37d26ac0-89fb-46c0-8d34-5e811281b6bd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-37d26ac0-89fb-46c0-8d34-5e811281b6bd","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":139,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a579fe02-3151-4fe1-ac41-9c44a5408846","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-a579fe02-3151-4fe1-ac41-9c44a5408846","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":140,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-7e43ad4f-7769-4cbb-801b-6915c89da807","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-7e43ad4f-7769-4cbb-801b-6915c89da807","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":141,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c0cab64f-8703-477d-b19c-b8f6d6372e54","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-c0cab64f-8703-477d-b19c-b8f6d6372e54","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":142,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a33a7aa4-cf36-4973-8c53-8a58c2f7eab1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-a33a7aa4-cf36-4973-8c53-8a58c2f7eab1","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":143,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-0efe35eb-e3e6-44d9-ba1b-0ece1cfba308","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-0efe35eb-e3e6-44d9-ba1b-0ece1cfba308","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":144,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-50511643-afa8-44dd-9a33-fee0c224e46b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-50511643-afa8-44dd-9a33-fee0c224e46b","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":145,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-90a7d25b-1e31-4823-ba24-2cdc738a9825","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-90a7d25b-1e31-4823-ba24-2cdc738a9825","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":146,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-61de4a59-0a8c-4578-a7a3-5f756f4ef2a1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-61de4a59-0a8c-4578-a7a3-5f756f4ef2a1","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":147,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-9f926b82-1db1-43a4-a7b4-20b628740407","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-9f926b82-1db1-43a4-a7b4-20b628740407","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":148,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-08c7a6e0-aab5-4f41-8115-dcb9448b323e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-08c7a6e0-aab5-4f41-8115-dcb9448b323e","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":149,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-7d290bee-4c6a-4c5d-ba17-998d0a05ded7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-7d290bee-4c6a-4c5d-ba17-998d0a05ded7","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":150,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a8cb0dbf-7414-4680-b01c-f83d87690a15","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-a8cb0dbf-7414-4680-b01c-f83d87690a15","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":151,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-cc6b9477-b2a6-4481-a84f-158482f338e8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-cc6b9477-b2a6-4481-a84f-158482f338e8","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":152,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-3c6ef17c-363e-4e95-b39e-af8f53681e5f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-3c6ef17c-363e-4e95-b39e-af8f53681e5f","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":153,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-eb8a4772-1b0b-4173-8126-3d4b5f5613a3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-eb8a4772-1b0b-4173-8126-3d4b5f5613a3","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":154,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-46b0b6b1-03ca-45d4-a344-6bfa4b1dc4b0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-46b0b6b1-03ca-45d4-a344-6bfa4b1dc4b0","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":155,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-4ef411c0-d4a8-497f-8e23-d1c5e37906f2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-4ef411c0-d4a8-497f-8e23-d1c5e37906f2","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":156,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-6063a19e-a968-4bf3-83c7-a812b5d024a3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-6063a19e-a968-4bf3-83c7-a812b5d024a3","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":157,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-94e71a09-20d0-4428-8a3d-f16508cd935e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-94e71a09-20d0-4428-8a3d-f16508cd935e","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":158,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-60542a35-5df4-46d2-9a2f-408559bb846f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-60542a35-5df4-46d2-9a2f-408559bb846f","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":159,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-9a2defa8-8b0e-4171-840b-fdbc02a52385","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-9a2defa8-8b0e-4171-840b-fdbc02a52385","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":160,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-38c2addc-fd31-41d9-8490-e3b7b178f2d8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-38c2addc-fd31-41d9-8490-e3b7b178f2d8","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":161,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-56035bd2-833f-478a-8bad-b8fddaee04d9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-56035bd2-833f-478a-8bad-b8fddaee04d9","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":162,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-25dc66be-30aa-44c7-b04f-d9e25f2016cd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-25dc66be-30aa-44c7-b04f-d9e25f2016cd","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":163,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-0adbdf02-36c2-42be-985a-c4775887b6c6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-0adbdf02-36c2-42be-985a-c4775887b6c6","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":164,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2dfd6291-4fdc-4299-9e9a-70bf28c5b32f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-2dfd6291-4fdc-4299-9e9a-70bf28c5b32f","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":165,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-e4668a52-65eb-48bd-8123-93d29f6a836c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-e4668a52-65eb-48bd-8123-93d29f6a836c","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":166,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-10cd10d0-acf6-4536-a5a9-777ed7afc272","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/securityRules/Cleanuptool-22-Corpnet-10cd10d0-acf6-4536-a5a9-777ed7afc272","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":167,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/defaultSecurityRules/AllowVnetInBound","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","description":"Allow + inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","description":"Allow + inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/defaultSecurityRules/DenyAllInBound","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","description":"Deny + all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","description":"Allow + outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","description":"Allow + outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh2-nsg/defaultSecurityRules/DenyAllOutBound","etag":"W/\"0cb4c39c-d3cc-4ecd-b03e-b6291bde708e\"","properties":{"provisioningState":"Succeeded","description":"Deny + all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amareh2451"}]}},{"name":"amareh3-nsg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"e87fb0ab-c933-4dc7-ae06-f1bd52cf150c","securityRules":[{"name":"HTTP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/HTTP","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"80","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":300,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"HTTPS","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/HTTPS","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"443","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":320,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"SSH","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/SSH","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":340,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"RDP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/RDP","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":360,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-fd1696bb-bc60-41ea-8455-76afa16ea241","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-fd1696bb-bc60-41ea-8455-76afa16ea241","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":110,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-bea66e70-e311-42c8-a061-b1489239bae4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-bea66e70-e311-42c8-a061-b1489239bae4","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":111,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-df239e43-f9cf-4371-bab0-a4d50c5278d2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-df239e43-f9cf-4371-bab0-a4d50c5278d2","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":112,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-97556cbd-9969-40e1-8cfb-c665a6867d16","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-97556cbd-9969-40e1-8cfb-c665a6867d16","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":113,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-24fca865-3cbc-4601-8d1b-da37ca8fa4d4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-24fca865-3cbc-4601-8d1b-da37ca8fa4d4","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":114,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9a928e3b-a900-4339-8f83-4c251b22f5fc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-9a928e3b-a900-4339-8f83-4c251b22f5fc","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":115,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d73665b0-f4b1-449f-9cdc-ba465c70252d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-d73665b0-f4b1-449f-9cdc-ba465c70252d","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":116,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9944af57-3210-40ef-8f2d-ae5d4d8a5d00","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-9944af57-3210-40ef-8f2d-ae5d4d8a5d00","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":117,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-722fcb87-7b32-4171-98da-eb38a3619e26","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-722fcb87-7b32-4171-98da-eb38a3619e26","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":118,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ca5df7a2-6aef-4d81-9124-12a77aeb79a7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-ca5df7a2-6aef-4d81-9124-12a77aeb79a7","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":119,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-83ec58cd-e017-4053-8c3c-e211898d6b25","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-83ec58cd-e017-4053-8c3c-e211898d6b25","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":120,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d4e2b628-fb28-4982-b4ec-9ca05f36f0d0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-d4e2b628-fb28-4982-b4ec-9ca05f36f0d0","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":121,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-313f1c0e-e4c6-4182-9b8a-de6d0acd53bc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-313f1c0e-e4c6-4182-9b8a-de6d0acd53bc","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":122,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-2c8604b6-9102-4cce-9e1b-eb9377fc44f0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-2c8604b6-9102-4cce-9e1b-eb9377fc44f0","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":123,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-bfd19ba5-0645-4a14-ae0f-c1b12976198f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-bfd19ba5-0645-4a14-ae0f-c1b12976198f","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":124,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-f68c321d-cd40-46d6-98f2-00252dd172d1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-f68c321d-cd40-46d6-98f2-00252dd172d1","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":125,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b4ea2919-4a92-49f9-8871-66d2b28d93bd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-b4ea2919-4a92-49f9-8871-66d2b28d93bd","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":126,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-315da4fc-58a1-41e3-a88f-201dfa78bc02","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-315da4fc-58a1-41e3-a88f-201dfa78bc02","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":127,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-71813744-3437-45f9-88a0-e8b9a1a23d0c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-71813744-3437-45f9-88a0-e8b9a1a23d0c","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":128,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ead72397-a415-41c2-b435-48d7004893a9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-ead72397-a415-41c2-b435-48d7004893a9","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":129,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-7e1e13a9-c0ab-4db0-9558-8703f21a76ad","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-7e1e13a9-c0ab-4db0-9558-8703f21a76ad","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":130,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-be9ec689-a906-4ea1-91e5-7a6ceee7ba73","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-be9ec689-a906-4ea1-91e5-7a6ceee7ba73","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":131,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-c20e9e82-0ba6-4d82-a3b7-41c2c0f3cad7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-c20e9e82-0ba6-4d82-a3b7-41c2c0f3cad7","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":132,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-20126277-2d3a-4fa5-9b91-17971d6af689","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-20126277-2d3a-4fa5-9b91-17971d6af689","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":133,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-4e79dcb9-9240-4d4d-ac4e-5851ae9c519c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-4e79dcb9-9240-4d4d-ac4e-5851ae9c519c","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":134,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9b9c672c-632e-45c6-a36e-7e703d3fecfb","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-9b9c672c-632e-45c6-a36e-7e703d3fecfb","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":135,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-256895bb-ff2c-4bad-bb5a-5049f83050eb","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-256895bb-ff2c-4bad-bb5a-5049f83050eb","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":136,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-07eefa72-959a-48c7-9634-9547dd5bf565","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-07eefa72-959a-48c7-9634-9547dd5bf565","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":137,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-ccee5e95-9c96-4104-bf73-0c5c1d49eb4f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-3389-Corpnet-ccee5e95-9c96-4104-bf73-0c5c1d49eb4f","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":138,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d588c1c5-9705-49c6-bf87-a5794da3f979","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-d588c1c5-9705-49c6-bf87-a5794da3f979","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":139,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-f668d073-8902-4455-a7d1-eb139573d13a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-f668d073-8902-4455-a7d1-eb139573d13a","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":140,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-60df5e04-36f3-45ca-af96-dc898745cde5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-60df5e04-36f3-45ca-af96-dc898745cde5","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":141,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-f162eeb2-d88a-44a4-aac3-fea3e06ae511","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-f162eeb2-d88a-44a4-aac3-fea3e06ae511","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":142,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a9063996-76b8-4079-8f22-94190bb1699a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-a9063996-76b8-4079-8f22-94190bb1699a","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":143,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-7aba7938-bf29-4d29-a168-1767bf300cfd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-7aba7938-bf29-4d29-a168-1767bf300cfd","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":144,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-7d8714cd-f319-4fc5-b049-fa3b3b59ac17","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-7d8714cd-f319-4fc5-b049-fa3b3b59ac17","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":145,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a3a86774-efd9-4961-bb34-d4b562470830","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-a3a86774-efd9-4961-bb34-d4b562470830","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":146,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2e123231-f069-41d2-b46e-f250ca7e3ef4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-2e123231-f069-41d2-b46e-f250ca7e3ef4","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":147,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2ef089e1-c362-425c-a768-7eeb3dc1f886","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-2ef089e1-c362-425c-a768-7eeb3dc1f886","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":148,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a275ed8b-81ae-493b-8082-8491a63a7792","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-a275ed8b-81ae-493b-8082-8491a63a7792","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":149,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-022ac653-1835-4728-9fbf-d5872c706a2d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-022ac653-1835-4728-9fbf-d5872c706a2d","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":150,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-b176a3d2-6f81-4b24-88ed-064415b091f6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-b176a3d2-6f81-4b24-88ed-064415b091f6","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":151,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-e7efcd24-31c5-4d93-800a-50b6fd29e098","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-e7efcd24-31c5-4d93-800a-50b6fd29e098","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":152,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-be1a7de2-e1bf-4efb-ad56-9a111723fdd6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-be1a7de2-e1bf-4efb-ad56-9a111723fdd6","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":153,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-3f0a6a5c-52fb-4dfb-bb1e-fdb2015a67c3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-3f0a6a5c-52fb-4dfb-bb1e-fdb2015a67c3","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":154,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-025fb093-8137-482c-9a88-e8c41091fe6f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-025fb093-8137-482c-9a88-e8c41091fe6f","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":155,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-00357a40-6ac5-4a48-9b34-67edd0f71dc2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-00357a40-6ac5-4a48-9b34-67edd0f71dc2","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":156,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-b543e10b-dfc1-4204-bc93-0c196bab5944","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-b543e10b-dfc1-4204-bc93-0c196bab5944","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":157,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-09674965-8102-42f4-8a54-8da58a4d5cf9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-09674965-8102-42f4-8a54-8da58a4d5cf9","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":158,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-0df81928-a8f4-4621-bb8d-8336d2574b14","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-0df81928-a8f4-4621-bb8d-8336d2574b14","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":159,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c23d4c37-5202-4558-9c69-d3874de138ae","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-c23d4c37-5202-4558-9c69-d3874de138ae","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":160,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a21ff307-77ab-4bc0-b50d-17c552c28341","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-a21ff307-77ab-4bc0-b50d-17c552c28341","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":161,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d9fb7013-3796-4a1e-a8a0-0c189a8d69a8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-d9fb7013-3796-4a1e-a8a0-0c189a8d69a8","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":162,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-14761f3f-19f8-4c6a-ac0f-d358ac53aa1d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-14761f3f-19f8-4c6a-ac0f-d358ac53aa1d","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":163,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-9e8d6800-8e2f-48d7-810a-5f62e6573516","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-9e8d6800-8e2f-48d7-810a-5f62e6573516","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":164,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-331bb2ae-2595-4d48-b26d-8f7762dcb6aa","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-331bb2ae-2595-4d48-b26d-8f7762dcb6aa","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":165,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-cfa86583-8363-4c72-ba83-c68fbd543bc1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-cfa86583-8363-4c72-ba83-c68fbd543bc1","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":166,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-9045978f-eb20-41ad-99f5-dcd260c99ed7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/securityRules/Cleanuptool-22-Corpnet-9045978f-eb20-41ad-99f5-dcd260c99ed7","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":167,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/defaultSecurityRules/AllowVnetInBound","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","description":"Allow + inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","description":"Allow + inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/defaultSecurityRules/DenyAllInBound","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","description":"Deny + all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","description":"Allow + outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","description":"Allow + outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh3-nsg/defaultSecurityRules/DenyAllOutBound","etag":"W/\"52919c05-c66c-4f9d-83d3-85c939466e84\"","properties":{"provisioningState":"Succeeded","description":"Deny + all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amareh3187"}]}},{"name":"amareh4-nsg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","type":"Microsoft.Network/networkSecurityGroups","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"f16ec593-1cd3-425f-96d6-be9ceb230942","securityRules":[{"name":"HTTP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/HTTP","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"80","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":300,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"HTTPS","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/HTTPS","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"443","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":320,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"SSH","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/SSH","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":340,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"RDP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/RDP","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":360,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-0570023f-4e67-4da9-ada1-4917a6512748","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-0570023f-4e67-4da9-ada1-4917a6512748","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":110,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-d960960d-43e1-4eca-97dc-b41d2090d01f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-d960960d-43e1-4eca-97dc-b41d2090d01f","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":111,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-db214194-6efd-4cc1-8963-73f8c1b76b05","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-db214194-6efd-4cc1-8963-73f8c1b76b05","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":112,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-3ac200a7-b0d0-438b-bbb1-7b6c6009db12","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-3ac200a7-b0d0-438b-bbb1-7b6c6009db12","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":113,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-061a35a0-f184-423e-93c6-bdad1ebf9905","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-061a35a0-f184-423e-93c6-bdad1ebf9905","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":114,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-389a18d6-63a4-41c3-bd6a-140d3fa4ddbd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-389a18d6-63a4-41c3-bd6a-140d3fa4ddbd","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":115,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-827471b0-0110-4439-b9eb-f49014819d92","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-827471b0-0110-4439-b9eb-f49014819d92","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":116,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-f0ad268b-e2f6-4fdb-b0d6-7ba46437d0ef","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-f0ad268b-e2f6-4fdb-b0d6-7ba46437d0ef","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":117,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-cbe664a1-95e4-4755-99be-94e0abe1de52","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-cbe664a1-95e4-4755-99be-94e0abe1de52","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":118,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-69aa690a-d24d-4c73-993d-78d973f6bd68","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-69aa690a-d24d-4c73-993d-78d973f6bd68","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":119,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-faa29a96-b55e-4f61-973b-b1abcc5dd98e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-faa29a96-b55e-4f61-973b-b1abcc5dd98e","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":120,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-34685065-a192-4d11-9f8b-610181724610","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-34685065-a192-4d11-9f8b-610181724610","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":121,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-c2a2a994-131c-423d-b4f6-3e132840a614","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-c2a2a994-131c-423d-b4f6-3e132840a614","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":122,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-95233cda-ced6-4d4e-a2c5-f8c7634fd3de","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-95233cda-ced6-4d4e-a2c5-f8c7634fd3de","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":123,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-cdf75962-cf84-400b-97cd-bbad94a29804","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-cdf75962-cf84-400b-97cd-bbad94a29804","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":124,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-60b40a86-95c0-47f8-828d-5cd52a46dd21","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-60b40a86-95c0-47f8-828d-5cd52a46dd21","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":125,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-0ad820b6-a9bd-41d1-a9a3-5b5a626cd258","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-0ad820b6-a9bd-41d1-a9a3-5b5a626cd258","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":126,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-fd60faa6-6e5f-49a3-b730-5a47780263c3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-fd60faa6-6e5f-49a3-b730-5a47780263c3","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":127,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9f7491a0-bfa8-4630-b288-079c7f897605","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-9f7491a0-bfa8-4630-b288-079c7f897605","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":128,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9a5c7a94-af3b-449d-95e3-f78e4db69718","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-9a5c7a94-af3b-449d-95e3-f78e4db69718","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":129,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-15459dda-e723-49d5-9aa6-327ba895632c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-15459dda-e723-49d5-9aa6-327ba895632c","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":130,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-a4ed6b29-710f-417f-ab19-9770017d8e0c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-a4ed6b29-710f-417f-ab19-9770017d8e0c","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":131,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-b0b5caa7-e11e-4d37-82b3-d2b1a02fc3c3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-b0b5caa7-e11e-4d37-82b3-d2b1a02fc3c3","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":132,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-0198d3ee-4bd4-4176-a14e-7dd0134408cc","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-0198d3ee-4bd4-4176-a14e-7dd0134408cc","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":133,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-cebd99fc-de88-4c6a-9193-17995278c439","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-cebd99fc-de88-4c6a-9193-17995278c439","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":134,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-2dbefcad-831f-4f1f-99bb-335d660f55b2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-2dbefcad-831f-4f1f-99bb-335d660f55b2","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":135,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-67eb2571-15e1-4278-9f93-9b65100c05d0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-67eb2571-15e1-4278-9f93-9b65100c05d0","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":136,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-f00a0f25-856c-45cc-a9a3-b14ceb48182b","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-f00a0f25-856c-45cc-a9a3-b14ceb48182b","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":137,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-3389-Corpnet-9775ca5d-d552-4f66-91de-c48338d6f505","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-3389-Corpnet-9775ca5d-d552-4f66-91de-c48338d6f505","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"3389","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":138,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-91720282-96df-48ec-bd5a-db9a706ac359","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-91720282-96df-48ec-bd5a-db9a706ac359","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.148.0/23","destinationAddressPrefix":"*","access":"Allow","priority":139,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-0e54dfa4-8b32-496d-bd10-c5fe14f192a4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-0e54dfa4-8b32-496d-bd10-c5fe14f192a4","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.147.0/24","destinationAddressPrefix":"*","access":"Allow","priority":140,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-6991927e-4ef5-44ee-b4a4-4b3c4d30d312","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-6991927e-4ef5-44ee-b4a4-4b3c4d30d312","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.159.0/24","destinationAddressPrefix":"*","access":"Allow","priority":141,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-521f3b34-9201-414d-bdc7-b2f97df7cb44","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-521f3b34-9201-414d-bdc7-b2f97df7cb44","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.160.0/24","destinationAddressPrefix":"*","access":"Allow","priority":142,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-1cb951f5-c49e-4940-8082-39fbcaa6e659","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-1cb951f5-c49e-4940-8082-39fbcaa6e659","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"131.107.174.0/24","destinationAddressPrefix":"*","access":"Allow","priority":143,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-d863be47-b692-4ae0-8858-1446fe62abbd","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-d863be47-b692-4ae0-8858-1446fe62abbd","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.24.0/24","destinationAddressPrefix":"*","access":"Allow","priority":144,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-62624020-5a6e-406b-870f-c613a45d0e75","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-62624020-5a6e-406b-870f-c613a45d0e75","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.26.0/24","destinationAddressPrefix":"*","access":"Allow","priority":145,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c3a48dcf-31dc-428e-bea7-268e1fbb96ba","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-c3a48dcf-31dc-428e-bea7-268e1fbb96ba","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.0/27","destinationAddressPrefix":"*","access":"Allow","priority":146,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-5a72f258-4bd2-412f-ba21-727f10af4d08","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-5a72f258-4bd2-412f-ba21-727f10af4d08","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.128/27","destinationAddressPrefix":"*","access":"Allow","priority":147,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-0b808279-0164-487a-bb17-6cb4ef082847","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-0b808279-0164-487a-bb17-6cb4ef082847","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.192/27","destinationAddressPrefix":"*","access":"Allow","priority":148,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-71df94cf-2497-4bb6-9d77-a31ce7ef3652","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-71df94cf-2497-4bb6-9d77-a31ce7ef3652","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.238.64/27","destinationAddressPrefix":"*","access":"Allow","priority":149,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-722d4ec3-c87d-421b-aaea-7c9f3de7d8c2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-722d4ec3-c87d-421b-aaea-7c9f3de7d8c2","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.232.0/23","destinationAddressPrefix":"*","access":"Allow","priority":150,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c77dfd62-648e-4df0-b881-7418f59943cf","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-c77dfd62-648e-4df0-b881-7418f59943cf","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.255.0/25","destinationAddressPrefix":"*","access":"Allow","priority":151,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c611c5ac-9ec4-405e-b999-3849dffcee18","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-c611c5ac-9ec4-405e-b999-3849dffcee18","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.0/27","destinationAddressPrefix":"*","access":"Allow","priority":152,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-4c9ce0cd-74f1-4ed2-80e9-8f460a2f025c","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-4c9ce0cd-74f1-4ed2-80e9-8f460a2f025c","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.128/27","destinationAddressPrefix":"*","access":"Allow","priority":153,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-3ae24197-9007-442a-9f4f-335d04502a7d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-3ae24197-9007-442a-9f4f-335d04502a7d","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.192/27","destinationAddressPrefix":"*","access":"Allow","priority":154,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-5dd5902d-bb6f-44c6-b831-6a17b53c8751","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-5dd5902d-bb6f-44c6-b831-6a17b53c8751","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.242.64/27","destinationAddressPrefix":"*","access":"Allow","priority":155,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-3bfdf6f6-d120-43c0-911b-39d3e89ad29a","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-3bfdf6f6-d120-43c0-911b-39d3e89ad29a","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"94.245.87.0/24","destinationAddressPrefix":"*","access":"Allow","priority":156,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-ae7abc19-73a0-494d-a1de-763cb77f2eb2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-ae7abc19-73a0-494d-a1de-763cb77f2eb2","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.196.0/23","destinationAddressPrefix":"*","access":"Allow","priority":157,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2853aefe-dab7-40a7-9d83-fda44dfda113","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-2853aefe-dab7-40a7-9d83-fda44dfda113","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"194.69.104.0/25","destinationAddressPrefix":"*","access":"Allow","priority":158,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-5b750783-571b-4621-8392-a449bd20c660","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-5b750783-571b-4621-8392-a449bd20c660","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"191.234.97.0/26","destinationAddressPrefix":"*","access":"Allow","priority":159,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-350deb2a-dd6a-4a1d-b3a3-2442c839a976","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-350deb2a-dd6a-4a1d-b3a3-2442c839a976","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.0.0/23","destinationAddressPrefix":"*","access":"Allow","priority":160,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-6fd5c7a8-0679-4dbe-8e9b-30228409142f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-6fd5c7a8-0679-4dbe-8e9b-30228409142f","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"167.220.2.0/24","destinationAddressPrefix":"*","access":"Allow","priority":161,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-845b32fe-802f-4f18-a3b3-a42b1234b2a3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-845b32fe-802f-4f18-a3b3-a42b1234b2a3","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"207.68.190.32/27","destinationAddressPrefix":"*","access":"Allow","priority":162,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-c7cc8de0-d4ec-4e9d-94e2-9ebf1d97f695","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-c7cc8de0-d4ec-4e9d-94e2-9ebf1d97f695","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.78.32/27","destinationAddressPrefix":"*","access":"Allow","priority":163,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-a42b331b-2211-47b5-aa8c-f14bc3096c32","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-a42b331b-2211-47b5-aa8c-f14bc3096c32","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.254.32.0/20","destinationAddressPrefix":"*","access":"Allow","priority":164,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-3aef4891-ce6c-4dc9-b486-e6f11855e403","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-3aef4891-ce6c-4dc9-b486-e6f11855e403","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"10.97.136.0/22","destinationAddressPrefix":"*","access":"Allow","priority":165,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-2481aba5-ea69-4e6b-bc7d-a7e468754504","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-2481aba5-ea69-4e6b-bc7d-a7e468754504","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.174.32/27","destinationAddressPrefix":"*","access":"Allow","priority":166,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"Cleanuptool-22-Corpnet-7d5f22a4-d190-4048-b80f-c5ae74783fa3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/securityRules/Cleanuptool-22-Corpnet-7d5f22a4-d190-4048-b80f-c5ae74783fa3","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"13.106.4.96/27","destinationAddressPrefix":"*","access":"Allow","priority":167,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/defaultSecurityRules/AllowVnetInBound","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","description":"Allow + inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","description":"Allow + inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/defaultSecurityRules/DenyAllInBound","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","description":"Deny + all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","description":"Allow + outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","description":"Allow + outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkSecurityGroups/amareh4-nsg/defaultSecurityRules/DenyAllOutBound","etag":"W/\"676f262d-f9aa-4320-baae-0d77be18e077\"","properties":{"provisioningState":"Succeeded","description":"Deny + all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amareh453"}]}},{"name":"lmazuel-testcapture-nsg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Network/networkSecurityGroups/lmazuel-testcapture-nsg","etag":"W/\"c389a43e-c6d4-4bef-8faf-7ea0506bb096\"","type":"Microsoft.Network/networkSecurityGroups","location":"westus2","properties":{"provisioningState":"Succeeded","resourceGuid":"4ab9af35-993c-4d93-b87a-4ef498dec35c","securityRules":[{"name":"default-allow-ssh","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Network/networkSecurityGroups/lmazuel-testcapture-nsg/securityRules/default-allow-ssh","etag":"W/\"c389a43e-c6d4-4bef-8faf-7ea0506bb096\"","properties":{"provisioningState":"Succeeded","protocol":"TCP","sourcePortRange":"*","destinationPortRange":"22","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Allow","priority":1000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"defaultSecurityRules":[{"name":"AllowVnetInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Network/networkSecurityGroups/lmazuel-testcapture-nsg/defaultSecurityRules/AllowVnetInBound","etag":"W/\"c389a43e-c6d4-4bef-8faf-7ea0506bb096\"","properties":{"provisioningState":"Succeeded","description":"Allow + inbound traffic from all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowAzureLoadBalancerInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Network/networkSecurityGroups/lmazuel-testcapture-nsg/defaultSecurityRules/AllowAzureLoadBalancerInBound","etag":"W/\"c389a43e-c6d4-4bef-8faf-7ea0506bb096\"","properties":{"provisioningState":"Succeeded","description":"Allow + inbound traffic from azure load balancer","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"AzureLoadBalancer","destinationAddressPrefix":"*","access":"Allow","priority":65001,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllInBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Network/networkSecurityGroups/lmazuel-testcapture-nsg/defaultSecurityRules/DenyAllInBound","etag":"W/\"c389a43e-c6d4-4bef-8faf-7ea0506bb096\"","properties":{"provisioningState":"Succeeded","description":"Deny + all inbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Inbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowVnetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Network/networkSecurityGroups/lmazuel-testcapture-nsg/defaultSecurityRules/AllowVnetOutBound","etag":"W/\"c389a43e-c6d4-4bef-8faf-7ea0506bb096\"","properties":{"provisioningState":"Succeeded","description":"Allow + outbound traffic from all VMs to all VMs in VNET","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"VirtualNetwork","destinationAddressPrefix":"VirtualNetwork","access":"Allow","priority":65000,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"AllowInternetOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Network/networkSecurityGroups/lmazuel-testcapture-nsg/defaultSecurityRules/AllowInternetOutBound","etag":"W/\"c389a43e-c6d4-4bef-8faf-7ea0506bb096\"","properties":{"provisioningState":"Succeeded","description":"Allow + outbound traffic from all VMs to Internet","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"Internet","access":"Allow","priority":65001,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}},{"name":"DenyAllOutBound","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Network/networkSecurityGroups/lmazuel-testcapture-nsg/defaultSecurityRules/DenyAllOutBound","etag":"W/\"c389a43e-c6d4-4bef-8faf-7ea0506bb096\"","properties":{"provisioningState":"Succeeded","description":"Deny + all outbound traffic","protocol":"*","sourcePortRange":"*","destinationPortRange":"*","sourceAddressPrefix":"*","destinationAddressPrefix":"*","access":"Deny","priority":65500,"direction":"Outbound","sourcePortRanges":[],"destinationPortRanges":[],"sourceAddressPrefixes":[],"destinationAddressPrefixes":[]}}],"networkInterfaces":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Network/networkInterfaces/lmazuel-testcapture427"}]}}]}'} headers: cache-control: [no-cache] - content-length: ['982153'] + content-length: ['209883'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:00:44 GMT'] + date: ['Fri, 27 Jul 2018 22:46:57 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] - transfer-encoding: [chunked] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-original-request-ids: [876f07bd-88a4-43d7-a5fc-e9a2db151b1e, 07c6d8a3-77ba-44c5-b160-8bf494644ca9, - 019a4bd3-0043-4681-b71b-adc5f80ecc77] + x-ms-original-request-ids: [2792ebcb-a1f4-42f3-bbc5-6f6a2ab7af1b, 93f22ffc-54e3-4fb4-8c0a-76d75f268d28, + a427e808-9e52-4991-b9e3-1903abbd7e72] status: {code: 200, message: OK} - request: body: '{"properties": {"description": "New Test security rule", "protocol": "Tcp", @@ -795,14 +580,14 @@ interactions: Connection: [keep-alive] Content-Length: ['260'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules/pynewrulec575136b?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules/pynewrulec575136b?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pynewrulec575136b\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules/pynewrulec575136b\"\ - ,\r\n \"etag\": \"W/\\\"f805ac44-0f72-4e8f-9feb-3246fd2426f0\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"ebb2367f-6b2a-4f12-a91c-d32790f0e744\\\"\",\r\n \ \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"\ description\": \"New Test security rule\",\r\n \"protocol\": \"Tcp\",\r\ \n \"sourcePortRange\": \"655\",\r\n \"destinationPortRange\": \"123-3500\"\ @@ -812,17 +597,17 @@ interactions: : [],\r\n \"sourceAddressPrefixes\": [],\r\n \"destinationAddressPrefixes\"\ : []\r\n }\r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/82414146-fdb7-4c74-988d-421f438e1320?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/5189816b-6ee7-4844-a79c-d7c425774e9c?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['814'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:00:47 GMT'] + date: ['Fri, 27 Jul 2018 22:46:58 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 201, message: Created} - request: body: null @@ -830,17 +615,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/82414146-fdb7-4c74-988d-421f438e1320?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/5189816b-6ee7-4844-a79c-d7c425774e9c?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:00:57 GMT'] + date: ['Fri, 27 Jul 2018 22:47:10 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -855,13 +640,13 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules/pynewrulec575136b?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules/pynewrulec575136b?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pynewrulec575136b\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules/pynewrulec575136b\"\ - ,\r\n \"etag\": \"W/\\\"23e87777-cc93-4d71-abc6-e7472c45f479\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"b8bb9d57-5871-41ec-86df-f6ae4cb9a8da\\\"\",\r\n \ \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"\ description\": \"New Test security rule\",\r\n \"protocol\": \"Tcp\",\r\ \n \"sourcePortRange\": \"655\",\r\n \"destinationPortRange\": \"123-3500\"\ @@ -874,8 +659,8 @@ interactions: cache-control: [no-cache] content-length: ['815'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:00:58 GMT'] - etag: [W/"23e87777-cc93-4d71-abc6-e7472c45f479"] + date: ['Fri, 27 Jul 2018 22:47:10 GMT'] + etag: [W/"b8bb9d57-5871-41ec-86df-f6ae4cb9a8da"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -891,14 +676,14 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules/pynewrulec575136b?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules/pynewrulec575136b?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pynewrulec575136b\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules/pynewrulec575136b\"\ - ,\r\n \"etag\": \"W/\\\"23e87777-cc93-4d71-abc6-e7472c45f479\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"b8bb9d57-5871-41ec-86df-f6ae4cb9a8da\\\"\",\r\n \ \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"\ description\": \"New Test security rule\",\r\n \"protocol\": \"Tcp\",\r\ \n \"sourcePortRange\": \"655\",\r\n \"destinationPortRange\": \"123-3500\"\ @@ -911,8 +696,8 @@ interactions: cache-control: [no-cache] content-length: ['815'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:00:58 GMT'] - etag: [W/"23e87777-cc93-4d71-abc6-e7472c45f479"] + date: ['Fri, 27 Jul 2018 22:47:11 GMT'] + etag: [W/"b8bb9d57-5871-41ec-86df-f6ae4cb9a8da"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -928,15 +713,15 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules?api-version=2018-06-01 response: body: {string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"pysecgrouprulec575136b\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules/pysecgrouprulec575136b\"\ - ,\r\n \"etag\": \"W/\\\"23e87777-cc93-4d71-abc6-e7472c45f479\\\"\",\r\ + ,\r\n \"etag\": \"W/\\\"b8bb9d57-5871-41ec-86df-f6ae4cb9a8da\\\"\",\r\ \n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"description\": \"Test security rule\",\r\n \"protocol\"\ : \"Tcp\",\r\n \"sourcePortRange\": \"655\",\r\n \"destinationPortRange\"\ @@ -946,7 +731,7 @@ interactions: \n \"destinationPortRanges\": [],\r\n \"sourceAddressPrefixes\"\ : [],\r\n \"destinationAddressPrefixes\": []\r\n }\r\n },\r\ \n {\r\n \"name\": \"pynewrulec575136b\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules/pynewrulec575136b\"\ - ,\r\n \"etag\": \"W/\\\"23e87777-cc93-4d71-abc6-e7472c45f479\\\"\",\r\ + ,\r\n \"etag\": \"W/\\\"b8bb9d57-5871-41ec-86df-f6ae4cb9a8da\\\"\",\r\ \n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"description\": \"New Test security rule\",\r\n \"protocol\"\ : \"Tcp\",\r\n \"sourcePortRange\": \"655\",\r\n \"destinationPortRange\"\ @@ -960,7 +745,7 @@ interactions: cache-control: [no-cache] content-length: ['1831'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:00:58 GMT'] + date: ['Fri, 27 Jul 2018 22:47:12 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -977,25 +762,25 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules/pynewrulec575136b?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b/securityRules/pynewrulec575136b?api-version=2018-06-01 response: body: {string: ''} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fb5b857c-53fe-4b94-ae8c-e510f91cfaeb?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e033c4cc-c83d-465e-8851-287f6ddea0e3?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 03 Apr 2018 21:00:59 GMT'] + date: ['Fri, 27 Jul 2018 22:47:13 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/fb5b857c-53fe-4b94-ae8c-e510f91cfaeb?api-version=2018-02-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/e033c4cc-c83d-465e-8851-287f6ddea0e3?api-version=2018-06-01'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} - request: body: null @@ -1003,17 +788,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fb5b857c-53fe-4b94-ae8c-e510f91cfaeb?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e033c4cc-c83d-465e-8851-287f6ddea0e3?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:01:11 GMT'] + date: ['Fri, 27 Jul 2018 22:47:25 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1030,25 +815,25 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_network_security_groupsc575136b/providers/Microsoft.Network/networkSecurityGroups/pysecgroupc575136b?api-version=2018-06-01 response: body: {string: ''} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/bd2b3a38-02ff-4516-999c-7adfbe832540?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/95394f98-669c-45c7-aba4-9676880e0749?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 03 Apr 2018 21:01:11 GMT'] + date: ['Fri, 27 Jul 2018 22:47:26 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/bd2b3a38-02ff-4516-999c-7adfbe832540?api-version=2018-02-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/95394f98-669c-45c7-aba4-9676880e0749?api-version=2018-06-01'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} - request: body: null @@ -1056,17 +841,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/bd2b3a38-02ff-4516-999c-7adfbe832540?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/95394f98-669c-45c7-aba4-9676880e0749?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:01:21 GMT'] + date: ['Fri, 27 Jul 2018 22:47:37 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] diff --git a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_public_ip_addresses.yaml b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_public_ip_addresses.yaml index c800e6f515e3..59849475bb86 100644 --- a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_public_ip_addresses.yaml +++ b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_public_ip_addresses.yaml @@ -8,27 +8,27 @@ interactions: Connection: [keep-alive] Content-Length: ['103'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_public_ip_addresses773e115f/providers/Microsoft.Network/publicIPAddresses/pyipname773e115f?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_public_ip_addresses773e115f/providers/Microsoft.Network/publicIPAddresses/pyipname773e115f?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyipname773e115f\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_public_ip_addresses773e115f/providers/Microsoft.Network/publicIPAddresses/pyipname773e115f\"\ - ,\r\n \"etag\": \"W/\\\"f618d22c-5954-4b8f-979c-6925e85ef5bc\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"48728875-ea08-46ac-a3a9-7472655c391e\\\"\",\r\n \ \ \"location\": \"westus\",\r\n \"tags\": {\r\n \"key\": \"value\"\r\n\ \ },\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\ - \n \"resourceGuid\": \"4c750a51-550f-4796-9654-8a39536f0285\",\r\n \"\ + \n \"resourceGuid\": \"1d54011f-e473-4316-934c-bfa7487a2ee3\",\r\n \"\ publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"\ Dynamic\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n \ \ },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\"\ : {\r\n \"name\": \"Basic\",\r\n \"tier\": \"Regional\"\r\n }\r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2ae7fc1e-f79c-48ff-9c32-2518da01e051?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/49539a9a-c18c-4cb8-a373-1f53761dfa22?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['719'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:01:31 GMT'] + date: ['Fri, 27 Jul 2018 22:47:45 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -42,17 +42,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2ae7fc1e-f79c-48ff-9c32-2518da01e051?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/49539a9a-c18c-4cb8-a373-1f53761dfa22?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:01:35 GMT'] + date: ['Fri, 27 Jul 2018 22:47:50 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -67,16 +67,16 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_public_ip_addresses773e115f/providers/Microsoft.Network/publicIPAddresses/pyipname773e115f?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_public_ip_addresses773e115f/providers/Microsoft.Network/publicIPAddresses/pyipname773e115f?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyipname773e115f\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_public_ip_addresses773e115f/providers/Microsoft.Network/publicIPAddresses/pyipname773e115f\"\ - ,\r\n \"etag\": \"W/\\\"04178915-7b74-4b0c-93ad-df5019161ccb\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"7f7b501b-2ae1-49fc-81f9-218315763369\\\"\",\r\n \ \ \"location\": \"westus\",\r\n \"tags\": {\r\n \"key\": \"value\"\r\n\ \ },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\ - \n \"resourceGuid\": \"4c750a51-550f-4796-9654-8a39536f0285\",\r\n \"\ + \n \"resourceGuid\": \"1d54011f-e473-4316-934c-bfa7487a2ee3\",\r\n \"\ publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"\ Dynamic\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n \ \ },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\"\ @@ -85,8 +85,8 @@ interactions: cache-control: [no-cache] content-length: ['720'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:01:36 GMT'] - etag: [W/"04178915-7b74-4b0c-93ad-df5019161ccb"] + date: ['Fri, 27 Jul 2018 22:47:50 GMT'] + etag: [W/"7f7b501b-2ae1-49fc-81f9-218315763369"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -102,17 +102,17 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_public_ip_addresses773e115f/providers/Microsoft.Network/publicIPAddresses/pyipname773e115f?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_public_ip_addresses773e115f/providers/Microsoft.Network/publicIPAddresses/pyipname773e115f?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyipname773e115f\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_public_ip_addresses773e115f/providers/Microsoft.Network/publicIPAddresses/pyipname773e115f\"\ - ,\r\n \"etag\": \"W/\\\"04178915-7b74-4b0c-93ad-df5019161ccb\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"7f7b501b-2ae1-49fc-81f9-218315763369\\\"\",\r\n \ \ \"location\": \"westus\",\r\n \"tags\": {\r\n \"key\": \"value\"\r\n\ \ },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\ - \n \"resourceGuid\": \"4c750a51-550f-4796-9654-8a39536f0285\",\r\n \"\ + \n \"resourceGuid\": \"1d54011f-e473-4316-934c-bfa7487a2ee3\",\r\n \"\ publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"\ Dynamic\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n \ \ },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\"\ @@ -121,8 +121,8 @@ interactions: cache-control: [no-cache] content-length: ['720'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:01:36 GMT'] - etag: [W/"04178915-7b74-4b0c-93ad-df5019161ccb"] + date: ['Fri, 27 Jul 2018 22:47:51 GMT'] + etag: [W/"7f7b501b-2ae1-49fc-81f9-218315763369"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -138,18 +138,18 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_public_ip_addresses773e115f/providers/Microsoft.Network/publicIPAddresses?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_public_ip_addresses773e115f/providers/Microsoft.Network/publicIPAddresses?api-version=2018-06-01 response: body: {string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"pyipname773e115f\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_public_ip_addresses773e115f/providers/Microsoft.Network/publicIPAddresses/pyipname773e115f\"\ - ,\r\n \"etag\": \"W/\\\"04178915-7b74-4b0c-93ad-df5019161ccb\\\"\",\r\ + ,\r\n \"etag\": \"W/\\\"7f7b501b-2ae1-49fc-81f9-218315763369\\\"\",\r\ \n \"location\": \"westus\",\r\n \"tags\": {\r\n \"key\"\ : \"value\"\r\n },\r\n \"properties\": {\r\n \"provisioningState\"\ - : \"Succeeded\",\r\n \"resourceGuid\": \"4c750a51-550f-4796-9654-8a39536f0285\"\ + : \"Succeeded\",\r\n \"resourceGuid\": \"1d54011f-e473-4316-934c-bfa7487a2ee3\"\ ,\r\n \"publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\"\ : \"Dynamic\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\"\ : []\r\n },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\"\ @@ -159,7 +159,7 @@ interactions: cache-control: [no-cache] content-length: ['833'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:01:36 GMT'] + date: ['Fri, 27 Jul 2018 22:47:52 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -175,25 +175,25 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/publicIPAddresses?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/publicIPAddresses?api-version=2018-06-01 response: - body: {string: '{"value":[{"name":"amar-1PublicIP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/publicIPAddresses/amar-1PublicIP","etag":"W/\"b259dca3-6ea3-42b6-a3f0-ae7f2e9e0566\"","location":"westus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"ff3465c4-cdf0-451b-9dd3-21af39cba3cd","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amar-1VMNic/ipConfigurations/ipconfigamar-1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"vmss1LBPublicIP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/publicIPAddresses/vmss1LBPublicIP","etag":"W/\"d3276461-0af7-4b01-9a1f-187f5bbf1720\"","location":"westus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"a79e523c-5da0-4573-ba9e-d96abcb80133","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/loadBalancers/vmss1LB/frontendIPConfigurations/loadBalancerFrontEnd"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"favy345tg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/publicIPAddresses/favy345tg","etag":"W/\"057d6289-d39d-45e2-8ebf-dbf647040ee9\"","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"f95f01c0-4a6f-410b-9104-2f25989f25d0","ipAddress":"104.42.234.40","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"dnsSettings":{"domainNameLabel":"favvb1favy345tg","fqdn":"favvb1favy345tg.westus.cloudapp.azure.com"},"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkInterfaces/favy345tg/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"lmazuel-docker-machine-ip","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/publicIPAddresses/lmazuel-docker-machine-ip","etag":"W/\"0ee308bf-5feb-4dbe-89df-06a84ab6f030\"","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"5add0b6b-c045-4d67-a260-6f7198b4dfbb","ipAddress":"104.42.196.62","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkInterfaces/lmazuel-docker-machine-nic/ipConfigurations/ip"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"lmazuel-vm1-ip","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/publicIPAddresses/lmazuel-vm1-ip","etag":"W/\"3de4f2ab-9fb1-4259-b78a-6120b6e155e3\"","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"0843a643-b3aa-4b17-9d8e-a391b7167026","ipAddress":"13.93.180.199","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkInterfaces/lmazuel-vm1792/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"myvmabc1PublicIP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/publicIPAddresses/myvmabc1PublicIP","etag":"W/\"967d3d53-1666-4969-afd7-fc8d62422660\"","location":"westus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"9dd3a176-beff-42aa-be58-c8854cf489ea","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkInterfaces/myvmabc1VMNic/ipConfigurations/ipconfigmyvmabc1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"testpip8044","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg3787/providers/Microsoft.Network/publicIPAddresses/testpip8044","etag":"W/\"2b2b995a-c991-4353-9469-0ae05243faef\"","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"5e0a21d8-e688-4a7a-8dbe-d5cef59b7322","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"dnsSettings":{"domainNameLabel":"testdomainname5022","fqdn":"testdomainname5022.westus.cloudapp.azure.com"},"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg3787/providers/Microsoft.Network/networkInterfaces/testnic6114/ipConfigurations/testcrpip7536"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"testpip6724","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg7175/providers/Microsoft.Network/publicIPAddresses/testpip6724","etag":"W/\"6c9031a5-cc33-4db7-bcc3-5165a8f0846e\"","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"3271f1f0-4b51-44e8-bd56-0ddc5f5f51c7","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"dnsSettings":{"domainNameLabel":"testdomainname8502","fqdn":"testdomainname8502.westus.cloudapp.azure.com"},"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg7175/providers/Microsoft.Network/networkInterfaces/testnic4831/ipConfigurations/testcrpip1408"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"testpip9046","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg8761/providers/Microsoft.Network/publicIPAddresses/testpip9046","etag":"W/\"8362230d-6825-4762-b906-0b0edb8ef1e7\"","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"31cedfd3-59fd-46db-a0e9-abdd9e5a8a4c","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"dnsSettings":{"domainNameLabel":"testdomainname8868","fqdn":"testdomainname8868.westus.cloudapp.azure.com"},"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg8761/providers/Microsoft.Network/networkInterfaces/testnic6387/ipConfigurations/testcrpip4391"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"testpip5796","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg9639/providers/Microsoft.Network/publicIPAddresses/testpip5796","etag":"W/\"1deee403-945a-42b4-bd56-459847ceceaa\"","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"25add6bc-be09-4be2-806b-be7ab31db8ce","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"dnsSettings":{"domainNameLabel":"testdomainname7635","fqdn":"testdomainname7635.westus.cloudapp.azure.com"},"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg9639/providers/Microsoft.Network/networkInterfaces/testnic7791/ipConfigurations/testcrpip4510"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"pyipname773e115f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_public_ip_addresses773e115f/providers/Microsoft.Network/publicIPAddresses/pyipname773e115f","etag":"W/\"04178915-7b74-4b0c-93ad-df5019161ccb\"","location":"westus","tags":{"key":"value"},"properties":{"provisioningState":"Succeeded","resourceGuid":"4c750a51-550f-4796-9654-8a39536f0285","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[]},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"wilxvm2-ip","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/publicIPAddresses/wilxvm2-ip","etag":"W/\"aa1d6df9-ca66-4b81-bf42-34b0fa366ee4\"","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"9152880b-3275-44db-ae7c-a4d4e1e18647","ipAddress":"13.91.245.196","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkInterfaces/wilxvm230/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"azvmc632","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/publicIPAddresses/azvmc632","etag":"W/\"f40a1c7f-9d43-4bd1-a566-9995a376f77a\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"88e09509-caac-4823-b17c-8546b5e70674","ipAddress":"13.82.190.5","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"dnsSettings":{"domainNameLabel":"azvmc632azvmc632","fqdn":"azvmc632azvmc632.eastus.cloudapp.azure.com"},"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkInterfaces/azvmc632/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"azvmc635","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/publicIPAddresses/azvmc635","etag":"W/\"d881e240-1d9c-46b9-b6a7-c012a8ec3a94\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"92e58631-6c55-4e77-8bef-c89a74c827a3","ipAddress":"13.72.78.250","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"dnsSettings":{"domainNameLabel":"azvmc635azvmc635","fqdn":"azvmc635azvmc635.eastus.cloudapp.azure.com"},"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkInterfaces/azvmc635/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"dcos-agent-ip-cliacsdnscjxm526agent-FEEFDCBC","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/publicIPAddresses/dcos-agent-ip-cliacsdnscjxm526agent-FEEFDCBC","etag":"W/\"3bc3b5d7-bff3-480a-a364-ac9fae67284d\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"78552beb-3585-49a0-891b-3a6c5bdfb33b","ipAddress":"52.226.38.64","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"dnsSettings":{"domainNameLabel":"cliacsdnscjxm526agent","fqdn":"cliacsdnscjxm526agent.eastus.cloudapp.azure.com"},"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-agent-lb-FEEFDCBC/frontendIPConfigurations/dcos-agent-lbFrontEnd-FEEFDCBC"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"dcos-master-ip-cliacsdnscjxm526mgmt-FEEFDCBC","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/publicIPAddresses/dcos-master-ip-cliacsdnscjxm526mgmt-FEEFDCBC","etag":"W/\"c376e8c8-8389-4068-a2a9-d7c85d8e69ec\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"e67210fd-630c-40c7-8889-d08cee305a28","ipAddress":"52.226.38.47","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"dnsSettings":{"domainNameLabel":"cliacsdnscjxm526mgmt","fqdn":"cliacsdnscjxm526mgmt.eastus.cloudapp.azure.com"},"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/loadBalancers/dcos-master-lb-FEEFDCBC/frontendIPConfigurations/dcos-master-lbFrontEnd-FEEFDCBC"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"cuvz346","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/curbvz346/providers/Microsoft.Network/publicIPAddresses/cuvz346","etag":"W/\"63940443-1f2e-425d-a08e-0134e9f70dac\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"77035aae-fd4e-4f45-b999-c4b7a0fe3d2c","ipAddress":"40.76.55.49","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"dnsSettings":{"domainNameLabel":"curbvz346cuvz346","fqdn":"curbvz346cuvz346.eastus.cloudapp.azure.com"},"ipTags":[]},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"cuvz345","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cuvz345/providers/Microsoft.Network/publicIPAddresses/cuvz345","etag":"W/\"669fd3bf-9afc-4117-8042-0da3c7849f43\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"8396d23e-a0a2-42d5-be38-ac09b42e89b1","ipAddress":"40.71.97.252","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"dnsSettings":{"domainNameLabel":"cuvz345cuvz345","fqdn":"cuvz345cuvz345.eastus.cloudapp.azure.com"},"ipTags":[]},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"foovmrealcool101","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foovmrealcool101/providers/Microsoft.Network/publicIPAddresses/foovmrealcool101","etag":"W/\"d816da5f-a6af-47f5-8c97-9d60376d4c95\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"dbe9fc24-d77b-41fb-a4ea-f6502bf2519d","ipAddress":"40.71.178.119","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foovmrealcool101/providers/Microsoft.Network/networkInterfaces/foovmrealcool101/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"fzmc75","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/publicIPAddresses/fzmc75","etag":"W/\"6dacb290-7b32-42fa-abe6-09feeb859b3e\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"e56420ae-b5fb-48dd-a4b6-9595c79d3082","ipAddress":"13.90.210.59","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkInterfaces/fzmc75/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"fzvm123mccw","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/publicIPAddresses/fzvm123mccw","etag":"W/\"3e204316-70f7-48ef-a40c-ded736306656\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"404d9b8c-c21c-40ee-be3c-9e284d45cff1","ipAddress":"13.82.173.157","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"dnsSettings":{"domainNameLabel":"fzvm123mccwfzvm123mccw","fqdn":"fzvm123mccwfzvm123mccw.eastus.cloudapp.azure.com"},"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkInterfaces/fzvm123mccw/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"mcclVM202","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcclVM202/providers/Microsoft.Network/publicIPAddresses/mcclVM202","etag":"W/\"67543eeb-6bd0-4ffa-a876-1427f2280cc8\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"4b087b82-19ec-4257-87b1-d3f7b84ce3b1","ipAddress":"40.71.197.105","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"ipTags":[]},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"mccwVM20","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mccwVM20/providers/Microsoft.Network/publicIPAddresses/mccwVM20","etag":"W/\"78da0350-7580-4abb-9cb6-9e63f8fe4f50\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"fb8d2220-1910-49ca-862d-3473eaec27ed","ipAddress":"40.71.195.40","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mccwVM20/providers/Microsoft.Network/networkInterfaces/mccwVM20/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"mcw1358vm","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/publicIPAddresses/mcw1358vm","etag":"W/\"537aeae7-49bc-4548-9f1e-b59ed5f36a40\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"b381b86e-9cd3-4133-a9cc-3cfa4104ebbb","ipAddress":"13.82.172.117","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"dnsSettings":{"domainNameLabel":"mcw1358vmmcw1358vm","fqdn":"mcw1358vmmcw1358vm.eastus.cloudapp.azure.com"},"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkInterfaces/mcw1358vm/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"mcw18765","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/publicIPAddresses/mcw18765","etag":"W/\"a441e6f1-5be3-45c4-b404-75f0085dde7a\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"91f95cd5-bb57-4e5d-a8af-2fa66fd4c3ed","ipAddress":"52.224.218.100","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"dnsSettings":{"domainNameLabel":"mcw18765mcw18765","fqdn":"mcw18765mcw18765.eastus.cloudapp.azure.com"},"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkInterfaces/mcw18765/ipConfigurations/mcw18765"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"mcw18766","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/publicIPAddresses/mcw18766","etag":"W/\"e554b33d-b0d6-4204-9e68-9cc5a64b5781\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"0dd5c8a7-d683-4728-a4d1-a6b4cab6bf32","ipAddress":"52.170.195.29","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"dnsSettings":{"domainNameLabel":"mcw18766mcw18766","fqdn":"mcw18766mcw18766.eastus.cloudapp.azure.com"},"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkInterfaces/mcw18766/ipConfigurations/mcw18766"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"mcw3569vm","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/publicIPAddresses/mcw3569vm","etag":"W/\"663e6f70-8bac-46c1-be15-d81ddf2cfb63\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"93af35a5-94ed-46df-ba34-adf82a94b8e3","ipAddress":"52.168.137.61","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"dnsSettings":{"domainNameLabel":"mcw3569vmmcw3569vm","fqdn":"mcw3569vmmcw3569vm.eastus.cloudapp.azure.com"},"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkInterfaces/mcw3569vm/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"kubernetes-aa9b10586fcb511e7b1250a58ac1f0a6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/publicIPAddresses/kubernetes-aa9b10586fcb511e7b1250a58ac1f0a6","etag":"W/\"b1e1509c-59e4-4bb8-997a-106377c53d33\"","location":"eastus","tags":{"service":"default/swaggertosdk-service"},"properties":{"provisioningState":"Succeeded","resourceGuid":"9d0c49de-4c3e-497c-8e12-e37118418bc7","ipAddress":"52.224.182.192","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/loadBalancers/kubernetes/frontendIPConfigurations/aa9b10586fcb511e7b1250a58ac1f0a6"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"mvz45tr13","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/publicIPAddresses/mvz45tr13","etag":"W/\"5daeec49-2e82-4dfd-8316-ad9ce884f5e4\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"32d1cca9-d29a-47d9-a889-056f4105409d","ipAddress":"52.168.72.204","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"dnsSettings":{"domainNameLabel":"mvz45tr13mvz45tr13","fqdn":"mvz45tr13mvz45tr13.eastus.cloudapp.azure.com"},"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkInterfaces/mvz45tr13/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"myfvm65","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/publicIPAddresses/myfvm65","etag":"W/\"97a1bd32-88c1-4d42-bc24-ca17e542b594\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"6c5a3a65-a2b9-4397-8166-f50e70fc259b","ipAddress":"13.90.139.5","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkInterfaces/myfvm65/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"MyReallyCoolVM202","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Network/publicIPAddresses/MyReallyCoolVM202","etag":"W/\"aeefb4e7-be29-4e4e-b83c-836d2cf61448\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"79ae50f7-9998-453f-b5d8-dfc6cc43e1a9","ipAddress":"52.168.168.200","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Network/networkInterfaces/MyReallyCoolVM202/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"mysuperCoolVM202","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mysuperCoolVM202/providers/Microsoft.Network/publicIPAddresses/mysuperCoolVM202","etag":"W/\"16b4e8c7-e8f5-402f-9b71-9071631aba22\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"0bb6ac9f-320f-440e-9cf8-211da0665126","ipAddress":"52.168.28.91","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mysuperCoolVM202/providers/Microsoft.Network/networkInterfaces/mysuperCoolVM202/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"scottphvm","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/publicIPAddresses/scottphvm","etag":"W/\"8c42338d-07da-451e-ac3c-0aac91fb5c5d\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"f908f84e-98e1-44dc-9bf4-5937c22454aa","ipAddress":"40.71.254.215","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"dnsSettings":{"domainNameLabel":"scottphvmscottphvm","fqdn":"scottphvmscottphvm.eastus.cloudapp.azure.com"},"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkInterfaces/scottphvm/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"wilxvm-ip","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/publicIPAddresses/wilxvm-ip","etag":"W/\"b75c2b65-9341-4b84-b973-a43c0d4b7cd0\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"fecde8b2-c4d5-4a2a-9770-627696fa3f95","ipAddress":"52.186.25.85","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkInterfaces/wilxvm35/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"zvb346","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/publicIPAddresses/zvb346","etag":"W/\"0e76c167-1a57-4e5c-8f5b-713d06a94dfe\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"8f42050e-b166-494d-aa56-16241368346e","ipAddress":"52.170.209.217","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Static","idleTimeoutInMinutes":4,"dnsSettings":{"domainNameLabel":"zvb346zvb346","fqdn":"zvb346zvb346.eastus.cloudapp.azure.com"},"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkInterfaces/zvb346/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"vm1PublicIP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP","etag":"W/\"f5f90c9c-8e16-4b80-9af1-6ea7afc85bce\"","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"ae46272e-97e7-4fcd-bf02-ffc5712620ae","ipAddress":"104.215.91.3","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkInterfaces/vm1VMNic/ipConfigurations/ipconfigvm1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"vm1PublicIP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP","etag":"W/\"95401291-6a84-4b7b-82de-6ba79b75c1c3\"","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"55e2ae1f-4264-4b3c-9964-74ee1036df72","ipAddress":"13.65.29.241","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkInterfaces/vm1VMNic/ipConfigurations/ipconfigvm1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"vm1PublicIP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/publicIPAddresses/vm1PublicIP","etag":"W/\"d0fe02bc-c9a6-4998-a01d-300a782d39d6\"","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"fe149038-d85a-4f1a-a9f3-89e873f09296","ipAddress":"13.84.175.175","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkInterfaces/vm1VMNic/ipConfigurations/ipconfigvm1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"groupPublicIP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/publicIPAddresses/groupPublicIP","etag":"W/\"2496ed02-7505-4aa7-9a48-fc14743992c9\"","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"8b7706ba-5d9d-4f65-b54d-f97cfe358111","ipAddress":"13.66.26.61","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkInterfaces/groupVMNic/ipConfigurations/ipconfiggroup"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"t-chwong-vmPublicIP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/publicIPAddresses/t-chwong-vmPublicIP","etag":"W/\"fd80dd19-39f6-40b2-b54c-bc529c60cf74\"","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"c49017a1-f9f8-4db9-8de0-dd384235b88f","ipAddress":"104.214.112.106","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkInterfaces/t-chwong-vmVMNic/ipConfigurations/ipconfigt-chwong-vm"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"test-vm-1PublicIP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/publicIPAddresses/test-vm-1PublicIP","etag":"W/\"eee5d8e6-e1d6-4f1d-b2c8-151adaf78dd4\"","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"2b8a95de-8ced-4cfc-bece-2363dc16368f","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkInterfaces/test-vm-1VMNic/ipConfigurations/ipconfigtest-vm-1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"test-vm-2PublicIP","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/publicIPAddresses/test-vm-2PublicIP","etag":"W/\"b3a1eef1-fbc7-491f-9562-06b54a43c030\"","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"ec73f0c3-098c-41ef-bc47-dab00498cfbf","ipAddress":"23.102.164.65","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkInterfaces/test-vm-2VMNic/ipConfigurations/ipconfigtest-vm-2"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}}]}'} + body: {string: '{"value":[{"name":"pyipname773e115f","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_public_ip_addresses773e115f/providers/Microsoft.Network/publicIPAddresses/pyipname773e115f","etag":"W/\"7f7b501b-2ae1-49fc-81f9-218315763369\"","location":"westus","tags":{"key":"value"},"properties":{"provisioningState":"Succeeded","resourceGuid":"1d54011f-e473-4316-934c-bfa7487a2ee3","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[]},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"windowsvm-ip","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/publicIPAddresses/windowsvm-ip","etag":"W/\"f2b9b052-0599-4578-9ef6-1f0d28c7ca32\"","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"78e35a7d-6c4d-4207-8530-a9651bf59f52","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/networkInterfaces/windowsvm624/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"amareh-ip","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/publicIPAddresses/amareh-ip","etag":"W/\"99dbd999-9259-4195-b98d-9db690c0b146\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"1d231f28-6472-4be6-89aa-a0c3b560979b","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amareh554/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"amareh2-ip","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/publicIPAddresses/amareh2-ip","etag":"W/\"6d8a9d43-35c6-4099-a374-afca63d4af9f\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"405df706-42c5-44df-9927-997568bbcc3f","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amareh2451/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"amareh3-ip","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/publicIPAddresses/amareh3-ip","etag":"W/\"82d858f2-3ed3-497f-86b1-d1fedd3a1423\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"3d431b9d-9e97-4edd-8874-02fc9e8ebf7f","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amareh3187/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"amareh4-ip","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/publicIPAddresses/amareh4-ip","etag":"W/\"b1e66c1c-e868-402b-b1f7-29aae4a23367\"","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"7d8bd820-9e03-4e68-9efd-7b21ac3d19df","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amareh453/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}},{"name":"lmazuel-testcapture-ip","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Network/publicIPAddresses/lmazuel-testcapture-ip","etag":"W/\"1d33ff0c-7e7d-4aba-8116-c2be7220c24b\"","location":"westus2","properties":{"provisioningState":"Succeeded","resourceGuid":"d9e5b204-e9aa-408a-a3c5-4cd7d4836a0f","publicIPAddressVersion":"IPv4","publicIPAllocationMethod":"Dynamic","idleTimeoutInMinutes":4,"ipTags":[],"ipConfiguration":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Network/networkInterfaces/lmazuel-testcapture427/ipConfigurations/ipconfig1"}},"type":"Microsoft.Network/publicIPAddresses","sku":{"name":"Basic","tier":"Regional"}}]}'} headers: cache-control: [no-cache] - content-length: ['33744'] + content-length: ['4932'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:01:36 GMT'] + date: ['Fri, 27 Jul 2018 22:47:53 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-original-request-ids: [c8dc6cde-5ba5-4d81-a5e1-2a0931768d5a, b27848ed-1edc-4d01-8ddf-df8c04b4cc5f, - c0596e0c-454a-494a-aa24-19c61227b62a] + x-ms-original-request-ids: [875b3729-bc66-4c95-9606-61506b96f280, 9769e96c-9479-4fba-93b5-da3e8d1dfe27, + 7ed19770-b129-40fa-b2fe-3029c162e089] status: {code: 200, message: OK} - request: body: null @@ -203,25 +203,25 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_public_ip_addresses773e115f/providers/Microsoft.Network/publicIPAddresses/pyipname773e115f?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_public_ip_addresses773e115f/providers/Microsoft.Network/publicIPAddresses/pyipname773e115f?api-version=2018-06-01 response: body: {string: ''} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2ea12125-a139-4eb6-bdfe-004adbab23ed?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/dffe5367-016f-4481-8245-05a77b31f8b8?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 03 Apr 2018 21:01:38 GMT'] + date: ['Fri, 27 Jul 2018 22:47:53 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/2ea12125-a139-4eb6-bdfe-004adbab23ed?api-version=2018-02-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/dffe5367-016f-4481-8245-05a77b31f8b8?api-version=2018-06-01'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-deletes: ['14998'] status: {code: 202, message: Accepted} - request: body: null @@ -229,17 +229,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2ea12125-a139-4eb6-bdfe-004adbab23ed?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/dffe5367-016f-4481-8245-05a77b31f8b8?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:01:48 GMT'] + date: ['Fri, 27 Jul 2018 22:48:04 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -255,18 +255,18 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_public_ip_addresses773e115f/providers/Microsoft.Network/publicIPAddresses?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_public_ip_addresses773e115f/providers/Microsoft.Network/publicIPAddresses?api-version=2018-06-01 response: body: {string: "{\r\n \"value\": []\r\n}"} headers: cache-control: [no-cache] content-length: ['19'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:01:48 GMT'] + date: ['Fri, 27 Jul 2018 22:48:05 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] diff --git a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_routes.yaml b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_routes.yaml index 5430cfa2926b..93868d7e4682 100644 --- a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_routes.yaml +++ b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_routes.yaml @@ -7,24 +7,24 @@ interactions: Connection: [keep-alive] Content-Length: ['22'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyroutetableb6760c2d\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d\"\ - ,\r\n \"etag\": \"W/\\\"7e7212cc-f768-4723-b179-d3e6ae2026c6\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"5d539c06-2c39-4640-b59c-3e61a0e97b05\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/routeTables\",\r\n \"location\": \"westus\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ - \ \"resourceGuid\": \"825ec976-9994-476d-b083-9c24bce59f67\",\r\n \"\ + \ \"resourceGuid\": \"c0ea3663-34fe-4993-8891-df5b1b44662d\",\r\n \"\ disableBgpRoutePropagation\": false,\r\n \"routes\": []\r\n }\r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e46eb98b-0ac4-4573-ad76-ebc5ebfc55fd?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/442b0776-57ad-4f0f-a8ba-d877f0f6f498?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['526'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:01:54 GMT'] + date: ['Fri, 27 Jul 2018 22:48:13 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -38,17 +38,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/e46eb98b-0ac4-4573-ad76-ebc5ebfc55fd?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/442b0776-57ad-4f0f-a8ba-d877f0f6f498?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:02:03 GMT'] + date: ['Fri, 27 Jul 2018 22:48:24 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -63,23 +63,23 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyroutetableb6760c2d\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d\"\ - ,\r\n \"etag\": \"W/\\\"ad81058a-c9bf-4cc4-9675-3fc7de9ea11c\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"85ac850a-7350-485b-8241-ac2355baaf36\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/routeTables\",\r\n \"location\": \"westus\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ - \ \"resourceGuid\": \"825ec976-9994-476d-b083-9c24bce59f67\",\r\n \"\ + \ \"resourceGuid\": \"c0ea3663-34fe-4993-8891-df5b1b44662d\",\r\n \"\ disableBgpRoutePropagation\": false,\r\n \"routes\": []\r\n }\r\n}"} headers: cache-control: [no-cache] content-length: ['527'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:02:04 GMT'] - etag: [W/"ad81058a-c9bf-4cc4-9675-3fc7de9ea11c"] + date: ['Fri, 27 Jul 2018 22:48:26 GMT'] + etag: [W/"85ac850a-7350-485b-8241-ac2355baaf36"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -95,24 +95,24 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyroutetableb6760c2d\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d\"\ - ,\r\n \"etag\": \"W/\\\"ad81058a-c9bf-4cc4-9675-3fc7de9ea11c\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"85ac850a-7350-485b-8241-ac2355baaf36\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/routeTables\",\r\n \"location\": \"westus\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ - \ \"resourceGuid\": \"825ec976-9994-476d-b083-9c24bce59f67\",\r\n \"\ + \ \"resourceGuid\": \"c0ea3663-34fe-4993-8891-df5b1b44662d\",\r\n \"\ disableBgpRoutePropagation\": false,\r\n \"routes\": []\r\n }\r\n}"} headers: cache-control: [no-cache] content-length: ['527'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:02:05 GMT'] - etag: [W/"ad81058a-c9bf-4cc4-9675-3fc7de9ea11c"] + date: ['Fri, 27 Jul 2018 22:48:26 GMT'] + etag: [W/"85ac850a-7350-485b-8241-ac2355baaf36"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -128,25 +128,25 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables?api-version=2018-06-01 response: body: {string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"pyroutetableb6760c2d\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d\"\ - ,\r\n \"etag\": \"W/\\\"ad81058a-c9bf-4cc4-9675-3fc7de9ea11c\\\"\",\r\ + ,\r\n \"etag\": \"W/\\\"85ac850a-7350-485b-8241-ac2355baaf36\\\"\",\r\ \n \"type\": \"Microsoft.Network/routeTables\",\r\n \"location\"\ : \"westus\",\r\n \"properties\": {\r\n \"provisioningState\"\ - : \"Succeeded\",\r\n \"resourceGuid\": \"825ec976-9994-476d-b083-9c24bce59f67\"\ + : \"Succeeded\",\r\n \"resourceGuid\": \"c0ea3663-34fe-4993-8891-df5b1b44662d\"\ ,\r\n \"disableBgpRoutePropagation\": false,\r\n \"routes\"\ : []\r\n }\r\n }\r\n ]\r\n}"} headers: cache-control: [no-cache] content-length: ['604'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:02:05 GMT'] + date: ['Fri, 27 Jul 2018 22:48:27 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -162,24 +162,32 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/routeTables?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/routeTables?api-version=2018-06-01 response: - body: {string: '{"value":[{"name":"pyroutetableb6760c2d","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d","etag":"W/\"ad81058a-c9bf-4cc4-9675-3fc7de9ea11c\"","type":"Microsoft.Network/routeTables","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"825ec976-9994-476d-b083-9c24bce59f67","disableBgpRoutePropagation":false,"routes":[]}},{"name":"aks-agentpool-14641967-routetable","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/routeTables/aks-agentpool-14641967-routetable","etag":"W/\"634c5e3b-5cbd-4586-94b3-2bc8e717922b\"","type":"Microsoft.Network/routeTables","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"ff588c94-5fa7-4f9d-b43f-af1e6f247136","disableBgpRoutePropagation":false,"routes":[{"name":"aks-nodepool1-14641967-2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/routeTables/aks-agentpool-14641967-routetable/routes/aks-nodepool1-14641967-2","etag":"W/\"634c5e3b-5cbd-4586-94b3-2bc8e717922b\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.244.0.0/24","nextHopType":"VirtualAppliance","nextHopIpAddress":"10.240.0.4"}},{"name":"aks-nodepool1-14641967-0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/routeTables/aks-agentpool-14641967-routetable/routes/aks-nodepool1-14641967-0","etag":"W/\"634c5e3b-5cbd-4586-94b3-2bc8e717922b\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.244.1.0/24","nextHopType":"VirtualAppliance","nextHopIpAddress":"10.240.0.6"}},{"name":"aks-nodepool1-14641967-1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/routeTables/aks-agentpool-14641967-routetable/routes/aks-nodepool1-14641967-1","etag":"W/\"634c5e3b-5cbd-4586-94b3-2bc8e717922b\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.244.2.0/24","nextHopType":"VirtualAppliance","nextHopIpAddress":"10.240.0.5"}}],"subnets":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-14641967/subnets/aks-subnet"}]}},{"name":"aks-agentpool-55696168-routetable","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/routeTables/aks-agentpool-55696168-routetable","etag":"W/\"b461e4eb-2358-490b-8a3d-abf43d569508\"","type":"Microsoft.Network/routeTables","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"c8bf6f6e-2937-466b-b81a-4ab98cf28413","disableBgpRoutePropagation":false,"routes":[{"name":"aks-agentpool-55696168-5","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/routeTables/aks-agentpool-55696168-routetable/routes/aks-agentpool-55696168-5","etag":"W/\"b461e4eb-2358-490b-8a3d-abf43d569508\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.244.1.0/24","nextHopType":"VirtualAppliance","nextHopIpAddress":"10.240.0.11"}},{"name":"aks-agentpool-55696168-4","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/routeTables/aks-agentpool-55696168-routetable/routes/aks-agentpool-55696168-4","etag":"W/\"b461e4eb-2358-490b-8a3d-abf43d569508\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.244.0.0/24","nextHopType":"VirtualAppliance","nextHopIpAddress":"10.240.0.4"}},{"name":"aks-agentpool-55696168-2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/routeTables/aks-agentpool-55696168-routetable/routes/aks-agentpool-55696168-2","etag":"W/\"b461e4eb-2358-490b-8a3d-abf43d569508\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.244.4.0/24","nextHopType":"VirtualAppliance","nextHopIpAddress":"10.240.0.8"}},{"name":"aks-agentpool-55696168-9","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/routeTables/aks-agentpool-55696168-routetable/routes/aks-agentpool-55696168-9","etag":"W/\"b461e4eb-2358-490b-8a3d-abf43d569508\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.244.2.0/24","nextHopType":"VirtualAppliance","nextHopIpAddress":"10.240.0.7"}},{"name":"aks-agentpool-55696168-3","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/routeTables/aks-agentpool-55696168-routetable/routes/aks-agentpool-55696168-3","etag":"W/\"b461e4eb-2358-490b-8a3d-abf43d569508\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.244.3.0/24","nextHopType":"VirtualAppliance","nextHopIpAddress":"10.240.0.9"}},{"name":"aks-agentpool-55696168-8","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/routeTables/aks-agentpool-55696168-routetable/routes/aks-agentpool-55696168-8","etag":"W/\"b461e4eb-2358-490b-8a3d-abf43d569508\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.244.6.0/24","nextHopType":"VirtualAppliance","nextHopIpAddress":"10.240.0.12"}},{"name":"aks-agentpool-55696168-7","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/routeTables/aks-agentpool-55696168-routetable/routes/aks-agentpool-55696168-7","etag":"W/\"b461e4eb-2358-490b-8a3d-abf43d569508\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.244.5.0/24","nextHopType":"VirtualAppliance","nextHopIpAddress":"10.240.0.13"}},{"name":"aks-agentpool-55696168-6","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/routeTables/aks-agentpool-55696168-routetable/routes/aks-agentpool-55696168-6","etag":"W/\"b461e4eb-2358-490b-8a3d-abf43d569508\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.244.7.0/24","nextHopType":"VirtualAppliance","nextHopIpAddress":"10.240.0.10"}},{"name":"aks-agentpool-55696168-1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/routeTables/aks-agentpool-55696168-routetable/routes/aks-agentpool-55696168-1","etag":"W/\"b461e4eb-2358-490b-8a3d-abf43d569508\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.244.8.0/24","nextHopType":"VirtualAppliance","nextHopIpAddress":"10.240.0.6"}},{"name":"aks-agentpool-55696168-0","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/routeTables/aks-agentpool-55696168-routetable/routes/aks-agentpool-55696168-0","etag":"W/\"b461e4eb-2358-490b-8a3d-abf43d569508\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.244.9.0/24","nextHopType":"VirtualAppliance","nextHopIpAddress":"10.240.0.5"}}],"subnets":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-55696168/subnets/aks-subnet"}]}}]}'} + body: {string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"pyroutetableb6760c2d\"\ + ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d\"\ + ,\r\n \"etag\": \"W/\\\"85ac850a-7350-485b-8241-ac2355baaf36\\\"\",\r\ + \n \"type\": \"Microsoft.Network/routeTables\",\r\n \"location\"\ + : \"westus\",\r\n \"properties\": {\r\n \"provisioningState\"\ + : \"Succeeded\",\r\n \"resourceGuid\": \"c0ea3663-34fe-4993-8891-df5b1b44662d\"\ + ,\r\n \"disableBgpRoutePropagation\": false,\r\n \"routes\"\ + : []\r\n }\r\n }\r\n ]\r\n}"} headers: cache-control: [no-cache] - content-length: ['7996'] + content-length: ['604'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:02:06 GMT'] + date: ['Fri, 27 Jul 2018 22:48:28 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-original-request-ids: [3683279a-45b6-40b0-b826-f45e75fb25b5, 73af93ad-1a05-459c-bd9b-e10c802fba4a] status: {code: 200, message: OK} - request: body: '{"properties": {"addressPrefix": "10.1.0.0/16", "nextHopType": "None"}}' @@ -189,23 +197,23 @@ interactions: Connection: [keep-alive] Content-Length: ['71'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d/routes/pyrouteb6760c2d?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d/routes/pyrouteb6760c2d?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyrouteb6760c2d\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d/routes/pyrouteb6760c2d\"\ - ,\r\n \"etag\": \"W/\\\"b984e0c0-9c95-4e41-bbbd-ca6067d7acf2\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"4a36c073-008c-4e6a-9a05-3df90bb036dd\\\"\",\r\n \ \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"\ addressPrefix\": \"10.1.0.0/16\",\r\n \"nextHopType\": \"None\"\r\n }\r\ \n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/5be9bcee-e543-41c7-9934-890d2c48d714?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8ef69722-a39a-43a6-9c89-d54a4a25a179?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['418'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:02:10 GMT'] + date: ['Fri, 27 Jul 2018 22:48:29 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -219,17 +227,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/5be9bcee-e543-41c7-9934-890d2c48d714?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/8ef69722-a39a-43a6-9c89-d54a4a25a179?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:02:20 GMT'] + date: ['Fri, 27 Jul 2018 22:48:40 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -244,13 +252,13 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d/routes/pyrouteb6760c2d?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d/routes/pyrouteb6760c2d?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyrouteb6760c2d\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d/routes/pyrouteb6760c2d\"\ - ,\r\n \"etag\": \"W/\\\"091d0d88-3f4a-4473-a3e4-8efd52e2b051\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"ad187278-49fa-4b7a-a8d7-cae450df6a8a\\\"\",\r\n \ \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"\ addressPrefix\": \"10.1.0.0/16\",\r\n \"nextHopType\": \"None\"\r\n }\r\ \n}"} @@ -258,8 +266,8 @@ interactions: cache-control: [no-cache] content-length: ['419'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:02:21 GMT'] - etag: [W/"091d0d88-3f4a-4473-a3e4-8efd52e2b051"] + date: ['Fri, 27 Jul 2018 22:48:41 GMT'] + etag: [W/"ad187278-49fa-4b7a-a8d7-cae450df6a8a"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -275,14 +283,14 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d/routes/pyrouteb6760c2d?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d/routes/pyrouteb6760c2d?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyrouteb6760c2d\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d/routes/pyrouteb6760c2d\"\ - ,\r\n \"etag\": \"W/\\\"091d0d88-3f4a-4473-a3e4-8efd52e2b051\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"ad187278-49fa-4b7a-a8d7-cae450df6a8a\\\"\",\r\n \ \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"\ addressPrefix\": \"10.1.0.0/16\",\r\n \"nextHopType\": \"None\"\r\n }\r\ \n}"} @@ -290,8 +298,8 @@ interactions: cache-control: [no-cache] content-length: ['419'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:02:22 GMT'] - etag: [W/"091d0d88-3f4a-4473-a3e4-8efd52e2b051"] + date: ['Fri, 27 Jul 2018 22:48:43 GMT'] + etag: [W/"ad187278-49fa-4b7a-a8d7-cae450df6a8a"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -307,15 +315,15 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d/routes?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d/routes?api-version=2018-06-01 response: body: {string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"pyrouteb6760c2d\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d/routes/pyrouteb6760c2d\"\ - ,\r\n \"etag\": \"W/\\\"091d0d88-3f4a-4473-a3e4-8efd52e2b051\\\"\",\r\ + ,\r\n \"etag\": \"W/\\\"ad187278-49fa-4b7a-a8d7-cae450df6a8a\\\"\",\r\ \n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"addressPrefix\": \"10.1.0.0/16\",\r\n \"nextHopType\"\ : \"None\"\r\n }\r\n }\r\n ]\r\n}"} @@ -323,7 +331,7 @@ interactions: cache-control: [no-cache] content-length: ['484'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:02:22 GMT'] + date: ['Fri, 27 Jul 2018 22:48:44 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -340,25 +348,25 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d/routes/pyrouteb6760c2d?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d/routes/pyrouteb6760c2d?api-version=2018-06-01 response: body: {string: ''} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6776571c-0ed5-4d60-a3ab-10058fb8cd32?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/a4f2f599-3bf5-46da-a36e-b9778cd59f8d?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 03 Apr 2018 21:02:23 GMT'] + date: ['Fri, 27 Jul 2018 22:48:45 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/6776571c-0ed5-4d60-a3ab-10058fb8cd32?api-version=2018-02-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/a4f2f599-3bf5-46da-a36e-b9778cd59f8d?api-version=2018-06-01'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} - request: body: null @@ -366,17 +374,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6776571c-0ed5-4d60-a3ab-10058fb8cd32?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/a4f2f599-3bf5-46da-a36e-b9778cd59f8d?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:02:34 GMT'] + date: ['Fri, 27 Jul 2018 22:48:56 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -393,25 +401,25 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_routesb6760c2d/providers/Microsoft.Network/routeTables/pyroutetableb6760c2d?api-version=2018-06-01 response: body: {string: ''} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2e748b4a-741c-40c3-b339-f71d9a0c8869?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/bcc870f8-b62a-401e-bf54-eb75da7916f3?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 03 Apr 2018 21:02:34 GMT'] + date: ['Fri, 27 Jul 2018 22:48:57 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/2e748b4a-741c-40c3-b339-f71d9a0c8869?api-version=2018-02-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/bcc870f8-b62a-401e-bf54-eb75da7916f3?api-version=2018-06-01'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} - request: body: null @@ -419,17 +427,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/2e748b4a-741c-40c3-b339-f71d9a0c8869?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/bcc870f8-b62a-401e-bf54-eb75da7916f3?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:02:45 GMT'] + date: ['Fri, 27 Jul 2018 22:49:08 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] diff --git a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_subnets.yaml b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_subnets.yaml index b6abf7806689..a8c5057d57cc 100644 --- a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_subnets.yaml +++ b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_subnets.yaml @@ -2,40 +2,42 @@ interactions: - request: body: '{"location": "westus", "properties": {"addressSpace": {"addressPrefixes": ["10.0.0.0/16"]}, "dhcpOptions": {"dnsServers": ["10.1.1.1", "10.1.2.4"]}, "subnets": - [{"properties": {"addressPrefix": "10.0.1.0/24"}, "name": "pysubnetonec2cc0c8f"}]}}' + [{"properties": {"addressPrefix": "10.0.1.0/24"}, "name": "pysubnetonec2cc0c8f"}], + "enableDdosProtection": false, "enableVmProtection": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - Content-Length: ['243'] + Content-Length: ['303'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pysubnetc2cc0c8f\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f\"\ - ,\r\n \"etag\": \"W/\\\"e5070d0e-5bde-427f-ac98-fdcf201bb05b\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"cba837c6-4989-4e2a-864e-bc53c64eabde\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ - \ \"resourceGuid\": \"d1dd26a2-b2ec-4dea-a3a2-86853d484788\",\r\n \"\ + \ \"resourceGuid\": \"6dfd0692-2ba9-4a0a-b1d8-3df890f7a1c5\",\r\n \"\ addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\ \r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": [\r\ \n \"10.1.1.1\",\r\n \"10.1.2.4\"\r\n ]\r\n },\r\n \ \ \"subnets\": [\r\n {\r\n \"name\": \"pysubnetonec2cc0c8f\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets/pysubnetonec2cc0c8f\"\ - ,\r\n \"etag\": \"W/\\\"e5070d0e-5bde-427f-ac98-fdcf201bb05b\\\"\"\ + ,\r\n \"etag\": \"W/\\\"cba837c6-4989-4e2a-864e-bc53c64eabde\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ - ,\r\n \"addressPrefix\": \"10.0.1.0/24\"\r\n }\r\n }\r\ - \n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\"\ - : false,\r\n \"enableVmProtection\": false\r\n }\r\n}"} + ,\r\n \"addressPrefix\": \"10.0.1.0/24\",\r\n \"delegations\"\ + : []\r\n }\r\n }\r\n ],\r\n \"virtualNetworkPeerings\":\ + \ [],\r\n \"enableDdosProtection\": false,\r\n \"enableVmProtection\"\ + : false\r\n }\r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/78cffeac-c1a0-44e9-b1ac-d4eb52a36a21?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ba975d71-d3cb-48fd-8766-b065bf7dde2e?api-version=2018-06-01'] cache-control: [no-cache] - content-length: ['1247'] + content-length: ['1277'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:02:51 GMT'] + date: ['Fri, 27 Jul 2018 22:49:15 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -49,17 +51,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/78cffeac-c1a0-44e9-b1ac-d4eb52a36a21?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ba975d71-d3cb-48fd-8766-b065bf7dde2e?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:02:55 GMT'] + date: ['Fri, 27 Jul 2018 22:49:19 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -74,17 +76,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/78cffeac-c1a0-44e9-b1ac-d4eb52a36a21?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ba975d71-d3cb-48fd-8766-b065bf7dde2e?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:03:05 GMT'] + date: ['Fri, 27 Jul 2018 22:49:31 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -99,32 +101,33 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pysubnetc2cc0c8f\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f\"\ - ,\r\n \"etag\": \"W/\\\"eb79b9b2-6ec0-442d-80ad-646f8c07182f\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"c85ffd65-2423-4c48-81aa-32e40648bcac\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ - \ \"resourceGuid\": \"d1dd26a2-b2ec-4dea-a3a2-86853d484788\",\r\n \"\ + \ \"resourceGuid\": \"6dfd0692-2ba9-4a0a-b1d8-3df890f7a1c5\",\r\n \"\ addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\ \r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": [\r\ \n \"10.1.1.1\",\r\n \"10.1.2.4\"\r\n ]\r\n },\r\n \ \ \"subnets\": [\r\n {\r\n \"name\": \"pysubnetonec2cc0c8f\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets/pysubnetonec2cc0c8f\"\ - ,\r\n \"etag\": \"W/\\\"eb79b9b2-6ec0-442d-80ad-646f8c07182f\\\"\"\ + ,\r\n \"etag\": \"W/\\\"c85ffd65-2423-4c48-81aa-32e40648bcac\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ - ,\r\n \"addressPrefix\": \"10.0.1.0/24\"\r\n }\r\n }\r\ - \n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\"\ - : false,\r\n \"enableVmProtection\": false\r\n }\r\n}"} + ,\r\n \"addressPrefix\": \"10.0.1.0/24\",\r\n \"delegations\"\ + : []\r\n }\r\n }\r\n ],\r\n \"virtualNetworkPeerings\":\ + \ [],\r\n \"enableDdosProtection\": false,\r\n \"enableVmProtection\"\ + : false\r\n }\r\n}"} headers: cache-control: [no-cache] - content-length: ['1249'] + content-length: ['1279'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:03:05 GMT'] - etag: [W/"eb79b9b2-6ec0-442d-80ad-646f8c07182f"] + date: ['Fri, 27 Jul 2018 22:49:31 GMT'] + etag: [W/"c85ffd65-2423-4c48-81aa-32e40648bcac"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -141,22 +144,22 @@ interactions: Connection: [keep-alive] Content-Length: ['79'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets/pysubnettwoc2cc0c8f?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets/pysubnettwoc2cc0c8f?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pysubnettwoc2cc0c8f\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets/pysubnettwoc2cc0c8f\"\ - ,\r\n \"etag\": \"W/\\\"91522dbd-1ba0-4ca0-a14e-fbf62531d4bd\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"72ae2b76-f848-4c1b-9168-2ba3347877a3\\\"\",\r\n \ \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"\ - addressPrefix\": \"10.0.2.0/24\"\r\n }\r\n}"} + addressPrefix\": \"10.0.2.0/24\",\r\n \"delegations\": []\r\n }\r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f8cb54-70e8-464a-89bd-4a38d357d709?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fd6f312f-f8ba-4217-a29a-42b824b3a51d?api-version=2018-06-01'] cache-control: [no-cache] - content-length: ['400'] + content-length: ['424'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:03:06 GMT'] + date: ['Fri, 27 Jul 2018 22:49:33 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -170,17 +173,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/98f8cb54-70e8-464a-89bd-4a38d357d709?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/fd6f312f-f8ba-4217-a29a-42b824b3a51d?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:03:09 GMT'] + date: ['Fri, 27 Jul 2018 22:49:37 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -195,21 +198,21 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets/pysubnettwoc2cc0c8f?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets/pysubnettwoc2cc0c8f?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pysubnettwoc2cc0c8f\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets/pysubnettwoc2cc0c8f\"\ - ,\r\n \"etag\": \"W/\\\"0f5806dc-a131-4b1f-9c5b-d8f0ca84c72c\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"87c33a43-1383-4649-aa10-d80252276a1a\\\"\",\r\n \ \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"\ - addressPrefix\": \"10.0.2.0/24\"\r\n }\r\n}"} + addressPrefix\": \"10.0.2.0/24\",\r\n \"delegations\": []\r\n }\r\n}"} headers: cache-control: [no-cache] - content-length: ['401'] + content-length: ['425'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:03:11 GMT'] - etag: [W/"0f5806dc-a131-4b1f-9c5b-d8f0ca84c72c"] + date: ['Fri, 27 Jul 2018 22:49:38 GMT'] + etag: [W/"87c33a43-1383-4649-aa10-d80252276a1a"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -225,38 +228,39 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pysubnetc2cc0c8f\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f\"\ - ,\r\n \"etag\": \"W/\\\"0f5806dc-a131-4b1f-9c5b-d8f0ca84c72c\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"87c33a43-1383-4649-aa10-d80252276a1a\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ - \ \"resourceGuid\": \"d1dd26a2-b2ec-4dea-a3a2-86853d484788\",\r\n \"\ + \ \"resourceGuid\": \"6dfd0692-2ba9-4a0a-b1d8-3df890f7a1c5\",\r\n \"\ addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\ \r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": [\r\ \n \"10.1.1.1\",\r\n \"10.1.2.4\"\r\n ]\r\n },\r\n \ \ \"subnets\": [\r\n {\r\n \"name\": \"pysubnetonec2cc0c8f\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets/pysubnetonec2cc0c8f\"\ - ,\r\n \"etag\": \"W/\\\"0f5806dc-a131-4b1f-9c5b-d8f0ca84c72c\\\"\"\ + ,\r\n \"etag\": \"W/\\\"87c33a43-1383-4649-aa10-d80252276a1a\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ - ,\r\n \"addressPrefix\": \"10.0.1.0/24\"\r\n }\r\n },\r\ - \n {\r\n \"name\": \"pysubnettwoc2cc0c8f\",\r\n \"id\"\ - : \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets/pysubnettwoc2cc0c8f\"\ - ,\r\n \"etag\": \"W/\\\"0f5806dc-a131-4b1f-9c5b-d8f0ca84c72c\\\"\"\ + ,\r\n \"addressPrefix\": \"10.0.1.0/24\",\r\n \"delegations\"\ + : []\r\n }\r\n },\r\n {\r\n \"name\": \"pysubnettwoc2cc0c8f\"\ + ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets/pysubnettwoc2cc0c8f\"\ + ,\r\n \"etag\": \"W/\\\"87c33a43-1383-4649-aa10-d80252276a1a\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ - ,\r\n \"addressPrefix\": \"10.0.2.0/24\"\r\n }\r\n }\r\ - \n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\"\ - : false,\r\n \"enableVmProtection\": false\r\n }\r\n}"} + ,\r\n \"addressPrefix\": \"10.0.2.0/24\",\r\n \"delegations\"\ + : []\r\n }\r\n }\r\n ],\r\n \"virtualNetworkPeerings\":\ + \ [],\r\n \"enableDdosProtection\": false,\r\n \"enableVmProtection\"\ + : false\r\n }\r\n}"} headers: cache-control: [no-cache] - content-length: ['1707'] + content-length: ['1767'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:03:11 GMT'] - etag: [W/"0f5806dc-a131-4b1f-9c5b-d8f0ca84c72c"] + date: ['Fri, 27 Jul 2018 22:49:39 GMT'] + etag: [W/"87c33a43-1383-4649-aa10-d80252276a1a"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -272,22 +276,22 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets/pysubnettwoc2cc0c8f?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets/pysubnettwoc2cc0c8f?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pysubnettwoc2cc0c8f\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets/pysubnettwoc2cc0c8f\"\ - ,\r\n \"etag\": \"W/\\\"0f5806dc-a131-4b1f-9c5b-d8f0ca84c72c\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"87c33a43-1383-4649-aa10-d80252276a1a\\\"\",\r\n \ \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"\ - addressPrefix\": \"10.0.2.0/24\"\r\n }\r\n}"} + addressPrefix\": \"10.0.2.0/24\",\r\n \"delegations\": []\r\n }\r\n}"} headers: cache-control: [no-cache] - content-length: ['401'] + content-length: ['425'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:03:12 GMT'] - etag: [W/"0f5806dc-a131-4b1f-9c5b-d8f0ca84c72c"] + date: ['Fri, 27 Jul 2018 22:49:40 GMT'] + etag: [W/"87c33a43-1383-4649-aa10-d80252276a1a"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -303,27 +307,28 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets?api-version=2018-06-01 response: body: {string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"pysubnetonec2cc0c8f\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets/pysubnetonec2cc0c8f\"\ - ,\r\n \"etag\": \"W/\\\"0f5806dc-a131-4b1f-9c5b-d8f0ca84c72c\\\"\",\r\ + ,\r\n \"etag\": \"W/\\\"87c33a43-1383-4649-aa10-d80252276a1a\\\"\",\r\ \n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ - ,\r\n \"addressPrefix\": \"10.0.1.0/24\"\r\n }\r\n },\r\n \ - \ {\r\n \"name\": \"pysubnettwoc2cc0c8f\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets/pysubnettwoc2cc0c8f\"\ - ,\r\n \"etag\": \"W/\\\"0f5806dc-a131-4b1f-9c5b-d8f0ca84c72c\\\"\",\r\ + ,\r\n \"addressPrefix\": \"10.0.1.0/24\",\r\n \"delegations\"\ + : []\r\n }\r\n },\r\n {\r\n \"name\": \"pysubnettwoc2cc0c8f\"\ + ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets/pysubnettwoc2cc0c8f\"\ + ,\r\n \"etag\": \"W/\\\"87c33a43-1383-4649-aa10-d80252276a1a\\\"\",\r\ \n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ - ,\r\n \"addressPrefix\": \"10.0.2.0/24\"\r\n }\r\n }\r\n ]\r\ - \n}"} + ,\r\n \"addressPrefix\": \"10.0.2.0/24\",\r\n \"delegations\"\ + : []\r\n }\r\n }\r\n ]\r\n}"} headers: cache-control: [no-cache] - content-length: ['902'] + content-length: ['958'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:03:11 GMT'] + date: ['Fri, 27 Jul 2018 22:49:41 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -340,25 +345,25 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets/pysubnettwoc2cc0c8f?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_subnetsc2cc0c8f/providers/Microsoft.Network/virtualNetworks/pysubnetc2cc0c8f/subnets/pysubnettwoc2cc0c8f?api-version=2018-06-01 response: body: {string: ''} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/af2d22f4-668a-4486-ac02-4ac6a1e6b857?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ba37c26b-ea5a-4d18-a22e-fbc65812ab0d?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 03 Apr 2018 21:03:13 GMT'] + date: ['Fri, 27 Jul 2018 22:49:42 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/af2d22f4-668a-4486-ac02-4ac6a1e6b857?api-version=2018-02-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/ba37c26b-ea5a-4d18-a22e-fbc65812ab0d?api-version=2018-06-01'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} - request: body: null @@ -366,17 +371,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/af2d22f4-668a-4486-ac02-4ac6a1e6b857?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/ba37c26b-ea5a-4d18-a22e-fbc65812ab0d?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:03:23 GMT'] + date: ['Fri, 27 Jul 2018 22:49:53 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] diff --git a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_usages.yaml b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_usages.yaml index df3c9aad5f86..436b3051ee00 100644 --- a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_usages.yaml +++ b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_usages.yaml @@ -6,34 +6,38 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages?api-version=2018-06-01 response: - body: {string: "{\r\n \"value\": [\r\n {\r\n \"currentValue\": 13.0,\r\ + body: {string: "{\r\n \"value\": [\r\n {\r\n \"currentValue\": 2.0,\r\ \n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/VirtualNetworks\"\ ,\r\n \"limit\": 50.0,\r\n \"name\": {\r\n \"localizedValue\"\ : \"Virtual Networks\",\r\n \"value\": \"VirtualNetworks\"\r\n \ \ },\r\n \"unit\": \"Count\"\r\n },\r\n {\r\n \"currentValue\"\ - : 1.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/StaticPublicIPAddresses\"\ + : 0.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/StaticPublicIPAddresses\"\ ,\r\n \"limit\": 20.0,\r\n \"name\": {\r\n \"localizedValue\"\ : \"Static Public IP Addresses\",\r\n \"value\": \"StaticPublicIPAddresses\"\ \r\n },\r\n \"unit\": \"Count\"\r\n },\r\n {\r\n \"currentValue\"\ - : 9.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/NetworkSecurityGroups\"\ + : 2.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/NetworkSecurityGroups\"\ ,\r\n \"limit\": 100.0,\r\n \"name\": {\r\n \"localizedValue\"\ : \"Network Security Groups\",\r\n \"value\": \"NetworkSecurityGroups\"\ \r\n },\r\n \"unit\": \"Count\"\r\n },\r\n {\r\n \"currentValue\"\ - : 15.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/PublicIPAddresses\"\ + : 1.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/PublicIPAddresses\"\ ,\r\n \"limit\": 60.0,\r\n \"name\": {\r\n \"localizedValue\"\ : \"Public IP Addresses\",\r\n \"value\": \"PublicIPAddresses\"\r\n\ \ },\r\n \"unit\": \"Count\"\r\n },\r\n {\r\n \"currentValue\"\ - : 10.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/NetworkInterfaces\"\ - ,\r\n \"limit\": 350.0,\r\n \"name\": {\r\n \"localizedValue\"\ + : 0.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/PublicIpPrefixes\"\ + ,\r\n \"limit\": 2147483647.0,\r\n \"name\": {\r\n \"localizedValue\"\ + : \"Public Ip Prefixes\",\r\n \"value\": \"PublicIpPrefixes\"\r\n \ + \ },\r\n \"unit\": \"Count\"\r\n },\r\n {\r\n \"currentValue\"\ + : 1.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/NetworkInterfaces\"\ + ,\r\n \"limit\": 24000.0,\r\n \"name\": {\r\n \"localizedValue\"\ : \"Network Interfaces\",\r\n \"value\": \"NetworkInterfaces\"\r\n\ \ },\r\n \"unit\": \"Count\"\r\n },\r\n {\r\n \"currentValue\"\ - : 1.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/LoadBalancers\"\ + : 0.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/LoadBalancers\"\ ,\r\n \"limit\": 100.0,\r\n \"name\": {\r\n \"localizedValue\"\ : \"Load Balancers\",\r\n \"value\": \"LoadBalancers\"\r\n },\r\ \n \"unit\": \"Count\"\r\n },\r\n {\r\n \"currentValue\":\ @@ -54,11 +58,11 @@ interactions: : \"Network Watchers\",\r\n \"value\": \"NetworkWatchers\"\r\n \ \ },\r\n \"unit\": \"Count\"\r\n },\r\n {\r\n \"currentValue\"\ : 0.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/PacketCaptures\"\ - ,\r\n \"limit\": 10.0,\r\n \"name\": {\r\n \"localizedValue\"\ + ,\r\n \"limit\": 100.0,\r\n \"name\": {\r\n \"localizedValue\"\ : \"Packet Captures\",\r\n \"value\": \"PacketCaptures\"\r\n },\r\ \n \"unit\": \"Count\"\r\n },\r\n {\r\n \"currentValue\":\ \ 0.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/ApplicationSecurityGroups\"\ - ,\r\n \"limit\": 200.0,\r\n \"name\": {\r\n \"localizedValue\"\ + ,\r\n \"limit\": 500.0,\r\n \"name\": {\r\n \"localizedValue\"\ : \"Application Security Groups.\",\r\n \"value\": \"ApplicationSecurityGroups\"\ \r\n },\r\n \"unit\": \"Count\"\r\n },\r\n {\r\n \"currentValue\"\ : 0.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/DdosProtectionPlans\"\ @@ -69,10 +73,10 @@ interactions: ,\r\n \"limit\": 200.0,\r\n \"name\": {\r\n \"localizedValue\"\ : \"Service Endpoint Policies\",\r\n \"value\": \"ServiceEndpointPolicies\"\ \r\n },\r\n \"unit\": \"Count\"\r\n },\r\n {\r\n \"currentValue\"\ - : 0.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/IntendedPolicies\"\ - ,\r\n \"limit\": 10.0,\r\n \"name\": {\r\n \"localizedValue\"\ - : \"Intended Policies\",\r\n \"value\": \"IntendedPolicies\"\r\n \ - \ },\r\n \"unit\": \"Count\"\r\n },\r\n {\r\n \"currentValue\"\ + : 0.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/NetworkIntentPolicies\"\ + ,\r\n \"limit\": 200.0,\r\n \"name\": {\r\n \"localizedValue\"\ + : \"Network Intent Policies\",\r\n \"value\": \"NetworkIntentPolicies\"\ + \r\n },\r\n \"unit\": \"Count\"\r\n },\r\n {\r\n \"currentValue\"\ : 0.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/DnsServersPerVirtualNetwork\"\ ,\r\n \"limit\": 9.0,\r\n \"name\": {\r\n \"localizedValue\"\ : \"DNS servers per Virtual Network\",\r\n \"value\": \"DnsServersPerVirtualNetwork\"\ @@ -82,24 +86,24 @@ interactions: : \"Subnets per Virtual Network\",\r\n \"value\": \"SubnetsPerVirtualNetwork\"\ \r\n },\r\n \"unit\": \"Count\"\r\n },\r\n {\r\n \"currentValue\"\ : 0.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/IPConfigurationsPerVirtualNetwork\"\ - ,\r\n \"limit\": 4096.0,\r\n \"name\": {\r\n \"localizedValue\"\ + ,\r\n \"limit\": 16384.0,\r\n \"name\": {\r\n \"localizedValue\"\ : \"IP Configurations per Virtual Network\",\r\n \"value\": \"IPConfigurationsPerVirtualNetwork\"\ \r\n },\r\n \"unit\": \"Count\"\r\n },\r\n {\r\n \"currentValue\"\ : 0.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/PeeringsPerVirtualNetwork\"\ - ,\r\n \"limit\": 10.0,\r\n \"name\": {\r\n \"localizedValue\"\ + ,\r\n \"limit\": 50.0,\r\n \"name\": {\r\n \"localizedValue\"\ : \"Peerings per Virtual Network\",\r\n \"value\": \"PeeringsPerVirtualNetwork\"\ \r\n },\r\n \"unit\": \"Count\"\r\n },\r\n {\r\n \"currentValue\"\ : 0.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/SecurityRulesPerNetworkSecurityGroup\"\ - ,\r\n \"limit\": 200.0,\r\n \"name\": {\r\n \"localizedValue\"\ + ,\r\n \"limit\": 1000.0,\r\n \"name\": {\r\n \"localizedValue\"\ : \"Security rules per Network Security Group\",\r\n \"value\": \"\ SecurityRulesPerNetworkSecurityGroup\"\r\n },\r\n \"unit\": \"Count\"\ - \r\n },\r\n {\r\n \"currentValue\": 0.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/SecurityRulesPerIntendedPolicy\"\ - ,\r\n \"limit\": 200.0,\r\n \"name\": {\r\n \"localizedValue\"\ - : \"Security rules per Intended Policy\",\r\n \"value\": \"SecurityRulesPerIntendedPolicy\"\ + \r\n },\r\n {\r\n \"currentValue\": 0.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/SecurityRulesPerNetworkIntentPolicy\"\ + ,\r\n \"limit\": 100.0,\r\n \"name\": {\r\n \"localizedValue\"\ + : \"Security rules per Network Intent Policy\",\r\n \"value\": \"SecurityRulesPerNetworkIntentPolicy\"\ \r\n },\r\n \"unit\": \"Count\"\r\n },\r\n {\r\n \"currentValue\"\ - : 0.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/RoutesPerIntendedPolicy\"\ - ,\r\n \"limit\": 200.0,\r\n \"name\": {\r\n \"localizedValue\"\ - : \"Routes per Intended Policy\",\r\n \"value\": \"RoutesPerIntendedPolicy\"\ + : 0.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/RoutesPerNetworkIntentPolicy\"\ + ,\r\n \"limit\": 100.0,\r\n \"name\": {\r\n \"localizedValue\"\ + : \"Routes per Network Intent Policy\",\r\n \"value\": \"RoutesPerNetworkIntentPolicy\"\ \r\n },\r\n \"unit\": \"Count\"\r\n },\r\n {\r\n \"currentValue\"\ : 0.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/SecurityRuleAddressesOrPortsPerNetworkSecurityGroup\"\ ,\r\n \"limit\": 2000.0,\r\n \"name\": {\r\n \"localizedValue\"\ @@ -115,12 +119,12 @@ interactions: : \"Frontend IP Configurations per Load Balancer\",\r\n \"value\":\ \ \"FrontendIPConfigurationPerLoadBalancer\"\r\n },\r\n \"unit\"\ : \"Count\"\r\n },\r\n {\r\n \"currentValue\": 0.0,\r\n \"\ - id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/OutboundNatRulesPerLoadBalancer\"\ + id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/OutboundRulesPerLoadBalancer\"\ ,\r\n \"limit\": 5.0,\r\n \"name\": {\r\n \"localizedValue\"\ - : \"Outbound NAT Rules per Load Balancer\",\r\n \"value\": \"OutboundNatRulesPerLoadBalancer\"\ + : \"Outbound Rules per Load Balancer\",\r\n \"value\": \"OutboundRulesPerLoadBalancer\"\ \r\n },\r\n \"unit\": \"Count\"\r\n },\r\n {\r\n \"currentValue\"\ : 0.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/RoutesPerRouteTable\"\ - ,\r\n \"limit\": 100.0,\r\n \"name\": {\r\n \"localizedValue\"\ + ,\r\n \"limit\": 400.0,\r\n \"name\": {\r\n \"localizedValue\"\ : \"Routes per Route Table\",\r\n \"value\": \"RoutesPerRouteTable\"\ \r\n },\r\n \"unit\": \"Count\"\r\n },\r\n {\r\n \"currentValue\"\ : 0.0,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/usages/SecondaryIPConfigurationsPerNetworkInterface\"\ @@ -143,9 +147,9 @@ interactions: Count\"\r\n }\r\n ]\r\n}"} headers: cache-control: [no-cache] - content-length: ['11363'] + content-length: ['11750'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:03:29 GMT'] + date: ['Fri, 27 Jul 2018 22:49:57 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] diff --git a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_virtual_network_gateway_operations.yaml b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_virtual_network_gateway_operations.yaml index 5d09d6f25e80..0e7c3effa561 100644 --- a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_virtual_network_gateway_operations.yaml +++ b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_virtual_network_gateway_operations.yaml @@ -8,27 +8,27 @@ interactions: Connection: [keep-alive] Content-Length: ['109'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyvirtnetb4d417ef\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef\"\ - ,\r\n \"etag\": \"W/\\\"828a122f-1cf0-4568-bdec-8c62d66eea0c\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"d4ac3049-dc0a-4ab6-996e-132ecccff633\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ - \ \"resourceGuid\": \"f4528c12-71ae-42ea-8777-f5b670062767\",\r\n \"\ + \ \"resourceGuid\": \"10ad6fb3-6b7f-4f58-ba8c-e3faac3c8bd5\",\r\n \"\ addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.11.0.0/16\"\ ,\r\n \"10.12.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [],\r\ \n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false,\r\ \n \"enableVmProtection\": false\r\n }\r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/eb43e531-21c2-4439-a493-c5d71207475c?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7a282d0c-2750-4e1a-9e6d-a450f6e48f9e?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['737'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:03:33 GMT'] + date: ['Fri, 27 Jul 2018 22:50:08 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -42,17 +42,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/eb43e531-21c2-4439-a493-c5d71207475c?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7a282d0c-2750-4e1a-9e6d-a450f6e48f9e?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:03:37 GMT'] + date: ['Fri, 27 Jul 2018 22:50:11 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -67,17 +67,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/eb43e531-21c2-4439-a493-c5d71207475c?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7a282d0c-2750-4e1a-9e6d-a450f6e48f9e?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:03:48 GMT'] + date: ['Fri, 27 Jul 2018 22:50:23 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -92,16 +92,16 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyvirtnetb4d417ef\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef\"\ - ,\r\n \"etag\": \"W/\\\"4fd9c4a3-c968-474f-90f0-bb96cf8f74c8\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"b60ce455-9d35-4c6e-b638-da3e4905214c\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ - \ \"resourceGuid\": \"f4528c12-71ae-42ea-8777-f5b670062767\",\r\n \"\ + \ \"resourceGuid\": \"10ad6fb3-6b7f-4f58-ba8c-e3faac3c8bd5\",\r\n \"\ addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.11.0.0/16\"\ ,\r\n \"10.12.0.0/16\"\r\n ]\r\n },\r\n \"subnets\": [],\r\ \n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\": false,\r\ @@ -110,8 +110,8 @@ interactions: cache-control: [no-cache] content-length: ['738'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:03:48 GMT'] - etag: [W/"4fd9c4a3-c968-474f-90f0-bb96cf8f74c8"] + date: ['Fri, 27 Jul 2018 22:50:23 GMT'] + etag: [W/"b60ce455-9d35-4c6e-b638-da3e4905214c"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -128,28 +128,28 @@ interactions: Connection: [keep-alive] Content-Length: ['49'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/pysubnetfeb4d417ef?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/pysubnetfeb4d417ef?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pysubnetfeb4d417ef\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/pysubnetfeb4d417ef\"\ - ,\r\n \"etag\": \"W/\\\"325ee4b5-6638-4492-be0d-b6ab084f4cbd\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"51f4b8bb-e6b3-45b2-9174-415beddd6cc7\\\"\",\r\n \ \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"\ - addressPrefix\": \"10.11.0.0/24\"\r\n }\r\n}"} + addressPrefix\": \"10.11.0.0/24\",\r\n \"delegations\": []\r\n }\r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/32cdf067-4ab8-4e1e-b0c9-1a91f01403cb?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/a0653983-79c6-435d-a5c3-9667adb71003?api-version=2018-06-01'] cache-control: [no-cache] - content-length: ['427'] + content-length: ['451'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:03:49 GMT'] + date: ['Fri, 27 Jul 2018 22:50:25 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 201, message: Created} - request: body: null @@ -157,17 +157,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/32cdf067-4ab8-4e1e-b0c9-1a91f01403cb?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/a0653983-79c6-435d-a5c3-9667adb71003?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:03:53 GMT'] + date: ['Fri, 27 Jul 2018 22:50:28 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -182,21 +182,21 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/pysubnetfeb4d417ef?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/pysubnetfeb4d417ef?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pysubnetfeb4d417ef\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/pysubnetfeb4d417ef\"\ - ,\r\n \"etag\": \"W/\\\"d7704919-8bec-47dd-a223-6e2703f3c918\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"c4e9453a-4f53-4830-b129-de2827b79dda\\\"\",\r\n \ \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"\ - addressPrefix\": \"10.11.0.0/24\"\r\n }\r\n}"} + addressPrefix\": \"10.11.0.0/24\",\r\n \"delegations\": []\r\n }\r\n}"} headers: cache-control: [no-cache] - content-length: ['428'] + content-length: ['452'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:03:54 GMT'] - etag: [W/"d7704919-8bec-47dd-a223-6e2703f3c918"] + date: ['Fri, 27 Jul 2018 22:50:29 GMT'] + etag: [W/"c4e9453a-4f53-4830-b129-de2827b79dda"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -213,22 +213,22 @@ interactions: Connection: [keep-alive] Content-Length: ['49'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/pysubnetbeb4d417ef?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/pysubnetbeb4d417ef?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pysubnetbeb4d417ef\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/pysubnetbeb4d417ef\"\ - ,\r\n \"etag\": \"W/\\\"a34ec325-8bde-4f69-8381-3ba61558644d\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"09538960-3ab0-4b9c-b0c0-255849e8655c\\\"\",\r\n \ \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"\ - addressPrefix\": \"10.12.0.0/24\"\r\n }\r\n}"} + addressPrefix\": \"10.12.0.0/24\",\r\n \"delegations\": []\r\n }\r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7b5d6cd9-0823-42f0-aa95-f70b173bba76?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/32d87661-04bf-4ec6-8af5-3cd15575b7ff?api-version=2018-06-01'] cache-control: [no-cache] - content-length: ['427'] + content-length: ['451'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:03:54 GMT'] + date: ['Fri, 27 Jul 2018 22:50:30 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -242,17 +242,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/7b5d6cd9-0823-42f0-aa95-f70b173bba76?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/32d87661-04bf-4ec6-8af5-3cd15575b7ff?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:03:58 GMT'] + date: ['Fri, 27 Jul 2018 22:50:33 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -267,21 +267,21 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/pysubnetbeb4d417ef?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/pysubnetbeb4d417ef?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pysubnetbeb4d417ef\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/pysubnetbeb4d417ef\"\ - ,\r\n \"etag\": \"W/\\\"0d67f7ff-3098-4846-84d7-4a47196a0dc2\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"5cf8dbe6-c4cf-4c1e-8bc4-d4d6eaa44643\\\"\",\r\n \ \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"\ - addressPrefix\": \"10.12.0.0/24\"\r\n }\r\n}"} + addressPrefix\": \"10.12.0.0/24\",\r\n \"delegations\": []\r\n }\r\n}"} headers: cache-control: [no-cache] - content-length: ['428'] + content-length: ['452'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:03:58 GMT'] - etag: [W/"0d67f7ff-3098-4846-84d7-4a47196a0dc2"] + date: ['Fri, 27 Jul 2018 22:50:34 GMT'] + etag: [W/"5cf8dbe6-c4cf-4c1e-8bc4-d4d6eaa44643"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -298,28 +298,29 @@ interactions: Connection: [keep-alive] Content-Length: ['51'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/GatewaySubnet?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/GatewaySubnet?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"GatewaySubnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/GatewaySubnet\"\ - ,\r\n \"etag\": \"W/\\\"7a8b546e-034b-45e9-870a-6167c6eea30c\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"b3933c77-fdeb-42ca-9d50-980a4bceec93\\\"\",\r\n \ \ \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \"\ - addressPrefix\": \"10.12.255.0/27\"\r\n }\r\n}"} + addressPrefix\": \"10.12.255.0/27\",\r\n \"delegations\": []\r\n }\r\n\ + }"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/76b61fde-e702-4034-b38d-f5190de5fa37?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/b99b68c4-ccaa-416c-9ce2-9deeb3481e24?api-version=2018-06-01'] cache-control: [no-cache] - content-length: ['419'] + content-length: ['443'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:04:03 GMT'] + date: ['Fri, 27 Jul 2018 22:50:36 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 201, message: Created} - request: body: null @@ -327,17 +328,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/76b61fde-e702-4034-b38d-f5190de5fa37?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/b99b68c4-ccaa-416c-9ce2-9deeb3481e24?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:04:05 GMT'] + date: ['Fri, 27 Jul 2018 22:50:40 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -352,21 +353,22 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/GatewaySubnet?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/GatewaySubnet?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"GatewaySubnet\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/GatewaySubnet\"\ - ,\r\n \"etag\": \"W/\\\"4d577db1-6046-459d-9ef5-a86c54c44f20\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"575c727c-891c-46e7-8bb7-f35cbc6b0aab\\\"\",\r\n \ \ \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n \"\ - addressPrefix\": \"10.12.255.0/27\"\r\n }\r\n}"} + addressPrefix\": \"10.12.255.0/27\",\r\n \"delegations\": []\r\n }\r\n\ + }"} headers: cache-control: [no-cache] - content-length: ['420'] + content-length: ['444'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:04:06 GMT'] - etag: [W/"4d577db1-6046-459d-9ef5-a86c54c44f20"] + date: ['Fri, 27 Jul 2018 22:50:41 GMT'] + etag: [W/"575c727c-891c-46e7-8bb7-f35cbc6b0aab"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -384,33 +386,33 @@ interactions: Connection: [keep-alive] Content-Length: ['103'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/publicIPAddresses/pyipnameb4d417ef?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/publicIPAddresses/pyipnameb4d417ef?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyipnameb4d417ef\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/publicIPAddresses/pyipnameb4d417ef\"\ - ,\r\n \"etag\": \"W/\\\"fe62c0e4-7bed-4c55-a480-3bd22c4976eb\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"b0a4b5e9-7d65-48c5-8bd1-7f4504e98f17\\\"\",\r\n \ \ \"location\": \"westus\",\r\n \"tags\": {\r\n \"key\": \"value\"\r\n\ \ },\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\ - \n \"resourceGuid\": \"b077dece-4608-4da3-8b5b-9efe250ad494\",\r\n \"\ + \n \"resourceGuid\": \"47efb9a9-c258-4209-a661-94c154b7c7e4\",\r\n \"\ publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"\ Dynamic\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n \ \ },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\"\ : {\r\n \"name\": \"Basic\",\r\n \"tier\": \"Regional\"\r\n }\r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f137f615-6553-4faf-b739-f31f71334adf?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3a4932fb-401d-48ce-9616-431fb65ac247?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['734'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:04:07 GMT'] + date: ['Fri, 27 Jul 2018 22:50:43 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 201, message: Created} - request: body: null @@ -418,17 +420,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f137f615-6553-4faf-b739-f31f71334adf?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/3a4932fb-401d-48ce-9616-431fb65ac247?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:04:12 GMT'] + date: ['Fri, 27 Jul 2018 22:50:46 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -443,16 +445,16 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/publicIPAddresses/pyipnameb4d417ef?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/publicIPAddresses/pyipnameb4d417ef?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyipnameb4d417ef\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/publicIPAddresses/pyipnameb4d417ef\"\ - ,\r\n \"etag\": \"W/\\\"84b54af9-8332-4610-9e1f-e1f8986df30f\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"04d5203d-c188-4bef-b6ab-a854fc535323\\\"\",\r\n \ \ \"location\": \"westus\",\r\n \"tags\": {\r\n \"key\": \"value\"\r\n\ \ },\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\ - \n \"resourceGuid\": \"b077dece-4608-4da3-8b5b-9efe250ad494\",\r\n \"\ + \n \"resourceGuid\": \"47efb9a9-c258-4209-a661-94c154b7c7e4\",\r\n \"\ publicIPAddressVersion\": \"IPv4\",\r\n \"publicIPAllocationMethod\": \"\ Dynamic\",\r\n \"idleTimeoutInMinutes\": 4,\r\n \"ipTags\": []\r\n \ \ },\r\n \"type\": \"Microsoft.Network/publicIPAddresses\",\r\n \"sku\"\ @@ -461,8 +463,8 @@ interactions: cache-control: [no-cache] content-length: ['735'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:04:12 GMT'] - etag: [W/"84b54af9-8332-4610-9e1f-e1f8986df30f"] + date: ['Fri, 27 Jul 2018 22:50:48 GMT'] + etag: [W/"04d5203d-c188-4bef-b6ab-a854fc535323"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -472,31 +474,31 @@ interactions: x-content-type-options: [nosniff] status: {code: 200, message: OK} - request: - body: 'b''b\''b\\\''{"location": "westus", "properties": {"ipConfigurations": + body: 'b''b\''b\\\''b\\\\\\\''{"location": "westus", "properties": {"ipConfigurations": [{"properties": {"privateIPAllocationMethod": "Dynamic", "subnet": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/GatewaySubnet"}, "publicIPAddress": {"id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/publicIPAddresses/pyipnameb4d417ef"}}, "name": "default"}], "gatewayType": "VPN", "vpnType": "RouteBased", "enableBgp": - false, "sku": {"name": "Standard", "tier": "Standard", "capacity": 2}}}\\\''\''''' + false, "sku": {"name": "Standard", "tier": "Standard", "capacity": 2}}}\\\\\\\''\\\''\''''' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Length: ['732'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworkGateways/pyvngb4d417ef?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworkGateways/pyvngb4d417ef?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyvngb4d417ef\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworkGateways/pyvngb4d417ef\"\ - ,\r\n \"etag\": \"W/\\\"a827ea8c-4233-4f9e-a470-b65e5d871427\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"907a0330-c386-4813-b506-a019f09ad0a8\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/virtualNetworkGateways\",\r\n \"location\"\ : \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ - ,\r\n \"resourceGuid\": \"9a9d196e-e324-4684-a4cf-64f599871d1e\",\r\n \ + ,\r\n \"resourceGuid\": \"61c7d8fe-b1b6-4be9-a882-dce9e7c807d6\",\r\n \ \ \"ipConfigurations\": [\r\n {\r\n \"name\": \"default\",\r\ \n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworkGateways/pyvngb4d417ef/ipConfigurations/default\"\ - ,\r\n \"etag\": \"W/\\\"a827ea8c-4233-4f9e-a470-b65e5d871427\\\"\"\ + ,\r\n \"etag\": \"W/\\\"907a0330-c386-4813-b506-a019f09ad0a8\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ ,\r\n \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"\ publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/publicIPAddresses/pyipnameb4d417ef\"\ @@ -510,17 +512,17 @@ interactions: : [],\r\n \"vpnClientRevokedCertificates\": [],\r\n \"vpnClientIpsecPolicies\"\ : []\r\n }\r\n }\r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['1996'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:04:13 GMT'] + date: ['Fri, 27 Jul 2018 22:50:48 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-writes: ['1198'] status: {code: 201, message: Created} - request: body: null @@ -528,242 +530,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 - response: - body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} - headers: - cache-control: [no-cache] - content-length: ['30'] - content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:04:23 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] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 - response: - body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} - headers: - cache-control: [no-cache] - content-length: ['30'] - content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:04: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] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 - response: - body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} - headers: - cache-control: [no-cache] - content-length: ['30'] - content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:04:45 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] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 - response: - body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} - headers: - cache-control: [no-cache] - content-length: ['30'] - content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:04:55 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] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 - response: - body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} - headers: - cache-control: [no-cache] - content-length: ['30'] - content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:05:05 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] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 - response: - body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} - headers: - cache-control: [no-cache] - content-length: ['30'] - content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:05:16 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] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 - response: - body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} - headers: - cache-control: [no-cache] - content-length: ['30'] - content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:05:27 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] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 - response: - body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} - headers: - cache-control: [no-cache] - content-length: ['30'] - content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:05:37 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] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] - method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 - response: - body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} - headers: - cache-control: [no-cache] - content-length: ['30'] - content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:05:48 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] - status: {code: 200, message: OK} -- request: - body: null - headers: - Accept: [application/json] - Accept-Encoding: ['gzip, deflate'] - Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:05:58 GMT'] + date: ['Fri, 27 Jul 2018 22:50:59 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -778,17 +555,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:06:08 GMT'] + date: ['Fri, 27 Jul 2018 22:51:11 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -803,17 +580,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:06:19 GMT'] + date: ['Fri, 27 Jul 2018 22:51:22 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -828,17 +605,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:06:29 GMT'] + date: ['Fri, 27 Jul 2018 22:51:33 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -853,17 +630,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:06:40 GMT'] + date: ['Fri, 27 Jul 2018 22:51:43 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -878,17 +655,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:06:50 GMT'] + date: ['Fri, 27 Jul 2018 22:51:54 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -903,17 +680,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:07:01 GMT'] + date: ['Fri, 27 Jul 2018 22:52:06 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -928,17 +705,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:07:11 GMT'] + date: ['Fri, 27 Jul 2018 22:52:17 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -953,17 +730,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:07:22 GMT'] + date: ['Fri, 27 Jul 2018 22:52:27 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -978,17 +755,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:07:33 GMT'] + date: ['Fri, 27 Jul 2018 22:52:38 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1003,17 +780,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:07:43 GMT'] + date: ['Fri, 27 Jul 2018 22:52:49 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1028,17 +805,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:07:53 GMT'] + date: ['Fri, 27 Jul 2018 22:53:00 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1053,17 +830,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:08:07 GMT'] + date: ['Fri, 27 Jul 2018 22:53:11 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1078,17 +855,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:08:17 GMT'] + date: ['Fri, 27 Jul 2018 22:53:22 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1103,17 +880,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:08:27 GMT'] + date: ['Fri, 27 Jul 2018 22:53:32 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1128,17 +905,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:08:39 GMT'] + date: ['Fri, 27 Jul 2018 22:53:43 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1153,17 +930,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:08:49 GMT'] + date: ['Fri, 27 Jul 2018 22:53:55 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1178,17 +955,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:08:59 GMT'] + date: ['Fri, 27 Jul 2018 22:54:06 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1203,17 +980,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:09:10 GMT'] + date: ['Fri, 27 Jul 2018 22:54:17 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1228,17 +1005,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:09:21 GMT'] + date: ['Fri, 27 Jul 2018 22:54:28 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1253,17 +1030,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:09:31 GMT'] + date: ['Fri, 27 Jul 2018 22:54:39 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1278,17 +1055,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:09:41 GMT'] + date: ['Fri, 27 Jul 2018 22:54:49 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1303,17 +1080,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:09:52 GMT'] + date: ['Fri, 27 Jul 2018 22:55:01 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1328,17 +1105,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:10:03 GMT'] + date: ['Fri, 27 Jul 2018 22:55:12 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1353,17 +1130,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:10:13 GMT'] + date: ['Fri, 27 Jul 2018 22:55:23 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1378,17 +1155,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:10:24 GMT'] + date: ['Fri, 27 Jul 2018 22:55:34 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1403,17 +1180,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:10:34 GMT'] + date: ['Fri, 27 Jul 2018 22:55:44 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1428,17 +1205,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:10:45 GMT'] + date: ['Fri, 27 Jul 2018 22:55:55 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1453,17 +1230,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:10:55 GMT'] + date: ['Fri, 27 Jul 2018 22:56:06 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1478,17 +1255,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:11:06 GMT'] + date: ['Fri, 27 Jul 2018 22:56:17 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1503,17 +1280,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:11:16 GMT'] + date: ['Fri, 27 Jul 2018 22:56:28 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1528,17 +1305,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:11:27 GMT'] + date: ['Fri, 27 Jul 2018 22:56:39 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1553,17 +1330,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:11:38 GMT'] + date: ['Fri, 27 Jul 2018 22:56:49 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1578,17 +1355,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:11:48 GMT'] + date: ['Fri, 27 Jul 2018 22:57:00 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1603,17 +1380,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:11:59 GMT'] + date: ['Fri, 27 Jul 2018 22:57:12 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1628,17 +1405,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:12:09 GMT'] + date: ['Fri, 27 Jul 2018 22:57:22 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1653,17 +1430,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:12:19 GMT'] + date: ['Fri, 27 Jul 2018 22:57:34 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1678,17 +1455,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:12:30 GMT'] + date: ['Fri, 27 Jul 2018 22:57:45 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1703,17 +1480,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:12:41 GMT'] + date: ['Fri, 27 Jul 2018 22:57:55 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1728,17 +1505,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:12:51 GMT'] + date: ['Fri, 27 Jul 2018 22:58:06 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1753,17 +1530,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:13:02 GMT'] + date: ['Fri, 27 Jul 2018 22:58:17 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1778,17 +1555,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:13:12 GMT'] + date: ['Fri, 27 Jul 2018 22:58:37 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1803,17 +1580,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:13:23 GMT'] + date: ['Fri, 27 Jul 2018 22:58:47 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1828,17 +1605,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:13:34 GMT'] + date: ['Fri, 27 Jul 2018 22:58:58 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1853,17 +1630,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:13:45 GMT'] + date: ['Fri, 27 Jul 2018 22:59:09 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1878,17 +1655,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:13:55 GMT'] + date: ['Fri, 27 Jul 2018 22:59:20 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1903,17 +1680,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:14:06 GMT'] + date: ['Fri, 27 Jul 2018 22:59:32 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1928,17 +1705,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:14:17 GMT'] + date: ['Fri, 27 Jul 2018 22:59:43 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1953,17 +1730,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:14:27 GMT'] + date: ['Fri, 27 Jul 2018 22:59:53 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -1978,17 +1755,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:14:37 GMT'] + date: ['Fri, 27 Jul 2018 23:00:04 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2003,17 +1780,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:14:48 GMT'] + date: ['Fri, 27 Jul 2018 23:00:15 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2028,17 +1805,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:14:58 GMT'] + date: ['Fri, 27 Jul 2018 23:00:25 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2053,17 +1830,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:15:09 GMT'] + date: ['Fri, 27 Jul 2018 23:00:37 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2078,17 +1855,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:15:20 GMT'] + date: ['Fri, 27 Jul 2018 23:00:47 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2103,17 +1880,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:15:30 GMT'] + date: ['Fri, 27 Jul 2018 23:00:58 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2128,17 +1905,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:15:40 GMT'] + date: ['Fri, 27 Jul 2018 23:01:09 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2153,17 +1930,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:15:51 GMT'] + date: ['Fri, 27 Jul 2018 23:01:20 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2178,17 +1955,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:16:02 GMT'] + date: ['Fri, 27 Jul 2018 23:01:32 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2203,17 +1980,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:16:13 GMT'] + date: ['Fri, 27 Jul 2018 23:01:42 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2228,17 +2005,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:16:23 GMT'] + date: ['Fri, 27 Jul 2018 23:01:59 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2253,17 +2030,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:16:33 GMT'] + date: ['Fri, 27 Jul 2018 23:02:31 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2278,17 +2055,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:16:43 GMT'] + date: ['Fri, 27 Jul 2018 23:02:42 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2303,17 +2080,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:16:54 GMT'] + date: ['Fri, 27 Jul 2018 23:02:53 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2328,17 +2105,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:17:05 GMT'] + date: ['Fri, 27 Jul 2018 23:03:04 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2353,17 +2130,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:17:15 GMT'] + date: ['Fri, 27 Jul 2018 23:03:16 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2378,17 +2155,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:17:26 GMT'] + date: ['Fri, 27 Jul 2018 23:03:26 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2403,17 +2180,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:17:37 GMT'] + date: ['Fri, 27 Jul 2018 23:03:38 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2428,17 +2205,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:17:47 GMT'] + date: ['Fri, 27 Jul 2018 23:03:48 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2453,17 +2230,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:17:57 GMT'] + date: ['Fri, 27 Jul 2018 23:04:00 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2478,17 +2255,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:18:08 GMT'] + date: ['Fri, 27 Jul 2018 23:04:11 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2503,17 +2280,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:18:18 GMT'] + date: ['Fri, 27 Jul 2018 23:04:22 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2528,17 +2305,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:18:29 GMT'] + date: ['Fri, 27 Jul 2018 23:04:33 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2553,17 +2330,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:18:39 GMT'] + date: ['Fri, 27 Jul 2018 23:04:43 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2578,17 +2355,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:18:50 GMT'] + date: ['Fri, 27 Jul 2018 23:04:55 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2603,17 +2380,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:19:01 GMT'] + date: ['Fri, 27 Jul 2018 23:05:05 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2628,17 +2405,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:19:11 GMT'] + date: ['Fri, 27 Jul 2018 23:05:17 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2653,17 +2430,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:19:22 GMT'] + date: ['Fri, 27 Jul 2018 23:05:27 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2678,17 +2455,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:19:33 GMT'] + date: ['Fri, 27 Jul 2018 23:05:38 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2703,17 +2480,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:19:43 GMT'] + date: ['Fri, 27 Jul 2018 23:05:50 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2728,17 +2505,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:19:54 GMT'] + date: ['Fri, 27 Jul 2018 23:06:00 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2753,17 +2530,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:20:05 GMT'] + date: ['Fri, 27 Jul 2018 23:06:12 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2778,17 +2555,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:20:15 GMT'] + date: ['Fri, 27 Jul 2018 23:06:23 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2803,17 +2580,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:20:25 GMT'] + date: ['Fri, 27 Jul 2018 23:06:34 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2828,17 +2605,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:20:37 GMT'] + date: ['Fri, 27 Jul 2018 23:06:45 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2853,17 +2630,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:20:47 GMT'] + date: ['Fri, 27 Jul 2018 23:06:56 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2878,17 +2655,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:20:57 GMT'] + date: ['Fri, 27 Jul 2018 23:07:07 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2903,17 +2680,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:21:08 GMT'] + date: ['Fri, 27 Jul 2018 23:07:18 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2928,17 +2705,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:21:19 GMT'] + date: ['Fri, 27 Jul 2018 23:07:29 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2953,17 +2730,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:21:32 GMT'] + date: ['Fri, 27 Jul 2018 23:07:40 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -2978,17 +2755,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:21:43 GMT'] + date: ['Fri, 27 Jul 2018 23:07:51 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3003,17 +2780,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:21:53 GMT'] + date: ['Fri, 27 Jul 2018 23:08:02 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3028,17 +2805,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:22:03 GMT'] + date: ['Fri, 27 Jul 2018 23:08:13 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3053,17 +2830,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:22:14 GMT'] + date: ['Fri, 27 Jul 2018 23:08:25 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3078,17 +2855,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:22:24 GMT'] + date: ['Fri, 27 Jul 2018 23:08:35 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3103,17 +2880,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:22:35 GMT'] + date: ['Fri, 27 Jul 2018 23:08:47 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3128,17 +2905,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:22:45 GMT'] + date: ['Fri, 27 Jul 2018 23:08:57 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3153,17 +2930,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:22:55 GMT'] + date: ['Fri, 27 Jul 2018 23:09:09 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3178,17 +2955,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:23:06 GMT'] + date: ['Fri, 27 Jul 2018 23:09:19 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3203,17 +2980,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:23:17 GMT'] + date: ['Fri, 27 Jul 2018 23:09:31 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3228,17 +3005,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:23:27 GMT'] + date: ['Fri, 27 Jul 2018 23:09:41 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3253,17 +3030,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:23:38 GMT'] + date: ['Fri, 27 Jul 2018 23:09:52 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3278,17 +3055,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:23:49 GMT'] + date: ['Fri, 27 Jul 2018 23:10:03 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3303,17 +3080,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:23:59 GMT'] + date: ['Fri, 27 Jul 2018 23:10:14 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3328,17 +3105,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:24:10 GMT'] + date: ['Fri, 27 Jul 2018 23:10:26 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3353,17 +3130,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:24:24 GMT'] + date: ['Fri, 27 Jul 2018 23:10:37 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3378,17 +3155,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:24:34 GMT'] + date: ['Fri, 27 Jul 2018 23:10:47 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3403,17 +3180,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:24:45 GMT'] + date: ['Fri, 27 Jul 2018 23:10:58 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3428,17 +3205,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:24:55 GMT'] + date: ['Fri, 27 Jul 2018 23:11:10 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3453,17 +3230,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:25:05 GMT'] + date: ['Fri, 27 Jul 2018 23:11:21 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3478,17 +3255,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:25:16 GMT'] + date: ['Fri, 27 Jul 2018 23:11:32 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3503,17 +3280,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:25:26 GMT'] + date: ['Fri, 27 Jul 2018 23:11:42 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3528,17 +3305,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:25:37 GMT'] + date: ['Fri, 27 Jul 2018 23:11:53 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3553,17 +3330,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:25:47 GMT'] + date: ['Fri, 27 Jul 2018 23:12:04 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3578,17 +3355,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:25:58 GMT'] + date: ['Fri, 27 Jul 2018 23:12:15 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3603,17 +3380,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:26:08 GMT'] + date: ['Fri, 27 Jul 2018 23:12:27 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3628,17 +3405,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:26:19 GMT'] + date: ['Fri, 27 Jul 2018 23:12:37 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3653,17 +3430,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:26:29 GMT'] + date: ['Fri, 27 Jul 2018 23:12:48 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3678,17 +3455,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:26:40 GMT'] + date: ['Fri, 27 Jul 2018 23:13:00 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3703,17 +3480,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:26:50 GMT'] + date: ['Fri, 27 Jul 2018 23:13:09 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3728,17 +3505,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:27:01 GMT'] + date: ['Fri, 27 Jul 2018 23:13:20 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3753,17 +3530,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:27:11 GMT'] + date: ['Fri, 27 Jul 2018 23:13:31 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3778,17 +3555,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:27:22 GMT'] + date: ['Fri, 27 Jul 2018 23:13:42 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3803,17 +3580,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:27:32 GMT'] + date: ['Fri, 27 Jul 2018 23:13:53 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3828,17 +3605,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:27:43 GMT'] + date: ['Fri, 27 Jul 2018 23:14:05 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3853,17 +3630,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:27:54 GMT'] + date: ['Fri, 27 Jul 2018 23:14:15 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3878,17 +3655,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:28:04 GMT'] + date: ['Fri, 27 Jul 2018 23:14:26 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3903,17 +3680,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:28:14 GMT'] + date: ['Fri, 27 Jul 2018 23:14:37 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3928,17 +3705,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:28:28 GMT'] + date: ['Fri, 27 Jul 2018 23:14:48 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3953,17 +3730,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:28:39 GMT'] + date: ['Fri, 27 Jul 2018 23:14:59 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -3978,17 +3755,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:28:49 GMT'] + date: ['Fri, 27 Jul 2018 23:15:10 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -4003,17 +3780,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:29:00 GMT'] + date: ['Fri, 27 Jul 2018 23:15:21 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -4028,17 +3805,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:29:10 GMT'] + date: ['Fri, 27 Jul 2018 23:15:32 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -4053,17 +3830,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:29:20 GMT'] + date: ['Fri, 27 Jul 2018 23:15:43 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -4078,17 +3855,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:29:31 GMT'] + date: ['Fri, 27 Jul 2018 23:15:54 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -4103,17 +3880,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:29:42 GMT'] + date: ['Fri, 27 Jul 2018 23:16:05 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -4128,17 +3905,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:29:52 GMT'] + date: ['Fri, 27 Jul 2018 23:16:16 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -4153,17 +3930,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:30:03 GMT'] + date: ['Fri, 27 Jul 2018 23:16:27 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -4178,17 +3955,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:30:13 GMT'] + date: ['Fri, 27 Jul 2018 23:16:38 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -4203,17 +3980,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/29b506f5-52ec-4e29-b98e-6a2fbb337404?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6724ceed-79ba-4f6d-a4d4-fd8caa1790dd?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:30:27 GMT'] + date: ['Fri, 27 Jul 2018 23:16:48 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -4228,19 +4005,19 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworkGateways/pyvngb4d417ef?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworkGateways/pyvngb4d417ef?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyvngb4d417ef\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworkGateways/pyvngb4d417ef\"\ - ,\r\n \"etag\": \"W/\\\"330fadd9-146f-46f1-933d-24b0a74d9b42\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"95922104-b039-42d8-8d33-5846a9897606\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/virtualNetworkGateways\",\r\n \"location\"\ : \"westus\",\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ - ,\r\n \"resourceGuid\": \"9a9d196e-e324-4684-a4cf-64f599871d1e\",\r\n \ + ,\r\n \"resourceGuid\": \"61c7d8fe-b1b6-4be9-a882-dce9e7c807d6\",\r\n \ \ \"ipConfigurations\": [\r\n {\r\n \"name\": \"default\",\r\ \n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworkGateways/pyvngb4d417ef/ipConfigurations/default\"\ - ,\r\n \"etag\": \"W/\\\"330fadd9-146f-46f1-933d-24b0a74d9b42\\\"\"\ + ,\r\n \"etag\": \"W/\\\"95922104-b039-42d8-8d33-5846a9897606\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ ,\r\n \"privateIPAllocationMethod\": \"Dynamic\",\r\n \"\ publicIPAddress\": {\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/publicIPAddresses/pyipnameb4d417ef\"\ @@ -4255,7 +4032,7 @@ interactions: cache-control: [no-cache] content-length: ['1881'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:30:28 GMT'] + date: ['Fri, 27 Jul 2018 23:16:50 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] diff --git a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_virtual_networks.yaml b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_virtual_networks.yaml index cd16e690852c..a5151ebbe5c8 100644 --- a/azure-mgmt-network/tests/recordings/test_mgmt_network.test_virtual_networks.yaml +++ b/azure-mgmt-network/tests/recordings/test_mgmt_network.test_virtual_networks.yaml @@ -3,51 +3,53 @@ interactions: body: '{"location": "westus", "properties": {"addressSpace": {"addressPrefixes": ["10.0.0.0/16"]}, "dhcpOptions": {"dnsServers": ["10.1.1.1", "10.1.2.4"]}, "subnets": [{"properties": {"addressPrefix": "10.0.1.0/24"}, "name": "pyvnetsubnetone4725106e"}, - {"properties": {"addressPrefix": "10.0.2.0/24"}, "name": "pyvnetsubnettwo4725106e"}]}}' + {"properties": {"addressPrefix": "10.0.2.0/24"}, "name": "pyvnetsubnettwo4725106e"}], + "enableDdosProtection": false, "enableVmProtection": false}}' headers: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - Content-Length: ['332'] + Content-Length: ['392'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: PUT - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyvnet4725106e\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e\"\ - ,\r\n \"etag\": \"W/\\\"7812f011-b9fd-48e3-9777-3113e921d839\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"21875110-e789-4f16-84f8-33e77122d840\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\",\r\n \ - \ \"resourceGuid\": \"96d8e57b-8e61-4b99-8fb8-b90cc48a5d55\",\r\n \"\ + \ \"resourceGuid\": \"4d7e7ab4-388d-462b-a5ea-9cf862db7a96\",\r\n \"\ addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\ \r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": [\r\ \n \"10.1.1.1\",\r\n \"10.1.2.4\"\r\n ]\r\n },\r\n \ \ \"subnets\": [\r\n {\r\n \"name\": \"pyvnetsubnetone4725106e\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e/subnets/pyvnetsubnetone4725106e\"\ - ,\r\n \"etag\": \"W/\\\"7812f011-b9fd-48e3-9777-3113e921d839\\\"\"\ + ,\r\n \"etag\": \"W/\\\"21875110-e789-4f16-84f8-33e77122d840\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ - ,\r\n \"addressPrefix\": \"10.0.1.0/24\"\r\n }\r\n },\r\ - \n {\r\n \"name\": \"pyvnetsubnettwo4725106e\",\r\n \"\ - id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e/subnets/pyvnetsubnettwo4725106e\"\ - ,\r\n \"etag\": \"W/\\\"7812f011-b9fd-48e3-9777-3113e921d839\\\"\"\ + ,\r\n \"addressPrefix\": \"10.0.1.0/24\",\r\n \"delegations\"\ + : []\r\n }\r\n },\r\n {\r\n \"name\": \"pyvnetsubnettwo4725106e\"\ + ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e/subnets/pyvnetsubnettwo4725106e\"\ + ,\r\n \"etag\": \"W/\\\"21875110-e789-4f16-84f8-33e77122d840\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Updating\"\ - ,\r\n \"addressPrefix\": \"10.0.2.0/24\"\r\n }\r\n }\r\ - \n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\"\ - : false,\r\n \"enableVmProtection\": false\r\n }\r\n}"} + ,\r\n \"addressPrefix\": \"10.0.2.0/24\",\r\n \"delegations\"\ + : []\r\n }\r\n }\r\n ],\r\n \"virtualNetworkPeerings\":\ + \ [],\r\n \"enableDdosProtection\": false,\r\n \"enableVmProtection\"\ + : false\r\n }\r\n}"} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6a23fee4-287c-48da-acf7-732536b3a9b5?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/1989465b-3f3c-4f11-b8af-d602fbf68db7?api-version=2018-06-01'] cache-control: [no-cache] - content-length: ['1739'] + content-length: ['1799'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:30:35 GMT'] + date: ['Fri, 27 Jul 2018 23:17:00 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1198'] + x-ms-ratelimit-remaining-subscription-writes: ['1199'] status: {code: 201, message: Created} - request: body: null @@ -55,17 +57,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6a23fee4-287c-48da-acf7-732536b3a9b5?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/1989465b-3f3c-4f11-b8af-d602fbf68db7?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"InProgress\"\r\n}"} headers: cache-control: [no-cache] content-length: ['30'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:30:38 GMT'] + date: ['Fri, 27 Jul 2018 23:17:04 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -80,17 +82,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/6a23fee4-287c-48da-acf7-732536b3a9b5?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/1989465b-3f3c-4f11-b8af-d602fbf68db7?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:30:49 GMT'] + date: ['Fri, 27 Jul 2018 23:17:15 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -105,37 +107,38 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyvnet4725106e\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e\"\ - ,\r\n \"etag\": \"W/\\\"f30d1b36-11ef-49f5-baa2-ec4768903718\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"420b6ce7-4af3-4550-9800-8f3e3ee40f4f\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ - \ \"resourceGuid\": \"96d8e57b-8e61-4b99-8fb8-b90cc48a5d55\",\r\n \"\ + \ \"resourceGuid\": \"4d7e7ab4-388d-462b-a5ea-9cf862db7a96\",\r\n \"\ addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\ \r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": [\r\ \n \"10.1.1.1\",\r\n \"10.1.2.4\"\r\n ]\r\n },\r\n \ \ \"subnets\": [\r\n {\r\n \"name\": \"pyvnetsubnetone4725106e\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e/subnets/pyvnetsubnetone4725106e\"\ - ,\r\n \"etag\": \"W/\\\"f30d1b36-11ef-49f5-baa2-ec4768903718\\\"\"\ + ,\r\n \"etag\": \"W/\\\"420b6ce7-4af3-4550-9800-8f3e3ee40f4f\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ - ,\r\n \"addressPrefix\": \"10.0.1.0/24\"\r\n }\r\n },\r\ - \n {\r\n \"name\": \"pyvnetsubnettwo4725106e\",\r\n \"\ - id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e/subnets/pyvnetsubnettwo4725106e\"\ - ,\r\n \"etag\": \"W/\\\"f30d1b36-11ef-49f5-baa2-ec4768903718\\\"\"\ + ,\r\n \"addressPrefix\": \"10.0.1.0/24\",\r\n \"delegations\"\ + : []\r\n }\r\n },\r\n {\r\n \"name\": \"pyvnetsubnettwo4725106e\"\ + ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e/subnets/pyvnetsubnettwo4725106e\"\ + ,\r\n \"etag\": \"W/\\\"420b6ce7-4af3-4550-9800-8f3e3ee40f4f\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ - ,\r\n \"addressPrefix\": \"10.0.2.0/24\"\r\n }\r\n }\r\ - \n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\"\ - : false,\r\n \"enableVmProtection\": false\r\n }\r\n}"} + ,\r\n \"addressPrefix\": \"10.0.2.0/24\",\r\n \"delegations\"\ + : []\r\n }\r\n }\r\n ],\r\n \"virtualNetworkPeerings\":\ + \ [],\r\n \"enableDdosProtection\": false,\r\n \"enableVmProtection\"\ + : false\r\n }\r\n}"} headers: cache-control: [no-cache] - content-length: ['1742'] + content-length: ['1802'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:30:50 GMT'] - etag: [W/"f30d1b36-11ef-49f5-baa2-ec4768903718"] + date: ['Fri, 27 Jul 2018 23:17:15 GMT'] + etag: [W/"420b6ce7-4af3-4550-9800-8f3e3ee40f4f"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -151,38 +154,39 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e?api-version=2018-06-01 response: body: {string: "{\r\n \"name\": \"pyvnet4725106e\",\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e\"\ - ,\r\n \"etag\": \"W/\\\"f30d1b36-11ef-49f5-baa2-ec4768903718\\\"\",\r\n \ + ,\r\n \"etag\": \"W/\\\"420b6ce7-4af3-4550-9800-8f3e3ee40f4f\\\"\",\r\n \ \ \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\": \"westus\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\",\r\n\ - \ \"resourceGuid\": \"96d8e57b-8e61-4b99-8fb8-b90cc48a5d55\",\r\n \"\ + \ \"resourceGuid\": \"4d7e7ab4-388d-462b-a5ea-9cf862db7a96\",\r\n \"\ addressSpace\": {\r\n \"addressPrefixes\": [\r\n \"10.0.0.0/16\"\ \r\n ]\r\n },\r\n \"dhcpOptions\": {\r\n \"dnsServers\": [\r\ \n \"10.1.1.1\",\r\n \"10.1.2.4\"\r\n ]\r\n },\r\n \ \ \"subnets\": [\r\n {\r\n \"name\": \"pyvnetsubnetone4725106e\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e/subnets/pyvnetsubnetone4725106e\"\ - ,\r\n \"etag\": \"W/\\\"f30d1b36-11ef-49f5-baa2-ec4768903718\\\"\"\ + ,\r\n \"etag\": \"W/\\\"420b6ce7-4af3-4550-9800-8f3e3ee40f4f\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ - ,\r\n \"addressPrefix\": \"10.0.1.0/24\"\r\n }\r\n },\r\ - \n {\r\n \"name\": \"pyvnetsubnettwo4725106e\",\r\n \"\ - id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e/subnets/pyvnetsubnettwo4725106e\"\ - ,\r\n \"etag\": \"W/\\\"f30d1b36-11ef-49f5-baa2-ec4768903718\\\"\"\ + ,\r\n \"addressPrefix\": \"10.0.1.0/24\",\r\n \"delegations\"\ + : []\r\n }\r\n },\r\n {\r\n \"name\": \"pyvnetsubnettwo4725106e\"\ + ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e/subnets/pyvnetsubnettwo4725106e\"\ + ,\r\n \"etag\": \"W/\\\"420b6ce7-4af3-4550-9800-8f3e3ee40f4f\\\"\"\ ,\r\n \"properties\": {\r\n \"provisioningState\": \"Succeeded\"\ - ,\r\n \"addressPrefix\": \"10.0.2.0/24\"\r\n }\r\n }\r\ - \n ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\"\ - : false,\r\n \"enableVmProtection\": false\r\n }\r\n}"} + ,\r\n \"addressPrefix\": \"10.0.2.0/24\",\r\n \"delegations\"\ + : []\r\n }\r\n }\r\n ],\r\n \"virtualNetworkPeerings\":\ + \ [],\r\n \"enableDdosProtection\": false,\r\n \"enableVmProtection\"\ + : false\r\n }\r\n}"} headers: cache-control: [no-cache] - content-length: ['1742'] + content-length: ['1802'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:30:50 GMT'] - etag: [W/"f30d1b36-11ef-49f5-baa2-ec4768903718"] + date: ['Fri, 27 Jul 2018 23:17:17 GMT'] + etag: [W/"420b6ce7-4af3-4550-9800-8f3e3ee40f4f"] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -198,18 +202,18 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e/CheckIPAddressAvailability?ipAddress=10.0.1.35&api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e/CheckIPAddressAvailability?ipAddress=10.0.1.35&api-version=2018-06-01 response: body: {string: "{\r\n \"available\": true\r\n}"} headers: cache-control: [no-cache] content-length: ['25'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:30:51 GMT'] + date: ['Fri, 27 Jul 2018 23:17:18 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -225,40 +229,42 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks?api-version=2018-06-01 response: body: {string: "{\r\n \"value\": [\r\n {\r\n \"name\": \"pyvnet4725106e\"\ ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e\"\ - ,\r\n \"etag\": \"W/\\\"f30d1b36-11ef-49f5-baa2-ec4768903718\\\"\",\r\ + ,\r\n \"etag\": \"W/\\\"420b6ce7-4af3-4550-9800-8f3e3ee40f4f\\\"\",\r\ \n \"type\": \"Microsoft.Network/virtualNetworks\",\r\n \"location\"\ : \"westus\",\r\n \"properties\": {\r\n \"provisioningState\"\ - : \"Succeeded\",\r\n \"resourceGuid\": \"96d8e57b-8e61-4b99-8fb8-b90cc48a5d55\"\ + : \"Succeeded\",\r\n \"resourceGuid\": \"4d7e7ab4-388d-462b-a5ea-9cf862db7a96\"\ ,\r\n \"addressSpace\": {\r\n \"addressPrefixes\": [\r\n \ \ \"10.0.0.0/16\"\r\n ]\r\n },\r\n \"dhcpOptions\"\ : {\r\n \"dnsServers\": [\r\n \"10.1.1.1\",\r\n \ \ \"10.1.2.4\"\r\n ]\r\n },\r\n \"subnets\": [\r\ \n {\r\n \"name\": \"pyvnetsubnetone4725106e\",\r\n \ \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e/subnets/pyvnetsubnetone4725106e\"\ - ,\r\n \"etag\": \"W/\\\"f30d1b36-11ef-49f5-baa2-ec4768903718\\\"\ + ,\r\n \"etag\": \"W/\\\"420b6ce7-4af3-4550-9800-8f3e3ee40f4f\\\"\ \",\r\n \"properties\": {\r\n \"provisioningState\"\ - : \"Succeeded\",\r\n \"addressPrefix\": \"10.0.1.0/24\"\r\n \ - \ }\r\n },\r\n {\r\n \"name\": \"pyvnetsubnettwo4725106e\"\ - ,\r\n \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e/subnets/pyvnetsubnettwo4725106e\"\ - ,\r\n \"etag\": \"W/\\\"f30d1b36-11ef-49f5-baa2-ec4768903718\\\"\ + : \"Succeeded\",\r\n \"addressPrefix\": \"10.0.1.0/24\",\r\n\ + \ \"delegations\": []\r\n }\r\n },\r\n \ + \ {\r\n \"name\": \"pyvnetsubnettwo4725106e\",\r\n \ + \ \"id\": \"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e/subnets/pyvnetsubnettwo4725106e\"\ + ,\r\n \"etag\": \"W/\\\"420b6ce7-4af3-4550-9800-8f3e3ee40f4f\\\"\ \",\r\n \"properties\": {\r\n \"provisioningState\"\ - : \"Succeeded\",\r\n \"addressPrefix\": \"10.0.2.0/24\"\r\n \ - \ }\r\n }\r\n ],\r\n \"virtualNetworkPeerings\"\ - : [],\r\n \"enableDdosProtection\": false,\r\n \"enableVmProtection\"\ - : false\r\n }\r\n }\r\n ]\r\n}"} + : \"Succeeded\",\r\n \"addressPrefix\": \"10.0.2.0/24\",\r\n\ + \ \"delegations\": []\r\n }\r\n }\r\n \ + \ ],\r\n \"virtualNetworkPeerings\": [],\r\n \"enableDdosProtection\"\ + : false,\r\n \"enableVmProtection\": false\r\n }\r\n }\r\n\ + \ ]\r\n}"} headers: cache-control: [no-cache] - content-length: ['1947'] + content-length: ['2015'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:30:52 GMT'] + date: ['Fri, 27 Jul 2018 23:17:18 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] @@ -274,25 +280,25 @@ interactions: Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/virtualNetworks?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/virtualNetworks?api-version=2018-06-01 response: - body: {string: '{"value":[{"name":"amar-1VNET","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/virtualNetworks/amar-1VNET","etag":"W/\"04977553-0e42-42b7-b3cc-a7104f3bf12b\"","type":"Microsoft.Network/virtualNetworks","location":"westus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"65e85239-45cd-4929-8be4-a6119edac6c4","addressSpace":{"addressPrefixes":["10.0.0.0/16"]},"subnets":[{"name":"amar-1Subnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/virtualNetworks/amar-1VNET/subnets/amar-1Subnet","etag":"W/\"04977553-0e42-42b7-b3cc-a7104f3bf12b\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.0.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amar-1VMNic/ipConfigurations/ipconfigamar-1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkInterfaces/wilxvm230/ipConfigurations/ipconfig1"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"Dtlcliautomationlab","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cliautomation01/providers/Microsoft.Network/virtualNetworks/Dtlcliautomationlab","etag":"W/\"e1405699-7792-437b-9925-7d6c63c61f9b\"","type":"Microsoft.Network/virtualNetworks","location":"westus","tags":{"hidden-DevTestLabs-LabUId":"872ea72a-b4bf-4799-ace3-8ef59207d875"},"properties":{"provisioningState":"Succeeded","resourceGuid":"16229d5f-347a-4e99-932b-452131acc5ac","addressSpace":{"addressPrefixes":["10.0.0.0/20"]},"dhcpOptions":{"dnsServers":[]},"subnets":[{"name":"DtlcliautomationlabSubnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cliautomation01/providers/Microsoft.Network/virtualNetworks/Dtlcliautomationlab/subnets/DtlcliautomationlabSubnet","etag":"W/\"e1405699-7792-437b-9925-7d6c63c61f9b\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.0.0/20"}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"Dtlcliautomationlab","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cliautomationlab/providers/Microsoft.Network/virtualNetworks/Dtlcliautomationlab","etag":"W/\"0bddf68d-67a6-4280-95b9-35ce0e29ee26\"","type":"Microsoft.Network/virtualNetworks","location":"westus","tags":{"hidden-DevTestLabs-LabUId":"596b63b2-b496-4db1-b54a-1792eb173e5b"},"properties":{"provisioningState":"Succeeded","resourceGuid":"5f52b840-b0b7-48c4-bee1-c39631dcb28d","addressSpace":{"addressPrefixes":["10.0.0.0/20"]},"dhcpOptions":{"dnsServers":[]},"subnets":[{"name":"DtlcliautomationlabSubnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cliautomationlab/providers/Microsoft.Network/virtualNetworks/Dtlcliautomationlab/subnets/DtlcliautomationlabSubnet","etag":"W/\"0bddf68d-67a6-4280-95b9-35ce0e29ee26\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.0.0/20"}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"vmss1VNET","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/virtualNetworks/vmss1VNET","etag":"W/\"9db934d1-c6b7-4404-9b95-448dc4976d9c\"","type":"Microsoft.Network/virtualNetworks","location":"westus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"88152014-64d8-4dcc-86ee-935d900b2c1a","addressSpace":{"addressPrefixes":["10.0.0.0/16"]},"subnets":[{"name":"vmss1Subnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Network/virtualNetworks/vmss1VNET/subnets/vmss1Subnet","etag":"W/\"9db934d1-c6b7-4404-9b95-448dc4976d9c\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.0.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/0/networkInterfaces/vmss1353aNic/ipConfigurations/vmss1353aIPConfig"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/1/networkInterfaces/vmss1353aNic/ipConfigurations/vmss1353aIPConfig"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/2/networkInterfaces/vmss1353aNic/ipConfigurations/vmss1353aIPConfig"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cli_test_vmss_create_w_ipstwpe5ikw4atf2duaowprhhnsnx5y7bjbmrbkn6gbl4y4jynou/providers/Microsoft.Compute/virtualMachineScaleSets/vmss1/virtualMachines/3/networkInterfaces/vmss1353aNic/ipConfigurations/vmss1353aIPConfig"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"favy345tg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/virtualNetworks/favy345tg","etag":"W/\"69bb610e-8799-4159-89ff-0029428c9f28\"","type":"Microsoft.Network/virtualNetworks","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"d8640efc-9ae7-48b5-ac95-23c254ed17e1","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"dhcpOptions":{"dnsServers":[]},"subnets":[{"name":"favy345tg","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/virtualNetworks/favy345tg/subnets/favy345tg","etag":"W/\"69bb610e-8799-4159-89ff-0029428c9f28\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/favvb1/providers/Microsoft.Network/networkInterfaces/favy345tg/ipConfigurations/ipconfig1"}],"serviceEndpoints":[]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"docker-machine-vnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/virtualNetworks/docker-machine-vnet","etag":"W/\"fdcbccc9-b1dc-4434-bf60-cf4c6770da7e\"","type":"Microsoft.Network/virtualNetworks","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"e8f8e2da-4077-4db8-8653-7ef2e3ba67ae","addressSpace":{"addressPrefixes":["192.168.0.0/16","10.0.0.0/8","172.16.0.0/12"]},"subnets":[{"name":"docker-machine","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/virtualNetworks/docker-machine-vnet/subnets/docker-machine","etag":"W/\"fdcbccc9-b1dc-4434-bf60-cf4c6770da7e\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.0.0/16","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-docker-machine/providers/Microsoft.Network/networkInterfaces/lmazuel-docker-machine-nic/ipConfigurations/ip"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"lmazuel-vm1","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/virtualNetworks/lmazuel-vm1","etag":"W/\"11f1976a-fd57-406b-be50-e4e2757cb03f\"","type":"Microsoft.Network/virtualNetworks","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"6df131ba-5c91-4c13-81d5-12204b3e2d3f","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"subnets":[{"name":"default","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/virtualNetworks/lmazuel-vm1/subnets/default","etag":"W/\"11f1976a-fd57-406b-be50-e4e2757cb03f\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.0.0/16","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-vm1/providers/Microsoft.Network/networkInterfaces/lmazuel-vm1792/ipConfigurations/ipconfig1"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"myvmabc1VNET","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/virtualNetworks/myvmabc1VNET","etag":"W/\"66a25f74-5267-4471-8cfc-f3d279c3bc47\"","type":"Microsoft.Network/virtualNetworks","location":"westus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"24f213a8-e7fa-4c9a-97e4-3aa20be28813","addressSpace":{"addressPrefixes":["10.0.0.0/16"]},"subnets":[{"name":"myvmabc1Subnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/virtualNetworks/myvmabc1VNET/subnets/myvmabc1Subnet","etag":"W/\"66a25f74-5267-4471-8cfc-f3d279c3bc47\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.0.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testResourceGroup1/providers/Microsoft.Network/networkInterfaces/myvmabc1VMNic/ipConfigurations/ipconfigmyvmabc1"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"testvnet2595","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg3787/providers/Microsoft.Network/virtualNetworks/testvnet2595","etag":"W/\"f6b02438-3e35-4aff-965d-a44f07653680\"","type":"Microsoft.Network/virtualNetworks","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"6d546ad6-cc53-4b73-922b-45be000f2630","addressSpace":{"addressPrefixes":["10.0.0.0/16"]},"dhcpOptions":{"dnsServers":["10.1.1.1","10.1.2.4"]},"subnets":[{"name":"testsubnet8775","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg3787/providers/Microsoft.Network/virtualNetworks/testvnet2595/subnets/testsubnet8775","etag":"W/\"f6b02438-3e35-4aff-965d-a44f07653680\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.0.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg3787/providers/Microsoft.Network/networkInterfaces/testnic6114/ipConfigurations/testcrpip7536"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"testvnet6901","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg7175/providers/Microsoft.Network/virtualNetworks/testvnet6901","etag":"W/\"adbcb0d9-25f2-4c4a-be4f-1309df254c4e\"","type":"Microsoft.Network/virtualNetworks","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"4827bf5f-ec03-4db1-8ff6-738232a47171","addressSpace":{"addressPrefixes":["10.0.0.0/16"]},"subnets":[{"name":"testsubnet2336","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg7175/providers/Microsoft.Network/virtualNetworks/testvnet6901/subnets/testsubnet2336","etag":"W/\"adbcb0d9-25f2-4c4a-be4f-1309df254c4e\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.0.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg7175/providers/Microsoft.Network/networkInterfaces/testnic4831/ipConfigurations/testcrpip1408"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"testvnet725","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg8761/providers/Microsoft.Network/virtualNetworks/testvnet725","etag":"W/\"f91665df-e699-4a31-ad25-bd86a8e310cf\"","type":"Microsoft.Network/virtualNetworks","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"f0fd3f5a-407c-46f8-9488-c6a953d3a28c","addressSpace":{"addressPrefixes":["10.0.0.0/16"]},"dhcpOptions":{"dnsServers":["10.1.1.1","10.1.2.4"]},"subnets":[{"name":"testsubnet4030","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg8761/providers/Microsoft.Network/virtualNetworks/testvnet725/subnets/testsubnet4030","etag":"W/\"f91665df-e699-4a31-ad25-bd86a8e310cf\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.0.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg8761/providers/Microsoft.Network/networkInterfaces/testnic6387/ipConfigurations/testcrpip4391"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"testvnet1642","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg9639/providers/Microsoft.Network/virtualNetworks/testvnet1642","etag":"W/\"c06aa9a7-a36f-403f-8ac2-94ba35d62b7c\"","type":"Microsoft.Network/virtualNetworks","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"5732663a-6407-4f60-ac85-2f0452b14c22","addressSpace":{"addressPrefixes":["10.0.0.0/16"]},"dhcpOptions":{"dnsServers":[]},"subnets":[{"name":"testsubnet707","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg9639/providers/Microsoft.Network/virtualNetworks/testvnet1642/subnets/testsubnet707","etag":"W/\"c06aa9a7-a36f-403f-8ac2-94ba35d62b7c\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.0.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testrg9639/providers/Microsoft.Network/networkInterfaces/testnic7791/ipConfigurations/testcrpip4510"}],"serviceEndpoints":[]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"pyvnet4725106e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e","etag":"W/\"f30d1b36-11ef-49f5-baa2-ec4768903718\"","type":"Microsoft.Network/virtualNetworks","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"96d8e57b-8e61-4b99-8fb8-b90cc48a5d55","addressSpace":{"addressPrefixes":["10.0.0.0/16"]},"dhcpOptions":{"dnsServers":["10.1.1.1","10.1.2.4"]},"subnets":[{"name":"pyvnetsubnetone4725106e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e/subnets/pyvnetsubnetone4725106e","etag":"W/\"f30d1b36-11ef-49f5-baa2-ec4768903718\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.1.0/24"}},{"name":"pyvnetsubnettwo4725106e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e/subnets/pyvnetsubnettwo4725106e","etag":"W/\"f30d1b36-11ef-49f5-baa2-ec4768903718\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.2.0/24"}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"pyvirtnetb4d417ef","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef","etag":"W/\"591500e3-e8c7-4727-9d84-3e65751d7667\"","type":"Microsoft.Network/virtualNetworks","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"f4528c12-71ae-42ea-8777-f5b670062767","addressSpace":{"addressPrefixes":["10.11.0.0/16","10.12.0.0/16"]},"subnets":[{"name":"pysubnetfeb4d417ef","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/pysubnetfeb4d417ef","etag":"W/\"591500e3-e8c7-4727-9d84-3e65751d7667\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.11.0.0/24"}},{"name":"pysubnetbeb4d417ef","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/pysubnetbeb4d417ef","etag":"W/\"591500e3-e8c7-4727-9d84-3e65751d7667\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.12.0.0/24"}},{"name":"GatewaySubnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/GatewaySubnet","etag":"W/\"591500e3-e8c7-4727-9d84-3e65751d7667\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.12.255.0/27","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworkGateways/pyvngb4d417ef/ipConfigurations/default"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"azvmc632","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/virtualNetworks/azvmc632","etag":"W/\"8a9c15e6-dee3-447c-881e-654456b2711c\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"2879cdce-1239-40b6-aa3a-b91e7faa95e8","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"dhcpOptions":{"dnsServers":[]},"subnets":[{"name":"azvmc632","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/virtualNetworks/azvmc632/subnets/azvmc632","etag":"W/\"8a9c15e6-dee3-447c-881e-654456b2711c\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc632/providers/Microsoft.Network/networkInterfaces/azvmc632/ipConfigurations/ipconfig1"}],"serviceEndpoints":[]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"azvmc635","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/virtualNetworks/azvmc635","etag":"W/\"b5452558-357c-48b9-89f1-c8be31745546\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"2bfc13c6-3f0b-4e15-8bfe-f3fce5bc2184","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"dhcpOptions":{"dnsServers":[]},"subnets":[{"name":"azvmc635","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/virtualNetworks/azvmc635/subnets/azvmc635","etag":"W/\"b5452558-357c-48b9-89f1-c8be31745546\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/azvmc635/providers/Microsoft.Network/networkInterfaces/azvmc635/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup/providers/Microsoft.Network/networkInterfaces/wilxvm35/ipConfigurations/ipconfig1"}],"serviceEndpoints":[]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"dcos-vnet-FEEFDCBC","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/virtualNetworks/dcos-vnet-FEEFDCBC","etag":"W/\"27a39283-5486-4199-a15b-01e45c83611c\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"e9b6bbe5-a69e-45a4-8b6b-0d3b2c36a230","addressSpace":{"addressPrefixes":["172.16.0.0/24","10.0.0.0/8"]},"subnets":[{"name":"dcos-masterSubnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/virtualNetworks/dcos-vnet-FEEFDCBC/subnets/dcos-masterSubnet","etag":"W/\"27a39283-5486-4199-a15b-01e45c83611c\"","properties":{"provisioningState":"Succeeded","addressPrefix":"172.16.0.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkInterfaces/dcos-master-FEEFDCBC-nic-0/ipConfigurations/ipConfigNode"}]}},{"name":"dcos-agentPublicSubnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/virtualNetworks/dcos-vnet-FEEFDCBC/subnets/dcos-agentPublicSubnet","etag":"W/\"27a39283-5486-4199-a15b-01e45c83611c\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.0.0/11","networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-agent-public-nsg-FEEFDCBC"},"ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Compute/virtualMachineScaleSets/dcos-agent-public-FEEFDCBC-vmss0/virtualMachines/0/networkInterfaces/agentNodeNic/ipConfigurations/nicipconfig"}]}},{"name":"dcos-agentPrivateSubnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/virtualNetworks/dcos-vnet-FEEFDCBC/subnets/dcos-agentPrivateSubnet","etag":"W/\"27a39283-5486-4199-a15b-01e45c83611c\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.32.0.0/11","networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Network/networkSecurityGroups/dcos-agent-private-nsg-FEEFDCBC"},"ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Compute/virtualMachineScaleSets/dcos-agent-private-FEEFDCBC-vmss0/virtualMachines/0/networkInterfaces/agentPrivateNodeNic/ipConfigurations/nicipconfig"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Compute/virtualMachineScaleSets/dcos-agent-private-FEEFDCBC-vmss0/virtualMachines/3/networkInterfaces/agentPrivateNodeNic/ipConfigurations/nicipconfig"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitesti4aotnzdo4/providers/Microsoft.Compute/virtualMachineScaleSets/dcos-agent-private-FEEFDCBC-vmss0/virtualMachines/4/networkInterfaces/agentPrivateNodeNic/ipConfigurations/nicipconfig"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"cuvz346","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/curbvz346/providers/Microsoft.Network/virtualNetworks/cuvz346","etag":"W/\"641b205b-c836-4408-aa02-d55411c02a58\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"b4cc8f2c-d3e3-47ad-bd04-96ac96cd9d6c","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"dhcpOptions":{"dnsServers":[]},"subnets":[{"name":"cuvz346","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/curbvz346/providers/Microsoft.Network/virtualNetworks/cuvz346/subnets/cuvz346","etag":"W/\"641b205b-c836-4408-aa02-d55411c02a58\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24","serviceEndpoints":[]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"cuvz345","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cuvz345/providers/Microsoft.Network/virtualNetworks/cuvz345","etag":"W/\"c816affb-7bf4-4ba3-bb6e-64fa0db6ba6f\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"a1ea2880-cf88-4d27-a0c3-a09f6fc09fb4","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"dhcpOptions":{"dnsServers":[]},"subnets":[{"name":"cuvz345","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/cuvz345/providers/Microsoft.Network/virtualNetworks/cuvz345/subnets/cuvz345","etag":"W/\"c816affb-7bf4-4ba3-bb6e-64fa0db6ba6f\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24","serviceEndpoints":[]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"foovmrealcool101","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foovmrealcool101/providers/Microsoft.Network/virtualNetworks/foovmrealcool101","etag":"W/\"29baca09-9caf-40ab-9cf2-9a2f68d31fa5\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"cf398c9e-79df-47e5-92f7-85a718ea70e9","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"subnets":[{"name":"Subnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foovmrealcool101/providers/Microsoft.Network/virtualNetworks/foovmrealcool101/subnets/Subnet","etag":"W/\"29baca09-9caf-40ab-9cf2-9a2f68d31fa5\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/foovmrealcool101/providers/Microsoft.Network/networkInterfaces/foovmrealcool101/ipConfigurations/ipconfig1"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"fzmc75","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/virtualNetworks/fzmc75","etag":"W/\"ba7f2ca3-0ca5-46e9-b76c-368d03eb60f3\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"3bd955fb-2e9f-4013-bf40-c8313393ddab","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"subnets":[{"name":"Subnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/virtualNetworks/fzmc75/subnets/Subnet","etag":"W/\"ba7f2ca3-0ca5-46e9-b76c-368d03eb60f3\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzmc75/providers/Microsoft.Network/networkInterfaces/fzmc75/ipConfigurations/ipconfig1"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"fzvm123mccw","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/virtualNetworks/fzvm123mccw","etag":"W/\"da43bf89-4a31-4623-866a-0ec56ff7c9b9\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"54462e63-d27f-4b72-a093-5e83199ca6da","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"dhcpOptions":{"dnsServers":[]},"subnets":[{"name":"fzvm123mccw","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/virtualNetworks/fzvm123mccw/subnets/fzvm123mccw","etag":"W/\"da43bf89-4a31-4623-866a-0ec56ff7c9b9\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/fzvm123mccw/providers/Microsoft.Network/networkInterfaces/fzvm123mccw/ipConfigurations/ipconfig1"}],"serviceEndpoints":[]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"mccwVM20","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mccwVM20/providers/Microsoft.Network/virtualNetworks/mccwVM20","etag":"W/\"2a875b50-8dc3-4fe6-90d5-78ee248ce90e\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"fe7b564d-a4b3-4b7b-9dbd-79f69ca9aaad","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"subnets":[{"name":"Subnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mccwVM20/providers/Microsoft.Network/virtualNetworks/mccwVM20/subnets/Subnet","etag":"W/\"2a875b50-8dc3-4fe6-90d5-78ee248ce90e\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mccwVM20/providers/Microsoft.Network/networkInterfaces/mccwVM20/ipConfigurations/ipconfig1"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"mcmvpvm001","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcmvpvm001/providers/Microsoft.Network/virtualNetworks/mcmvpvm001","etag":"W/\"f7d195d6-ef78-45e3-97f2-2d78b68cd9f3\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"efbc383e-e712-461a-a926-934b620d0215","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"subnets":[{"name":"mcmvpvm001","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcmvpvm001/providers/Microsoft.Network/virtualNetworks/mcmvpvm001/subnets/mcmvpvm001","etag":"W/\"f7d195d6-ef78-45e3-97f2-2d78b68cd9f3\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24"}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"mcvmmvp007","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcvmmvp007/providers/Microsoft.Network/virtualNetworks/mcvmmvp007","etag":"W/\"84484665-da6b-4683-b60b-8e40ac74ae38\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"cb78aad7-fc65-4e0b-9ad2-1d6d1b35374e","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"subnets":[{"name":"mcvmmvp007","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcvmmvp007/providers/Microsoft.Network/virtualNetworks/mcvmmvp007/subnets/mcvmmvp007","etag":"W/\"84484665-da6b-4683-b60b-8e40ac74ae38\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24"}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"mcw1358vm","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/virtualNetworks/mcw1358vm","etag":"W/\"ad865bc8-2355-4319-be91-29a40fbcceb4\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"772107bf-97dd-4e62-a3d2-2edccf6f6b7c","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"dhcpOptions":{"dnsServers":[]},"subnets":[{"name":"mcw1358vm","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/virtualNetworks/mcw1358vm/subnets/mcw1358vm","etag":"W/\"ad865bc8-2355-4319-be91-29a40fbcceb4\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw1358vm/providers/Microsoft.Network/networkInterfaces/mcw1358vm/ipConfigurations/ipconfig1"}],"serviceEndpoints":[]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"mcw18765","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/virtualNetworks/mcw18765","etag":"W/\"a60e2f12-5f7c-4122-894b-c599cfc53c63\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"e606d71b-6a1c-4296-828c-20a977afdcfd","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"subnets":[{"name":"mcw18765","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/virtualNetworks/mcw18765/subnets/mcw18765","etag":"W/\"a60e2f12-5f7c-4122-894b-c599cfc53c63\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18765/providers/Microsoft.Network/networkInterfaces/mcw18765/ipConfigurations/mcw18765"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"mcw18766","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/virtualNetworks/mcw18766","etag":"W/\"ca9abf30-6b73-4a48-9fb7-957d075156fc\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"6454d7ee-3b05-4143-8552-a2610d34ee7c","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"subnets":[{"name":"mcw18766","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/virtualNetworks/mcw18766/subnets/mcw18766","etag":"W/\"ca9abf30-6b73-4a48-9fb7-957d075156fc\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw18766/providers/Microsoft.Network/networkInterfaces/mcw18766/ipConfigurations/mcw18766"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"mcw3569vm","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/virtualNetworks/mcw3569vm","etag":"W/\"1debfad7-6365-4304-b029-466e30fc2eb0\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"45e7d813-0782-4621-9e64-f31d6f94f7c4","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"dhcpOptions":{"dnsServers":[]},"subnets":[{"name":"mcw3569vm","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/virtualNetworks/mcw3569vm/subnets/mcw3569vm","etag":"W/\"1debfad7-6365-4304-b029-466e30fc2eb0\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mcw3569vm/providers/Microsoft.Network/networkInterfaces/mcw3569vm/ipConfigurations/ipconfig1"}],"serviceEndpoints":[]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"aks-vnet-14641967","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-14641967","etag":"W/\"d12f1d55-d7ac-44f7-a770-826f5065b1d1\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"37ee1efc-166d-486b-9c7a-ba6701ca8916","addressSpace":{"addressPrefixes":["10.0.0.0/8"]},"subnets":[{"name":"aks-subnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-14641967/subnets/aks-subnet","etag":"W/\"d12f1d55-d7ac-44f7-a770-826f5065b1d1\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.240.0.0/16","networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-14641967-nsg"},"routeTable":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/routeTables/aks-agentpool-14641967-routetable"},"ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/networkInterfaces/aks-nodepool1-14641967-nic-2/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/networkInterfaces/aks-nodepool1-14641967-nic-1/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_clitestyuwoutijwy_cliakstest4th2gc_eastus/providers/Microsoft.Network/networkInterfaces/aks-nodepool1-14641967-nic-0/ipConfigurations/ipconfig1"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"aks-vnet-55696168","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-55696168","etag":"W/\"ecc7aa5f-1e8c-40a4-9683-51d7e1d8f27e\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"32a60afe-f73f-4161-b25e-3444278e8ef2","addressSpace":{"addressPrefixes":["10.0.0.0/8"]},"subnets":[{"name":"aks-subnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/virtualNetworks/aks-vnet-55696168/subnets/aks-subnet","etag":"W/\"ecc7aa5f-1e8c-40a4-9683-51d7e1d8f27e\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.240.0.0/16","networkSecurityGroup":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkSecurityGroups/aks-agentpool-55696168-nsg"},"routeTable":{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/routeTables/aks-agentpool-55696168-routetable"},"ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-4/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-0/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-1/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-9/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-2/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-3/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-6/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-5/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-8/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MC_lmazuel-swaggertosdk-aks-test_swaggertosdk-test_eastus/providers/Microsoft.Network/networkInterfaces/aks-agentpool-55696168-nic-7/ipConfigurations/ipconfig1"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"mvz45tr13","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/virtualNetworks/mvz45tr13","etag":"W/\"3a000781-1228-4643-bde8-5f9b426931c7\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"bf516cc5-718a-4e4d-a26b-fe63ecf0362a","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"dhcpOptions":{"dnsServers":[]},"subnets":[{"name":"mvz45tr13","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/virtualNetworks/mvz45tr13/subnets/mvz45tr13","etag":"W/\"3a000781-1228-4643-bde8-5f9b426931c7\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mvz45tr13/providers/Microsoft.Network/networkInterfaces/mvz45tr13/ipConfigurations/ipconfig1"}],"serviceEndpoints":[]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"myfvm65","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/virtualNetworks/myfvm65","etag":"W/\"8e982ff5-0fd0-4fc0-bfb9-16cf490da888\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"7110c8d7-d3ac-45ba-8f9d-df8038d85b74","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"subnets":[{"name":"Subnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/virtualNetworks/myfvm65/subnets/Subnet","etag":"W/\"8e982ff5-0fd0-4fc0-bfb9-16cf490da888\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myfvm65/providers/Microsoft.Network/networkInterfaces/myfvm65/ipConfigurations/ipconfig1"}],"serviceEndpoints":[]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"MyReallyCoolVM202","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Network/virtualNetworks/MyReallyCoolVM202","etag":"W/\"6367f418-c8fe-40a3-8449-f637f9edeaf1\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"7112d329-19b0-41f1-a9c9-b04fc62900ea","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"subnets":[{"name":"Subnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Network/virtualNetworks/MyReallyCoolVM202/subnets/Subnet","etag":"W/\"6367f418-c8fe-40a3-8449-f637f9edeaf1\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyReallyCoolVM202/providers/Microsoft.Network/networkInterfaces/MyReallyCoolVM202/ipConfigurations/ipconfig1"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"mysuperCoolVM202","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mysuperCoolVM202/providers/Microsoft.Network/virtualNetworks/mysuperCoolVM202","etag":"W/\"0d478d5d-5b1a-455c-971b-7810b5c6fbaf\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"cbc2ef01-36b3-42b2-a744-f7ba91fb8897","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"subnets":[{"name":"Subnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mysuperCoolVM202/providers/Microsoft.Network/virtualNetworks/mysuperCoolVM202/subnets/Subnet","etag":"W/\"0d478d5d-5b1a-455c-971b-7810b5c6fbaf\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mysuperCoolVM202/providers/Microsoft.Network/networkInterfaces/mysuperCoolVM202/ipConfigurations/ipconfig1"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"scottphvm","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/virtualNetworks/scottphvm","etag":"W/\"f11ab52c-52b1-4467-a87c-68283f29f7b5\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"7f30418b-2c20-4abd-8ef9-c8a155c8ed5d","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"dhcpOptions":{"dnsServers":[]},"subnets":[{"name":"scottphvm","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/virtualNetworks/scottphvm/subnets/scottphvm","etag":"W/\"f11ab52c-52b1-4467-a87c-68283f29f7b5\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/scottphvm/providers/Microsoft.Network/networkInterfaces/scottphvm/ipConfigurations/ipconfig1"}],"serviceEndpoints":[]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"zvb346","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/virtualNetworks/zvb346","etag":"W/\"57220e04-46e2-4c94-b681-7902a9454a19\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"8c2d4853-c213-4c61-94bf-db04ab63641c","addressSpace":{"addressPrefixes":["192.168.0.0/16"]},"dhcpOptions":{"dnsServers":[]},"subnets":[{"name":"zvb346","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/virtualNetworks/zvb346/subnets/zvb346","etag":"W/\"57220e04-46e2-4c94-b681-7902a9454a19\"","properties":{"provisioningState":"Succeeded","addressPrefix":"192.168.1.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/zvb346/providers/Microsoft.Network/networkInterfaces/zvb346/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mytestyrg/providers/Microsoft.Network/networkInterfaces/mynicynic/ipConfigurations/ipconfig1"}],"serviceEndpoints":[]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"vm1VNET","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/virtualNetworks/vm1VNET","etag":"W/\"cca85e41-769c-435d-93db-8909f7f480be\"","type":"Microsoft.Network/virtualNetworks","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"2049a4a6-883e-4761-b9c7-450de7aec6ea","addressSpace":{"addressPrefixes":["10.0.0.0/16"]},"subnets":[{"name":"vm1Subnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/virtualNetworks/vm1VNET/subnets/vm1Subnet","etag":"W/\"cca85e41-769c-435d-93db-8909f7f480be\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.0.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgdoetgkiooyscaizso23laztojri5gfxpct6a5qb3i5wnj54ikqozf2gpme5ampph2/providers/Microsoft.Network/networkInterfaces/vm1VMNic/ipConfigurations/ipconfigvm1"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"vm1VNET","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/virtualNetworks/vm1VNET","etag":"W/\"d981f16c-272b-4532-8231-aaf279ff5a23\"","type":"Microsoft.Network/virtualNetworks","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"2b0cac16-cce1-442e-b4d7-92f7bdafb10a","addressSpace":{"addressPrefixes":["10.0.0.0/16"]},"subnets":[{"name":"vm1Subnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/virtualNetworks/vm1VNET/subnets/vm1Subnet","etag":"W/\"d981f16c-272b-4532-8231-aaf279ff5a23\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.0.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgqgbusggvsfyanvrqprcs447ijt42c3fy75fbqtqhs5d7oa46xs2uza5xdidtmdjzd/providers/Microsoft.Network/networkInterfaces/vm1VMNic/ipConfigurations/ipconfigvm1"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"vm1VNET","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/virtualNetworks/vm1VNET","etag":"W/\"e0ed895d-3902-486e-96a2-7f0a8bb8dda3\"","type":"Microsoft.Network/virtualNetworks","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"5c23bcbc-e871-4161-870a-ec83083ebbaf","addressSpace":{"addressPrefixes":["10.0.0.0/16"]},"subnets":[{"name":"vm1Subnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/virtualNetworks/vm1VNET/subnets/vm1Subnet","etag":"W/\"e0ed895d-3902-486e-96a2-7f0a8bb8dda3\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.0.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitest.rgyvd7k4l55va4a6ngpdr3cnx4vmv43ccejuh5uygmmytbrh32g5wsp64w34vfagsa7/providers/Microsoft.Network/networkInterfaces/vm1VMNic/ipConfigurations/ipconfigvm1"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"groupVNET","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/virtualNetworks/groupVNET","etag":"W/\"451cc157-961e-4c24-8999-0dc9b8938f8f\"","type":"Microsoft.Network/virtualNetworks","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"c5e728eb-2a59-4f72-b6d7-22f3943b7dff","addressSpace":{"addressPrefixes":["10.0.0.0/16"]},"subnets":[{"name":"groupSubnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/virtualNetworks/groupVNET/subnets/groupSubnet","etag":"W/\"451cc157-961e-4c24-8999-0dc9b8938f8f\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.0.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkInterfaces/groupVMNic/ipConfigurations/ipconfiggroup"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/t-chwong/providers/Microsoft.Network/networkInterfaces/t-chwong-vmVMNic/ipConfigurations/ipconfigt-chwong-vm"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"test-vm-1VNET","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/virtualNetworks/test-vm-1VNET","etag":"W/\"609a136d-5dba-41a7-8ae5-de4b7a7b9765\"","type":"Microsoft.Network/virtualNetworks","location":"southcentralus","tags":{},"properties":{"provisioningState":"Succeeded","resourceGuid":"b4bcf7f4-6e5c-4140-8b58-1e893ca7d763","addressSpace":{"addressPrefixes":["10.0.0.0/16"]},"subnets":[{"name":"test-vm-1Subnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/virtualNetworks/test-vm-1VNET/subnets/test-vm-1Subnet","etag":"W/\"609a136d-5dba-41a7-8ae5-de4b7a7b9765\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.0.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkInterfaces/test-vm-1VMNic/ipConfigurations/ipconfigtest-vm-1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test/providers/Microsoft.Network/networkInterfaces/test-vm-2VMNic/ipConfigurations/ipconfigtest-vm-2"}]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}}]}'} + body: {string: '{"value":[{"name":"pyvnet4725106e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e","etag":"W/\"420b6ce7-4af3-4550-9800-8f3e3ee40f4f\"","type":"Microsoft.Network/virtualNetworks","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"4d7e7ab4-388d-462b-a5ea-9cf862db7a96","addressSpace":{"addressPrefixes":["10.0.0.0/16"]},"dhcpOptions":{"dnsServers":["10.1.1.1","10.1.2.4"]},"subnets":[{"name":"pyvnetsubnetone4725106e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e/subnets/pyvnetsubnetone4725106e","etag":"W/\"420b6ce7-4af3-4550-9800-8f3e3ee40f4f\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.1.0/24","delegations":[]}},{"name":"pyvnetsubnettwo4725106e","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e/subnets/pyvnetsubnettwo4725106e","etag":"W/\"420b6ce7-4af3-4550-9800-8f3e3ee40f4f\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.2.0/24","delegations":[]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"pyvirtnetb4d417ef","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef","etag":"W/\"a5205462-b3f2-4829-8cfe-c8dd4fc0c8b7\"","type":"Microsoft.Network/virtualNetworks","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"10ad6fb3-6b7f-4f58-ba8c-e3faac3c8bd5","addressSpace":{"addressPrefixes":["10.11.0.0/16","10.12.0.0/16"]},"subnets":[{"name":"pysubnetfeb4d417ef","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/pysubnetfeb4d417ef","etag":"W/\"a5205462-b3f2-4829-8cfe-c8dd4fc0c8b7\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.11.0.0/24","delegations":[]}},{"name":"pysubnetbeb4d417ef","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/pysubnetbeb4d417ef","etag":"W/\"a5205462-b3f2-4829-8cfe-c8dd4fc0c8b7\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.12.0.0/24","delegations":[]}},{"name":"GatewaySubnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworks/pyvirtnetb4d417ef/subnets/GatewaySubnet","etag":"W/\"a5205462-b3f2-4829-8cfe-c8dd4fc0c8b7\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.12.255.0/27","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_network_gateway_operationsb4d417ef/providers/Microsoft.Network/virtualNetworkGateways/pyvngb4d417ef/ipConfigurations/default"}],"delegations":[]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"wilxgroup1-vnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/virtualNetworks/wilxgroup1-vnet","etag":"W/\"3d40b43a-4ba9-4d8e-93fa-c6e88ea9da3b\"","type":"Microsoft.Network/virtualNetworks","location":"westus","properties":{"provisioningState":"Succeeded","resourceGuid":"d8a0526f-c3ee-4d60-a87e-8d687ff75039","addressSpace":{"addressPrefixes":["10.1.1.0/24"]},"subnets":[{"name":"default","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/virtualNetworks/wilxgroup1-vnet/subnets/default","etag":"W/\"3d40b43a-4ba9-4d8e-93fa-c6e88ea9da3b\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.1.1.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/wilxgroup1/providers/Microsoft.Network/networkInterfaces/windowsvm624/ipConfigurations/ipconfig1"}],"delegations":[]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"amar-vnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/virtualNetworks/amar-vnet","etag":"W/\"2cbd5448-2a06-4ad3-a9ad-95d0f96ada8e\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"56822e98-538a-4745-ba0a-65c0f7f6d5d5","addressSpace":{"addressPrefixes":["10.0.16.0/24"]},"subnets":[{"name":"default","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/virtualNetworks/amar-vnet/subnets/default","etag":"W/\"2cbd5448-2a06-4ad3-a9ad-95d0f96ada8e\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.16.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amareh554/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amareh2451/ipConfigurations/ipconfig1"},{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amareh3187/ipConfigurations/ipconfig1"}],"delegations":[]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"amar-vnet2","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/virtualNetworks/amar-vnet2","etag":"W/\"29b64b6f-1184-432c-878a-f3d8959d34c9\"","type":"Microsoft.Network/virtualNetworks","location":"eastus","properties":{"provisioningState":"Succeeded","resourceGuid":"3c008d59-e58f-40ab-bc3b-2194a2a99d88","addressSpace":{"addressPrefixes":["10.2.0.0/16"]},"subnets":[{"name":"default","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/virtualNetworks/amar-vnet2/subnets/default","etag":"W/\"29b64b6f-1184-432c-878a-f3d8959d34c9\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.2.0.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/amar/providers/Microsoft.Network/networkInterfaces/amareh453/ipConfigurations/ipconfig1"}],"delegations":[]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"Dtlcliautomationlab","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestlab1/providers/Microsoft.Network/virtualNetworks/Dtlcliautomationlab","etag":"W/\"dcef0c66-48df-4502-bd5b-fe1ab5484af8\"","type":"Microsoft.Network/virtualNetworks","location":"southcentralus","tags":{"hidden-DevTestLabs-LabUId":"ca9ec547-32c5-422d-b3d2-25906ed71959"},"properties":{"provisioningState":"Succeeded","resourceGuid":"b083abf5-63cf-4ba2-b6fa-55ce660ce895","addressSpace":{"addressPrefixes":["10.0.0.0/20"]},"dhcpOptions":{"dnsServers":[]},"subnets":[{"name":"DtlcliautomationlabSubnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/clitestlab1/providers/Microsoft.Network/virtualNetworks/Dtlcliautomationlab/subnets/DtlcliautomationlabSubnet","etag":"W/\"dcef0c66-48df-4502-bd5b-fe1ab5484af8\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.0.0.0/20","delegations":[]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}},{"name":"lmazuel-testcapture-vnet","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Network/virtualNetworks/lmazuel-testcapture-vnet","etag":"W/\"092ec0ce-dfae-4ee3-a6f2-9bf813da2a88\"","type":"Microsoft.Network/virtualNetworks","location":"westus2","properties":{"provisioningState":"Succeeded","resourceGuid":"a1ba5e36-4ef1-4778-bac9-826091314efa","addressSpace":{"addressPrefixes":["10.1.0.0/24"]},"subnets":[{"name":"default","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Network/virtualNetworks/lmazuel-testcapture-vnet/subnets/default","etag":"W/\"092ec0ce-dfae-4ee3-a6f2-9bf813da2a88\"","properties":{"provisioningState":"Succeeded","addressPrefix":"10.1.0.0/24","ipConfigurations":[{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/lmazuel-testcapture/providers/Microsoft.Network/networkInterfaces/lmazuel-testcapture427/ipConfigurations/ipconfig1"}],"delegations":[]}}],"virtualNetworkPeerings":[],"enableDdosProtection":false,"enableVmProtection":false}}]}'} headers: cache-control: [no-cache] - content-length: ['53405'] + content-length: ['9064'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:30:53 GMT'] + date: ['Fri, 27 Jul 2018 23:17:20 GMT'] expires: ['-1'] pragma: [no-cache] strict-transport-security: [max-age=31536000; includeSubDomains] vary: [Accept-Encoding] x-content-type-options: [nosniff] - x-ms-original-request-ids: [c7e98be4-1045-42bd-bf7f-3c43845086fd, c0411a09-99a2-44ae-8aa9-608932f2470a, - 2f51613a-dd50-4b32-bf2a-9dbfe9558598] + x-ms-original-request-ids: [0ef90879-1e5f-48e2-8c8a-52493023ae22, 3ef1e4f0-a15a-49e9-9ac9-267e964ff801, + 0b788624-82ec-4fa6-b183-f551dcb78718, 39ee7759-879e-4bd0-8755-8941fd09e5c7] status: {code: 200, message: OK} - request: body: null @@ -302,25 +308,25 @@ interactions: Connection: [keep-alive] Content-Length: ['0'] Content-Type: [application/json; charset=utf-8] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] accept-language: [en-US] method: DELETE - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/test_mgmt_network_test_virtual_networks4725106e/providers/Microsoft.Network/virtualNetworks/pyvnet4725106e?api-version=2018-06-01 response: body: {string: ''} headers: - azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f102b210-2492-46a1-9c93-039c9c327f36?api-version=2018-02-01'] + azure-asyncoperation: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/0658042b-296d-4e7d-a9c6-8f4ce4d81127?api-version=2018-06-01'] cache-control: [no-cache] content-length: ['0'] - date: ['Tue, 03 Apr 2018 21:30:54 GMT'] + date: ['Fri, 27 Jul 2018 23:17:21 GMT'] expires: ['-1'] - location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/f102b210-2492-46a1-9c93-039c9c327f36?api-version=2018-02-01'] + location: ['https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operationResults/0658042b-296d-4e7d-a9c6-8f4ce4d81127?api-version=2018-06-01'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0] strict-transport-security: [max-age=31536000; includeSubDomains] x-content-type-options: [nosniff] - x-ms-ratelimit-remaining-subscription-writes: ['1199'] + x-ms-ratelimit-remaining-subscription-deletes: ['14999'] status: {code: 202, message: Accepted} - request: body: null @@ -328,17 +334,17 @@ interactions: Accept: [application/json] Accept-Encoding: ['gzip, deflate'] Connection: [keep-alive] - User-Agent: [python/3.6.3 (Windows-10-10.0.16299-SP0) requests/2.18.4 msrest/0.4.27 - msrest_azure/0.4.22 networkmanagementclient/2.0.0rc1 Azure-SDK-For-Python] + User-Agent: [python/3.6.4 (Windows-10-10.0.17134-SP0) requests/2.19.1 msrest/0.5.4 + msrest_azure/0.4.34 networkmanagementclient/2.0.0 Azure-SDK-For-Python] method: GET - uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/f102b210-2492-46a1-9c93-039c9c327f36?api-version=2018-02-01 + uri: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Network/locations/westus/operations/0658042b-296d-4e7d-a9c6-8f4ce4d81127?api-version=2018-06-01 response: body: {string: "{\r\n \"status\": \"Succeeded\"\r\n}"} headers: cache-control: [no-cache] content-length: ['29'] content-type: [application/json; charset=utf-8] - date: ['Tue, 03 Apr 2018 21:31:03 GMT'] + date: ['Fri, 27 Jul 2018 23:17:32 GMT'] expires: ['-1'] pragma: [no-cache] server: [Microsoft-HTTPAPI/2.0, Microsoft-HTTPAPI/2.0]