1# coding=utf-8 2# -------------------------------------------------------------------------- 3# Copyright (c) Microsoft Corporation. All rights reserved. 4# Licensed under the MIT License. See License.txt in the project root for license information. 5# Code generated by Microsoft (R) AutoRest Code Generator. 6# Changes may cause incorrect behavior and will be lost if the code is regenerated. 7# -------------------------------------------------------------------------- 8 9import datetime 10from typing import Dict, List, Optional, Union 11 12from azure.core.exceptions import HttpResponseError 13import msrest.serialization 14 15from ._network_management_client_enums import * 16 17 18class AadAuthenticationParameters(msrest.serialization.Model): 19 """AAD Vpn authentication type related parameters. 20 21 :param aad_tenant: AAD Vpn authentication parameter AAD tenant. 22 :type aad_tenant: str 23 :param aad_audience: AAD Vpn authentication parameter AAD audience. 24 :type aad_audience: str 25 :param aad_issuer: AAD Vpn authentication parameter AAD issuer. 26 :type aad_issuer: str 27 """ 28 29 _attribute_map = { 30 'aad_tenant': {'key': 'aadTenant', 'type': 'str'}, 31 'aad_audience': {'key': 'aadAudience', 'type': 'str'}, 32 'aad_issuer': {'key': 'aadIssuer', 'type': 'str'}, 33 } 34 35 def __init__( 36 self, 37 *, 38 aad_tenant: Optional[str] = None, 39 aad_audience: Optional[str] = None, 40 aad_issuer: Optional[str] = None, 41 **kwargs 42 ): 43 super(AadAuthenticationParameters, self).__init__(**kwargs) 44 self.aad_tenant = aad_tenant 45 self.aad_audience = aad_audience 46 self.aad_issuer = aad_issuer 47 48 49class AddressSpace(msrest.serialization.Model): 50 """AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. 51 52 :param address_prefixes: A list of address blocks reserved for this virtual network in CIDR 53 notation. 54 :type address_prefixes: list[str] 55 """ 56 57 _attribute_map = { 58 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, 59 } 60 61 def __init__( 62 self, 63 *, 64 address_prefixes: Optional[List[str]] = None, 65 **kwargs 66 ): 67 super(AddressSpace, self).__init__(**kwargs) 68 self.address_prefixes = address_prefixes 69 70 71class Resource(msrest.serialization.Model): 72 """Common resource representation. 73 74 Variables are only populated by the server, and will be ignored when sending a request. 75 76 :param id: Resource ID. 77 :type id: str 78 :ivar name: Resource name. 79 :vartype name: str 80 :ivar type: Resource type. 81 :vartype type: str 82 :param location: Resource location. 83 :type location: str 84 :param tags: A set of tags. Resource tags. 85 :type tags: dict[str, str] 86 """ 87 88 _validation = { 89 'name': {'readonly': True}, 90 'type': {'readonly': True}, 91 } 92 93 _attribute_map = { 94 'id': {'key': 'id', 'type': 'str'}, 95 'name': {'key': 'name', 'type': 'str'}, 96 'type': {'key': 'type', 'type': 'str'}, 97 'location': {'key': 'location', 'type': 'str'}, 98 'tags': {'key': 'tags', 'type': '{str}'}, 99 } 100 101 def __init__( 102 self, 103 *, 104 id: Optional[str] = None, 105 location: Optional[str] = None, 106 tags: Optional[Dict[str, str]] = None, 107 **kwargs 108 ): 109 super(Resource, self).__init__(**kwargs) 110 self.id = id 111 self.name = None 112 self.type = None 113 self.location = location 114 self.tags = tags 115 116 117class ApplicationGateway(Resource): 118 """Application gateway resource. 119 120 Variables are only populated by the server, and will be ignored when sending a request. 121 122 :param id: Resource ID. 123 :type id: str 124 :ivar name: Resource name. 125 :vartype name: str 126 :ivar type: Resource type. 127 :vartype type: str 128 :param location: Resource location. 129 :type location: str 130 :param tags: A set of tags. Resource tags. 131 :type tags: dict[str, str] 132 :ivar etag: A unique read-only string that changes whenever the resource is updated. 133 :vartype etag: str 134 :param zones: A list of availability zones denoting where the resource needs to come from. 135 :type zones: list[str] 136 :param identity: The identity of the application gateway, if configured. 137 :type identity: ~azure.mgmt.network.v2019_12_01.models.ManagedServiceIdentity 138 :param sku: SKU of the application gateway resource. 139 :type sku: ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewaySku 140 :param ssl_policy: SSL policy of the application gateway resource. 141 :type ssl_policy: ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewaySslPolicy 142 :ivar operational_state: Operational state of the application gateway resource. Possible values 143 include: "Stopped", "Starting", "Running", "Stopping". 144 :vartype operational_state: str or 145 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayOperationalState 146 :param gateway_ip_configurations: Subnets of the application gateway resource. For default 147 limits, see `Application Gateway limits 148 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 149 :type gateway_ip_configurations: 150 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayIPConfiguration] 151 :param authentication_certificates: Authentication certificates of the application gateway 152 resource. For default limits, see `Application Gateway limits 153 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 154 :type authentication_certificates: 155 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayAuthenticationCertificate] 156 :param trusted_root_certificates: Trusted Root certificates of the application gateway 157 resource. For default limits, see `Application Gateway limits 158 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 159 :type trusted_root_certificates: 160 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayTrustedRootCertificate] 161 :param ssl_certificates: SSL certificates of the application gateway resource. For default 162 limits, see `Application Gateway limits 163 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 164 :type ssl_certificates: 165 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewaySslCertificate] 166 :param frontend_ip_configurations: Frontend IP addresses of the application gateway resource. 167 For default limits, see `Application Gateway limits 168 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 169 :type frontend_ip_configurations: 170 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayFrontendIPConfiguration] 171 :param frontend_ports: Frontend ports of the application gateway resource. For default limits, 172 see `Application Gateway limits 173 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 174 :type frontend_ports: 175 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayFrontendPort] 176 :param probes: Probes of the application gateway resource. 177 :type probes: list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayProbe] 178 :param backend_address_pools: Backend address pool of the application gateway resource. For 179 default limits, see `Application Gateway limits 180 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 181 :type backend_address_pools: 182 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayBackendAddressPool] 183 :param backend_http_settings_collection: Backend http settings of the application gateway 184 resource. For default limits, see `Application Gateway limits 185 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 186 :type backend_http_settings_collection: 187 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayBackendHttpSettings] 188 :param http_listeners: Http listeners of the application gateway resource. For default limits, 189 see `Application Gateway limits 190 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 191 :type http_listeners: 192 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayHttpListener] 193 :param url_path_maps: URL path map of the application gateway resource. For default limits, see 194 `Application Gateway limits 195 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 196 :type url_path_maps: list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayUrlPathMap] 197 :param request_routing_rules: Request routing rules of the application gateway resource. 198 :type request_routing_rules: 199 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayRequestRoutingRule] 200 :param rewrite_rule_sets: Rewrite rules for the application gateway resource. 201 :type rewrite_rule_sets: 202 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayRewriteRuleSet] 203 :param redirect_configurations: Redirect configurations of the application gateway resource. 204 For default limits, see `Application Gateway limits 205 <https://docs.microsoft.com/azure/azure-subscription-service-limits#application-gateway-limits>`_. 206 :type redirect_configurations: 207 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayRedirectConfiguration] 208 :param web_application_firewall_configuration: Web application firewall configuration. 209 :type web_application_firewall_configuration: 210 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayWebApplicationFirewallConfiguration 211 :param firewall_policy: Reference to the FirewallPolicy resource. 212 :type firewall_policy: ~azure.mgmt.network.v2019_12_01.models.SubResource 213 :param enable_http2: Whether HTTP2 is enabled on the application gateway resource. 214 :type enable_http2: bool 215 :param enable_fips: Whether FIPS is enabled on the application gateway resource. 216 :type enable_fips: bool 217 :param autoscale_configuration: Autoscale Configuration. 218 :type autoscale_configuration: 219 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayAutoscaleConfiguration 220 :ivar resource_guid: The resource GUID property of the application gateway resource. 221 :vartype resource_guid: str 222 :ivar provisioning_state: The provisioning state of the application gateway resource. Possible 223 values include: "Succeeded", "Updating", "Deleting", "Failed". 224 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 225 :param custom_error_configurations: Custom error configurations of the application gateway 226 resource. 227 :type custom_error_configurations: 228 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayCustomError] 229 """ 230 231 _validation = { 232 'name': {'readonly': True}, 233 'type': {'readonly': True}, 234 'etag': {'readonly': True}, 235 'operational_state': {'readonly': True}, 236 'resource_guid': {'readonly': True}, 237 'provisioning_state': {'readonly': True}, 238 } 239 240 _attribute_map = { 241 'id': {'key': 'id', 'type': 'str'}, 242 'name': {'key': 'name', 'type': 'str'}, 243 'type': {'key': 'type', 'type': 'str'}, 244 'location': {'key': 'location', 'type': 'str'}, 245 'tags': {'key': 'tags', 'type': '{str}'}, 246 'etag': {'key': 'etag', 'type': 'str'}, 247 'zones': {'key': 'zones', 'type': '[str]'}, 248 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 249 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, 250 'ssl_policy': {'key': 'properties.sslPolicy', 'type': 'ApplicationGatewaySslPolicy'}, 251 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, 252 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, 253 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[ApplicationGatewayAuthenticationCertificate]'}, 254 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[ApplicationGatewayTrustedRootCertificate]'}, 255 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, 256 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, 257 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, 258 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, 259 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, 260 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, 261 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, 262 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, 263 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, 264 'rewrite_rule_sets': {'key': 'properties.rewriteRuleSets', 'type': '[ApplicationGatewayRewriteRuleSet]'}, 265 'redirect_configurations': {'key': 'properties.redirectConfigurations', 'type': '[ApplicationGatewayRedirectConfiguration]'}, 266 'web_application_firewall_configuration': {'key': 'properties.webApplicationFirewallConfiguration', 'type': 'ApplicationGatewayWebApplicationFirewallConfiguration'}, 267 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, 268 'enable_http2': {'key': 'properties.enableHttp2', 'type': 'bool'}, 269 'enable_fips': {'key': 'properties.enableFips', 'type': 'bool'}, 270 'autoscale_configuration': {'key': 'properties.autoscaleConfiguration', 'type': 'ApplicationGatewayAutoscaleConfiguration'}, 271 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 272 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 273 'custom_error_configurations': {'key': 'properties.customErrorConfigurations', 'type': '[ApplicationGatewayCustomError]'}, 274 } 275 276 def __init__( 277 self, 278 *, 279 id: Optional[str] = None, 280 location: Optional[str] = None, 281 tags: Optional[Dict[str, str]] = None, 282 zones: Optional[List[str]] = None, 283 identity: Optional["ManagedServiceIdentity"] = None, 284 sku: Optional["ApplicationGatewaySku"] = None, 285 ssl_policy: Optional["ApplicationGatewaySslPolicy"] = None, 286 gateway_ip_configurations: Optional[List["ApplicationGatewayIPConfiguration"]] = None, 287 authentication_certificates: Optional[List["ApplicationGatewayAuthenticationCertificate"]] = None, 288 trusted_root_certificates: Optional[List["ApplicationGatewayTrustedRootCertificate"]] = None, 289 ssl_certificates: Optional[List["ApplicationGatewaySslCertificate"]] = None, 290 frontend_ip_configurations: Optional[List["ApplicationGatewayFrontendIPConfiguration"]] = None, 291 frontend_ports: Optional[List["ApplicationGatewayFrontendPort"]] = None, 292 probes: Optional[List["ApplicationGatewayProbe"]] = None, 293 backend_address_pools: Optional[List["ApplicationGatewayBackendAddressPool"]] = None, 294 backend_http_settings_collection: Optional[List["ApplicationGatewayBackendHttpSettings"]] = None, 295 http_listeners: Optional[List["ApplicationGatewayHttpListener"]] = None, 296 url_path_maps: Optional[List["ApplicationGatewayUrlPathMap"]] = None, 297 request_routing_rules: Optional[List["ApplicationGatewayRequestRoutingRule"]] = None, 298 rewrite_rule_sets: Optional[List["ApplicationGatewayRewriteRuleSet"]] = None, 299 redirect_configurations: Optional[List["ApplicationGatewayRedirectConfiguration"]] = None, 300 web_application_firewall_configuration: Optional["ApplicationGatewayWebApplicationFirewallConfiguration"] = None, 301 firewall_policy: Optional["SubResource"] = None, 302 enable_http2: Optional[bool] = None, 303 enable_fips: Optional[bool] = None, 304 autoscale_configuration: Optional["ApplicationGatewayAutoscaleConfiguration"] = None, 305 custom_error_configurations: Optional[List["ApplicationGatewayCustomError"]] = None, 306 **kwargs 307 ): 308 super(ApplicationGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 309 self.etag = None 310 self.zones = zones 311 self.identity = identity 312 self.sku = sku 313 self.ssl_policy = ssl_policy 314 self.operational_state = None 315 self.gateway_ip_configurations = gateway_ip_configurations 316 self.authentication_certificates = authentication_certificates 317 self.trusted_root_certificates = trusted_root_certificates 318 self.ssl_certificates = ssl_certificates 319 self.frontend_ip_configurations = frontend_ip_configurations 320 self.frontend_ports = frontend_ports 321 self.probes = probes 322 self.backend_address_pools = backend_address_pools 323 self.backend_http_settings_collection = backend_http_settings_collection 324 self.http_listeners = http_listeners 325 self.url_path_maps = url_path_maps 326 self.request_routing_rules = request_routing_rules 327 self.rewrite_rule_sets = rewrite_rule_sets 328 self.redirect_configurations = redirect_configurations 329 self.web_application_firewall_configuration = web_application_firewall_configuration 330 self.firewall_policy = firewall_policy 331 self.enable_http2 = enable_http2 332 self.enable_fips = enable_fips 333 self.autoscale_configuration = autoscale_configuration 334 self.resource_guid = None 335 self.provisioning_state = None 336 self.custom_error_configurations = custom_error_configurations 337 338 339class SubResource(msrest.serialization.Model): 340 """Reference to another subresource. 341 342 :param id: Resource ID. 343 :type id: str 344 """ 345 346 _attribute_map = { 347 'id': {'key': 'id', 'type': 'str'}, 348 } 349 350 def __init__( 351 self, 352 *, 353 id: Optional[str] = None, 354 **kwargs 355 ): 356 super(SubResource, self).__init__(**kwargs) 357 self.id = id 358 359 360class ApplicationGatewayAuthenticationCertificate(SubResource): 361 """Authentication certificates of an application gateway. 362 363 Variables are only populated by the server, and will be ignored when sending a request. 364 365 :param id: Resource ID. 366 :type id: str 367 :param name: Name of the authentication certificate that is unique within an Application 368 Gateway. 369 :type name: str 370 :ivar etag: A unique read-only string that changes whenever the resource is updated. 371 :vartype etag: str 372 :ivar type: Type of the resource. 373 :vartype type: str 374 :param data: Certificate public data. 375 :type data: str 376 :ivar provisioning_state: The provisioning state of the authentication certificate resource. 377 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 378 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 379 """ 380 381 _validation = { 382 'etag': {'readonly': True}, 383 'type': {'readonly': True}, 384 'provisioning_state': {'readonly': True}, 385 } 386 387 _attribute_map = { 388 'id': {'key': 'id', 'type': 'str'}, 389 'name': {'key': 'name', 'type': 'str'}, 390 'etag': {'key': 'etag', 'type': 'str'}, 391 'type': {'key': 'type', 'type': 'str'}, 392 'data': {'key': 'properties.data', 'type': 'str'}, 393 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 394 } 395 396 def __init__( 397 self, 398 *, 399 id: Optional[str] = None, 400 name: Optional[str] = None, 401 data: Optional[str] = None, 402 **kwargs 403 ): 404 super(ApplicationGatewayAuthenticationCertificate, self).__init__(id=id, **kwargs) 405 self.name = name 406 self.etag = None 407 self.type = None 408 self.data = data 409 self.provisioning_state = None 410 411 412class ApplicationGatewayAutoscaleConfiguration(msrest.serialization.Model): 413 """Application Gateway autoscale configuration. 414 415 All required parameters must be populated in order to send to Azure. 416 417 :param min_capacity: Required. Lower bound on number of Application Gateway capacity. 418 :type min_capacity: int 419 :param max_capacity: Upper bound on number of Application Gateway capacity. 420 :type max_capacity: int 421 """ 422 423 _validation = { 424 'min_capacity': {'required': True, 'minimum': 0}, 425 'max_capacity': {'minimum': 2}, 426 } 427 428 _attribute_map = { 429 'min_capacity': {'key': 'minCapacity', 'type': 'int'}, 430 'max_capacity': {'key': 'maxCapacity', 'type': 'int'}, 431 } 432 433 def __init__( 434 self, 435 *, 436 min_capacity: int, 437 max_capacity: Optional[int] = None, 438 **kwargs 439 ): 440 super(ApplicationGatewayAutoscaleConfiguration, self).__init__(**kwargs) 441 self.min_capacity = min_capacity 442 self.max_capacity = max_capacity 443 444 445class ApplicationGatewayAvailableSslOptions(Resource): 446 """Response for ApplicationGatewayAvailableSslOptions API service call. 447 448 Variables are only populated by the server, and will be ignored when sending a request. 449 450 :param id: Resource ID. 451 :type id: str 452 :ivar name: Resource name. 453 :vartype name: str 454 :ivar type: Resource type. 455 :vartype type: str 456 :param location: Resource location. 457 :type location: str 458 :param tags: A set of tags. Resource tags. 459 :type tags: dict[str, str] 460 :param predefined_policies: List of available Ssl predefined policy. 461 :type predefined_policies: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 462 :param default_policy: Name of the Ssl predefined policy applied by default to application 463 gateway. Possible values include: "AppGwSslPolicy20150501", "AppGwSslPolicy20170401", 464 "AppGwSslPolicy20170401S". 465 :type default_policy: str or 466 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewaySslPolicyName 467 :param available_cipher_suites: List of available Ssl cipher suites. 468 :type available_cipher_suites: list[str or 469 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewaySslCipherSuite] 470 :param available_protocols: List of available Ssl protocols. 471 :type available_protocols: list[str or 472 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewaySslProtocol] 473 """ 474 475 _validation = { 476 'name': {'readonly': True}, 477 'type': {'readonly': True}, 478 } 479 480 _attribute_map = { 481 'id': {'key': 'id', 'type': 'str'}, 482 'name': {'key': 'name', 'type': 'str'}, 483 'type': {'key': 'type', 'type': 'str'}, 484 'location': {'key': 'location', 'type': 'str'}, 485 'tags': {'key': 'tags', 'type': '{str}'}, 486 'predefined_policies': {'key': 'properties.predefinedPolicies', 'type': '[SubResource]'}, 487 'default_policy': {'key': 'properties.defaultPolicy', 'type': 'str'}, 488 'available_cipher_suites': {'key': 'properties.availableCipherSuites', 'type': '[str]'}, 489 'available_protocols': {'key': 'properties.availableProtocols', 'type': '[str]'}, 490 } 491 492 def __init__( 493 self, 494 *, 495 id: Optional[str] = None, 496 location: Optional[str] = None, 497 tags: Optional[Dict[str, str]] = None, 498 predefined_policies: Optional[List["SubResource"]] = None, 499 default_policy: Optional[Union[str, "ApplicationGatewaySslPolicyName"]] = None, 500 available_cipher_suites: Optional[List[Union[str, "ApplicationGatewaySslCipherSuite"]]] = None, 501 available_protocols: Optional[List[Union[str, "ApplicationGatewaySslProtocol"]]] = None, 502 **kwargs 503 ): 504 super(ApplicationGatewayAvailableSslOptions, self).__init__(id=id, location=location, tags=tags, **kwargs) 505 self.predefined_policies = predefined_policies 506 self.default_policy = default_policy 507 self.available_cipher_suites = available_cipher_suites 508 self.available_protocols = available_protocols 509 510 511class ApplicationGatewayAvailableSslPredefinedPolicies(msrest.serialization.Model): 512 """Response for ApplicationGatewayAvailableSslOptions API service call. 513 514 :param value: List of available Ssl predefined policy. 515 :type value: list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewaySslPredefinedPolicy] 516 :param next_link: URL to get the next set of results. 517 :type next_link: str 518 """ 519 520 _attribute_map = { 521 'value': {'key': 'value', 'type': '[ApplicationGatewaySslPredefinedPolicy]'}, 522 'next_link': {'key': 'nextLink', 'type': 'str'}, 523 } 524 525 def __init__( 526 self, 527 *, 528 value: Optional[List["ApplicationGatewaySslPredefinedPolicy"]] = None, 529 next_link: Optional[str] = None, 530 **kwargs 531 ): 532 super(ApplicationGatewayAvailableSslPredefinedPolicies, self).__init__(**kwargs) 533 self.value = value 534 self.next_link = next_link 535 536 537class ApplicationGatewayAvailableWafRuleSetsResult(msrest.serialization.Model): 538 """Response for ApplicationGatewayAvailableWafRuleSets API service call. 539 540 :param value: The list of application gateway rule sets. 541 :type value: list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayFirewallRuleSet] 542 """ 543 544 _attribute_map = { 545 'value': {'key': 'value', 'type': '[ApplicationGatewayFirewallRuleSet]'}, 546 } 547 548 def __init__( 549 self, 550 *, 551 value: Optional[List["ApplicationGatewayFirewallRuleSet"]] = None, 552 **kwargs 553 ): 554 super(ApplicationGatewayAvailableWafRuleSetsResult, self).__init__(**kwargs) 555 self.value = value 556 557 558class ApplicationGatewayBackendAddress(msrest.serialization.Model): 559 """Backend address of an application gateway. 560 561 :param fqdn: Fully qualified domain name (FQDN). 562 :type fqdn: str 563 :param ip_address: IP address. 564 :type ip_address: str 565 """ 566 567 _attribute_map = { 568 'fqdn': {'key': 'fqdn', 'type': 'str'}, 569 'ip_address': {'key': 'ipAddress', 'type': 'str'}, 570 } 571 572 def __init__( 573 self, 574 *, 575 fqdn: Optional[str] = None, 576 ip_address: Optional[str] = None, 577 **kwargs 578 ): 579 super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) 580 self.fqdn = fqdn 581 self.ip_address = ip_address 582 583 584class ApplicationGatewayBackendAddressPool(SubResource): 585 """Backend Address Pool of an application gateway. 586 587 Variables are only populated by the server, and will be ignored when sending a request. 588 589 :param id: Resource ID. 590 :type id: str 591 :param name: Name of the backend address pool that is unique within an Application Gateway. 592 :type name: str 593 :ivar etag: A unique read-only string that changes whenever the resource is updated. 594 :vartype etag: str 595 :ivar type: Type of the resource. 596 :vartype type: str 597 :ivar backend_ip_configurations: Collection of references to IPs defined in network interfaces. 598 :vartype backend_ip_configurations: 599 list[~azure.mgmt.network.v2019_12_01.models.NetworkInterfaceIPConfiguration] 600 :param backend_addresses: Backend addresses. 601 :type backend_addresses: 602 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayBackendAddress] 603 :ivar provisioning_state: The provisioning state of the backend address pool resource. Possible 604 values include: "Succeeded", "Updating", "Deleting", "Failed". 605 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 606 """ 607 608 _validation = { 609 'etag': {'readonly': True}, 610 'type': {'readonly': True}, 611 'backend_ip_configurations': {'readonly': True}, 612 'provisioning_state': {'readonly': True}, 613 } 614 615 _attribute_map = { 616 'id': {'key': 'id', 'type': 'str'}, 617 'name': {'key': 'name', 'type': 'str'}, 618 'etag': {'key': 'etag', 'type': 'str'}, 619 'type': {'key': 'type', 'type': 'str'}, 620 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 621 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, 622 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 623 } 624 625 def __init__( 626 self, 627 *, 628 id: Optional[str] = None, 629 name: Optional[str] = None, 630 backend_addresses: Optional[List["ApplicationGatewayBackendAddress"]] = None, 631 **kwargs 632 ): 633 super(ApplicationGatewayBackendAddressPool, self).__init__(id=id, **kwargs) 634 self.name = name 635 self.etag = None 636 self.type = None 637 self.backend_ip_configurations = None 638 self.backend_addresses = backend_addresses 639 self.provisioning_state = None 640 641 642class ApplicationGatewayBackendHealth(msrest.serialization.Model): 643 """Response for ApplicationGatewayBackendHealth API service call. 644 645 :param backend_address_pools: A list of ApplicationGatewayBackendHealthPool resources. 646 :type backend_address_pools: 647 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayBackendHealthPool] 648 """ 649 650 _attribute_map = { 651 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[ApplicationGatewayBackendHealthPool]'}, 652 } 653 654 def __init__( 655 self, 656 *, 657 backend_address_pools: Optional[List["ApplicationGatewayBackendHealthPool"]] = None, 658 **kwargs 659 ): 660 super(ApplicationGatewayBackendHealth, self).__init__(**kwargs) 661 self.backend_address_pools = backend_address_pools 662 663 664class ApplicationGatewayBackendHealthHttpSettings(msrest.serialization.Model): 665 """Application gateway BackendHealthHttp settings. 666 667 :param backend_http_settings: Reference to an ApplicationGatewayBackendHttpSettings resource. 668 :type backend_http_settings: 669 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayBackendHttpSettings 670 :param servers: List of ApplicationGatewayBackendHealthServer resources. 671 :type servers: 672 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayBackendHealthServer] 673 """ 674 675 _attribute_map = { 676 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'ApplicationGatewayBackendHttpSettings'}, 677 'servers': {'key': 'servers', 'type': '[ApplicationGatewayBackendHealthServer]'}, 678 } 679 680 def __init__( 681 self, 682 *, 683 backend_http_settings: Optional["ApplicationGatewayBackendHttpSettings"] = None, 684 servers: Optional[List["ApplicationGatewayBackendHealthServer"]] = None, 685 **kwargs 686 ): 687 super(ApplicationGatewayBackendHealthHttpSettings, self).__init__(**kwargs) 688 self.backend_http_settings = backend_http_settings 689 self.servers = servers 690 691 692class ApplicationGatewayBackendHealthOnDemand(msrest.serialization.Model): 693 """Result of on demand test probe. 694 695 :param backend_address_pool: Reference to an ApplicationGatewayBackendAddressPool resource. 696 :type backend_address_pool: 697 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayBackendAddressPool 698 :param backend_health_http_settings: Application gateway BackendHealthHttp settings. 699 :type backend_health_http_settings: 700 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayBackendHealthHttpSettings 701 """ 702 703 _attribute_map = { 704 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, 705 'backend_health_http_settings': {'key': 'backendHealthHttpSettings', 'type': 'ApplicationGatewayBackendHealthHttpSettings'}, 706 } 707 708 def __init__( 709 self, 710 *, 711 backend_address_pool: Optional["ApplicationGatewayBackendAddressPool"] = None, 712 backend_health_http_settings: Optional["ApplicationGatewayBackendHealthHttpSettings"] = None, 713 **kwargs 714 ): 715 super(ApplicationGatewayBackendHealthOnDemand, self).__init__(**kwargs) 716 self.backend_address_pool = backend_address_pool 717 self.backend_health_http_settings = backend_health_http_settings 718 719 720class ApplicationGatewayBackendHealthPool(msrest.serialization.Model): 721 """Application gateway BackendHealth pool. 722 723 :param backend_address_pool: Reference to an ApplicationGatewayBackendAddressPool resource. 724 :type backend_address_pool: 725 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayBackendAddressPool 726 :param backend_http_settings_collection: List of ApplicationGatewayBackendHealthHttpSettings 727 resources. 728 :type backend_http_settings_collection: 729 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayBackendHealthHttpSettings] 730 """ 731 732 _attribute_map = { 733 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, 734 'backend_http_settings_collection': {'key': 'backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHealthHttpSettings]'}, 735 } 736 737 def __init__( 738 self, 739 *, 740 backend_address_pool: Optional["ApplicationGatewayBackendAddressPool"] = None, 741 backend_http_settings_collection: Optional[List["ApplicationGatewayBackendHealthHttpSettings"]] = None, 742 **kwargs 743 ): 744 super(ApplicationGatewayBackendHealthPool, self).__init__(**kwargs) 745 self.backend_address_pool = backend_address_pool 746 self.backend_http_settings_collection = backend_http_settings_collection 747 748 749class ApplicationGatewayBackendHealthServer(msrest.serialization.Model): 750 """Application gateway backendhealth http settings. 751 752 :param address: IP address or FQDN of backend server. 753 :type address: str 754 :param ip_configuration: Reference to IP configuration of backend server. 755 :type ip_configuration: ~azure.mgmt.network.v2019_12_01.models.NetworkInterfaceIPConfiguration 756 :param health: Health of backend server. Possible values include: "Unknown", "Up", "Down", 757 "Partial", "Draining". 758 :type health: str or 759 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayBackendHealthServerHealth 760 :param health_probe_log: Health Probe Log. 761 :type health_probe_log: str 762 """ 763 764 _attribute_map = { 765 'address': {'key': 'address', 'type': 'str'}, 766 'ip_configuration': {'key': 'ipConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, 767 'health': {'key': 'health', 'type': 'str'}, 768 'health_probe_log': {'key': 'healthProbeLog', 'type': 'str'}, 769 } 770 771 def __init__( 772 self, 773 *, 774 address: Optional[str] = None, 775 ip_configuration: Optional["NetworkInterfaceIPConfiguration"] = None, 776 health: Optional[Union[str, "ApplicationGatewayBackendHealthServerHealth"]] = None, 777 health_probe_log: Optional[str] = None, 778 **kwargs 779 ): 780 super(ApplicationGatewayBackendHealthServer, self).__init__(**kwargs) 781 self.address = address 782 self.ip_configuration = ip_configuration 783 self.health = health 784 self.health_probe_log = health_probe_log 785 786 787class ApplicationGatewayBackendHttpSettings(SubResource): 788 """Backend address pool settings of an application gateway. 789 790 Variables are only populated by the server, and will be ignored when sending a request. 791 792 :param id: Resource ID. 793 :type id: str 794 :param name: Name of the backend http settings that is unique within an Application Gateway. 795 :type name: str 796 :ivar etag: A unique read-only string that changes whenever the resource is updated. 797 :vartype etag: str 798 :ivar type: Type of the resource. 799 :vartype type: str 800 :param port: The destination port on the backend. 801 :type port: int 802 :param protocol: The protocol used to communicate with the backend. Possible values include: 803 "Http", "Https". 804 :type protocol: str or ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayProtocol 805 :param cookie_based_affinity: Cookie based affinity. Possible values include: "Enabled", 806 "Disabled". 807 :type cookie_based_affinity: str or 808 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayCookieBasedAffinity 809 :param request_timeout: Request timeout in seconds. Application Gateway will fail the request 810 if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 811 seconds. 812 :type request_timeout: int 813 :param probe: Probe resource of an application gateway. 814 :type probe: ~azure.mgmt.network.v2019_12_01.models.SubResource 815 :param authentication_certificates: Array of references to application gateway authentication 816 certificates. 817 :type authentication_certificates: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 818 :param trusted_root_certificates: Array of references to application gateway trusted root 819 certificates. 820 :type trusted_root_certificates: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 821 :param connection_draining: Connection draining of the backend http settings resource. 822 :type connection_draining: 823 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayConnectionDraining 824 :param host_name: Host header to be sent to the backend servers. 825 :type host_name: str 826 :param pick_host_name_from_backend_address: Whether to pick host header should be picked from 827 the host name of the backend server. Default value is false. 828 :type pick_host_name_from_backend_address: bool 829 :param affinity_cookie_name: Cookie name to use for the affinity cookie. 830 :type affinity_cookie_name: str 831 :param probe_enabled: Whether the probe is enabled. Default value is false. 832 :type probe_enabled: bool 833 :param path: Path which should be used as a prefix for all HTTP requests. Null means no path 834 will be prefixed. Default value is null. 835 :type path: str 836 :ivar provisioning_state: The provisioning state of the backend HTTP settings resource. 837 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 838 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 839 """ 840 841 _validation = { 842 'etag': {'readonly': True}, 843 'type': {'readonly': True}, 844 'provisioning_state': {'readonly': True}, 845 } 846 847 _attribute_map = { 848 'id': {'key': 'id', 'type': 'str'}, 849 'name': {'key': 'name', 'type': 'str'}, 850 'etag': {'key': 'etag', 'type': 'str'}, 851 'type': {'key': 'type', 'type': 'str'}, 852 'port': {'key': 'properties.port', 'type': 'int'}, 853 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 854 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, 855 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, 856 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, 857 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[SubResource]'}, 858 'trusted_root_certificates': {'key': 'properties.trustedRootCertificates', 'type': '[SubResource]'}, 859 'connection_draining': {'key': 'properties.connectionDraining', 'type': 'ApplicationGatewayConnectionDraining'}, 860 'host_name': {'key': 'properties.hostName', 'type': 'str'}, 861 'pick_host_name_from_backend_address': {'key': 'properties.pickHostNameFromBackendAddress', 'type': 'bool'}, 862 'affinity_cookie_name': {'key': 'properties.affinityCookieName', 'type': 'str'}, 863 'probe_enabled': {'key': 'properties.probeEnabled', 'type': 'bool'}, 864 'path': {'key': 'properties.path', 'type': 'str'}, 865 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 866 } 867 868 def __init__( 869 self, 870 *, 871 id: Optional[str] = None, 872 name: Optional[str] = None, 873 port: Optional[int] = None, 874 protocol: Optional[Union[str, "ApplicationGatewayProtocol"]] = None, 875 cookie_based_affinity: Optional[Union[str, "ApplicationGatewayCookieBasedAffinity"]] = None, 876 request_timeout: Optional[int] = None, 877 probe: Optional["SubResource"] = None, 878 authentication_certificates: Optional[List["SubResource"]] = None, 879 trusted_root_certificates: Optional[List["SubResource"]] = None, 880 connection_draining: Optional["ApplicationGatewayConnectionDraining"] = None, 881 host_name: Optional[str] = None, 882 pick_host_name_from_backend_address: Optional[bool] = None, 883 affinity_cookie_name: Optional[str] = None, 884 probe_enabled: Optional[bool] = None, 885 path: Optional[str] = None, 886 **kwargs 887 ): 888 super(ApplicationGatewayBackendHttpSettings, self).__init__(id=id, **kwargs) 889 self.name = name 890 self.etag = None 891 self.type = None 892 self.port = port 893 self.protocol = protocol 894 self.cookie_based_affinity = cookie_based_affinity 895 self.request_timeout = request_timeout 896 self.probe = probe 897 self.authentication_certificates = authentication_certificates 898 self.trusted_root_certificates = trusted_root_certificates 899 self.connection_draining = connection_draining 900 self.host_name = host_name 901 self.pick_host_name_from_backend_address = pick_host_name_from_backend_address 902 self.affinity_cookie_name = affinity_cookie_name 903 self.probe_enabled = probe_enabled 904 self.path = path 905 self.provisioning_state = None 906 907 908class ApplicationGatewayConnectionDraining(msrest.serialization.Model): 909 """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. 910 911 All required parameters must be populated in order to send to Azure. 912 913 :param enabled: Required. Whether connection draining is enabled or not. 914 :type enabled: bool 915 :param drain_timeout_in_sec: Required. The number of seconds connection draining is active. 916 Acceptable values are from 1 second to 3600 seconds. 917 :type drain_timeout_in_sec: int 918 """ 919 920 _validation = { 921 'enabled': {'required': True}, 922 'drain_timeout_in_sec': {'required': True, 'maximum': 3600, 'minimum': 1}, 923 } 924 925 _attribute_map = { 926 'enabled': {'key': 'enabled', 'type': 'bool'}, 927 'drain_timeout_in_sec': {'key': 'drainTimeoutInSec', 'type': 'int'}, 928 } 929 930 def __init__( 931 self, 932 *, 933 enabled: bool, 934 drain_timeout_in_sec: int, 935 **kwargs 936 ): 937 super(ApplicationGatewayConnectionDraining, self).__init__(**kwargs) 938 self.enabled = enabled 939 self.drain_timeout_in_sec = drain_timeout_in_sec 940 941 942class ApplicationGatewayCustomError(msrest.serialization.Model): 943 """Customer error of an application gateway. 944 945 :param status_code: Status code of the application gateway customer error. Possible values 946 include: "HttpStatus403", "HttpStatus502". 947 :type status_code: str or 948 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayCustomErrorStatusCode 949 :param custom_error_page_url: Error page URL of the application gateway customer error. 950 :type custom_error_page_url: str 951 """ 952 953 _attribute_map = { 954 'status_code': {'key': 'statusCode', 'type': 'str'}, 955 'custom_error_page_url': {'key': 'customErrorPageUrl', 'type': 'str'}, 956 } 957 958 def __init__( 959 self, 960 *, 961 status_code: Optional[Union[str, "ApplicationGatewayCustomErrorStatusCode"]] = None, 962 custom_error_page_url: Optional[str] = None, 963 **kwargs 964 ): 965 super(ApplicationGatewayCustomError, self).__init__(**kwargs) 966 self.status_code = status_code 967 self.custom_error_page_url = custom_error_page_url 968 969 970class ApplicationGatewayFirewallDisabledRuleGroup(msrest.serialization.Model): 971 """Allows to disable rules within a rule group or an entire rule group. 972 973 All required parameters must be populated in order to send to Azure. 974 975 :param rule_group_name: Required. The name of the rule group that will be disabled. 976 :type rule_group_name: str 977 :param rules: The list of rules that will be disabled. If null, all rules of the rule group 978 will be disabled. 979 :type rules: list[int] 980 """ 981 982 _validation = { 983 'rule_group_name': {'required': True}, 984 } 985 986 _attribute_map = { 987 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, 988 'rules': {'key': 'rules', 'type': '[int]'}, 989 } 990 991 def __init__( 992 self, 993 *, 994 rule_group_name: str, 995 rules: Optional[List[int]] = None, 996 **kwargs 997 ): 998 super(ApplicationGatewayFirewallDisabledRuleGroup, self).__init__(**kwargs) 999 self.rule_group_name = rule_group_name 1000 self.rules = rules 1001 1002 1003class ApplicationGatewayFirewallExclusion(msrest.serialization.Model): 1004 """Allow to exclude some variable satisfy the condition for the WAF check. 1005 1006 All required parameters must be populated in order to send to Azure. 1007 1008 :param match_variable: Required. The variable to be excluded. 1009 :type match_variable: str 1010 :param selector_match_operator: Required. When matchVariable is a collection, operate on the 1011 selector to specify which elements in the collection this exclusion applies to. 1012 :type selector_match_operator: str 1013 :param selector: Required. When matchVariable is a collection, operator used to specify which 1014 elements in the collection this exclusion applies to. 1015 :type selector: str 1016 """ 1017 1018 _validation = { 1019 'match_variable': {'required': True}, 1020 'selector_match_operator': {'required': True}, 1021 'selector': {'required': True}, 1022 } 1023 1024 _attribute_map = { 1025 'match_variable': {'key': 'matchVariable', 'type': 'str'}, 1026 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, 1027 'selector': {'key': 'selector', 'type': 'str'}, 1028 } 1029 1030 def __init__( 1031 self, 1032 *, 1033 match_variable: str, 1034 selector_match_operator: str, 1035 selector: str, 1036 **kwargs 1037 ): 1038 super(ApplicationGatewayFirewallExclusion, self).__init__(**kwargs) 1039 self.match_variable = match_variable 1040 self.selector_match_operator = selector_match_operator 1041 self.selector = selector 1042 1043 1044class ApplicationGatewayFirewallRule(msrest.serialization.Model): 1045 """A web application firewall rule. 1046 1047 All required parameters must be populated in order to send to Azure. 1048 1049 :param rule_id: Required. The identifier of the web application firewall rule. 1050 :type rule_id: int 1051 :param description: The description of the web application firewall rule. 1052 :type description: str 1053 """ 1054 1055 _validation = { 1056 'rule_id': {'required': True}, 1057 } 1058 1059 _attribute_map = { 1060 'rule_id': {'key': 'ruleId', 'type': 'int'}, 1061 'description': {'key': 'description', 'type': 'str'}, 1062 } 1063 1064 def __init__( 1065 self, 1066 *, 1067 rule_id: int, 1068 description: Optional[str] = None, 1069 **kwargs 1070 ): 1071 super(ApplicationGatewayFirewallRule, self).__init__(**kwargs) 1072 self.rule_id = rule_id 1073 self.description = description 1074 1075 1076class ApplicationGatewayFirewallRuleGroup(msrest.serialization.Model): 1077 """A web application firewall rule group. 1078 1079 All required parameters must be populated in order to send to Azure. 1080 1081 :param rule_group_name: Required. The name of the web application firewall rule group. 1082 :type rule_group_name: str 1083 :param description: The description of the web application firewall rule group. 1084 :type description: str 1085 :param rules: Required. The rules of the web application firewall rule group. 1086 :type rules: list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayFirewallRule] 1087 """ 1088 1089 _validation = { 1090 'rule_group_name': {'required': True}, 1091 'rules': {'required': True}, 1092 } 1093 1094 _attribute_map = { 1095 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, 1096 'description': {'key': 'description', 'type': 'str'}, 1097 'rules': {'key': 'rules', 'type': '[ApplicationGatewayFirewallRule]'}, 1098 } 1099 1100 def __init__( 1101 self, 1102 *, 1103 rule_group_name: str, 1104 rules: List["ApplicationGatewayFirewallRule"], 1105 description: Optional[str] = None, 1106 **kwargs 1107 ): 1108 super(ApplicationGatewayFirewallRuleGroup, self).__init__(**kwargs) 1109 self.rule_group_name = rule_group_name 1110 self.description = description 1111 self.rules = rules 1112 1113 1114class ApplicationGatewayFirewallRuleSet(Resource): 1115 """A web application firewall rule set. 1116 1117 Variables are only populated by the server, and will be ignored when sending a request. 1118 1119 :param id: Resource ID. 1120 :type id: str 1121 :ivar name: Resource name. 1122 :vartype name: str 1123 :ivar type: Resource type. 1124 :vartype type: str 1125 :param location: Resource location. 1126 :type location: str 1127 :param tags: A set of tags. Resource tags. 1128 :type tags: dict[str, str] 1129 :ivar provisioning_state: The provisioning state of the web application firewall rule set. 1130 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 1131 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 1132 :param rule_set_type: The type of the web application firewall rule set. 1133 :type rule_set_type: str 1134 :param rule_set_version: The version of the web application firewall rule set type. 1135 :type rule_set_version: str 1136 :param rule_groups: The rule groups of the web application firewall rule set. 1137 :type rule_groups: 1138 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayFirewallRuleGroup] 1139 """ 1140 1141 _validation = { 1142 'name': {'readonly': True}, 1143 'type': {'readonly': True}, 1144 'provisioning_state': {'readonly': True}, 1145 } 1146 1147 _attribute_map = { 1148 'id': {'key': 'id', 'type': 'str'}, 1149 'name': {'key': 'name', 'type': 'str'}, 1150 'type': {'key': 'type', 'type': 'str'}, 1151 'location': {'key': 'location', 'type': 'str'}, 1152 'tags': {'key': 'tags', 'type': '{str}'}, 1153 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1154 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, 1155 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, 1156 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ApplicationGatewayFirewallRuleGroup]'}, 1157 } 1158 1159 def __init__( 1160 self, 1161 *, 1162 id: Optional[str] = None, 1163 location: Optional[str] = None, 1164 tags: Optional[Dict[str, str]] = None, 1165 rule_set_type: Optional[str] = None, 1166 rule_set_version: Optional[str] = None, 1167 rule_groups: Optional[List["ApplicationGatewayFirewallRuleGroup"]] = None, 1168 **kwargs 1169 ): 1170 super(ApplicationGatewayFirewallRuleSet, self).__init__(id=id, location=location, tags=tags, **kwargs) 1171 self.provisioning_state = None 1172 self.rule_set_type = rule_set_type 1173 self.rule_set_version = rule_set_version 1174 self.rule_groups = rule_groups 1175 1176 1177class ApplicationGatewayFrontendIPConfiguration(SubResource): 1178 """Frontend IP configuration of an application gateway. 1179 1180 Variables are only populated by the server, and will be ignored when sending a request. 1181 1182 :param id: Resource ID. 1183 :type id: str 1184 :param name: Name of the frontend IP configuration that is unique within an Application 1185 Gateway. 1186 :type name: str 1187 :ivar etag: A unique read-only string that changes whenever the resource is updated. 1188 :vartype etag: str 1189 :ivar type: Type of the resource. 1190 :vartype type: str 1191 :param private_ip_address: PrivateIPAddress of the network interface IP Configuration. 1192 :type private_ip_address: str 1193 :param private_ip_allocation_method: The private IP address allocation method. Possible values 1194 include: "Static", "Dynamic". 1195 :type private_ip_allocation_method: str or 1196 ~azure.mgmt.network.v2019_12_01.models.IPAllocationMethod 1197 :param subnet: Reference to the subnet resource. 1198 :type subnet: ~azure.mgmt.network.v2019_12_01.models.SubResource 1199 :param public_ip_address: Reference to the PublicIP resource. 1200 :type public_ip_address: ~azure.mgmt.network.v2019_12_01.models.SubResource 1201 :ivar provisioning_state: The provisioning state of the frontend IP configuration resource. 1202 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 1203 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 1204 """ 1205 1206 _validation = { 1207 'etag': {'readonly': True}, 1208 'type': {'readonly': True}, 1209 'provisioning_state': {'readonly': True}, 1210 } 1211 1212 _attribute_map = { 1213 'id': {'key': 'id', 'type': 'str'}, 1214 'name': {'key': 'name', 'type': 'str'}, 1215 'etag': {'key': 'etag', 'type': 'str'}, 1216 'type': {'key': 'type', 'type': 'str'}, 1217 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 1218 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 1219 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 1220 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, 1221 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1222 } 1223 1224 def __init__( 1225 self, 1226 *, 1227 id: Optional[str] = None, 1228 name: Optional[str] = None, 1229 private_ip_address: Optional[str] = None, 1230 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 1231 subnet: Optional["SubResource"] = None, 1232 public_ip_address: Optional["SubResource"] = None, 1233 **kwargs 1234 ): 1235 super(ApplicationGatewayFrontendIPConfiguration, self).__init__(id=id, **kwargs) 1236 self.name = name 1237 self.etag = None 1238 self.type = None 1239 self.private_ip_address = private_ip_address 1240 self.private_ip_allocation_method = private_ip_allocation_method 1241 self.subnet = subnet 1242 self.public_ip_address = public_ip_address 1243 self.provisioning_state = None 1244 1245 1246class ApplicationGatewayFrontendPort(SubResource): 1247 """Frontend port of an application gateway. 1248 1249 Variables are only populated by the server, and will be ignored when sending a request. 1250 1251 :param id: Resource ID. 1252 :type id: str 1253 :param name: Name of the frontend port that is unique within an Application Gateway. 1254 :type name: str 1255 :ivar etag: A unique read-only string that changes whenever the resource is updated. 1256 :vartype etag: str 1257 :ivar type: Type of the resource. 1258 :vartype type: str 1259 :param port: Frontend port. 1260 :type port: int 1261 :ivar provisioning_state: The provisioning state of the frontend port resource. Possible values 1262 include: "Succeeded", "Updating", "Deleting", "Failed". 1263 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 1264 """ 1265 1266 _validation = { 1267 'etag': {'readonly': True}, 1268 'type': {'readonly': True}, 1269 'provisioning_state': {'readonly': True}, 1270 } 1271 1272 _attribute_map = { 1273 'id': {'key': 'id', 'type': 'str'}, 1274 'name': {'key': 'name', 'type': 'str'}, 1275 'etag': {'key': 'etag', 'type': 'str'}, 1276 'type': {'key': 'type', 'type': 'str'}, 1277 'port': {'key': 'properties.port', 'type': 'int'}, 1278 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1279 } 1280 1281 def __init__( 1282 self, 1283 *, 1284 id: Optional[str] = None, 1285 name: Optional[str] = None, 1286 port: Optional[int] = None, 1287 **kwargs 1288 ): 1289 super(ApplicationGatewayFrontendPort, self).__init__(id=id, **kwargs) 1290 self.name = name 1291 self.etag = None 1292 self.type = None 1293 self.port = port 1294 self.provisioning_state = None 1295 1296 1297class ApplicationGatewayHeaderConfiguration(msrest.serialization.Model): 1298 """Header configuration of the Actions set in Application Gateway. 1299 1300 :param header_name: Header name of the header configuration. 1301 :type header_name: str 1302 :param header_value: Header value of the header configuration. 1303 :type header_value: str 1304 """ 1305 1306 _attribute_map = { 1307 'header_name': {'key': 'headerName', 'type': 'str'}, 1308 'header_value': {'key': 'headerValue', 'type': 'str'}, 1309 } 1310 1311 def __init__( 1312 self, 1313 *, 1314 header_name: Optional[str] = None, 1315 header_value: Optional[str] = None, 1316 **kwargs 1317 ): 1318 super(ApplicationGatewayHeaderConfiguration, self).__init__(**kwargs) 1319 self.header_name = header_name 1320 self.header_value = header_value 1321 1322 1323class ApplicationGatewayHttpListener(SubResource): 1324 """Http listener of an application gateway. 1325 1326 Variables are only populated by the server, and will be ignored when sending a request. 1327 1328 :param id: Resource ID. 1329 :type id: str 1330 :param name: Name of the HTTP listener that is unique within an Application Gateway. 1331 :type name: str 1332 :ivar etag: A unique read-only string that changes whenever the resource is updated. 1333 :vartype etag: str 1334 :ivar type: Type of the resource. 1335 :vartype type: str 1336 :param frontend_ip_configuration: Frontend IP configuration resource of an application gateway. 1337 :type frontend_ip_configuration: ~azure.mgmt.network.v2019_12_01.models.SubResource 1338 :param frontend_port: Frontend port resource of an application gateway. 1339 :type frontend_port: ~azure.mgmt.network.v2019_12_01.models.SubResource 1340 :param protocol: Protocol of the HTTP listener. Possible values include: "Http", "Https". 1341 :type protocol: str or ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayProtocol 1342 :param host_name: Host name of HTTP listener. 1343 :type host_name: str 1344 :param ssl_certificate: SSL certificate resource of an application gateway. 1345 :type ssl_certificate: ~azure.mgmt.network.v2019_12_01.models.SubResource 1346 :param require_server_name_indication: Applicable only if protocol is https. Enables SNI for 1347 multi-hosting. 1348 :type require_server_name_indication: bool 1349 :ivar provisioning_state: The provisioning state of the HTTP listener resource. Possible values 1350 include: "Succeeded", "Updating", "Deleting", "Failed". 1351 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 1352 :param custom_error_configurations: Custom error configurations of the HTTP listener. 1353 :type custom_error_configurations: 1354 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayCustomError] 1355 :param firewall_policy: Reference to the FirewallPolicy resource. 1356 :type firewall_policy: ~azure.mgmt.network.v2019_12_01.models.SubResource 1357 :param host_names: List of Host names for HTTP Listener that allows special wildcard characters 1358 as well. 1359 :type host_names: list[str] 1360 """ 1361 1362 _validation = { 1363 'etag': {'readonly': True}, 1364 'type': {'readonly': True}, 1365 'provisioning_state': {'readonly': True}, 1366 } 1367 1368 _attribute_map = { 1369 'id': {'key': 'id', 'type': 'str'}, 1370 'name': {'key': 'name', 'type': 'str'}, 1371 'etag': {'key': 'etag', 'type': 'str'}, 1372 'type': {'key': 'type', 'type': 'str'}, 1373 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 1374 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, 1375 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 1376 'host_name': {'key': 'properties.hostName', 'type': 'str'}, 1377 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, 1378 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, 1379 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1380 'custom_error_configurations': {'key': 'properties.customErrorConfigurations', 'type': '[ApplicationGatewayCustomError]'}, 1381 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, 1382 'host_names': {'key': 'properties.hostNames', 'type': '[str]'}, 1383 } 1384 1385 def __init__( 1386 self, 1387 *, 1388 id: Optional[str] = None, 1389 name: Optional[str] = None, 1390 frontend_ip_configuration: Optional["SubResource"] = None, 1391 frontend_port: Optional["SubResource"] = None, 1392 protocol: Optional[Union[str, "ApplicationGatewayProtocol"]] = None, 1393 host_name: Optional[str] = None, 1394 ssl_certificate: Optional["SubResource"] = None, 1395 require_server_name_indication: Optional[bool] = None, 1396 custom_error_configurations: Optional[List["ApplicationGatewayCustomError"]] = None, 1397 firewall_policy: Optional["SubResource"] = None, 1398 host_names: Optional[List[str]] = None, 1399 **kwargs 1400 ): 1401 super(ApplicationGatewayHttpListener, self).__init__(id=id, **kwargs) 1402 self.name = name 1403 self.etag = None 1404 self.type = None 1405 self.frontend_ip_configuration = frontend_ip_configuration 1406 self.frontend_port = frontend_port 1407 self.protocol = protocol 1408 self.host_name = host_name 1409 self.ssl_certificate = ssl_certificate 1410 self.require_server_name_indication = require_server_name_indication 1411 self.provisioning_state = None 1412 self.custom_error_configurations = custom_error_configurations 1413 self.firewall_policy = firewall_policy 1414 self.host_names = host_names 1415 1416 1417class ApplicationGatewayIPConfiguration(SubResource): 1418 """IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. 1419 1420 Variables are only populated by the server, and will be ignored when sending a request. 1421 1422 :param id: Resource ID. 1423 :type id: str 1424 :param name: Name of the IP configuration that is unique within an Application Gateway. 1425 :type name: str 1426 :ivar etag: A unique read-only string that changes whenever the resource is updated. 1427 :vartype etag: str 1428 :ivar type: Type of the resource. 1429 :vartype type: str 1430 :param subnet: Reference to the subnet resource. A subnet from where application gateway gets 1431 its private address. 1432 :type subnet: ~azure.mgmt.network.v2019_12_01.models.SubResource 1433 :ivar provisioning_state: The provisioning state of the application gateway IP configuration 1434 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 1435 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 1436 """ 1437 1438 _validation = { 1439 'etag': {'readonly': True}, 1440 'type': {'readonly': True}, 1441 'provisioning_state': {'readonly': True}, 1442 } 1443 1444 _attribute_map = { 1445 'id': {'key': 'id', 'type': 'str'}, 1446 'name': {'key': 'name', 'type': 'str'}, 1447 'etag': {'key': 'etag', 'type': 'str'}, 1448 'type': {'key': 'type', 'type': 'str'}, 1449 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 1450 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1451 } 1452 1453 def __init__( 1454 self, 1455 *, 1456 id: Optional[str] = None, 1457 name: Optional[str] = None, 1458 subnet: Optional["SubResource"] = None, 1459 **kwargs 1460 ): 1461 super(ApplicationGatewayIPConfiguration, self).__init__(id=id, **kwargs) 1462 self.name = name 1463 self.etag = None 1464 self.type = None 1465 self.subnet = subnet 1466 self.provisioning_state = None 1467 1468 1469class ApplicationGatewayListResult(msrest.serialization.Model): 1470 """Response for ListApplicationGateways API service call. 1471 1472 :param value: List of an application gateways in a resource group. 1473 :type value: list[~azure.mgmt.network.v2019_12_01.models.ApplicationGateway] 1474 :param next_link: URL to get the next set of results. 1475 :type next_link: str 1476 """ 1477 1478 _attribute_map = { 1479 'value': {'key': 'value', 'type': '[ApplicationGateway]'}, 1480 'next_link': {'key': 'nextLink', 'type': 'str'}, 1481 } 1482 1483 def __init__( 1484 self, 1485 *, 1486 value: Optional[List["ApplicationGateway"]] = None, 1487 next_link: Optional[str] = None, 1488 **kwargs 1489 ): 1490 super(ApplicationGatewayListResult, self).__init__(**kwargs) 1491 self.value = value 1492 self.next_link = next_link 1493 1494 1495class ApplicationGatewayOnDemandProbe(msrest.serialization.Model): 1496 """Details of on demand test probe request. 1497 1498 :param protocol: The protocol used for the probe. Possible values include: "Http", "Https". 1499 :type protocol: str or ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayProtocol 1500 :param host: Host name to send the probe to. 1501 :type host: str 1502 :param path: Relative path of probe. Valid path starts from '/'. Probe is sent to 1503 :code:`<Protocol>`://:code:`<host>`::code:`<port>`:code:`<path>`. 1504 :type path: str 1505 :param timeout: The probe timeout in seconds. Probe marked as failed if valid response is not 1506 received with this timeout period. Acceptable values are from 1 second to 86400 seconds. 1507 :type timeout: int 1508 :param pick_host_name_from_backend_http_settings: Whether the host header should be picked from 1509 the backend http settings. Default value is false. 1510 :type pick_host_name_from_backend_http_settings: bool 1511 :param match: Criterion for classifying a healthy probe response. 1512 :type match: ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayProbeHealthResponseMatch 1513 :param backend_address_pool: Reference to backend pool of application gateway to which probe 1514 request will be sent. 1515 :type backend_address_pool: ~azure.mgmt.network.v2019_12_01.models.SubResource 1516 :param backend_http_settings: Reference to backend http setting of application gateway to be 1517 used for test probe. 1518 :type backend_http_settings: ~azure.mgmt.network.v2019_12_01.models.SubResource 1519 """ 1520 1521 _attribute_map = { 1522 'protocol': {'key': 'protocol', 'type': 'str'}, 1523 'host': {'key': 'host', 'type': 'str'}, 1524 'path': {'key': 'path', 'type': 'str'}, 1525 'timeout': {'key': 'timeout', 'type': 'int'}, 1526 'pick_host_name_from_backend_http_settings': {'key': 'pickHostNameFromBackendHttpSettings', 'type': 'bool'}, 1527 'match': {'key': 'match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, 1528 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'SubResource'}, 1529 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'SubResource'}, 1530 } 1531 1532 def __init__( 1533 self, 1534 *, 1535 protocol: Optional[Union[str, "ApplicationGatewayProtocol"]] = None, 1536 host: Optional[str] = None, 1537 path: Optional[str] = None, 1538 timeout: Optional[int] = None, 1539 pick_host_name_from_backend_http_settings: Optional[bool] = None, 1540 match: Optional["ApplicationGatewayProbeHealthResponseMatch"] = None, 1541 backend_address_pool: Optional["SubResource"] = None, 1542 backend_http_settings: Optional["SubResource"] = None, 1543 **kwargs 1544 ): 1545 super(ApplicationGatewayOnDemandProbe, self).__init__(**kwargs) 1546 self.protocol = protocol 1547 self.host = host 1548 self.path = path 1549 self.timeout = timeout 1550 self.pick_host_name_from_backend_http_settings = pick_host_name_from_backend_http_settings 1551 self.match = match 1552 self.backend_address_pool = backend_address_pool 1553 self.backend_http_settings = backend_http_settings 1554 1555 1556class ApplicationGatewayPathRule(SubResource): 1557 """Path rule of URL path map of an application gateway. 1558 1559 Variables are only populated by the server, and will be ignored when sending a request. 1560 1561 :param id: Resource ID. 1562 :type id: str 1563 :param name: Name of the path rule that is unique within an Application Gateway. 1564 :type name: str 1565 :ivar etag: A unique read-only string that changes whenever the resource is updated. 1566 :vartype etag: str 1567 :ivar type: Type of the resource. 1568 :vartype type: str 1569 :param paths: Path rules of URL path map. 1570 :type paths: list[str] 1571 :param backend_address_pool: Backend address pool resource of URL path map path rule. 1572 :type backend_address_pool: ~azure.mgmt.network.v2019_12_01.models.SubResource 1573 :param backend_http_settings: Backend http settings resource of URL path map path rule. 1574 :type backend_http_settings: ~azure.mgmt.network.v2019_12_01.models.SubResource 1575 :param redirect_configuration: Redirect configuration resource of URL path map path rule. 1576 :type redirect_configuration: ~azure.mgmt.network.v2019_12_01.models.SubResource 1577 :param rewrite_rule_set: Rewrite rule set resource of URL path map path rule. 1578 :type rewrite_rule_set: ~azure.mgmt.network.v2019_12_01.models.SubResource 1579 :ivar provisioning_state: The provisioning state of the path rule resource. Possible values 1580 include: "Succeeded", "Updating", "Deleting", "Failed". 1581 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 1582 :param firewall_policy: Reference to the FirewallPolicy resource. 1583 :type firewall_policy: ~azure.mgmt.network.v2019_12_01.models.SubResource 1584 """ 1585 1586 _validation = { 1587 'etag': {'readonly': True}, 1588 'type': {'readonly': True}, 1589 'provisioning_state': {'readonly': True}, 1590 } 1591 1592 _attribute_map = { 1593 'id': {'key': 'id', 'type': 'str'}, 1594 'name': {'key': 'name', 'type': 'str'}, 1595 'etag': {'key': 'etag', 'type': 'str'}, 1596 'type': {'key': 'type', 'type': 'str'}, 1597 'paths': {'key': 'properties.paths', 'type': '[str]'}, 1598 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 1599 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, 1600 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, 1601 'rewrite_rule_set': {'key': 'properties.rewriteRuleSet', 'type': 'SubResource'}, 1602 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1603 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, 1604 } 1605 1606 def __init__( 1607 self, 1608 *, 1609 id: Optional[str] = None, 1610 name: Optional[str] = None, 1611 paths: Optional[List[str]] = None, 1612 backend_address_pool: Optional["SubResource"] = None, 1613 backend_http_settings: Optional["SubResource"] = None, 1614 redirect_configuration: Optional["SubResource"] = None, 1615 rewrite_rule_set: Optional["SubResource"] = None, 1616 firewall_policy: Optional["SubResource"] = None, 1617 **kwargs 1618 ): 1619 super(ApplicationGatewayPathRule, self).__init__(id=id, **kwargs) 1620 self.name = name 1621 self.etag = None 1622 self.type = None 1623 self.paths = paths 1624 self.backend_address_pool = backend_address_pool 1625 self.backend_http_settings = backend_http_settings 1626 self.redirect_configuration = redirect_configuration 1627 self.rewrite_rule_set = rewrite_rule_set 1628 self.provisioning_state = None 1629 self.firewall_policy = firewall_policy 1630 1631 1632class ApplicationGatewayProbe(SubResource): 1633 """Probe of the application gateway. 1634 1635 Variables are only populated by the server, and will be ignored when sending a request. 1636 1637 :param id: Resource ID. 1638 :type id: str 1639 :param name: Name of the probe that is unique within an Application Gateway. 1640 :type name: str 1641 :ivar etag: A unique read-only string that changes whenever the resource is updated. 1642 :vartype etag: str 1643 :ivar type: Type of the resource. 1644 :vartype type: str 1645 :param protocol: The protocol used for the probe. Possible values include: "Http", "Https". 1646 :type protocol: str or ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayProtocol 1647 :param host: Host name to send the probe to. 1648 :type host: str 1649 :param path: Relative path of probe. Valid path starts from '/'. Probe is sent to 1650 :code:`<Protocol>`://:code:`<host>`::code:`<port>`:code:`<path>`. 1651 :type path: str 1652 :param interval: The probing interval in seconds. This is the time interval between two 1653 consecutive probes. Acceptable values are from 1 second to 86400 seconds. 1654 :type interval: int 1655 :param timeout: The probe timeout in seconds. Probe marked as failed if valid response is not 1656 received with this timeout period. Acceptable values are from 1 second to 86400 seconds. 1657 :type timeout: int 1658 :param unhealthy_threshold: The probe retry count. Backend server is marked down after 1659 consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second 1660 to 20. 1661 :type unhealthy_threshold: int 1662 :param pick_host_name_from_backend_http_settings: Whether the host header should be picked from 1663 the backend http settings. Default value is false. 1664 :type pick_host_name_from_backend_http_settings: bool 1665 :param min_servers: Minimum number of servers that are always marked healthy. Default value is 1666 0. 1667 :type min_servers: int 1668 :param match: Criterion for classifying a healthy probe response. 1669 :type match: ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayProbeHealthResponseMatch 1670 :ivar provisioning_state: The provisioning state of the probe resource. Possible values 1671 include: "Succeeded", "Updating", "Deleting", "Failed". 1672 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 1673 :param port: Custom port which will be used for probing the backend servers. The valid value 1674 ranges from 1 to 65535. In case not set, port from http settings will be used. This property is 1675 valid for Standard_v2 and WAF_v2 only. 1676 :type port: int 1677 """ 1678 1679 _validation = { 1680 'etag': {'readonly': True}, 1681 'type': {'readonly': True}, 1682 'provisioning_state': {'readonly': True}, 1683 'port': {'maximum': 65535, 'minimum': 1}, 1684 } 1685 1686 _attribute_map = { 1687 'id': {'key': 'id', 'type': 'str'}, 1688 'name': {'key': 'name', 'type': 'str'}, 1689 'etag': {'key': 'etag', 'type': 'str'}, 1690 'type': {'key': 'type', 'type': 'str'}, 1691 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 1692 'host': {'key': 'properties.host', 'type': 'str'}, 1693 'path': {'key': 'properties.path', 'type': 'str'}, 1694 'interval': {'key': 'properties.interval', 'type': 'int'}, 1695 'timeout': {'key': 'properties.timeout', 'type': 'int'}, 1696 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, 1697 'pick_host_name_from_backend_http_settings': {'key': 'properties.pickHostNameFromBackendHttpSettings', 'type': 'bool'}, 1698 'min_servers': {'key': 'properties.minServers', 'type': 'int'}, 1699 'match': {'key': 'properties.match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, 1700 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1701 'port': {'key': 'properties.port', 'type': 'int'}, 1702 } 1703 1704 def __init__( 1705 self, 1706 *, 1707 id: Optional[str] = None, 1708 name: Optional[str] = None, 1709 protocol: Optional[Union[str, "ApplicationGatewayProtocol"]] = None, 1710 host: Optional[str] = None, 1711 path: Optional[str] = None, 1712 interval: Optional[int] = None, 1713 timeout: Optional[int] = None, 1714 unhealthy_threshold: Optional[int] = None, 1715 pick_host_name_from_backend_http_settings: Optional[bool] = None, 1716 min_servers: Optional[int] = None, 1717 match: Optional["ApplicationGatewayProbeHealthResponseMatch"] = None, 1718 port: Optional[int] = None, 1719 **kwargs 1720 ): 1721 super(ApplicationGatewayProbe, self).__init__(id=id, **kwargs) 1722 self.name = name 1723 self.etag = None 1724 self.type = None 1725 self.protocol = protocol 1726 self.host = host 1727 self.path = path 1728 self.interval = interval 1729 self.timeout = timeout 1730 self.unhealthy_threshold = unhealthy_threshold 1731 self.pick_host_name_from_backend_http_settings = pick_host_name_from_backend_http_settings 1732 self.min_servers = min_servers 1733 self.match = match 1734 self.provisioning_state = None 1735 self.port = port 1736 1737 1738class ApplicationGatewayProbeHealthResponseMatch(msrest.serialization.Model): 1739 """Application gateway probe health response match. 1740 1741 :param body: Body that must be contained in the health response. Default value is empty. 1742 :type body: str 1743 :param status_codes: Allowed ranges of healthy status codes. Default range of healthy status 1744 codes is 200-399. 1745 :type status_codes: list[str] 1746 """ 1747 1748 _attribute_map = { 1749 'body': {'key': 'body', 'type': 'str'}, 1750 'status_codes': {'key': 'statusCodes', 'type': '[str]'}, 1751 } 1752 1753 def __init__( 1754 self, 1755 *, 1756 body: Optional[str] = None, 1757 status_codes: Optional[List[str]] = None, 1758 **kwargs 1759 ): 1760 super(ApplicationGatewayProbeHealthResponseMatch, self).__init__(**kwargs) 1761 self.body = body 1762 self.status_codes = status_codes 1763 1764 1765class ApplicationGatewayRedirectConfiguration(SubResource): 1766 """Redirect configuration of an application gateway. 1767 1768 Variables are only populated by the server, and will be ignored when sending a request. 1769 1770 :param id: Resource ID. 1771 :type id: str 1772 :param name: Name of the redirect configuration that is unique within an Application Gateway. 1773 :type name: str 1774 :ivar etag: A unique read-only string that changes whenever the resource is updated. 1775 :vartype etag: str 1776 :ivar type: Type of the resource. 1777 :vartype type: str 1778 :param redirect_type: HTTP redirection type. Possible values include: "Permanent", "Found", 1779 "SeeOther", "Temporary". 1780 :type redirect_type: str or 1781 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayRedirectType 1782 :param target_listener: Reference to a listener to redirect the request to. 1783 :type target_listener: ~azure.mgmt.network.v2019_12_01.models.SubResource 1784 :param target_url: Url to redirect the request to. 1785 :type target_url: str 1786 :param include_path: Include path in the redirected url. 1787 :type include_path: bool 1788 :param include_query_string: Include query string in the redirected url. 1789 :type include_query_string: bool 1790 :param request_routing_rules: Request routing specifying redirect configuration. 1791 :type request_routing_rules: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 1792 :param url_path_maps: Url path maps specifying default redirect configuration. 1793 :type url_path_maps: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 1794 :param path_rules: Path rules specifying redirect configuration. 1795 :type path_rules: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 1796 """ 1797 1798 _validation = { 1799 'etag': {'readonly': True}, 1800 'type': {'readonly': True}, 1801 } 1802 1803 _attribute_map = { 1804 'id': {'key': 'id', 'type': 'str'}, 1805 'name': {'key': 'name', 'type': 'str'}, 1806 'etag': {'key': 'etag', 'type': 'str'}, 1807 'type': {'key': 'type', 'type': 'str'}, 1808 'redirect_type': {'key': 'properties.redirectType', 'type': 'str'}, 1809 'target_listener': {'key': 'properties.targetListener', 'type': 'SubResource'}, 1810 'target_url': {'key': 'properties.targetUrl', 'type': 'str'}, 1811 'include_path': {'key': 'properties.includePath', 'type': 'bool'}, 1812 'include_query_string': {'key': 'properties.includeQueryString', 'type': 'bool'}, 1813 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[SubResource]'}, 1814 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[SubResource]'}, 1815 'path_rules': {'key': 'properties.pathRules', 'type': '[SubResource]'}, 1816 } 1817 1818 def __init__( 1819 self, 1820 *, 1821 id: Optional[str] = None, 1822 name: Optional[str] = None, 1823 redirect_type: Optional[Union[str, "ApplicationGatewayRedirectType"]] = None, 1824 target_listener: Optional["SubResource"] = None, 1825 target_url: Optional[str] = None, 1826 include_path: Optional[bool] = None, 1827 include_query_string: Optional[bool] = None, 1828 request_routing_rules: Optional[List["SubResource"]] = None, 1829 url_path_maps: Optional[List["SubResource"]] = None, 1830 path_rules: Optional[List["SubResource"]] = None, 1831 **kwargs 1832 ): 1833 super(ApplicationGatewayRedirectConfiguration, self).__init__(id=id, **kwargs) 1834 self.name = name 1835 self.etag = None 1836 self.type = None 1837 self.redirect_type = redirect_type 1838 self.target_listener = target_listener 1839 self.target_url = target_url 1840 self.include_path = include_path 1841 self.include_query_string = include_query_string 1842 self.request_routing_rules = request_routing_rules 1843 self.url_path_maps = url_path_maps 1844 self.path_rules = path_rules 1845 1846 1847class ApplicationGatewayRequestRoutingRule(SubResource): 1848 """Request routing rule of an application gateway. 1849 1850 Variables are only populated by the server, and will be ignored when sending a request. 1851 1852 :param id: Resource ID. 1853 :type id: str 1854 :param name: Name of the request routing rule that is unique within an Application Gateway. 1855 :type name: str 1856 :ivar etag: A unique read-only string that changes whenever the resource is updated. 1857 :vartype etag: str 1858 :ivar type: Type of the resource. 1859 :vartype type: str 1860 :param rule_type: Rule type. Possible values include: "Basic", "PathBasedRouting". 1861 :type rule_type: str or 1862 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayRequestRoutingRuleType 1863 :param priority: Priority of the request routing rule. 1864 :type priority: int 1865 :param backend_address_pool: Backend address pool resource of the application gateway. 1866 :type backend_address_pool: ~azure.mgmt.network.v2019_12_01.models.SubResource 1867 :param backend_http_settings: Backend http settings resource of the application gateway. 1868 :type backend_http_settings: ~azure.mgmt.network.v2019_12_01.models.SubResource 1869 :param http_listener: Http listener resource of the application gateway. 1870 :type http_listener: ~azure.mgmt.network.v2019_12_01.models.SubResource 1871 :param url_path_map: URL path map resource of the application gateway. 1872 :type url_path_map: ~azure.mgmt.network.v2019_12_01.models.SubResource 1873 :param rewrite_rule_set: Rewrite Rule Set resource in Basic rule of the application gateway. 1874 :type rewrite_rule_set: ~azure.mgmt.network.v2019_12_01.models.SubResource 1875 :param redirect_configuration: Redirect configuration resource of the application gateway. 1876 :type redirect_configuration: ~azure.mgmt.network.v2019_12_01.models.SubResource 1877 :ivar provisioning_state: The provisioning state of the request routing rule resource. Possible 1878 values include: "Succeeded", "Updating", "Deleting", "Failed". 1879 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 1880 """ 1881 1882 _validation = { 1883 'etag': {'readonly': True}, 1884 'type': {'readonly': True}, 1885 'priority': {'maximum': 20000, 'minimum': 1}, 1886 'provisioning_state': {'readonly': True}, 1887 } 1888 1889 _attribute_map = { 1890 'id': {'key': 'id', 'type': 'str'}, 1891 'name': {'key': 'name', 'type': 'str'}, 1892 'etag': {'key': 'etag', 'type': 'str'}, 1893 'type': {'key': 'type', 'type': 'str'}, 1894 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, 1895 'priority': {'key': 'properties.priority', 'type': 'int'}, 1896 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 1897 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, 1898 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, 1899 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, 1900 'rewrite_rule_set': {'key': 'properties.rewriteRuleSet', 'type': 'SubResource'}, 1901 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, 1902 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1903 } 1904 1905 def __init__( 1906 self, 1907 *, 1908 id: Optional[str] = None, 1909 name: Optional[str] = None, 1910 rule_type: Optional[Union[str, "ApplicationGatewayRequestRoutingRuleType"]] = None, 1911 priority: Optional[int] = None, 1912 backend_address_pool: Optional["SubResource"] = None, 1913 backend_http_settings: Optional["SubResource"] = None, 1914 http_listener: Optional["SubResource"] = None, 1915 url_path_map: Optional["SubResource"] = None, 1916 rewrite_rule_set: Optional["SubResource"] = None, 1917 redirect_configuration: Optional["SubResource"] = None, 1918 **kwargs 1919 ): 1920 super(ApplicationGatewayRequestRoutingRule, self).__init__(id=id, **kwargs) 1921 self.name = name 1922 self.etag = None 1923 self.type = None 1924 self.rule_type = rule_type 1925 self.priority = priority 1926 self.backend_address_pool = backend_address_pool 1927 self.backend_http_settings = backend_http_settings 1928 self.http_listener = http_listener 1929 self.url_path_map = url_path_map 1930 self.rewrite_rule_set = rewrite_rule_set 1931 self.redirect_configuration = redirect_configuration 1932 self.provisioning_state = None 1933 1934 1935class ApplicationGatewayRewriteRule(msrest.serialization.Model): 1936 """Rewrite rule of an application gateway. 1937 1938 :param name: Name of the rewrite rule that is unique within an Application Gateway. 1939 :type name: str 1940 :param rule_sequence: Rule Sequence of the rewrite rule that determines the order of execution 1941 of a particular rule in a RewriteRuleSet. 1942 :type rule_sequence: int 1943 :param conditions: Conditions based on which the action set execution will be evaluated. 1944 :type conditions: 1945 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayRewriteRuleCondition] 1946 :param action_set: Set of actions to be done as part of the rewrite Rule. 1947 :type action_set: ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayRewriteRuleActionSet 1948 """ 1949 1950 _attribute_map = { 1951 'name': {'key': 'name', 'type': 'str'}, 1952 'rule_sequence': {'key': 'ruleSequence', 'type': 'int'}, 1953 'conditions': {'key': 'conditions', 'type': '[ApplicationGatewayRewriteRuleCondition]'}, 1954 'action_set': {'key': 'actionSet', 'type': 'ApplicationGatewayRewriteRuleActionSet'}, 1955 } 1956 1957 def __init__( 1958 self, 1959 *, 1960 name: Optional[str] = None, 1961 rule_sequence: Optional[int] = None, 1962 conditions: Optional[List["ApplicationGatewayRewriteRuleCondition"]] = None, 1963 action_set: Optional["ApplicationGatewayRewriteRuleActionSet"] = None, 1964 **kwargs 1965 ): 1966 super(ApplicationGatewayRewriteRule, self).__init__(**kwargs) 1967 self.name = name 1968 self.rule_sequence = rule_sequence 1969 self.conditions = conditions 1970 self.action_set = action_set 1971 1972 1973class ApplicationGatewayRewriteRuleActionSet(msrest.serialization.Model): 1974 """Set of actions in the Rewrite Rule in Application Gateway. 1975 1976 :param request_header_configurations: Request Header Actions in the Action Set. 1977 :type request_header_configurations: 1978 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayHeaderConfiguration] 1979 :param response_header_configurations: Response Header Actions in the Action Set. 1980 :type response_header_configurations: 1981 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayHeaderConfiguration] 1982 :param url_configuration: Url Configuration Action in the Action Set. 1983 :type url_configuration: 1984 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayUrlConfiguration 1985 """ 1986 1987 _attribute_map = { 1988 'request_header_configurations': {'key': 'requestHeaderConfigurations', 'type': '[ApplicationGatewayHeaderConfiguration]'}, 1989 'response_header_configurations': {'key': 'responseHeaderConfigurations', 'type': '[ApplicationGatewayHeaderConfiguration]'}, 1990 'url_configuration': {'key': 'urlConfiguration', 'type': 'ApplicationGatewayUrlConfiguration'}, 1991 } 1992 1993 def __init__( 1994 self, 1995 *, 1996 request_header_configurations: Optional[List["ApplicationGatewayHeaderConfiguration"]] = None, 1997 response_header_configurations: Optional[List["ApplicationGatewayHeaderConfiguration"]] = None, 1998 url_configuration: Optional["ApplicationGatewayUrlConfiguration"] = None, 1999 **kwargs 2000 ): 2001 super(ApplicationGatewayRewriteRuleActionSet, self).__init__(**kwargs) 2002 self.request_header_configurations = request_header_configurations 2003 self.response_header_configurations = response_header_configurations 2004 self.url_configuration = url_configuration 2005 2006 2007class ApplicationGatewayRewriteRuleCondition(msrest.serialization.Model): 2008 """Set of conditions in the Rewrite Rule in Application Gateway. 2009 2010 :param variable: The condition parameter of the RewriteRuleCondition. 2011 :type variable: str 2012 :param pattern: The pattern, either fixed string or regular expression, that evaluates the 2013 truthfulness of the condition. 2014 :type pattern: str 2015 :param ignore_case: Setting this parameter to truth value with force the pattern to do a case 2016 in-sensitive comparison. 2017 :type ignore_case: bool 2018 :param negate: Setting this value as truth will force to check the negation of the condition 2019 given by the user. 2020 :type negate: bool 2021 """ 2022 2023 _attribute_map = { 2024 'variable': {'key': 'variable', 'type': 'str'}, 2025 'pattern': {'key': 'pattern', 'type': 'str'}, 2026 'ignore_case': {'key': 'ignoreCase', 'type': 'bool'}, 2027 'negate': {'key': 'negate', 'type': 'bool'}, 2028 } 2029 2030 def __init__( 2031 self, 2032 *, 2033 variable: Optional[str] = None, 2034 pattern: Optional[str] = None, 2035 ignore_case: Optional[bool] = None, 2036 negate: Optional[bool] = None, 2037 **kwargs 2038 ): 2039 super(ApplicationGatewayRewriteRuleCondition, self).__init__(**kwargs) 2040 self.variable = variable 2041 self.pattern = pattern 2042 self.ignore_case = ignore_case 2043 self.negate = negate 2044 2045 2046class ApplicationGatewayRewriteRuleSet(SubResource): 2047 """Rewrite rule set of an application gateway. 2048 2049 Variables are only populated by the server, and will be ignored when sending a request. 2050 2051 :param id: Resource ID. 2052 :type id: str 2053 :param name: Name of the rewrite rule set that is unique within an Application Gateway. 2054 :type name: str 2055 :ivar etag: A unique read-only string that changes whenever the resource is updated. 2056 :vartype etag: str 2057 :param rewrite_rules: Rewrite rules in the rewrite rule set. 2058 :type rewrite_rules: list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayRewriteRule] 2059 :ivar provisioning_state: The provisioning state of the rewrite rule set resource. Possible 2060 values include: "Succeeded", "Updating", "Deleting", "Failed". 2061 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 2062 """ 2063 2064 _validation = { 2065 'etag': {'readonly': True}, 2066 'provisioning_state': {'readonly': True}, 2067 } 2068 2069 _attribute_map = { 2070 'id': {'key': 'id', 'type': 'str'}, 2071 'name': {'key': 'name', 'type': 'str'}, 2072 'etag': {'key': 'etag', 'type': 'str'}, 2073 'rewrite_rules': {'key': 'properties.rewriteRules', 'type': '[ApplicationGatewayRewriteRule]'}, 2074 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2075 } 2076 2077 def __init__( 2078 self, 2079 *, 2080 id: Optional[str] = None, 2081 name: Optional[str] = None, 2082 rewrite_rules: Optional[List["ApplicationGatewayRewriteRule"]] = None, 2083 **kwargs 2084 ): 2085 super(ApplicationGatewayRewriteRuleSet, self).__init__(id=id, **kwargs) 2086 self.name = name 2087 self.etag = None 2088 self.rewrite_rules = rewrite_rules 2089 self.provisioning_state = None 2090 2091 2092class ApplicationGatewaySku(msrest.serialization.Model): 2093 """SKU of an application gateway. 2094 2095 :param name: Name of an application gateway SKU. Possible values include: "Standard_Small", 2096 "Standard_Medium", "Standard_Large", "WAF_Medium", "WAF_Large", "Standard_v2", "WAF_v2". 2097 :type name: str or ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewaySkuName 2098 :param tier: Tier of an application gateway. Possible values include: "Standard", "WAF", 2099 "Standard_v2", "WAF_v2". 2100 :type tier: str or ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayTier 2101 :param capacity: Capacity (instance count) of an application gateway. 2102 :type capacity: int 2103 """ 2104 2105 _attribute_map = { 2106 'name': {'key': 'name', 'type': 'str'}, 2107 'tier': {'key': 'tier', 'type': 'str'}, 2108 'capacity': {'key': 'capacity', 'type': 'int'}, 2109 } 2110 2111 def __init__( 2112 self, 2113 *, 2114 name: Optional[Union[str, "ApplicationGatewaySkuName"]] = None, 2115 tier: Optional[Union[str, "ApplicationGatewayTier"]] = None, 2116 capacity: Optional[int] = None, 2117 **kwargs 2118 ): 2119 super(ApplicationGatewaySku, self).__init__(**kwargs) 2120 self.name = name 2121 self.tier = tier 2122 self.capacity = capacity 2123 2124 2125class ApplicationGatewaySslCertificate(SubResource): 2126 """SSL certificates of an application gateway. 2127 2128 Variables are only populated by the server, and will be ignored when sending a request. 2129 2130 :param id: Resource ID. 2131 :type id: str 2132 :param name: Name of the SSL certificate that is unique within an Application Gateway. 2133 :type name: str 2134 :ivar etag: A unique read-only string that changes whenever the resource is updated. 2135 :vartype etag: str 2136 :ivar type: Type of the resource. 2137 :vartype type: str 2138 :param data: Base-64 encoded pfx certificate. Only applicable in PUT Request. 2139 :type data: str 2140 :param password: Password for the pfx file specified in data. Only applicable in PUT request. 2141 :type password: str 2142 :ivar public_cert_data: Base-64 encoded Public cert data corresponding to pfx specified in 2143 data. Only applicable in GET request. 2144 :vartype public_cert_data: str 2145 :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 2146 'Certificate' object stored in KeyVault. 2147 :type key_vault_secret_id: str 2148 :ivar provisioning_state: The provisioning state of the SSL certificate resource. Possible 2149 values include: "Succeeded", "Updating", "Deleting", "Failed". 2150 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 2151 """ 2152 2153 _validation = { 2154 'etag': {'readonly': True}, 2155 'type': {'readonly': True}, 2156 'public_cert_data': {'readonly': True}, 2157 'provisioning_state': {'readonly': True}, 2158 } 2159 2160 _attribute_map = { 2161 'id': {'key': 'id', 'type': 'str'}, 2162 'name': {'key': 'name', 'type': 'str'}, 2163 'etag': {'key': 'etag', 'type': 'str'}, 2164 'type': {'key': 'type', 'type': 'str'}, 2165 'data': {'key': 'properties.data', 'type': 'str'}, 2166 'password': {'key': 'properties.password', 'type': 'str'}, 2167 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, 2168 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, 2169 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2170 } 2171 2172 def __init__( 2173 self, 2174 *, 2175 id: Optional[str] = None, 2176 name: Optional[str] = None, 2177 data: Optional[str] = None, 2178 password: Optional[str] = None, 2179 key_vault_secret_id: Optional[str] = None, 2180 **kwargs 2181 ): 2182 super(ApplicationGatewaySslCertificate, self).__init__(id=id, **kwargs) 2183 self.name = name 2184 self.etag = None 2185 self.type = None 2186 self.data = data 2187 self.password = password 2188 self.public_cert_data = None 2189 self.key_vault_secret_id = key_vault_secret_id 2190 self.provisioning_state = None 2191 2192 2193class ApplicationGatewaySslPolicy(msrest.serialization.Model): 2194 """Application Gateway Ssl policy. 2195 2196 :param disabled_ssl_protocols: Ssl protocols to be disabled on application gateway. 2197 :type disabled_ssl_protocols: list[str or 2198 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewaySslProtocol] 2199 :param policy_type: Type of Ssl Policy. Possible values include: "Predefined", "Custom". 2200 :type policy_type: str or 2201 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewaySslPolicyType 2202 :param policy_name: Name of Ssl predefined policy. Possible values include: 2203 "AppGwSslPolicy20150501", "AppGwSslPolicy20170401", "AppGwSslPolicy20170401S". 2204 :type policy_name: str or 2205 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewaySslPolicyName 2206 :param cipher_suites: Ssl cipher suites to be enabled in the specified order to application 2207 gateway. 2208 :type cipher_suites: list[str or 2209 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewaySslCipherSuite] 2210 :param min_protocol_version: Minimum version of Ssl protocol to be supported on application 2211 gateway. Possible values include: "TLSv1_0", "TLSv1_1", "TLSv1_2". 2212 :type min_protocol_version: str or 2213 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewaySslProtocol 2214 """ 2215 2216 _attribute_map = { 2217 'disabled_ssl_protocols': {'key': 'disabledSslProtocols', 'type': '[str]'}, 2218 'policy_type': {'key': 'policyType', 'type': 'str'}, 2219 'policy_name': {'key': 'policyName', 'type': 'str'}, 2220 'cipher_suites': {'key': 'cipherSuites', 'type': '[str]'}, 2221 'min_protocol_version': {'key': 'minProtocolVersion', 'type': 'str'}, 2222 } 2223 2224 def __init__( 2225 self, 2226 *, 2227 disabled_ssl_protocols: Optional[List[Union[str, "ApplicationGatewaySslProtocol"]]] = None, 2228 policy_type: Optional[Union[str, "ApplicationGatewaySslPolicyType"]] = None, 2229 policy_name: Optional[Union[str, "ApplicationGatewaySslPolicyName"]] = None, 2230 cipher_suites: Optional[List[Union[str, "ApplicationGatewaySslCipherSuite"]]] = None, 2231 min_protocol_version: Optional[Union[str, "ApplicationGatewaySslProtocol"]] = None, 2232 **kwargs 2233 ): 2234 super(ApplicationGatewaySslPolicy, self).__init__(**kwargs) 2235 self.disabled_ssl_protocols = disabled_ssl_protocols 2236 self.policy_type = policy_type 2237 self.policy_name = policy_name 2238 self.cipher_suites = cipher_suites 2239 self.min_protocol_version = min_protocol_version 2240 2241 2242class ApplicationGatewaySslPredefinedPolicy(SubResource): 2243 """An Ssl predefined policy. 2244 2245 :param id: Resource ID. 2246 :type id: str 2247 :param name: Name of the Ssl predefined policy. 2248 :type name: str 2249 :param cipher_suites: Ssl cipher suites to be enabled in the specified order for application 2250 gateway. 2251 :type cipher_suites: list[str or 2252 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewaySslCipherSuite] 2253 :param min_protocol_version: Minimum version of Ssl protocol to be supported on application 2254 gateway. Possible values include: "TLSv1_0", "TLSv1_1", "TLSv1_2". 2255 :type min_protocol_version: str or 2256 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewaySslProtocol 2257 """ 2258 2259 _attribute_map = { 2260 'id': {'key': 'id', 'type': 'str'}, 2261 'name': {'key': 'name', 'type': 'str'}, 2262 'cipher_suites': {'key': 'properties.cipherSuites', 'type': '[str]'}, 2263 'min_protocol_version': {'key': 'properties.minProtocolVersion', 'type': 'str'}, 2264 } 2265 2266 def __init__( 2267 self, 2268 *, 2269 id: Optional[str] = None, 2270 name: Optional[str] = None, 2271 cipher_suites: Optional[List[Union[str, "ApplicationGatewaySslCipherSuite"]]] = None, 2272 min_protocol_version: Optional[Union[str, "ApplicationGatewaySslProtocol"]] = None, 2273 **kwargs 2274 ): 2275 super(ApplicationGatewaySslPredefinedPolicy, self).__init__(id=id, **kwargs) 2276 self.name = name 2277 self.cipher_suites = cipher_suites 2278 self.min_protocol_version = min_protocol_version 2279 2280 2281class ApplicationGatewayTrustedRootCertificate(SubResource): 2282 """Trusted Root certificates of an application gateway. 2283 2284 Variables are only populated by the server, and will be ignored when sending a request. 2285 2286 :param id: Resource ID. 2287 :type id: str 2288 :param name: Name of the trusted root certificate that is unique within an Application Gateway. 2289 :type name: str 2290 :ivar etag: A unique read-only string that changes whenever the resource is updated. 2291 :vartype etag: str 2292 :ivar type: Type of the resource. 2293 :vartype type: str 2294 :param data: Certificate public data. 2295 :type data: str 2296 :param key_vault_secret_id: Secret Id of (base-64 encoded unencrypted pfx) 'Secret' or 2297 'Certificate' object stored in KeyVault. 2298 :type key_vault_secret_id: str 2299 :ivar provisioning_state: The provisioning state of the trusted root certificate resource. 2300 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 2301 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 2302 """ 2303 2304 _validation = { 2305 'etag': {'readonly': True}, 2306 'type': {'readonly': True}, 2307 'provisioning_state': {'readonly': True}, 2308 } 2309 2310 _attribute_map = { 2311 'id': {'key': 'id', 'type': 'str'}, 2312 'name': {'key': 'name', 'type': 'str'}, 2313 'etag': {'key': 'etag', 'type': 'str'}, 2314 'type': {'key': 'type', 'type': 'str'}, 2315 'data': {'key': 'properties.data', 'type': 'str'}, 2316 'key_vault_secret_id': {'key': 'properties.keyVaultSecretId', 'type': 'str'}, 2317 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2318 } 2319 2320 def __init__( 2321 self, 2322 *, 2323 id: Optional[str] = None, 2324 name: Optional[str] = None, 2325 data: Optional[str] = None, 2326 key_vault_secret_id: Optional[str] = None, 2327 **kwargs 2328 ): 2329 super(ApplicationGatewayTrustedRootCertificate, self).__init__(id=id, **kwargs) 2330 self.name = name 2331 self.etag = None 2332 self.type = None 2333 self.data = data 2334 self.key_vault_secret_id = key_vault_secret_id 2335 self.provisioning_state = None 2336 2337 2338class ApplicationGatewayUrlConfiguration(msrest.serialization.Model): 2339 """Url configuration of the Actions set in Application Gateway. 2340 2341 :param modified_path: Url path which user has provided for url rewrite. Null means no path will 2342 be updated. Default value is null. 2343 :type modified_path: str 2344 :param modified_query_string: Query string which user has provided for url rewrite. Null means 2345 no query string will be updated. Default value is null. 2346 :type modified_query_string: str 2347 :param reroute: If set as true, it will re-evaluate the url path map provided in path based 2348 request routing rules using modified path. Default value is false. 2349 :type reroute: bool 2350 """ 2351 2352 _attribute_map = { 2353 'modified_path': {'key': 'modifiedPath', 'type': 'str'}, 2354 'modified_query_string': {'key': 'modifiedQueryString', 'type': 'str'}, 2355 'reroute': {'key': 'reroute', 'type': 'bool'}, 2356 } 2357 2358 def __init__( 2359 self, 2360 *, 2361 modified_path: Optional[str] = None, 2362 modified_query_string: Optional[str] = None, 2363 reroute: Optional[bool] = None, 2364 **kwargs 2365 ): 2366 super(ApplicationGatewayUrlConfiguration, self).__init__(**kwargs) 2367 self.modified_path = modified_path 2368 self.modified_query_string = modified_query_string 2369 self.reroute = reroute 2370 2371 2372class ApplicationGatewayUrlPathMap(SubResource): 2373 """UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. 2374 2375 Variables are only populated by the server, and will be ignored when sending a request. 2376 2377 :param id: Resource ID. 2378 :type id: str 2379 :param name: Name of the URL path map that is unique within an Application Gateway. 2380 :type name: str 2381 :ivar etag: A unique read-only string that changes whenever the resource is updated. 2382 :vartype etag: str 2383 :ivar type: Type of the resource. 2384 :vartype type: str 2385 :param default_backend_address_pool: Default backend address pool resource of URL path map. 2386 :type default_backend_address_pool: ~azure.mgmt.network.v2019_12_01.models.SubResource 2387 :param default_backend_http_settings: Default backend http settings resource of URL path map. 2388 :type default_backend_http_settings: ~azure.mgmt.network.v2019_12_01.models.SubResource 2389 :param default_rewrite_rule_set: Default Rewrite rule set resource of URL path map. 2390 :type default_rewrite_rule_set: ~azure.mgmt.network.v2019_12_01.models.SubResource 2391 :param default_redirect_configuration: Default redirect configuration resource of URL path map. 2392 :type default_redirect_configuration: ~azure.mgmt.network.v2019_12_01.models.SubResource 2393 :param path_rules: Path rule of URL path map resource. 2394 :type path_rules: list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayPathRule] 2395 :ivar provisioning_state: The provisioning state of the URL path map resource. Possible values 2396 include: "Succeeded", "Updating", "Deleting", "Failed". 2397 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 2398 """ 2399 2400 _validation = { 2401 'etag': {'readonly': True}, 2402 'type': {'readonly': True}, 2403 'provisioning_state': {'readonly': True}, 2404 } 2405 2406 _attribute_map = { 2407 'id': {'key': 'id', 'type': 'str'}, 2408 'name': {'key': 'name', 'type': 'str'}, 2409 'etag': {'key': 'etag', 'type': 'str'}, 2410 'type': {'key': 'type', 'type': 'str'}, 2411 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, 2412 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, 2413 'default_rewrite_rule_set': {'key': 'properties.defaultRewriteRuleSet', 'type': 'SubResource'}, 2414 'default_redirect_configuration': {'key': 'properties.defaultRedirectConfiguration', 'type': 'SubResource'}, 2415 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, 2416 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2417 } 2418 2419 def __init__( 2420 self, 2421 *, 2422 id: Optional[str] = None, 2423 name: Optional[str] = None, 2424 default_backend_address_pool: Optional["SubResource"] = None, 2425 default_backend_http_settings: Optional["SubResource"] = None, 2426 default_rewrite_rule_set: Optional["SubResource"] = None, 2427 default_redirect_configuration: Optional["SubResource"] = None, 2428 path_rules: Optional[List["ApplicationGatewayPathRule"]] = None, 2429 **kwargs 2430 ): 2431 super(ApplicationGatewayUrlPathMap, self).__init__(id=id, **kwargs) 2432 self.name = name 2433 self.etag = None 2434 self.type = None 2435 self.default_backend_address_pool = default_backend_address_pool 2436 self.default_backend_http_settings = default_backend_http_settings 2437 self.default_rewrite_rule_set = default_rewrite_rule_set 2438 self.default_redirect_configuration = default_redirect_configuration 2439 self.path_rules = path_rules 2440 self.provisioning_state = None 2441 2442 2443class ApplicationGatewayWebApplicationFirewallConfiguration(msrest.serialization.Model): 2444 """Application gateway web application firewall configuration. 2445 2446 All required parameters must be populated in order to send to Azure. 2447 2448 :param enabled: Required. Whether the web application firewall is enabled or not. 2449 :type enabled: bool 2450 :param firewall_mode: Required. Web application firewall mode. Possible values include: 2451 "Detection", "Prevention". 2452 :type firewall_mode: str or 2453 ~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayFirewallMode 2454 :param rule_set_type: Required. The type of the web application firewall rule set. Possible 2455 values are: 'OWASP'. 2456 :type rule_set_type: str 2457 :param rule_set_version: Required. The version of the rule set type. 2458 :type rule_set_version: str 2459 :param disabled_rule_groups: The disabled rule groups. 2460 :type disabled_rule_groups: 2461 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayFirewallDisabledRuleGroup] 2462 :param request_body_check: Whether allow WAF to check request Body. 2463 :type request_body_check: bool 2464 :param max_request_body_size: Maximum request body size for WAF. 2465 :type max_request_body_size: int 2466 :param max_request_body_size_in_kb: Maximum request body size in Kb for WAF. 2467 :type max_request_body_size_in_kb: int 2468 :param file_upload_limit_in_mb: Maximum file upload size in Mb for WAF. 2469 :type file_upload_limit_in_mb: int 2470 :param exclusions: The exclusion list. 2471 :type exclusions: 2472 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayFirewallExclusion] 2473 """ 2474 2475 _validation = { 2476 'enabled': {'required': True}, 2477 'firewall_mode': {'required': True}, 2478 'rule_set_type': {'required': True}, 2479 'rule_set_version': {'required': True}, 2480 'max_request_body_size': {'maximum': 128, 'minimum': 8}, 2481 'max_request_body_size_in_kb': {'maximum': 128, 'minimum': 8}, 2482 'file_upload_limit_in_mb': {'minimum': 0}, 2483 } 2484 2485 _attribute_map = { 2486 'enabled': {'key': 'enabled', 'type': 'bool'}, 2487 'firewall_mode': {'key': 'firewallMode', 'type': 'str'}, 2488 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, 2489 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, 2490 'disabled_rule_groups': {'key': 'disabledRuleGroups', 'type': '[ApplicationGatewayFirewallDisabledRuleGroup]'}, 2491 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, 2492 'max_request_body_size': {'key': 'maxRequestBodySize', 'type': 'int'}, 2493 'max_request_body_size_in_kb': {'key': 'maxRequestBodySizeInKb', 'type': 'int'}, 2494 'file_upload_limit_in_mb': {'key': 'fileUploadLimitInMb', 'type': 'int'}, 2495 'exclusions': {'key': 'exclusions', 'type': '[ApplicationGatewayFirewallExclusion]'}, 2496 } 2497 2498 def __init__( 2499 self, 2500 *, 2501 enabled: bool, 2502 firewall_mode: Union[str, "ApplicationGatewayFirewallMode"], 2503 rule_set_type: str, 2504 rule_set_version: str, 2505 disabled_rule_groups: Optional[List["ApplicationGatewayFirewallDisabledRuleGroup"]] = None, 2506 request_body_check: Optional[bool] = None, 2507 max_request_body_size: Optional[int] = None, 2508 max_request_body_size_in_kb: Optional[int] = None, 2509 file_upload_limit_in_mb: Optional[int] = None, 2510 exclusions: Optional[List["ApplicationGatewayFirewallExclusion"]] = None, 2511 **kwargs 2512 ): 2513 super(ApplicationGatewayWebApplicationFirewallConfiguration, self).__init__(**kwargs) 2514 self.enabled = enabled 2515 self.firewall_mode = firewall_mode 2516 self.rule_set_type = rule_set_type 2517 self.rule_set_version = rule_set_version 2518 self.disabled_rule_groups = disabled_rule_groups 2519 self.request_body_check = request_body_check 2520 self.max_request_body_size = max_request_body_size 2521 self.max_request_body_size_in_kb = max_request_body_size_in_kb 2522 self.file_upload_limit_in_mb = file_upload_limit_in_mb 2523 self.exclusions = exclusions 2524 2525 2526class FirewallPolicyRuleCondition(msrest.serialization.Model): 2527 """Properties of a rule. 2528 2529 You probably want to use the sub-classes and not this class directly. Known 2530 sub-classes are: ApplicationRuleCondition, NatRuleCondition, NetworkRuleCondition. 2531 2532 All required parameters must be populated in order to send to Azure. 2533 2534 :param name: Name of the rule condition. 2535 :type name: str 2536 :param description: Description of the rule condition. 2537 :type description: str 2538 :param rule_condition_type: Required. Rule Condition Type.Constant filled by server. Possible 2539 values include: "ApplicationRuleCondition", "NetworkRuleCondition", "NatRuleCondition". 2540 :type rule_condition_type: str or 2541 ~azure.mgmt.network.v2019_12_01.models.FirewallPolicyRuleConditionType 2542 """ 2543 2544 _validation = { 2545 'rule_condition_type': {'required': True}, 2546 } 2547 2548 _attribute_map = { 2549 'name': {'key': 'name', 'type': 'str'}, 2550 'description': {'key': 'description', 'type': 'str'}, 2551 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, 2552 } 2553 2554 _subtype_map = { 2555 'rule_condition_type': {'ApplicationRuleCondition': 'ApplicationRuleCondition', 'NatRuleCondition': 'NatRuleCondition', 'NetworkRuleCondition': 'NetworkRuleCondition'} 2556 } 2557 2558 def __init__( 2559 self, 2560 *, 2561 name: Optional[str] = None, 2562 description: Optional[str] = None, 2563 **kwargs 2564 ): 2565 super(FirewallPolicyRuleCondition, self).__init__(**kwargs) 2566 self.name = name 2567 self.description = description 2568 self.rule_condition_type = None # type: Optional[str] 2569 2570 2571class ApplicationRuleCondition(FirewallPolicyRuleCondition): 2572 """Rule condition of type application. 2573 2574 All required parameters must be populated in order to send to Azure. 2575 2576 :param name: Name of the rule condition. 2577 :type name: str 2578 :param description: Description of the rule condition. 2579 :type description: str 2580 :param rule_condition_type: Required. Rule Condition Type.Constant filled by server. Possible 2581 values include: "ApplicationRuleCondition", "NetworkRuleCondition", "NatRuleCondition". 2582 :type rule_condition_type: str or 2583 ~azure.mgmt.network.v2019_12_01.models.FirewallPolicyRuleConditionType 2584 :param source_addresses: List of source IP addresses for this rule. 2585 :type source_addresses: list[str] 2586 :param destination_addresses: List of destination IP addresses or Service Tags. 2587 :type destination_addresses: list[str] 2588 :param protocols: Array of Application Protocols. 2589 :type protocols: 2590 list[~azure.mgmt.network.v2019_12_01.models.FirewallPolicyRuleConditionApplicationProtocol] 2591 :param target_fqdns: List of FQDNs for this rule condition. 2592 :type target_fqdns: list[str] 2593 :param fqdn_tags: List of FQDN Tags for this rule condition. 2594 :type fqdn_tags: list[str] 2595 :param source_ip_groups: List of source IpGroups for this rule. 2596 :type source_ip_groups: list[str] 2597 """ 2598 2599 _validation = { 2600 'rule_condition_type': {'required': True}, 2601 } 2602 2603 _attribute_map = { 2604 'name': {'key': 'name', 'type': 'str'}, 2605 'description': {'key': 'description', 'type': 'str'}, 2606 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, 2607 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, 2608 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, 2609 'protocols': {'key': 'protocols', 'type': '[FirewallPolicyRuleConditionApplicationProtocol]'}, 2610 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, 2611 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, 2612 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, 2613 } 2614 2615 def __init__( 2616 self, 2617 *, 2618 name: Optional[str] = None, 2619 description: Optional[str] = None, 2620 source_addresses: Optional[List[str]] = None, 2621 destination_addresses: Optional[List[str]] = None, 2622 protocols: Optional[List["FirewallPolicyRuleConditionApplicationProtocol"]] = None, 2623 target_fqdns: Optional[List[str]] = None, 2624 fqdn_tags: Optional[List[str]] = None, 2625 source_ip_groups: Optional[List[str]] = None, 2626 **kwargs 2627 ): 2628 super(ApplicationRuleCondition, self).__init__(name=name, description=description, **kwargs) 2629 self.rule_condition_type = 'ApplicationRuleCondition' # type: str 2630 self.source_addresses = source_addresses 2631 self.destination_addresses = destination_addresses 2632 self.protocols = protocols 2633 self.target_fqdns = target_fqdns 2634 self.fqdn_tags = fqdn_tags 2635 self.source_ip_groups = source_ip_groups 2636 2637 2638class ApplicationSecurityGroup(Resource): 2639 """An application security group in a resource group. 2640 2641 Variables are only populated by the server, and will be ignored when sending a request. 2642 2643 :param id: Resource ID. 2644 :type id: str 2645 :ivar name: Resource name. 2646 :vartype name: str 2647 :ivar type: Resource type. 2648 :vartype type: str 2649 :param location: Resource location. 2650 :type location: str 2651 :param tags: A set of tags. Resource tags. 2652 :type tags: dict[str, str] 2653 :ivar etag: A unique read-only string that changes whenever the resource is updated. 2654 :vartype etag: str 2655 :ivar resource_guid: The resource GUID property of the application security group resource. It 2656 uniquely identifies a resource, even if the user changes its name or migrate the resource 2657 across subscriptions or resource groups. 2658 :vartype resource_guid: str 2659 :ivar provisioning_state: The provisioning state of the application security group resource. 2660 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 2661 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 2662 """ 2663 2664 _validation = { 2665 'name': {'readonly': True}, 2666 'type': {'readonly': True}, 2667 'etag': {'readonly': True}, 2668 'resource_guid': {'readonly': True}, 2669 'provisioning_state': {'readonly': True}, 2670 } 2671 2672 _attribute_map = { 2673 'id': {'key': 'id', 'type': 'str'}, 2674 'name': {'key': 'name', 'type': 'str'}, 2675 'type': {'key': 'type', 'type': 'str'}, 2676 'location': {'key': 'location', 'type': 'str'}, 2677 'tags': {'key': 'tags', 'type': '{str}'}, 2678 'etag': {'key': 'etag', 'type': 'str'}, 2679 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 2680 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2681 } 2682 2683 def __init__( 2684 self, 2685 *, 2686 id: Optional[str] = None, 2687 location: Optional[str] = None, 2688 tags: Optional[Dict[str, str]] = None, 2689 **kwargs 2690 ): 2691 super(ApplicationSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) 2692 self.etag = None 2693 self.resource_guid = None 2694 self.provisioning_state = None 2695 2696 2697class ApplicationSecurityGroupListResult(msrest.serialization.Model): 2698 """A list of application security groups. 2699 2700 Variables are only populated by the server, and will be ignored when sending a request. 2701 2702 :param value: A list of application security groups. 2703 :type value: list[~azure.mgmt.network.v2019_12_01.models.ApplicationSecurityGroup] 2704 :ivar next_link: The URL to get the next set of results. 2705 :vartype next_link: str 2706 """ 2707 2708 _validation = { 2709 'next_link': {'readonly': True}, 2710 } 2711 2712 _attribute_map = { 2713 'value': {'key': 'value', 'type': '[ApplicationSecurityGroup]'}, 2714 'next_link': {'key': 'nextLink', 'type': 'str'}, 2715 } 2716 2717 def __init__( 2718 self, 2719 *, 2720 value: Optional[List["ApplicationSecurityGroup"]] = None, 2721 **kwargs 2722 ): 2723 super(ApplicationSecurityGroupListResult, self).__init__(**kwargs) 2724 self.value = value 2725 self.next_link = None 2726 2727 2728class AuthorizationListResult(msrest.serialization.Model): 2729 """Response for ListAuthorizations API service call retrieves all authorizations that belongs to an ExpressRouteCircuit. 2730 2731 :param value: The authorizations in an ExpressRoute Circuit. 2732 :type value: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitAuthorization] 2733 :param next_link: The URL to get the next set of results. 2734 :type next_link: str 2735 """ 2736 2737 _attribute_map = { 2738 'value': {'key': 'value', 'type': '[ExpressRouteCircuitAuthorization]'}, 2739 'next_link': {'key': 'nextLink', 'type': 'str'}, 2740 } 2741 2742 def __init__( 2743 self, 2744 *, 2745 value: Optional[List["ExpressRouteCircuitAuthorization"]] = None, 2746 next_link: Optional[str] = None, 2747 **kwargs 2748 ): 2749 super(AuthorizationListResult, self).__init__(**kwargs) 2750 self.value = value 2751 self.next_link = next_link 2752 2753 2754class AutoApprovedPrivateLinkService(msrest.serialization.Model): 2755 """The information of an AutoApprovedPrivateLinkService. 2756 2757 :param private_link_service: The id of the private link service resource. 2758 :type private_link_service: str 2759 """ 2760 2761 _attribute_map = { 2762 'private_link_service': {'key': 'privateLinkService', 'type': 'str'}, 2763 } 2764 2765 def __init__( 2766 self, 2767 *, 2768 private_link_service: Optional[str] = None, 2769 **kwargs 2770 ): 2771 super(AutoApprovedPrivateLinkService, self).__init__(**kwargs) 2772 self.private_link_service = private_link_service 2773 2774 2775class AutoApprovedPrivateLinkServicesResult(msrest.serialization.Model): 2776 """An array of private link service id that can be linked to a private end point with auto approved. 2777 2778 Variables are only populated by the server, and will be ignored when sending a request. 2779 2780 :param value: An array of auto approved private link service. 2781 :type value: list[~azure.mgmt.network.v2019_12_01.models.AutoApprovedPrivateLinkService] 2782 :ivar next_link: The URL to get the next set of results. 2783 :vartype next_link: str 2784 """ 2785 2786 _validation = { 2787 'next_link': {'readonly': True}, 2788 } 2789 2790 _attribute_map = { 2791 'value': {'key': 'value', 'type': '[AutoApprovedPrivateLinkService]'}, 2792 'next_link': {'key': 'nextLink', 'type': 'str'}, 2793 } 2794 2795 def __init__( 2796 self, 2797 *, 2798 value: Optional[List["AutoApprovedPrivateLinkService"]] = None, 2799 **kwargs 2800 ): 2801 super(AutoApprovedPrivateLinkServicesResult, self).__init__(**kwargs) 2802 self.value = value 2803 self.next_link = None 2804 2805 2806class Availability(msrest.serialization.Model): 2807 """Availability of the metric. 2808 2809 :param time_grain: The time grain of the availability. 2810 :type time_grain: str 2811 :param retention: The retention of the availability. 2812 :type retention: str 2813 :param blob_duration: Duration of the availability blob. 2814 :type blob_duration: str 2815 """ 2816 2817 _attribute_map = { 2818 'time_grain': {'key': 'timeGrain', 'type': 'str'}, 2819 'retention': {'key': 'retention', 'type': 'str'}, 2820 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, 2821 } 2822 2823 def __init__( 2824 self, 2825 *, 2826 time_grain: Optional[str] = None, 2827 retention: Optional[str] = None, 2828 blob_duration: Optional[str] = None, 2829 **kwargs 2830 ): 2831 super(Availability, self).__init__(**kwargs) 2832 self.time_grain = time_grain 2833 self.retention = retention 2834 self.blob_duration = blob_duration 2835 2836 2837class AvailableDelegation(msrest.serialization.Model): 2838 """The serviceName of an AvailableDelegation indicates a possible delegation for a subnet. 2839 2840 :param name: The name of the AvailableDelegation resource. 2841 :type name: str 2842 :param id: A unique identifier of the AvailableDelegation resource. 2843 :type id: str 2844 :param type: Resource type. 2845 :type type: str 2846 :param service_name: The name of the service and resource. 2847 :type service_name: str 2848 :param actions: The actions permitted to the service upon delegation. 2849 :type actions: list[str] 2850 """ 2851 2852 _attribute_map = { 2853 'name': {'key': 'name', 'type': 'str'}, 2854 'id': {'key': 'id', 'type': 'str'}, 2855 'type': {'key': 'type', 'type': 'str'}, 2856 'service_name': {'key': 'serviceName', 'type': 'str'}, 2857 'actions': {'key': 'actions', 'type': '[str]'}, 2858 } 2859 2860 def __init__( 2861 self, 2862 *, 2863 name: Optional[str] = None, 2864 id: Optional[str] = None, 2865 type: Optional[str] = None, 2866 service_name: Optional[str] = None, 2867 actions: Optional[List[str]] = None, 2868 **kwargs 2869 ): 2870 super(AvailableDelegation, self).__init__(**kwargs) 2871 self.name = name 2872 self.id = id 2873 self.type = type 2874 self.service_name = service_name 2875 self.actions = actions 2876 2877 2878class AvailableDelegationsResult(msrest.serialization.Model): 2879 """An array of available delegations. 2880 2881 Variables are only populated by the server, and will be ignored when sending a request. 2882 2883 :param value: An array of available delegations. 2884 :type value: list[~azure.mgmt.network.v2019_12_01.models.AvailableDelegation] 2885 :ivar next_link: The URL to get the next set of results. 2886 :vartype next_link: str 2887 """ 2888 2889 _validation = { 2890 'next_link': {'readonly': True}, 2891 } 2892 2893 _attribute_map = { 2894 'value': {'key': 'value', 'type': '[AvailableDelegation]'}, 2895 'next_link': {'key': 'nextLink', 'type': 'str'}, 2896 } 2897 2898 def __init__( 2899 self, 2900 *, 2901 value: Optional[List["AvailableDelegation"]] = None, 2902 **kwargs 2903 ): 2904 super(AvailableDelegationsResult, self).__init__(**kwargs) 2905 self.value = value 2906 self.next_link = None 2907 2908 2909class AvailablePrivateEndpointType(msrest.serialization.Model): 2910 """The information of an AvailablePrivateEndpointType. 2911 2912 :param name: The name of the service and resource. 2913 :type name: str 2914 :param id: A unique identifier of the AvailablePrivateEndpoint Type resource. 2915 :type id: str 2916 :param type: Resource type. 2917 :type type: str 2918 :param resource_name: The name of the service and resource. 2919 :type resource_name: str 2920 """ 2921 2922 _attribute_map = { 2923 'name': {'key': 'name', 'type': 'str'}, 2924 'id': {'key': 'id', 'type': 'str'}, 2925 'type': {'key': 'type', 'type': 'str'}, 2926 'resource_name': {'key': 'resourceName', 'type': 'str'}, 2927 } 2928 2929 def __init__( 2930 self, 2931 *, 2932 name: Optional[str] = None, 2933 id: Optional[str] = None, 2934 type: Optional[str] = None, 2935 resource_name: Optional[str] = None, 2936 **kwargs 2937 ): 2938 super(AvailablePrivateEndpointType, self).__init__(**kwargs) 2939 self.name = name 2940 self.id = id 2941 self.type = type 2942 self.resource_name = resource_name 2943 2944 2945class AvailablePrivateEndpointTypesResult(msrest.serialization.Model): 2946 """An array of available PrivateEndpoint types. 2947 2948 Variables are only populated by the server, and will be ignored when sending a request. 2949 2950 :param value: An array of available privateEndpoint type. 2951 :type value: list[~azure.mgmt.network.v2019_12_01.models.AvailablePrivateEndpointType] 2952 :ivar next_link: The URL to get the next set of results. 2953 :vartype next_link: str 2954 """ 2955 2956 _validation = { 2957 'next_link': {'readonly': True}, 2958 } 2959 2960 _attribute_map = { 2961 'value': {'key': 'value', 'type': '[AvailablePrivateEndpointType]'}, 2962 'next_link': {'key': 'nextLink', 'type': 'str'}, 2963 } 2964 2965 def __init__( 2966 self, 2967 *, 2968 value: Optional[List["AvailablePrivateEndpointType"]] = None, 2969 **kwargs 2970 ): 2971 super(AvailablePrivateEndpointTypesResult, self).__init__(**kwargs) 2972 self.value = value 2973 self.next_link = None 2974 2975 2976class AvailableProvidersList(msrest.serialization.Model): 2977 """List of available countries with details. 2978 2979 All required parameters must be populated in order to send to Azure. 2980 2981 :param countries: Required. List of available countries. 2982 :type countries: list[~azure.mgmt.network.v2019_12_01.models.AvailableProvidersListCountry] 2983 """ 2984 2985 _validation = { 2986 'countries': {'required': True}, 2987 } 2988 2989 _attribute_map = { 2990 'countries': {'key': 'countries', 'type': '[AvailableProvidersListCountry]'}, 2991 } 2992 2993 def __init__( 2994 self, 2995 *, 2996 countries: List["AvailableProvidersListCountry"], 2997 **kwargs 2998 ): 2999 super(AvailableProvidersList, self).__init__(**kwargs) 3000 self.countries = countries 3001 3002 3003class AvailableProvidersListCity(msrest.serialization.Model): 3004 """City or town details. 3005 3006 :param city_name: The city or town name. 3007 :type city_name: str 3008 :param providers: A list of Internet service providers. 3009 :type providers: list[str] 3010 """ 3011 3012 _attribute_map = { 3013 'city_name': {'key': 'cityName', 'type': 'str'}, 3014 'providers': {'key': 'providers', 'type': '[str]'}, 3015 } 3016 3017 def __init__( 3018 self, 3019 *, 3020 city_name: Optional[str] = None, 3021 providers: Optional[List[str]] = None, 3022 **kwargs 3023 ): 3024 super(AvailableProvidersListCity, self).__init__(**kwargs) 3025 self.city_name = city_name 3026 self.providers = providers 3027 3028 3029class AvailableProvidersListCountry(msrest.serialization.Model): 3030 """Country details. 3031 3032 :param country_name: The country name. 3033 :type country_name: str 3034 :param providers: A list of Internet service providers. 3035 :type providers: list[str] 3036 :param states: List of available states in the country. 3037 :type states: list[~azure.mgmt.network.v2019_12_01.models.AvailableProvidersListState] 3038 """ 3039 3040 _attribute_map = { 3041 'country_name': {'key': 'countryName', 'type': 'str'}, 3042 'providers': {'key': 'providers', 'type': '[str]'}, 3043 'states': {'key': 'states', 'type': '[AvailableProvidersListState]'}, 3044 } 3045 3046 def __init__( 3047 self, 3048 *, 3049 country_name: Optional[str] = None, 3050 providers: Optional[List[str]] = None, 3051 states: Optional[List["AvailableProvidersListState"]] = None, 3052 **kwargs 3053 ): 3054 super(AvailableProvidersListCountry, self).__init__(**kwargs) 3055 self.country_name = country_name 3056 self.providers = providers 3057 self.states = states 3058 3059 3060class AvailableProvidersListParameters(msrest.serialization.Model): 3061 """Constraints that determine the list of available Internet service providers. 3062 3063 :param azure_locations: A list of Azure regions. 3064 :type azure_locations: list[str] 3065 :param country: The country for available providers list. 3066 :type country: str 3067 :param state: The state for available providers list. 3068 :type state: str 3069 :param city: The city or town for available providers list. 3070 :type city: str 3071 """ 3072 3073 _attribute_map = { 3074 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, 3075 'country': {'key': 'country', 'type': 'str'}, 3076 'state': {'key': 'state', 'type': 'str'}, 3077 'city': {'key': 'city', 'type': 'str'}, 3078 } 3079 3080 def __init__( 3081 self, 3082 *, 3083 azure_locations: Optional[List[str]] = None, 3084 country: Optional[str] = None, 3085 state: Optional[str] = None, 3086 city: Optional[str] = None, 3087 **kwargs 3088 ): 3089 super(AvailableProvidersListParameters, self).__init__(**kwargs) 3090 self.azure_locations = azure_locations 3091 self.country = country 3092 self.state = state 3093 self.city = city 3094 3095 3096class AvailableProvidersListState(msrest.serialization.Model): 3097 """State details. 3098 3099 :param state_name: The state name. 3100 :type state_name: str 3101 :param providers: A list of Internet service providers. 3102 :type providers: list[str] 3103 :param cities: List of available cities or towns in the state. 3104 :type cities: list[~azure.mgmt.network.v2019_12_01.models.AvailableProvidersListCity] 3105 """ 3106 3107 _attribute_map = { 3108 'state_name': {'key': 'stateName', 'type': 'str'}, 3109 'providers': {'key': 'providers', 'type': '[str]'}, 3110 'cities': {'key': 'cities', 'type': '[AvailableProvidersListCity]'}, 3111 } 3112 3113 def __init__( 3114 self, 3115 *, 3116 state_name: Optional[str] = None, 3117 providers: Optional[List[str]] = None, 3118 cities: Optional[List["AvailableProvidersListCity"]] = None, 3119 **kwargs 3120 ): 3121 super(AvailableProvidersListState, self).__init__(**kwargs) 3122 self.state_name = state_name 3123 self.providers = providers 3124 self.cities = cities 3125 3126 3127class AvailableServiceAlias(msrest.serialization.Model): 3128 """The available service alias. 3129 3130 :param name: The name of the service alias. 3131 :type name: str 3132 :param id: The ID of the service alias. 3133 :type id: str 3134 :param type: The type of the resource. 3135 :type type: str 3136 :param resource_name: The resource name of the service alias. 3137 :type resource_name: str 3138 """ 3139 3140 _attribute_map = { 3141 'name': {'key': 'name', 'type': 'str'}, 3142 'id': {'key': 'id', 'type': 'str'}, 3143 'type': {'key': 'type', 'type': 'str'}, 3144 'resource_name': {'key': 'resourceName', 'type': 'str'}, 3145 } 3146 3147 def __init__( 3148 self, 3149 *, 3150 name: Optional[str] = None, 3151 id: Optional[str] = None, 3152 type: Optional[str] = None, 3153 resource_name: Optional[str] = None, 3154 **kwargs 3155 ): 3156 super(AvailableServiceAlias, self).__init__(**kwargs) 3157 self.name = name 3158 self.id = id 3159 self.type = type 3160 self.resource_name = resource_name 3161 3162 3163class AvailableServiceAliasesResult(msrest.serialization.Model): 3164 """An array of available service aliases. 3165 3166 Variables are only populated by the server, and will be ignored when sending a request. 3167 3168 :param value: An array of available service aliases. 3169 :type value: list[~azure.mgmt.network.v2019_12_01.models.AvailableServiceAlias] 3170 :ivar next_link: The URL to get the next set of results. 3171 :vartype next_link: str 3172 """ 3173 3174 _validation = { 3175 'next_link': {'readonly': True}, 3176 } 3177 3178 _attribute_map = { 3179 'value': {'key': 'value', 'type': '[AvailableServiceAlias]'}, 3180 'next_link': {'key': 'nextLink', 'type': 'str'}, 3181 } 3182 3183 def __init__( 3184 self, 3185 *, 3186 value: Optional[List["AvailableServiceAlias"]] = None, 3187 **kwargs 3188 ): 3189 super(AvailableServiceAliasesResult, self).__init__(**kwargs) 3190 self.value = value 3191 self.next_link = None 3192 3193 3194class AzureAsyncOperationResult(msrest.serialization.Model): 3195 """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. 3196 3197 :param status: Status of the Azure async operation. Possible values include: "InProgress", 3198 "Succeeded", "Failed". 3199 :type status: str or ~azure.mgmt.network.v2019_12_01.models.NetworkOperationStatus 3200 :param error: Details of the error occurred during specified asynchronous operation. 3201 :type error: ~azure.mgmt.network.v2019_12_01.models.Error 3202 """ 3203 3204 _attribute_map = { 3205 'status': {'key': 'status', 'type': 'str'}, 3206 'error': {'key': 'error', 'type': 'Error'}, 3207 } 3208 3209 def __init__( 3210 self, 3211 *, 3212 status: Optional[Union[str, "NetworkOperationStatus"]] = None, 3213 error: Optional["Error"] = None, 3214 **kwargs 3215 ): 3216 super(AzureAsyncOperationResult, self).__init__(**kwargs) 3217 self.status = status 3218 self.error = error 3219 3220 3221class AzureFirewall(Resource): 3222 """Azure Firewall resource. 3223 3224 Variables are only populated by the server, and will be ignored when sending a request. 3225 3226 :param id: Resource ID. 3227 :type id: str 3228 :ivar name: Resource name. 3229 :vartype name: str 3230 :ivar type: Resource type. 3231 :vartype type: str 3232 :param location: Resource location. 3233 :type location: str 3234 :param tags: A set of tags. Resource tags. 3235 :type tags: dict[str, str] 3236 :param zones: A list of availability zones denoting where the resource needs to come from. 3237 :type zones: list[str] 3238 :ivar etag: A unique read-only string that changes whenever the resource is updated. 3239 :vartype etag: str 3240 :param application_rule_collections: Collection of application rule collections used by Azure 3241 Firewall. 3242 :type application_rule_collections: 3243 list[~azure.mgmt.network.v2019_12_01.models.AzureFirewallApplicationRuleCollection] 3244 :param nat_rule_collections: Collection of NAT rule collections used by Azure Firewall. 3245 :type nat_rule_collections: 3246 list[~azure.mgmt.network.v2019_12_01.models.AzureFirewallNatRuleCollection] 3247 :param network_rule_collections: Collection of network rule collections used by Azure Firewall. 3248 :type network_rule_collections: 3249 list[~azure.mgmt.network.v2019_12_01.models.AzureFirewallNetworkRuleCollection] 3250 :param ip_configurations: IP configuration of the Azure Firewall resource. 3251 :type ip_configurations: 3252 list[~azure.mgmt.network.v2019_12_01.models.AzureFirewallIPConfiguration] 3253 :param management_ip_configuration: IP configuration of the Azure Firewall used for management 3254 traffic. 3255 :type management_ip_configuration: 3256 ~azure.mgmt.network.v2019_12_01.models.AzureFirewallIPConfiguration 3257 :ivar provisioning_state: The provisioning state of the Azure firewall resource. Possible 3258 values include: "Succeeded", "Updating", "Deleting", "Failed". 3259 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 3260 :param threat_intel_mode: The operation mode for Threat Intelligence. Possible values include: 3261 "Alert", "Deny", "Off". 3262 :type threat_intel_mode: str or 3263 ~azure.mgmt.network.v2019_12_01.models.AzureFirewallThreatIntelMode 3264 :param virtual_hub: The virtualHub to which the firewall belongs. 3265 :type virtual_hub: ~azure.mgmt.network.v2019_12_01.models.SubResource 3266 :param firewall_policy: The firewallPolicy associated with this azure firewall. 3267 :type firewall_policy: ~azure.mgmt.network.v2019_12_01.models.SubResource 3268 :ivar hub_ip_addresses: IP addresses associated with AzureFirewall. 3269 :vartype hub_ip_addresses: ~azure.mgmt.network.v2019_12_01.models.HubIPAddresses 3270 :ivar ip_groups: IpGroups associated with AzureFirewall. 3271 :vartype ip_groups: list[~azure.mgmt.network.v2019_12_01.models.AzureFirewallIpGroups] 3272 :param sku: The Azure Firewall Resource SKU. 3273 :type sku: ~azure.mgmt.network.v2019_12_01.models.AzureFirewallSku 3274 :param additional_properties: The additional properties used to further config this azure 3275 firewall. 3276 :type additional_properties: dict[str, str] 3277 """ 3278 3279 _validation = { 3280 'name': {'readonly': True}, 3281 'type': {'readonly': True}, 3282 'etag': {'readonly': True}, 3283 'provisioning_state': {'readonly': True}, 3284 'hub_ip_addresses': {'readonly': True}, 3285 'ip_groups': {'readonly': True}, 3286 } 3287 3288 _attribute_map = { 3289 'id': {'key': 'id', 'type': 'str'}, 3290 'name': {'key': 'name', 'type': 'str'}, 3291 'type': {'key': 'type', 'type': 'str'}, 3292 'location': {'key': 'location', 'type': 'str'}, 3293 'tags': {'key': 'tags', 'type': '{str}'}, 3294 'zones': {'key': 'zones', 'type': '[str]'}, 3295 'etag': {'key': 'etag', 'type': 'str'}, 3296 'application_rule_collections': {'key': 'properties.applicationRuleCollections', 'type': '[AzureFirewallApplicationRuleCollection]'}, 3297 'nat_rule_collections': {'key': 'properties.natRuleCollections', 'type': '[AzureFirewallNatRuleCollection]'}, 3298 'network_rule_collections': {'key': 'properties.networkRuleCollections', 'type': '[AzureFirewallNetworkRuleCollection]'}, 3299 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[AzureFirewallIPConfiguration]'}, 3300 'management_ip_configuration': {'key': 'properties.managementIpConfiguration', 'type': 'AzureFirewallIPConfiguration'}, 3301 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3302 'threat_intel_mode': {'key': 'properties.threatIntelMode', 'type': 'str'}, 3303 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, 3304 'firewall_policy': {'key': 'properties.firewallPolicy', 'type': 'SubResource'}, 3305 'hub_ip_addresses': {'key': 'properties.hubIpAddresses', 'type': 'HubIPAddresses'}, 3306 'ip_groups': {'key': 'properties.ipGroups', 'type': '[AzureFirewallIpGroups]'}, 3307 'sku': {'key': 'properties.sku', 'type': 'AzureFirewallSku'}, 3308 'additional_properties': {'key': 'properties.additionalProperties', 'type': '{str}'}, 3309 } 3310 3311 def __init__( 3312 self, 3313 *, 3314 id: Optional[str] = None, 3315 location: Optional[str] = None, 3316 tags: Optional[Dict[str, str]] = None, 3317 zones: Optional[List[str]] = None, 3318 application_rule_collections: Optional[List["AzureFirewallApplicationRuleCollection"]] = None, 3319 nat_rule_collections: Optional[List["AzureFirewallNatRuleCollection"]] = None, 3320 network_rule_collections: Optional[List["AzureFirewallNetworkRuleCollection"]] = None, 3321 ip_configurations: Optional[List["AzureFirewallIPConfiguration"]] = None, 3322 management_ip_configuration: Optional["AzureFirewallIPConfiguration"] = None, 3323 threat_intel_mode: Optional[Union[str, "AzureFirewallThreatIntelMode"]] = None, 3324 virtual_hub: Optional["SubResource"] = None, 3325 firewall_policy: Optional["SubResource"] = None, 3326 sku: Optional["AzureFirewallSku"] = None, 3327 additional_properties: Optional[Dict[str, str]] = None, 3328 **kwargs 3329 ): 3330 super(AzureFirewall, self).__init__(id=id, location=location, tags=tags, **kwargs) 3331 self.zones = zones 3332 self.etag = None 3333 self.application_rule_collections = application_rule_collections 3334 self.nat_rule_collections = nat_rule_collections 3335 self.network_rule_collections = network_rule_collections 3336 self.ip_configurations = ip_configurations 3337 self.management_ip_configuration = management_ip_configuration 3338 self.provisioning_state = None 3339 self.threat_intel_mode = threat_intel_mode 3340 self.virtual_hub = virtual_hub 3341 self.firewall_policy = firewall_policy 3342 self.hub_ip_addresses = None 3343 self.ip_groups = None 3344 self.sku = sku 3345 self.additional_properties = additional_properties 3346 3347 3348class AzureFirewallApplicationRule(msrest.serialization.Model): 3349 """Properties of an application rule. 3350 3351 :param name: Name of the application rule. 3352 :type name: str 3353 :param description: Description of the rule. 3354 :type description: str 3355 :param source_addresses: List of source IP addresses for this rule. 3356 :type source_addresses: list[str] 3357 :param protocols: Array of ApplicationRuleProtocols. 3358 :type protocols: 3359 list[~azure.mgmt.network.v2019_12_01.models.AzureFirewallApplicationRuleProtocol] 3360 :param target_fqdns: List of FQDNs for this rule. 3361 :type target_fqdns: list[str] 3362 :param fqdn_tags: List of FQDN Tags for this rule. 3363 :type fqdn_tags: list[str] 3364 :param source_ip_groups: List of source IpGroups for this rule. 3365 :type source_ip_groups: list[str] 3366 """ 3367 3368 _attribute_map = { 3369 'name': {'key': 'name', 'type': 'str'}, 3370 'description': {'key': 'description', 'type': 'str'}, 3371 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, 3372 'protocols': {'key': 'protocols', 'type': '[AzureFirewallApplicationRuleProtocol]'}, 3373 'target_fqdns': {'key': 'targetFqdns', 'type': '[str]'}, 3374 'fqdn_tags': {'key': 'fqdnTags', 'type': '[str]'}, 3375 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, 3376 } 3377 3378 def __init__( 3379 self, 3380 *, 3381 name: Optional[str] = None, 3382 description: Optional[str] = None, 3383 source_addresses: Optional[List[str]] = None, 3384 protocols: Optional[List["AzureFirewallApplicationRuleProtocol"]] = None, 3385 target_fqdns: Optional[List[str]] = None, 3386 fqdn_tags: Optional[List[str]] = None, 3387 source_ip_groups: Optional[List[str]] = None, 3388 **kwargs 3389 ): 3390 super(AzureFirewallApplicationRule, self).__init__(**kwargs) 3391 self.name = name 3392 self.description = description 3393 self.source_addresses = source_addresses 3394 self.protocols = protocols 3395 self.target_fqdns = target_fqdns 3396 self.fqdn_tags = fqdn_tags 3397 self.source_ip_groups = source_ip_groups 3398 3399 3400class AzureFirewallApplicationRuleCollection(SubResource): 3401 """Application rule collection resource. 3402 3403 Variables are only populated by the server, and will be ignored when sending a request. 3404 3405 :param id: Resource ID. 3406 :type id: str 3407 :param name: The name of the resource that is unique within the Azure firewall. This name can 3408 be used to access the resource. 3409 :type name: str 3410 :ivar etag: A unique read-only string that changes whenever the resource is updated. 3411 :vartype etag: str 3412 :param priority: Priority of the application rule collection resource. 3413 :type priority: int 3414 :param action: The action type of a rule collection. 3415 :type action: ~azure.mgmt.network.v2019_12_01.models.AzureFirewallRCAction 3416 :param rules: Collection of rules used by a application rule collection. 3417 :type rules: list[~azure.mgmt.network.v2019_12_01.models.AzureFirewallApplicationRule] 3418 :ivar provisioning_state: The provisioning state of the application rule collection resource. 3419 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 3420 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 3421 """ 3422 3423 _validation = { 3424 'etag': {'readonly': True}, 3425 'priority': {'maximum': 65000, 'minimum': 100}, 3426 'provisioning_state': {'readonly': True}, 3427 } 3428 3429 _attribute_map = { 3430 'id': {'key': 'id', 'type': 'str'}, 3431 'name': {'key': 'name', 'type': 'str'}, 3432 'etag': {'key': 'etag', 'type': 'str'}, 3433 'priority': {'key': 'properties.priority', 'type': 'int'}, 3434 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, 3435 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallApplicationRule]'}, 3436 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3437 } 3438 3439 def __init__( 3440 self, 3441 *, 3442 id: Optional[str] = None, 3443 name: Optional[str] = None, 3444 priority: Optional[int] = None, 3445 action: Optional["AzureFirewallRCAction"] = None, 3446 rules: Optional[List["AzureFirewallApplicationRule"]] = None, 3447 **kwargs 3448 ): 3449 super(AzureFirewallApplicationRuleCollection, self).__init__(id=id, **kwargs) 3450 self.name = name 3451 self.etag = None 3452 self.priority = priority 3453 self.action = action 3454 self.rules = rules 3455 self.provisioning_state = None 3456 3457 3458class AzureFirewallApplicationRuleProtocol(msrest.serialization.Model): 3459 """Properties of the application rule protocol. 3460 3461 :param protocol_type: Protocol type. Possible values include: "Http", "Https", "Mssql". 3462 :type protocol_type: str or 3463 ~azure.mgmt.network.v2019_12_01.models.AzureFirewallApplicationRuleProtocolType 3464 :param port: Port number for the protocol, cannot be greater than 64000. This field is 3465 optional. 3466 :type port: int 3467 """ 3468 3469 _validation = { 3470 'port': {'maximum': 64000, 'minimum': 0}, 3471 } 3472 3473 _attribute_map = { 3474 'protocol_type': {'key': 'protocolType', 'type': 'str'}, 3475 'port': {'key': 'port', 'type': 'int'}, 3476 } 3477 3478 def __init__( 3479 self, 3480 *, 3481 protocol_type: Optional[Union[str, "AzureFirewallApplicationRuleProtocolType"]] = None, 3482 port: Optional[int] = None, 3483 **kwargs 3484 ): 3485 super(AzureFirewallApplicationRuleProtocol, self).__init__(**kwargs) 3486 self.protocol_type = protocol_type 3487 self.port = port 3488 3489 3490class AzureFirewallFqdnTag(Resource): 3491 """Azure Firewall FQDN Tag Resource. 3492 3493 Variables are only populated by the server, and will be ignored when sending a request. 3494 3495 :param id: Resource ID. 3496 :type id: str 3497 :ivar name: Resource name. 3498 :vartype name: str 3499 :ivar type: Resource type. 3500 :vartype type: str 3501 :param location: Resource location. 3502 :type location: str 3503 :param tags: A set of tags. Resource tags. 3504 :type tags: dict[str, str] 3505 :ivar etag: A unique read-only string that changes whenever the resource is updated. 3506 :vartype etag: str 3507 :ivar provisioning_state: The provisioning state of the Azure firewall FQDN tag resource. 3508 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 3509 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 3510 :ivar fqdn_tag_name: The name of this FQDN Tag. 3511 :vartype fqdn_tag_name: str 3512 """ 3513 3514 _validation = { 3515 'name': {'readonly': True}, 3516 'type': {'readonly': True}, 3517 'etag': {'readonly': True}, 3518 'provisioning_state': {'readonly': True}, 3519 'fqdn_tag_name': {'readonly': True}, 3520 } 3521 3522 _attribute_map = { 3523 'id': {'key': 'id', 'type': 'str'}, 3524 'name': {'key': 'name', 'type': 'str'}, 3525 'type': {'key': 'type', 'type': 'str'}, 3526 'location': {'key': 'location', 'type': 'str'}, 3527 'tags': {'key': 'tags', 'type': '{str}'}, 3528 'etag': {'key': 'etag', 'type': 'str'}, 3529 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3530 'fqdn_tag_name': {'key': 'properties.fqdnTagName', 'type': 'str'}, 3531 } 3532 3533 def __init__( 3534 self, 3535 *, 3536 id: Optional[str] = None, 3537 location: Optional[str] = None, 3538 tags: Optional[Dict[str, str]] = None, 3539 **kwargs 3540 ): 3541 super(AzureFirewallFqdnTag, self).__init__(id=id, location=location, tags=tags, **kwargs) 3542 self.etag = None 3543 self.provisioning_state = None 3544 self.fqdn_tag_name = None 3545 3546 3547class AzureFirewallFqdnTagListResult(msrest.serialization.Model): 3548 """Response for ListAzureFirewallFqdnTags API service call. 3549 3550 :param value: List of Azure Firewall FQDN Tags in a resource group. 3551 :type value: list[~azure.mgmt.network.v2019_12_01.models.AzureFirewallFqdnTag] 3552 :param next_link: URL to get the next set of results. 3553 :type next_link: str 3554 """ 3555 3556 _attribute_map = { 3557 'value': {'key': 'value', 'type': '[AzureFirewallFqdnTag]'}, 3558 'next_link': {'key': 'nextLink', 'type': 'str'}, 3559 } 3560 3561 def __init__( 3562 self, 3563 *, 3564 value: Optional[List["AzureFirewallFqdnTag"]] = None, 3565 next_link: Optional[str] = None, 3566 **kwargs 3567 ): 3568 super(AzureFirewallFqdnTagListResult, self).__init__(**kwargs) 3569 self.value = value 3570 self.next_link = next_link 3571 3572 3573class AzureFirewallIPConfiguration(SubResource): 3574 """IP configuration of an Azure Firewall. 3575 3576 Variables are only populated by the server, and will be ignored when sending a request. 3577 3578 :param id: Resource ID. 3579 :type id: str 3580 :param name: Name of the resource that is unique within a resource group. This name can be used 3581 to access the resource. 3582 :type name: str 3583 :ivar etag: A unique read-only string that changes whenever the resource is updated. 3584 :vartype etag: str 3585 :ivar type: Type of the resource. 3586 :vartype type: str 3587 :ivar private_ip_address: The Firewall Internal Load Balancer IP to be used as the next hop in 3588 User Defined Routes. 3589 :vartype private_ip_address: str 3590 :param subnet: Reference to the subnet resource. This resource must be named 3591 'AzureFirewallSubnet' or 'AzureFirewallManagementSubnet'. 3592 :type subnet: ~azure.mgmt.network.v2019_12_01.models.SubResource 3593 :param public_ip_address: Reference to the PublicIP resource. This field is a mandatory input 3594 if subnet is not null. 3595 :type public_ip_address: ~azure.mgmt.network.v2019_12_01.models.SubResource 3596 :ivar provisioning_state: The provisioning state of the Azure firewall IP configuration 3597 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 3598 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 3599 """ 3600 3601 _validation = { 3602 'etag': {'readonly': True}, 3603 'type': {'readonly': True}, 3604 'private_ip_address': {'readonly': True}, 3605 'provisioning_state': {'readonly': True}, 3606 } 3607 3608 _attribute_map = { 3609 'id': {'key': 'id', 'type': 'str'}, 3610 'name': {'key': 'name', 'type': 'str'}, 3611 'etag': {'key': 'etag', 'type': 'str'}, 3612 'type': {'key': 'type', 'type': 'str'}, 3613 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 3614 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 3615 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, 3616 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3617 } 3618 3619 def __init__( 3620 self, 3621 *, 3622 id: Optional[str] = None, 3623 name: Optional[str] = None, 3624 subnet: Optional["SubResource"] = None, 3625 public_ip_address: Optional["SubResource"] = None, 3626 **kwargs 3627 ): 3628 super(AzureFirewallIPConfiguration, self).__init__(id=id, **kwargs) 3629 self.name = name 3630 self.etag = None 3631 self.type = None 3632 self.private_ip_address = None 3633 self.subnet = subnet 3634 self.public_ip_address = public_ip_address 3635 self.provisioning_state = None 3636 3637 3638class AzureFirewallIpGroups(msrest.serialization.Model): 3639 """IpGroups associated with azure firewall. 3640 3641 Variables are only populated by the server, and will be ignored when sending a request. 3642 3643 :ivar id: Resource ID. 3644 :vartype id: str 3645 :ivar change_number: The iteration number. 3646 :vartype change_number: str 3647 """ 3648 3649 _validation = { 3650 'id': {'readonly': True}, 3651 'change_number': {'readonly': True}, 3652 } 3653 3654 _attribute_map = { 3655 'id': {'key': 'id', 'type': 'str'}, 3656 'change_number': {'key': 'changeNumber', 'type': 'str'}, 3657 } 3658 3659 def __init__( 3660 self, 3661 **kwargs 3662 ): 3663 super(AzureFirewallIpGroups, self).__init__(**kwargs) 3664 self.id = None 3665 self.change_number = None 3666 3667 3668class AzureFirewallListResult(msrest.serialization.Model): 3669 """Response for ListAzureFirewalls API service call. 3670 3671 :param value: List of Azure Firewalls in a resource group. 3672 :type value: list[~azure.mgmt.network.v2019_12_01.models.AzureFirewall] 3673 :param next_link: URL to get the next set of results. 3674 :type next_link: str 3675 """ 3676 3677 _attribute_map = { 3678 'value': {'key': 'value', 'type': '[AzureFirewall]'}, 3679 'next_link': {'key': 'nextLink', 'type': 'str'}, 3680 } 3681 3682 def __init__( 3683 self, 3684 *, 3685 value: Optional[List["AzureFirewall"]] = None, 3686 next_link: Optional[str] = None, 3687 **kwargs 3688 ): 3689 super(AzureFirewallListResult, self).__init__(**kwargs) 3690 self.value = value 3691 self.next_link = next_link 3692 3693 3694class AzureFirewallNatRCAction(msrest.serialization.Model): 3695 """AzureFirewall NAT Rule Collection Action. 3696 3697 :param type: The type of action. Possible values include: "Snat", "Dnat". 3698 :type type: str or ~azure.mgmt.network.v2019_12_01.models.AzureFirewallNatRCActionType 3699 """ 3700 3701 _attribute_map = { 3702 'type': {'key': 'type', 'type': 'str'}, 3703 } 3704 3705 def __init__( 3706 self, 3707 *, 3708 type: Optional[Union[str, "AzureFirewallNatRCActionType"]] = None, 3709 **kwargs 3710 ): 3711 super(AzureFirewallNatRCAction, self).__init__(**kwargs) 3712 self.type = type 3713 3714 3715class AzureFirewallNatRule(msrest.serialization.Model): 3716 """Properties of a NAT rule. 3717 3718 :param name: Name of the NAT rule. 3719 :type name: str 3720 :param description: Description of the rule. 3721 :type description: str 3722 :param source_addresses: List of source IP addresses for this rule. 3723 :type source_addresses: list[str] 3724 :param destination_addresses: List of destination IP addresses for this rule. Supports IP 3725 ranges, prefixes, and service tags. 3726 :type destination_addresses: list[str] 3727 :param destination_ports: List of destination ports. 3728 :type destination_ports: list[str] 3729 :param protocols: Array of AzureFirewallNetworkRuleProtocols applicable to this NAT rule. 3730 :type protocols: list[str or 3731 ~azure.mgmt.network.v2019_12_01.models.AzureFirewallNetworkRuleProtocol] 3732 :param translated_address: The translated address for this NAT rule. 3733 :type translated_address: str 3734 :param translated_port: The translated port for this NAT rule. 3735 :type translated_port: str 3736 :param translated_fqdn: The translated FQDN for this NAT rule. 3737 :type translated_fqdn: str 3738 :param source_ip_groups: List of source IpGroups for this rule. 3739 :type source_ip_groups: list[str] 3740 """ 3741 3742 _attribute_map = { 3743 'name': {'key': 'name', 'type': 'str'}, 3744 'description': {'key': 'description', 'type': 'str'}, 3745 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, 3746 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, 3747 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, 3748 'protocols': {'key': 'protocols', 'type': '[str]'}, 3749 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, 3750 'translated_port': {'key': 'translatedPort', 'type': 'str'}, 3751 'translated_fqdn': {'key': 'translatedFqdn', 'type': 'str'}, 3752 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, 3753 } 3754 3755 def __init__( 3756 self, 3757 *, 3758 name: Optional[str] = None, 3759 description: Optional[str] = None, 3760 source_addresses: Optional[List[str]] = None, 3761 destination_addresses: Optional[List[str]] = None, 3762 destination_ports: Optional[List[str]] = None, 3763 protocols: Optional[List[Union[str, "AzureFirewallNetworkRuleProtocol"]]] = None, 3764 translated_address: Optional[str] = None, 3765 translated_port: Optional[str] = None, 3766 translated_fqdn: Optional[str] = None, 3767 source_ip_groups: Optional[List[str]] = None, 3768 **kwargs 3769 ): 3770 super(AzureFirewallNatRule, self).__init__(**kwargs) 3771 self.name = name 3772 self.description = description 3773 self.source_addresses = source_addresses 3774 self.destination_addresses = destination_addresses 3775 self.destination_ports = destination_ports 3776 self.protocols = protocols 3777 self.translated_address = translated_address 3778 self.translated_port = translated_port 3779 self.translated_fqdn = translated_fqdn 3780 self.source_ip_groups = source_ip_groups 3781 3782 3783class AzureFirewallNatRuleCollection(SubResource): 3784 """NAT rule collection resource. 3785 3786 Variables are only populated by the server, and will be ignored when sending a request. 3787 3788 :param id: Resource ID. 3789 :type id: str 3790 :param name: The name of the resource that is unique within the Azure firewall. This name can 3791 be used to access the resource. 3792 :type name: str 3793 :ivar etag: A unique read-only string that changes whenever the resource is updated. 3794 :vartype etag: str 3795 :param priority: Priority of the NAT rule collection resource. 3796 :type priority: int 3797 :param action: The action type of a NAT rule collection. 3798 :type action: ~azure.mgmt.network.v2019_12_01.models.AzureFirewallNatRCAction 3799 :param rules: Collection of rules used by a NAT rule collection. 3800 :type rules: list[~azure.mgmt.network.v2019_12_01.models.AzureFirewallNatRule] 3801 :ivar provisioning_state: The provisioning state of the NAT rule collection resource. Possible 3802 values include: "Succeeded", "Updating", "Deleting", "Failed". 3803 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 3804 """ 3805 3806 _validation = { 3807 'etag': {'readonly': True}, 3808 'priority': {'maximum': 65000, 'minimum': 100}, 3809 'provisioning_state': {'readonly': True}, 3810 } 3811 3812 _attribute_map = { 3813 'id': {'key': 'id', 'type': 'str'}, 3814 'name': {'key': 'name', 'type': 'str'}, 3815 'etag': {'key': 'etag', 'type': 'str'}, 3816 'priority': {'key': 'properties.priority', 'type': 'int'}, 3817 'action': {'key': 'properties.action', 'type': 'AzureFirewallNatRCAction'}, 3818 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNatRule]'}, 3819 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3820 } 3821 3822 def __init__( 3823 self, 3824 *, 3825 id: Optional[str] = None, 3826 name: Optional[str] = None, 3827 priority: Optional[int] = None, 3828 action: Optional["AzureFirewallNatRCAction"] = None, 3829 rules: Optional[List["AzureFirewallNatRule"]] = None, 3830 **kwargs 3831 ): 3832 super(AzureFirewallNatRuleCollection, self).__init__(id=id, **kwargs) 3833 self.name = name 3834 self.etag = None 3835 self.priority = priority 3836 self.action = action 3837 self.rules = rules 3838 self.provisioning_state = None 3839 3840 3841class AzureFirewallNetworkRule(msrest.serialization.Model): 3842 """Properties of the network rule. 3843 3844 :param name: Name of the network rule. 3845 :type name: str 3846 :param description: Description of the rule. 3847 :type description: str 3848 :param protocols: Array of AzureFirewallNetworkRuleProtocols. 3849 :type protocols: list[str or 3850 ~azure.mgmt.network.v2019_12_01.models.AzureFirewallNetworkRuleProtocol] 3851 :param source_addresses: List of source IP addresses for this rule. 3852 :type source_addresses: list[str] 3853 :param destination_addresses: List of destination IP addresses. 3854 :type destination_addresses: list[str] 3855 :param destination_ports: List of destination ports. 3856 :type destination_ports: list[str] 3857 :param destination_fqdns: List of destination FQDNs. 3858 :type destination_fqdns: list[str] 3859 :param source_ip_groups: List of source IpGroups for this rule. 3860 :type source_ip_groups: list[str] 3861 :param destination_ip_groups: List of destination IpGroups for this rule. 3862 :type destination_ip_groups: list[str] 3863 """ 3864 3865 _attribute_map = { 3866 'name': {'key': 'name', 'type': 'str'}, 3867 'description': {'key': 'description', 'type': 'str'}, 3868 'protocols': {'key': 'protocols', 'type': '[str]'}, 3869 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, 3870 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, 3871 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, 3872 'destination_fqdns': {'key': 'destinationFqdns', 'type': '[str]'}, 3873 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, 3874 'destination_ip_groups': {'key': 'destinationIpGroups', 'type': '[str]'}, 3875 } 3876 3877 def __init__( 3878 self, 3879 *, 3880 name: Optional[str] = None, 3881 description: Optional[str] = None, 3882 protocols: Optional[List[Union[str, "AzureFirewallNetworkRuleProtocol"]]] = None, 3883 source_addresses: Optional[List[str]] = None, 3884 destination_addresses: Optional[List[str]] = None, 3885 destination_ports: Optional[List[str]] = None, 3886 destination_fqdns: Optional[List[str]] = None, 3887 source_ip_groups: Optional[List[str]] = None, 3888 destination_ip_groups: Optional[List[str]] = None, 3889 **kwargs 3890 ): 3891 super(AzureFirewallNetworkRule, self).__init__(**kwargs) 3892 self.name = name 3893 self.description = description 3894 self.protocols = protocols 3895 self.source_addresses = source_addresses 3896 self.destination_addresses = destination_addresses 3897 self.destination_ports = destination_ports 3898 self.destination_fqdns = destination_fqdns 3899 self.source_ip_groups = source_ip_groups 3900 self.destination_ip_groups = destination_ip_groups 3901 3902 3903class AzureFirewallNetworkRuleCollection(SubResource): 3904 """Network rule collection resource. 3905 3906 Variables are only populated by the server, and will be ignored when sending a request. 3907 3908 :param id: Resource ID. 3909 :type id: str 3910 :param name: The name of the resource that is unique within the Azure firewall. This name can 3911 be used to access the resource. 3912 :type name: str 3913 :ivar etag: A unique read-only string that changes whenever the resource is updated. 3914 :vartype etag: str 3915 :param priority: Priority of the network rule collection resource. 3916 :type priority: int 3917 :param action: The action type of a rule collection. 3918 :type action: ~azure.mgmt.network.v2019_12_01.models.AzureFirewallRCAction 3919 :param rules: Collection of rules used by a network rule collection. 3920 :type rules: list[~azure.mgmt.network.v2019_12_01.models.AzureFirewallNetworkRule] 3921 :ivar provisioning_state: The provisioning state of the network rule collection resource. 3922 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 3923 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 3924 """ 3925 3926 _validation = { 3927 'etag': {'readonly': True}, 3928 'priority': {'maximum': 65000, 'minimum': 100}, 3929 'provisioning_state': {'readonly': True}, 3930 } 3931 3932 _attribute_map = { 3933 'id': {'key': 'id', 'type': 'str'}, 3934 'name': {'key': 'name', 'type': 'str'}, 3935 'etag': {'key': 'etag', 'type': 'str'}, 3936 'priority': {'key': 'properties.priority', 'type': 'int'}, 3937 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, 3938 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNetworkRule]'}, 3939 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3940 } 3941 3942 def __init__( 3943 self, 3944 *, 3945 id: Optional[str] = None, 3946 name: Optional[str] = None, 3947 priority: Optional[int] = None, 3948 action: Optional["AzureFirewallRCAction"] = None, 3949 rules: Optional[List["AzureFirewallNetworkRule"]] = None, 3950 **kwargs 3951 ): 3952 super(AzureFirewallNetworkRuleCollection, self).__init__(id=id, **kwargs) 3953 self.name = name 3954 self.etag = None 3955 self.priority = priority 3956 self.action = action 3957 self.rules = rules 3958 self.provisioning_state = None 3959 3960 3961class AzureFirewallPublicIPAddress(msrest.serialization.Model): 3962 """Public IP Address associated with azure firewall. 3963 3964 :param address: Public IP Address value. 3965 :type address: str 3966 """ 3967 3968 _attribute_map = { 3969 'address': {'key': 'address', 'type': 'str'}, 3970 } 3971 3972 def __init__( 3973 self, 3974 *, 3975 address: Optional[str] = None, 3976 **kwargs 3977 ): 3978 super(AzureFirewallPublicIPAddress, self).__init__(**kwargs) 3979 self.address = address 3980 3981 3982class AzureFirewallRCAction(msrest.serialization.Model): 3983 """Properties of the AzureFirewallRCAction. 3984 3985 :param type: The type of action. Possible values include: "Allow", "Deny". 3986 :type type: str or ~azure.mgmt.network.v2019_12_01.models.AzureFirewallRCActionType 3987 """ 3988 3989 _attribute_map = { 3990 'type': {'key': 'type', 'type': 'str'}, 3991 } 3992 3993 def __init__( 3994 self, 3995 *, 3996 type: Optional[Union[str, "AzureFirewallRCActionType"]] = None, 3997 **kwargs 3998 ): 3999 super(AzureFirewallRCAction, self).__init__(**kwargs) 4000 self.type = type 4001 4002 4003class AzureFirewallSku(msrest.serialization.Model): 4004 """SKU of an Azure Firewall. 4005 4006 :param name: Name of an Azure Firewall SKU. Possible values include: "AZFW_VNet", "AZFW_Hub". 4007 :type name: str or ~azure.mgmt.network.v2019_12_01.models.AzureFirewallSkuName 4008 :param tier: Tier of an Azure Firewall. Possible values include: "Standard". 4009 :type tier: str or ~azure.mgmt.network.v2019_12_01.models.AzureFirewallSkuTier 4010 """ 4011 4012 _attribute_map = { 4013 'name': {'key': 'name', 'type': 'str'}, 4014 'tier': {'key': 'tier', 'type': 'str'}, 4015 } 4016 4017 def __init__( 4018 self, 4019 *, 4020 name: Optional[Union[str, "AzureFirewallSkuName"]] = None, 4021 tier: Optional[Union[str, "AzureFirewallSkuTier"]] = None, 4022 **kwargs 4023 ): 4024 super(AzureFirewallSku, self).__init__(**kwargs) 4025 self.name = name 4026 self.tier = tier 4027 4028 4029class AzureReachabilityReport(msrest.serialization.Model): 4030 """Azure reachability report details. 4031 4032 All required parameters must be populated in order to send to Azure. 4033 4034 :param aggregation_level: Required. The aggregation level of Azure reachability report. Can be 4035 Country, State or City. 4036 :type aggregation_level: str 4037 :param provider_location: Required. Parameters that define a geographic location. 4038 :type provider_location: ~azure.mgmt.network.v2019_12_01.models.AzureReachabilityReportLocation 4039 :param reachability_report: Required. List of Azure reachability report items. 4040 :type reachability_report: 4041 list[~azure.mgmt.network.v2019_12_01.models.AzureReachabilityReportItem] 4042 """ 4043 4044 _validation = { 4045 'aggregation_level': {'required': True}, 4046 'provider_location': {'required': True}, 4047 'reachability_report': {'required': True}, 4048 } 4049 4050 _attribute_map = { 4051 'aggregation_level': {'key': 'aggregationLevel', 'type': 'str'}, 4052 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, 4053 'reachability_report': {'key': 'reachabilityReport', 'type': '[AzureReachabilityReportItem]'}, 4054 } 4055 4056 def __init__( 4057 self, 4058 *, 4059 aggregation_level: str, 4060 provider_location: "AzureReachabilityReportLocation", 4061 reachability_report: List["AzureReachabilityReportItem"], 4062 **kwargs 4063 ): 4064 super(AzureReachabilityReport, self).__init__(**kwargs) 4065 self.aggregation_level = aggregation_level 4066 self.provider_location = provider_location 4067 self.reachability_report = reachability_report 4068 4069 4070class AzureReachabilityReportItem(msrest.serialization.Model): 4071 """Azure reachability report details for a given provider location. 4072 4073 :param provider: The Internet service provider. 4074 :type provider: str 4075 :param azure_location: The Azure region. 4076 :type azure_location: str 4077 :param latencies: List of latency details for each of the time series. 4078 :type latencies: 4079 list[~azure.mgmt.network.v2019_12_01.models.AzureReachabilityReportLatencyInfo] 4080 """ 4081 4082 _attribute_map = { 4083 'provider': {'key': 'provider', 'type': 'str'}, 4084 'azure_location': {'key': 'azureLocation', 'type': 'str'}, 4085 'latencies': {'key': 'latencies', 'type': '[AzureReachabilityReportLatencyInfo]'}, 4086 } 4087 4088 def __init__( 4089 self, 4090 *, 4091 provider: Optional[str] = None, 4092 azure_location: Optional[str] = None, 4093 latencies: Optional[List["AzureReachabilityReportLatencyInfo"]] = None, 4094 **kwargs 4095 ): 4096 super(AzureReachabilityReportItem, self).__init__(**kwargs) 4097 self.provider = provider 4098 self.azure_location = azure_location 4099 self.latencies = latencies 4100 4101 4102class AzureReachabilityReportLatencyInfo(msrest.serialization.Model): 4103 """Details on latency for a time series. 4104 4105 :param time_stamp: The time stamp. 4106 :type time_stamp: ~datetime.datetime 4107 :param score: The relative latency score between 1 and 100, higher values indicating a faster 4108 connection. 4109 :type score: int 4110 """ 4111 4112 _validation = { 4113 'score': {'maximum': 100, 'minimum': 1}, 4114 } 4115 4116 _attribute_map = { 4117 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, 4118 'score': {'key': 'score', 'type': 'int'}, 4119 } 4120 4121 def __init__( 4122 self, 4123 *, 4124 time_stamp: Optional[datetime.datetime] = None, 4125 score: Optional[int] = None, 4126 **kwargs 4127 ): 4128 super(AzureReachabilityReportLatencyInfo, self).__init__(**kwargs) 4129 self.time_stamp = time_stamp 4130 self.score = score 4131 4132 4133class AzureReachabilityReportLocation(msrest.serialization.Model): 4134 """Parameters that define a geographic location. 4135 4136 All required parameters must be populated in order to send to Azure. 4137 4138 :param country: Required. The name of the country. 4139 :type country: str 4140 :param state: The name of the state. 4141 :type state: str 4142 :param city: The name of the city or town. 4143 :type city: str 4144 """ 4145 4146 _validation = { 4147 'country': {'required': True}, 4148 } 4149 4150 _attribute_map = { 4151 'country': {'key': 'country', 'type': 'str'}, 4152 'state': {'key': 'state', 'type': 'str'}, 4153 'city': {'key': 'city', 'type': 'str'}, 4154 } 4155 4156 def __init__( 4157 self, 4158 *, 4159 country: str, 4160 state: Optional[str] = None, 4161 city: Optional[str] = None, 4162 **kwargs 4163 ): 4164 super(AzureReachabilityReportLocation, self).__init__(**kwargs) 4165 self.country = country 4166 self.state = state 4167 self.city = city 4168 4169 4170class AzureReachabilityReportParameters(msrest.serialization.Model): 4171 """Geographic and time constraints for Azure reachability report. 4172 4173 All required parameters must be populated in order to send to Azure. 4174 4175 :param provider_location: Required. Parameters that define a geographic location. 4176 :type provider_location: ~azure.mgmt.network.v2019_12_01.models.AzureReachabilityReportLocation 4177 :param providers: List of Internet service providers. 4178 :type providers: list[str] 4179 :param azure_locations: Optional Azure regions to scope the query to. 4180 :type azure_locations: list[str] 4181 :param start_time: Required. The start time for the Azure reachability report. 4182 :type start_time: ~datetime.datetime 4183 :param end_time: Required. The end time for the Azure reachability report. 4184 :type end_time: ~datetime.datetime 4185 """ 4186 4187 _validation = { 4188 'provider_location': {'required': True}, 4189 'start_time': {'required': True}, 4190 'end_time': {'required': True}, 4191 } 4192 4193 _attribute_map = { 4194 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, 4195 'providers': {'key': 'providers', 'type': '[str]'}, 4196 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, 4197 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 4198 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 4199 } 4200 4201 def __init__( 4202 self, 4203 *, 4204 provider_location: "AzureReachabilityReportLocation", 4205 start_time: datetime.datetime, 4206 end_time: datetime.datetime, 4207 providers: Optional[List[str]] = None, 4208 azure_locations: Optional[List[str]] = None, 4209 **kwargs 4210 ): 4211 super(AzureReachabilityReportParameters, self).__init__(**kwargs) 4212 self.provider_location = provider_location 4213 self.providers = providers 4214 self.azure_locations = azure_locations 4215 self.start_time = start_time 4216 self.end_time = end_time 4217 4218 4219class BackendAddressPool(SubResource): 4220 """Pool of backend IP addresses. 4221 4222 Variables are only populated by the server, and will be ignored when sending a request. 4223 4224 :param id: Resource ID. 4225 :type id: str 4226 :param name: The name of the resource that is unique within the set of backend address pools 4227 used by the load balancer. This name can be used to access the resource. 4228 :type name: str 4229 :ivar etag: A unique read-only string that changes whenever the resource is updated. 4230 :vartype etag: str 4231 :ivar type: Type of the resource. 4232 :vartype type: str 4233 :ivar backend_ip_configurations: An array of references to IP addresses defined in network 4234 interfaces. 4235 :vartype backend_ip_configurations: 4236 list[~azure.mgmt.network.v2019_12_01.models.NetworkInterfaceIPConfiguration] 4237 :ivar load_balancing_rules: An array of references to load balancing rules that use this 4238 backend address pool. 4239 :vartype load_balancing_rules: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 4240 :ivar outbound_rule: A reference to an outbound rule that uses this backend address pool. 4241 :vartype outbound_rule: ~azure.mgmt.network.v2019_12_01.models.SubResource 4242 :ivar outbound_rules: An array of references to outbound rules that use this backend address 4243 pool. 4244 :vartype outbound_rules: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 4245 :ivar provisioning_state: The provisioning state of the backend address pool resource. Possible 4246 values include: "Succeeded", "Updating", "Deleting", "Failed". 4247 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 4248 """ 4249 4250 _validation = { 4251 'etag': {'readonly': True}, 4252 'type': {'readonly': True}, 4253 'backend_ip_configurations': {'readonly': True}, 4254 'load_balancing_rules': {'readonly': True}, 4255 'outbound_rule': {'readonly': True}, 4256 'outbound_rules': {'readonly': True}, 4257 'provisioning_state': {'readonly': True}, 4258 } 4259 4260 _attribute_map = { 4261 'id': {'key': 'id', 'type': 'str'}, 4262 'name': {'key': 'name', 'type': 'str'}, 4263 'etag': {'key': 'etag', 'type': 'str'}, 4264 'type': {'key': 'type', 'type': 'str'}, 4265 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 4266 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 4267 'outbound_rule': {'key': 'properties.outboundRule', 'type': 'SubResource'}, 4268 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, 4269 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4270 } 4271 4272 def __init__( 4273 self, 4274 *, 4275 id: Optional[str] = None, 4276 name: Optional[str] = None, 4277 **kwargs 4278 ): 4279 super(BackendAddressPool, self).__init__(id=id, **kwargs) 4280 self.name = name 4281 self.etag = None 4282 self.type = None 4283 self.backend_ip_configurations = None 4284 self.load_balancing_rules = None 4285 self.outbound_rule = None 4286 self.outbound_rules = None 4287 self.provisioning_state = None 4288 4289 4290class BastionActiveSession(msrest.serialization.Model): 4291 """The session detail for a target. 4292 4293 Variables are only populated by the server, and will be ignored when sending a request. 4294 4295 :ivar session_id: A unique id for the session. 4296 :vartype session_id: str 4297 :ivar start_time: The time when the session started. 4298 :vartype start_time: str 4299 :ivar target_subscription_id: The subscription id for the target virtual machine. 4300 :vartype target_subscription_id: str 4301 :ivar resource_type: The type of the resource. 4302 :vartype resource_type: str 4303 :ivar target_host_name: The host name of the target. 4304 :vartype target_host_name: str 4305 :ivar target_resource_group: The resource group of the target. 4306 :vartype target_resource_group: str 4307 :ivar user_name: The user name who is active on this session. 4308 :vartype user_name: str 4309 :ivar target_ip_address: The IP Address of the target. 4310 :vartype target_ip_address: str 4311 :ivar protocol: The protocol used to connect to the target. Possible values include: "SSH", 4312 "RDP". 4313 :vartype protocol: str or ~azure.mgmt.network.v2019_12_01.models.BastionConnectProtocol 4314 :ivar target_resource_id: The resource id of the target. 4315 :vartype target_resource_id: str 4316 :ivar session_duration_in_mins: Duration in mins the session has been active. 4317 :vartype session_duration_in_mins: float 4318 """ 4319 4320 _validation = { 4321 'session_id': {'readonly': True}, 4322 'start_time': {'readonly': True}, 4323 'target_subscription_id': {'readonly': True}, 4324 'resource_type': {'readonly': True}, 4325 'target_host_name': {'readonly': True}, 4326 'target_resource_group': {'readonly': True}, 4327 'user_name': {'readonly': True}, 4328 'target_ip_address': {'readonly': True}, 4329 'protocol': {'readonly': True}, 4330 'target_resource_id': {'readonly': True}, 4331 'session_duration_in_mins': {'readonly': True}, 4332 } 4333 4334 _attribute_map = { 4335 'session_id': {'key': 'sessionId', 'type': 'str'}, 4336 'start_time': {'key': 'startTime', 'type': 'str'}, 4337 'target_subscription_id': {'key': 'targetSubscriptionId', 'type': 'str'}, 4338 'resource_type': {'key': 'resourceType', 'type': 'str'}, 4339 'target_host_name': {'key': 'targetHostName', 'type': 'str'}, 4340 'target_resource_group': {'key': 'targetResourceGroup', 'type': 'str'}, 4341 'user_name': {'key': 'userName', 'type': 'str'}, 4342 'target_ip_address': {'key': 'targetIpAddress', 'type': 'str'}, 4343 'protocol': {'key': 'protocol', 'type': 'str'}, 4344 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 4345 'session_duration_in_mins': {'key': 'sessionDurationInMins', 'type': 'float'}, 4346 } 4347 4348 def __init__( 4349 self, 4350 **kwargs 4351 ): 4352 super(BastionActiveSession, self).__init__(**kwargs) 4353 self.session_id = None 4354 self.start_time = None 4355 self.target_subscription_id = None 4356 self.resource_type = None 4357 self.target_host_name = None 4358 self.target_resource_group = None 4359 self.user_name = None 4360 self.target_ip_address = None 4361 self.protocol = None 4362 self.target_resource_id = None 4363 self.session_duration_in_mins = None 4364 4365 4366class BastionActiveSessionListResult(msrest.serialization.Model): 4367 """Response for GetActiveSessions. 4368 4369 :param value: List of active sessions on the bastion. 4370 :type value: list[~azure.mgmt.network.v2019_12_01.models.BastionActiveSession] 4371 :param next_link: The URL to get the next set of results. 4372 :type next_link: str 4373 """ 4374 4375 _attribute_map = { 4376 'value': {'key': 'value', 'type': '[BastionActiveSession]'}, 4377 'next_link': {'key': 'nextLink', 'type': 'str'}, 4378 } 4379 4380 def __init__( 4381 self, 4382 *, 4383 value: Optional[List["BastionActiveSession"]] = None, 4384 next_link: Optional[str] = None, 4385 **kwargs 4386 ): 4387 super(BastionActiveSessionListResult, self).__init__(**kwargs) 4388 self.value = value 4389 self.next_link = next_link 4390 4391 4392class BastionHost(Resource): 4393 """Bastion Host resource. 4394 4395 Variables are only populated by the server, and will be ignored when sending a request. 4396 4397 :param id: Resource ID. 4398 :type id: str 4399 :ivar name: Resource name. 4400 :vartype name: str 4401 :ivar type: Resource type. 4402 :vartype type: str 4403 :param location: Resource location. 4404 :type location: str 4405 :param tags: A set of tags. Resource tags. 4406 :type tags: dict[str, str] 4407 :ivar etag: A unique read-only string that changes whenever the resource is updated. 4408 :vartype etag: str 4409 :param ip_configurations: IP configuration of the Bastion Host resource. 4410 :type ip_configurations: 4411 list[~azure.mgmt.network.v2019_12_01.models.BastionHostIPConfiguration] 4412 :param dns_name: FQDN for the endpoint on which bastion host is accessible. 4413 :type dns_name: str 4414 :ivar provisioning_state: The provisioning state of the bastion host resource. Possible values 4415 include: "Succeeded", "Updating", "Deleting", "Failed". 4416 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 4417 """ 4418 4419 _validation = { 4420 'name': {'readonly': True}, 4421 'type': {'readonly': True}, 4422 'etag': {'readonly': True}, 4423 'provisioning_state': {'readonly': True}, 4424 } 4425 4426 _attribute_map = { 4427 'id': {'key': 'id', 'type': 'str'}, 4428 'name': {'key': 'name', 'type': 'str'}, 4429 'type': {'key': 'type', 'type': 'str'}, 4430 'location': {'key': 'location', 'type': 'str'}, 4431 'tags': {'key': 'tags', 'type': '{str}'}, 4432 'etag': {'key': 'etag', 'type': 'str'}, 4433 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[BastionHostIPConfiguration]'}, 4434 'dns_name': {'key': 'properties.dnsName', 'type': 'str'}, 4435 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4436 } 4437 4438 def __init__( 4439 self, 4440 *, 4441 id: Optional[str] = None, 4442 location: Optional[str] = None, 4443 tags: Optional[Dict[str, str]] = None, 4444 ip_configurations: Optional[List["BastionHostIPConfiguration"]] = None, 4445 dns_name: Optional[str] = None, 4446 **kwargs 4447 ): 4448 super(BastionHost, self).__init__(id=id, location=location, tags=tags, **kwargs) 4449 self.etag = None 4450 self.ip_configurations = ip_configurations 4451 self.dns_name = dns_name 4452 self.provisioning_state = None 4453 4454 4455class BastionHostIPConfiguration(SubResource): 4456 """IP configuration of an Bastion Host. 4457 4458 Variables are only populated by the server, and will be ignored when sending a request. 4459 4460 :param id: Resource ID. 4461 :type id: str 4462 :param name: Name of the resource that is unique within a resource group. This name can be used 4463 to access the resource. 4464 :type name: str 4465 :ivar etag: A unique read-only string that changes whenever the resource is updated. 4466 :vartype etag: str 4467 :ivar type: Ip configuration type. 4468 :vartype type: str 4469 :param subnet: Reference of the subnet resource. 4470 :type subnet: ~azure.mgmt.network.v2019_12_01.models.SubResource 4471 :param public_ip_address: Reference of the PublicIP resource. 4472 :type public_ip_address: ~azure.mgmt.network.v2019_12_01.models.SubResource 4473 :ivar provisioning_state: The provisioning state of the bastion host IP configuration resource. 4474 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 4475 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 4476 :param private_ip_allocation_method: Private IP allocation method. Possible values include: 4477 "Static", "Dynamic". 4478 :type private_ip_allocation_method: str or 4479 ~azure.mgmt.network.v2019_12_01.models.IPAllocationMethod 4480 """ 4481 4482 _validation = { 4483 'etag': {'readonly': True}, 4484 'type': {'readonly': True}, 4485 'provisioning_state': {'readonly': True}, 4486 } 4487 4488 _attribute_map = { 4489 'id': {'key': 'id', 'type': 'str'}, 4490 'name': {'key': 'name', 'type': 'str'}, 4491 'etag': {'key': 'etag', 'type': 'str'}, 4492 'type': {'key': 'type', 'type': 'str'}, 4493 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 4494 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, 4495 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4496 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 4497 } 4498 4499 def __init__( 4500 self, 4501 *, 4502 id: Optional[str] = None, 4503 name: Optional[str] = None, 4504 subnet: Optional["SubResource"] = None, 4505 public_ip_address: Optional["SubResource"] = None, 4506 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 4507 **kwargs 4508 ): 4509 super(BastionHostIPConfiguration, self).__init__(id=id, **kwargs) 4510 self.name = name 4511 self.etag = None 4512 self.type = None 4513 self.subnet = subnet 4514 self.public_ip_address = public_ip_address 4515 self.provisioning_state = None 4516 self.private_ip_allocation_method = private_ip_allocation_method 4517 4518 4519class BastionHostListResult(msrest.serialization.Model): 4520 """Response for ListBastionHosts API service call. 4521 4522 :param value: List of Bastion Hosts in a resource group. 4523 :type value: list[~azure.mgmt.network.v2019_12_01.models.BastionHost] 4524 :param next_link: URL to get the next set of results. 4525 :type next_link: str 4526 """ 4527 4528 _attribute_map = { 4529 'value': {'key': 'value', 'type': '[BastionHost]'}, 4530 'next_link': {'key': 'nextLink', 'type': 'str'}, 4531 } 4532 4533 def __init__( 4534 self, 4535 *, 4536 value: Optional[List["BastionHost"]] = None, 4537 next_link: Optional[str] = None, 4538 **kwargs 4539 ): 4540 super(BastionHostListResult, self).__init__(**kwargs) 4541 self.value = value 4542 self.next_link = next_link 4543 4544 4545class BastionSessionDeleteResult(msrest.serialization.Model): 4546 """Response for DisconnectActiveSessions. 4547 4548 :param value: List of sessions with their corresponding state. 4549 :type value: list[~azure.mgmt.network.v2019_12_01.models.BastionSessionState] 4550 :param next_link: The URL to get the next set of results. 4551 :type next_link: str 4552 """ 4553 4554 _attribute_map = { 4555 'value': {'key': 'value', 'type': '[BastionSessionState]'}, 4556 'next_link': {'key': 'nextLink', 'type': 'str'}, 4557 } 4558 4559 def __init__( 4560 self, 4561 *, 4562 value: Optional[List["BastionSessionState"]] = None, 4563 next_link: Optional[str] = None, 4564 **kwargs 4565 ): 4566 super(BastionSessionDeleteResult, self).__init__(**kwargs) 4567 self.value = value 4568 self.next_link = next_link 4569 4570 4571class BastionSessionState(msrest.serialization.Model): 4572 """The session state detail for a target. 4573 4574 Variables are only populated by the server, and will be ignored when sending a request. 4575 4576 :ivar session_id: A unique id for the session. 4577 :vartype session_id: str 4578 :ivar message: Used for extra information. 4579 :vartype message: str 4580 :ivar state: The state of the session. Disconnected/Failed/NotFound. 4581 :vartype state: str 4582 """ 4583 4584 _validation = { 4585 'session_id': {'readonly': True}, 4586 'message': {'readonly': True}, 4587 'state': {'readonly': True}, 4588 } 4589 4590 _attribute_map = { 4591 'session_id': {'key': 'sessionId', 'type': 'str'}, 4592 'message': {'key': 'message', 'type': 'str'}, 4593 'state': {'key': 'state', 'type': 'str'}, 4594 } 4595 4596 def __init__( 4597 self, 4598 **kwargs 4599 ): 4600 super(BastionSessionState, self).__init__(**kwargs) 4601 self.session_id = None 4602 self.message = None 4603 self.state = None 4604 4605 4606class BastionShareableLink(msrest.serialization.Model): 4607 """Bastion Shareable Link. 4608 4609 Variables are only populated by the server, and will be ignored when sending a request. 4610 4611 All required parameters must be populated in order to send to Azure. 4612 4613 :param vm: Required. Reference of the virtual machine resource. 4614 :type vm: ~azure.mgmt.network.v2019_12_01.models.VM 4615 :ivar bsl: The unique Bastion Shareable Link to the virtual machine. 4616 :vartype bsl: str 4617 :ivar created_at: The time when the link was created. 4618 :vartype created_at: str 4619 :ivar message: Optional field indicating the warning or error message related to the vm in case 4620 of partial failure. 4621 :vartype message: str 4622 """ 4623 4624 _validation = { 4625 'vm': {'required': True}, 4626 'bsl': {'readonly': True}, 4627 'created_at': {'readonly': True}, 4628 'message': {'readonly': True}, 4629 } 4630 4631 _attribute_map = { 4632 'vm': {'key': 'vm', 'type': 'VM'}, 4633 'bsl': {'key': 'bsl', 'type': 'str'}, 4634 'created_at': {'key': 'createdAt', 'type': 'str'}, 4635 'message': {'key': 'message', 'type': 'str'}, 4636 } 4637 4638 def __init__( 4639 self, 4640 *, 4641 vm: "VM", 4642 **kwargs 4643 ): 4644 super(BastionShareableLink, self).__init__(**kwargs) 4645 self.vm = vm 4646 self.bsl = None 4647 self.created_at = None 4648 self.message = None 4649 4650 4651class BastionShareableLinkListRequest(msrest.serialization.Model): 4652 """Post request for all the Bastion Shareable Link endpoints. 4653 4654 :param vms: List of VM references. 4655 :type vms: list[~azure.mgmt.network.v2019_12_01.models.BastionShareableLink] 4656 """ 4657 4658 _attribute_map = { 4659 'vms': {'key': 'vms', 'type': '[BastionShareableLink]'}, 4660 } 4661 4662 def __init__( 4663 self, 4664 *, 4665 vms: Optional[List["BastionShareableLink"]] = None, 4666 **kwargs 4667 ): 4668 super(BastionShareableLinkListRequest, self).__init__(**kwargs) 4669 self.vms = vms 4670 4671 4672class BastionShareableLinkListResult(msrest.serialization.Model): 4673 """Response for all the Bastion Shareable Link endpoints. 4674 4675 :param value: List of Bastion Shareable Links for the request. 4676 :type value: list[~azure.mgmt.network.v2019_12_01.models.BastionShareableLink] 4677 :param next_link: The URL to get the next set of results. 4678 :type next_link: str 4679 """ 4680 4681 _attribute_map = { 4682 'value': {'key': 'value', 'type': '[BastionShareableLink]'}, 4683 'next_link': {'key': 'nextLink', 'type': 'str'}, 4684 } 4685 4686 def __init__( 4687 self, 4688 *, 4689 value: Optional[List["BastionShareableLink"]] = None, 4690 next_link: Optional[str] = None, 4691 **kwargs 4692 ): 4693 super(BastionShareableLinkListResult, self).__init__(**kwargs) 4694 self.value = value 4695 self.next_link = next_link 4696 4697 4698class BGPCommunity(msrest.serialization.Model): 4699 """Contains bgp community information offered in Service Community resources. 4700 4701 :param service_supported_region: The region which the service support. e.g. For O365, region is 4702 Global. 4703 :type service_supported_region: str 4704 :param community_name: The name of the bgp community. e.g. Skype. 4705 :type community_name: str 4706 :param community_value: The value of the bgp community. For more information: 4707 https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. 4708 :type community_value: str 4709 :param community_prefixes: The prefixes that the bgp community contains. 4710 :type community_prefixes: list[str] 4711 :param is_authorized_to_use: Customer is authorized to use bgp community or not. 4712 :type is_authorized_to_use: bool 4713 :param service_group: The service group of the bgp community contains. 4714 :type service_group: str 4715 """ 4716 4717 _attribute_map = { 4718 'service_supported_region': {'key': 'serviceSupportedRegion', 'type': 'str'}, 4719 'community_name': {'key': 'communityName', 'type': 'str'}, 4720 'community_value': {'key': 'communityValue', 'type': 'str'}, 4721 'community_prefixes': {'key': 'communityPrefixes', 'type': '[str]'}, 4722 'is_authorized_to_use': {'key': 'isAuthorizedToUse', 'type': 'bool'}, 4723 'service_group': {'key': 'serviceGroup', 'type': 'str'}, 4724 } 4725 4726 def __init__( 4727 self, 4728 *, 4729 service_supported_region: Optional[str] = None, 4730 community_name: Optional[str] = None, 4731 community_value: Optional[str] = None, 4732 community_prefixes: Optional[List[str]] = None, 4733 is_authorized_to_use: Optional[bool] = None, 4734 service_group: Optional[str] = None, 4735 **kwargs 4736 ): 4737 super(BGPCommunity, self).__init__(**kwargs) 4738 self.service_supported_region = service_supported_region 4739 self.community_name = community_name 4740 self.community_value = community_value 4741 self.community_prefixes = community_prefixes 4742 self.is_authorized_to_use = is_authorized_to_use 4743 self.service_group = service_group 4744 4745 4746class BgpPeerStatus(msrest.serialization.Model): 4747 """BGP peer status details. 4748 4749 Variables are only populated by the server, and will be ignored when sending a request. 4750 4751 :ivar local_address: The virtual network gateway's local address. 4752 :vartype local_address: str 4753 :ivar neighbor: The remote BGP peer. 4754 :vartype neighbor: str 4755 :ivar asn: The autonomous system number of the remote BGP peer. 4756 :vartype asn: int 4757 :ivar state: The BGP peer state. Possible values include: "Unknown", "Stopped", "Idle", 4758 "Connecting", "Connected". 4759 :vartype state: str or ~azure.mgmt.network.v2019_12_01.models.BgpPeerState 4760 :ivar connected_duration: For how long the peering has been up. 4761 :vartype connected_duration: str 4762 :ivar routes_received: The number of routes learned from this peer. 4763 :vartype routes_received: long 4764 :ivar messages_sent: The number of BGP messages sent. 4765 :vartype messages_sent: long 4766 :ivar messages_received: The number of BGP messages received. 4767 :vartype messages_received: long 4768 """ 4769 4770 _validation = { 4771 'local_address': {'readonly': True}, 4772 'neighbor': {'readonly': True}, 4773 'asn': {'readonly': True}, 4774 'state': {'readonly': True}, 4775 'connected_duration': {'readonly': True}, 4776 'routes_received': {'readonly': True}, 4777 'messages_sent': {'readonly': True}, 4778 'messages_received': {'readonly': True}, 4779 } 4780 4781 _attribute_map = { 4782 'local_address': {'key': 'localAddress', 'type': 'str'}, 4783 'neighbor': {'key': 'neighbor', 'type': 'str'}, 4784 'asn': {'key': 'asn', 'type': 'int'}, 4785 'state': {'key': 'state', 'type': 'str'}, 4786 'connected_duration': {'key': 'connectedDuration', 'type': 'str'}, 4787 'routes_received': {'key': 'routesReceived', 'type': 'long'}, 4788 'messages_sent': {'key': 'messagesSent', 'type': 'long'}, 4789 'messages_received': {'key': 'messagesReceived', 'type': 'long'}, 4790 } 4791 4792 def __init__( 4793 self, 4794 **kwargs 4795 ): 4796 super(BgpPeerStatus, self).__init__(**kwargs) 4797 self.local_address = None 4798 self.neighbor = None 4799 self.asn = None 4800 self.state = None 4801 self.connected_duration = None 4802 self.routes_received = None 4803 self.messages_sent = None 4804 self.messages_received = None 4805 4806 4807class BgpPeerStatusListResult(msrest.serialization.Model): 4808 """Response for list BGP peer status API service call. 4809 4810 :param value: List of BGP peers. 4811 :type value: list[~azure.mgmt.network.v2019_12_01.models.BgpPeerStatus] 4812 """ 4813 4814 _attribute_map = { 4815 'value': {'key': 'value', 'type': '[BgpPeerStatus]'}, 4816 } 4817 4818 def __init__( 4819 self, 4820 *, 4821 value: Optional[List["BgpPeerStatus"]] = None, 4822 **kwargs 4823 ): 4824 super(BgpPeerStatusListResult, self).__init__(**kwargs) 4825 self.value = value 4826 4827 4828class BgpServiceCommunity(Resource): 4829 """Service Community Properties. 4830 4831 Variables are only populated by the server, and will be ignored when sending a request. 4832 4833 :param id: Resource ID. 4834 :type id: str 4835 :ivar name: Resource name. 4836 :vartype name: str 4837 :ivar type: Resource type. 4838 :vartype type: str 4839 :param location: Resource location. 4840 :type location: str 4841 :param tags: A set of tags. Resource tags. 4842 :type tags: dict[str, str] 4843 :param service_name: The name of the bgp community. e.g. Skype. 4844 :type service_name: str 4845 :param bgp_communities: A list of bgp communities. 4846 :type bgp_communities: list[~azure.mgmt.network.v2019_12_01.models.BGPCommunity] 4847 """ 4848 4849 _validation = { 4850 'name': {'readonly': True}, 4851 'type': {'readonly': True}, 4852 } 4853 4854 _attribute_map = { 4855 'id': {'key': 'id', 'type': 'str'}, 4856 'name': {'key': 'name', 'type': 'str'}, 4857 'type': {'key': 'type', 'type': 'str'}, 4858 'location': {'key': 'location', 'type': 'str'}, 4859 'tags': {'key': 'tags', 'type': '{str}'}, 4860 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, 4861 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': '[BGPCommunity]'}, 4862 } 4863 4864 def __init__( 4865 self, 4866 *, 4867 id: Optional[str] = None, 4868 location: Optional[str] = None, 4869 tags: Optional[Dict[str, str]] = None, 4870 service_name: Optional[str] = None, 4871 bgp_communities: Optional[List["BGPCommunity"]] = None, 4872 **kwargs 4873 ): 4874 super(BgpServiceCommunity, self).__init__(id=id, location=location, tags=tags, **kwargs) 4875 self.service_name = service_name 4876 self.bgp_communities = bgp_communities 4877 4878 4879class BgpServiceCommunityListResult(msrest.serialization.Model): 4880 """Response for the ListServiceCommunity API service call. 4881 4882 :param value: A list of service community resources. 4883 :type value: list[~azure.mgmt.network.v2019_12_01.models.BgpServiceCommunity] 4884 :param next_link: The URL to get the next set of results. 4885 :type next_link: str 4886 """ 4887 4888 _attribute_map = { 4889 'value': {'key': 'value', 'type': '[BgpServiceCommunity]'}, 4890 'next_link': {'key': 'nextLink', 'type': 'str'}, 4891 } 4892 4893 def __init__( 4894 self, 4895 *, 4896 value: Optional[List["BgpServiceCommunity"]] = None, 4897 next_link: Optional[str] = None, 4898 **kwargs 4899 ): 4900 super(BgpServiceCommunityListResult, self).__init__(**kwargs) 4901 self.value = value 4902 self.next_link = next_link 4903 4904 4905class BgpSettings(msrest.serialization.Model): 4906 """BGP settings details. 4907 4908 :param asn: The BGP speaker's ASN. 4909 :type asn: long 4910 :param bgp_peering_address: The BGP peering address and BGP identifier of this BGP speaker. 4911 :type bgp_peering_address: str 4912 :param peer_weight: The weight added to routes learned from this BGP speaker. 4913 :type peer_weight: int 4914 :param bgp_peering_addresses: BGP peering address with IP configuration ID for virtual network 4915 gateway. 4916 :type bgp_peering_addresses: 4917 list[~azure.mgmt.network.v2019_12_01.models.IPConfigurationBgpPeeringAddress] 4918 """ 4919 4920 _attribute_map = { 4921 'asn': {'key': 'asn', 'type': 'long'}, 4922 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, 4923 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, 4924 'bgp_peering_addresses': {'key': 'bgpPeeringAddresses', 'type': '[IPConfigurationBgpPeeringAddress]'}, 4925 } 4926 4927 def __init__( 4928 self, 4929 *, 4930 asn: Optional[int] = None, 4931 bgp_peering_address: Optional[str] = None, 4932 peer_weight: Optional[int] = None, 4933 bgp_peering_addresses: Optional[List["IPConfigurationBgpPeeringAddress"]] = None, 4934 **kwargs 4935 ): 4936 super(BgpSettings, self).__init__(**kwargs) 4937 self.asn = asn 4938 self.bgp_peering_address = bgp_peering_address 4939 self.peer_weight = peer_weight 4940 self.bgp_peering_addresses = bgp_peering_addresses 4941 4942 4943class CheckPrivateLinkServiceVisibilityRequest(msrest.serialization.Model): 4944 """Request body of the CheckPrivateLinkServiceVisibility API service call. 4945 4946 :param private_link_service_alias: The alias of the private link service. 4947 :type private_link_service_alias: str 4948 """ 4949 4950 _attribute_map = { 4951 'private_link_service_alias': {'key': 'privateLinkServiceAlias', 'type': 'str'}, 4952 } 4953 4954 def __init__( 4955 self, 4956 *, 4957 private_link_service_alias: Optional[str] = None, 4958 **kwargs 4959 ): 4960 super(CheckPrivateLinkServiceVisibilityRequest, self).__init__(**kwargs) 4961 self.private_link_service_alias = private_link_service_alias 4962 4963 4964class CloudErrorBody(msrest.serialization.Model): 4965 """An error response from the service. 4966 4967 :param code: An identifier for the error. Codes are invariant and are intended to be consumed 4968 programmatically. 4969 :type code: str 4970 :param message: A message describing the error, intended to be suitable for display in a user 4971 interface. 4972 :type message: str 4973 :param target: The target of the particular error. For example, the name of the property in 4974 error. 4975 :type target: str 4976 :param details: A list of additional details about the error. 4977 :type details: list[~azure.mgmt.network.v2019_12_01.models.CloudErrorBody] 4978 """ 4979 4980 _attribute_map = { 4981 'code': {'key': 'code', 'type': 'str'}, 4982 'message': {'key': 'message', 'type': 'str'}, 4983 'target': {'key': 'target', 'type': 'str'}, 4984 'details': {'key': 'details', 'type': '[CloudErrorBody]'}, 4985 } 4986 4987 def __init__( 4988 self, 4989 *, 4990 code: Optional[str] = None, 4991 message: Optional[str] = None, 4992 target: Optional[str] = None, 4993 details: Optional[List["CloudErrorBody"]] = None, 4994 **kwargs 4995 ): 4996 super(CloudErrorBody, self).__init__(**kwargs) 4997 self.code = code 4998 self.message = message 4999 self.target = target 5000 self.details = details 5001 5002 5003class Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties(msrest.serialization.Model): 5004 """Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties. 5005 5006 Variables are only populated by the server, and will be ignored when sending a request. 5007 5008 :ivar principal_id: The principal id of user assigned identity. 5009 :vartype principal_id: str 5010 :ivar client_id: The client id of user assigned identity. 5011 :vartype client_id: str 5012 """ 5013 5014 _validation = { 5015 'principal_id': {'readonly': True}, 5016 'client_id': {'readonly': True}, 5017 } 5018 5019 _attribute_map = { 5020 'principal_id': {'key': 'principalId', 'type': 'str'}, 5021 'client_id': {'key': 'clientId', 'type': 'str'}, 5022 } 5023 5024 def __init__( 5025 self, 5026 **kwargs 5027 ): 5028 super(Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties, self).__init__(**kwargs) 5029 self.principal_id = None 5030 self.client_id = None 5031 5032 5033class ConnectionMonitor(msrest.serialization.Model): 5034 """Parameters that define the operation to create a connection monitor. 5035 5036 :param location: Connection monitor location. 5037 :type location: str 5038 :param tags: A set of tags. Connection monitor tags. 5039 :type tags: dict[str, str] 5040 :param source: Describes the source of connection monitor. 5041 :type source: ~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorSource 5042 :param destination: Describes the destination of connection monitor. 5043 :type destination: ~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorDestination 5044 :param auto_start: Determines if the connection monitor will start automatically once created. 5045 :type auto_start: bool 5046 :param monitoring_interval_in_seconds: Monitoring interval in seconds. 5047 :type monitoring_interval_in_seconds: int 5048 :param endpoints: List of connection monitor endpoints. 5049 :type endpoints: list[~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorEndpoint] 5050 :param test_configurations: List of connection monitor test configurations. 5051 :type test_configurations: 5052 list[~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorTestConfiguration] 5053 :param test_groups: List of connection monitor test groups. 5054 :type test_groups: list[~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorTestGroup] 5055 :param outputs: List of connection monitor outputs. 5056 :type outputs: list[~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorOutput] 5057 :param notes: Optional notes to be associated with the connection monitor. 5058 :type notes: str 5059 """ 5060 5061 _attribute_map = { 5062 'location': {'key': 'location', 'type': 'str'}, 5063 'tags': {'key': 'tags', 'type': '{str}'}, 5064 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, 5065 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, 5066 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, 5067 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, 5068 'endpoints': {'key': 'properties.endpoints', 'type': '[ConnectionMonitorEndpoint]'}, 5069 'test_configurations': {'key': 'properties.testConfigurations', 'type': '[ConnectionMonitorTestConfiguration]'}, 5070 'test_groups': {'key': 'properties.testGroups', 'type': '[ConnectionMonitorTestGroup]'}, 5071 'outputs': {'key': 'properties.outputs', 'type': '[ConnectionMonitorOutput]'}, 5072 'notes': {'key': 'properties.notes', 'type': 'str'}, 5073 } 5074 5075 def __init__( 5076 self, 5077 *, 5078 location: Optional[str] = None, 5079 tags: Optional[Dict[str, str]] = None, 5080 source: Optional["ConnectionMonitorSource"] = None, 5081 destination: Optional["ConnectionMonitorDestination"] = None, 5082 auto_start: Optional[bool] = True, 5083 monitoring_interval_in_seconds: Optional[int] = 60, 5084 endpoints: Optional[List["ConnectionMonitorEndpoint"]] = None, 5085 test_configurations: Optional[List["ConnectionMonitorTestConfiguration"]] = None, 5086 test_groups: Optional[List["ConnectionMonitorTestGroup"]] = None, 5087 outputs: Optional[List["ConnectionMonitorOutput"]] = None, 5088 notes: Optional[str] = None, 5089 **kwargs 5090 ): 5091 super(ConnectionMonitor, self).__init__(**kwargs) 5092 self.location = location 5093 self.tags = tags 5094 self.source = source 5095 self.destination = destination 5096 self.auto_start = auto_start 5097 self.monitoring_interval_in_seconds = monitoring_interval_in_seconds 5098 self.endpoints = endpoints 5099 self.test_configurations = test_configurations 5100 self.test_groups = test_groups 5101 self.outputs = outputs 5102 self.notes = notes 5103 5104 5105class ConnectionMonitorDestination(msrest.serialization.Model): 5106 """Describes the destination of connection monitor. 5107 5108 :param resource_id: The ID of the resource used as the destination by connection monitor. 5109 :type resource_id: str 5110 :param address: Address of the connection monitor destination (IP or domain name). 5111 :type address: str 5112 :param port: The destination port used by connection monitor. 5113 :type port: int 5114 """ 5115 5116 _attribute_map = { 5117 'resource_id': {'key': 'resourceId', 'type': 'str'}, 5118 'address': {'key': 'address', 'type': 'str'}, 5119 'port': {'key': 'port', 'type': 'int'}, 5120 } 5121 5122 def __init__( 5123 self, 5124 *, 5125 resource_id: Optional[str] = None, 5126 address: Optional[str] = None, 5127 port: Optional[int] = None, 5128 **kwargs 5129 ): 5130 super(ConnectionMonitorDestination, self).__init__(**kwargs) 5131 self.resource_id = resource_id 5132 self.address = address 5133 self.port = port 5134 5135 5136class ConnectionMonitorEndpoint(msrest.serialization.Model): 5137 """Describes the connection monitor endpoint. 5138 5139 All required parameters must be populated in order to send to Azure. 5140 5141 :param name: Required. The name of the connection monitor endpoint. 5142 :type name: str 5143 :param resource_id: Resource ID of the connection monitor endpoint. 5144 :type resource_id: str 5145 :param address: Address of the connection monitor endpoint (IP or domain name). 5146 :type address: str 5147 :param filter: Filter for sub-items within the endpoint. 5148 :type filter: ~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorEndpointFilter 5149 """ 5150 5151 _validation = { 5152 'name': {'required': True}, 5153 } 5154 5155 _attribute_map = { 5156 'name': {'key': 'name', 'type': 'str'}, 5157 'resource_id': {'key': 'resourceId', 'type': 'str'}, 5158 'address': {'key': 'address', 'type': 'str'}, 5159 'filter': {'key': 'filter', 'type': 'ConnectionMonitorEndpointFilter'}, 5160 } 5161 5162 def __init__( 5163 self, 5164 *, 5165 name: str, 5166 resource_id: Optional[str] = None, 5167 address: Optional[str] = None, 5168 filter: Optional["ConnectionMonitorEndpointFilter"] = None, 5169 **kwargs 5170 ): 5171 super(ConnectionMonitorEndpoint, self).__init__(**kwargs) 5172 self.name = name 5173 self.resource_id = resource_id 5174 self.address = address 5175 self.filter = filter 5176 5177 5178class ConnectionMonitorEndpointFilter(msrest.serialization.Model): 5179 """Describes the connection monitor endpoint filter. 5180 5181 :param type: The behavior of the endpoint filter. Currently only 'Include' is supported. 5182 Possible values include: "Include". 5183 :type type: str or ~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorEndpointFilterType 5184 :param items: List of items in the filter. 5185 :type items: list[~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorEndpointFilterItem] 5186 """ 5187 5188 _attribute_map = { 5189 'type': {'key': 'type', 'type': 'str'}, 5190 'items': {'key': 'items', 'type': '[ConnectionMonitorEndpointFilterItem]'}, 5191 } 5192 5193 def __init__( 5194 self, 5195 *, 5196 type: Optional[Union[str, "ConnectionMonitorEndpointFilterType"]] = None, 5197 items: Optional[List["ConnectionMonitorEndpointFilterItem"]] = None, 5198 **kwargs 5199 ): 5200 super(ConnectionMonitorEndpointFilter, self).__init__(**kwargs) 5201 self.type = type 5202 self.items = items 5203 5204 5205class ConnectionMonitorEndpointFilterItem(msrest.serialization.Model): 5206 """Describes the connection monitor endpoint filter item. 5207 5208 :param type: The type of item included in the filter. Currently only 'AgentAddress' is 5209 supported. Possible values include: "AgentAddress". 5210 :type type: str or 5211 ~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorEndpointFilterItemType 5212 :param address: The address of the filter item. 5213 :type address: str 5214 """ 5215 5216 _attribute_map = { 5217 'type': {'key': 'type', 'type': 'str'}, 5218 'address': {'key': 'address', 'type': 'str'}, 5219 } 5220 5221 def __init__( 5222 self, 5223 *, 5224 type: Optional[Union[str, "ConnectionMonitorEndpointFilterItemType"]] = None, 5225 address: Optional[str] = None, 5226 **kwargs 5227 ): 5228 super(ConnectionMonitorEndpointFilterItem, self).__init__(**kwargs) 5229 self.type = type 5230 self.address = address 5231 5232 5233class ConnectionMonitorHttpConfiguration(msrest.serialization.Model): 5234 """Describes the HTTP configuration. 5235 5236 :param port: The port to connect to. 5237 :type port: int 5238 :param method: The HTTP method to use. Possible values include: "Get", "Post". 5239 :type method: str or ~azure.mgmt.network.v2019_12_01.models.HTTPConfigurationMethod 5240 :param path: The path component of the URI. For instance, "/dir1/dir2". 5241 :type path: str 5242 :param request_headers: The HTTP headers to transmit with the request. 5243 :type request_headers: list[~azure.mgmt.network.v2019_12_01.models.HTTPHeader] 5244 :param valid_status_code_ranges: HTTP status codes to consider successful. For instance, 5245 "2xx,301-304,418". 5246 :type valid_status_code_ranges: list[str] 5247 :param prefer_https: Value indicating whether HTTPS is preferred over HTTP in cases where the 5248 choice is not explicit. 5249 :type prefer_https: bool 5250 """ 5251 5252 _attribute_map = { 5253 'port': {'key': 'port', 'type': 'int'}, 5254 'method': {'key': 'method', 'type': 'str'}, 5255 'path': {'key': 'path', 'type': 'str'}, 5256 'request_headers': {'key': 'requestHeaders', 'type': '[HTTPHeader]'}, 5257 'valid_status_code_ranges': {'key': 'validStatusCodeRanges', 'type': '[str]'}, 5258 'prefer_https': {'key': 'preferHTTPS', 'type': 'bool'}, 5259 } 5260 5261 def __init__( 5262 self, 5263 *, 5264 port: Optional[int] = None, 5265 method: Optional[Union[str, "HTTPConfigurationMethod"]] = None, 5266 path: Optional[str] = None, 5267 request_headers: Optional[List["HTTPHeader"]] = None, 5268 valid_status_code_ranges: Optional[List[str]] = None, 5269 prefer_https: Optional[bool] = None, 5270 **kwargs 5271 ): 5272 super(ConnectionMonitorHttpConfiguration, self).__init__(**kwargs) 5273 self.port = port 5274 self.method = method 5275 self.path = path 5276 self.request_headers = request_headers 5277 self.valid_status_code_ranges = valid_status_code_ranges 5278 self.prefer_https = prefer_https 5279 5280 5281class ConnectionMonitorIcmpConfiguration(msrest.serialization.Model): 5282 """Describes the ICMP configuration. 5283 5284 :param disable_trace_route: Value indicating whether path evaluation with trace route should be 5285 disabled. 5286 :type disable_trace_route: bool 5287 """ 5288 5289 _attribute_map = { 5290 'disable_trace_route': {'key': 'disableTraceRoute', 'type': 'bool'}, 5291 } 5292 5293 def __init__( 5294 self, 5295 *, 5296 disable_trace_route: Optional[bool] = None, 5297 **kwargs 5298 ): 5299 super(ConnectionMonitorIcmpConfiguration, self).__init__(**kwargs) 5300 self.disable_trace_route = disable_trace_route 5301 5302 5303class ConnectionMonitorListResult(msrest.serialization.Model): 5304 """List of connection monitors. 5305 5306 :param value: Information about connection monitors. 5307 :type value: list[~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorResult] 5308 """ 5309 5310 _attribute_map = { 5311 'value': {'key': 'value', 'type': '[ConnectionMonitorResult]'}, 5312 } 5313 5314 def __init__( 5315 self, 5316 *, 5317 value: Optional[List["ConnectionMonitorResult"]] = None, 5318 **kwargs 5319 ): 5320 super(ConnectionMonitorListResult, self).__init__(**kwargs) 5321 self.value = value 5322 5323 5324class ConnectionMonitorOutput(msrest.serialization.Model): 5325 """Describes a connection monitor output destination. 5326 5327 :param type: Connection monitor output destination type. Currently, only "Workspace" is 5328 supported. Possible values include: "Workspace". 5329 :type type: str or ~azure.mgmt.network.v2019_12_01.models.OutputType 5330 :param workspace_settings: Describes the settings for producing output into a log analytics 5331 workspace. 5332 :type workspace_settings: 5333 ~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorWorkspaceSettings 5334 """ 5335 5336 _attribute_map = { 5337 'type': {'key': 'type', 'type': 'str'}, 5338 'workspace_settings': {'key': 'workspaceSettings', 'type': 'ConnectionMonitorWorkspaceSettings'}, 5339 } 5340 5341 def __init__( 5342 self, 5343 *, 5344 type: Optional[Union[str, "OutputType"]] = None, 5345 workspace_settings: Optional["ConnectionMonitorWorkspaceSettings"] = None, 5346 **kwargs 5347 ): 5348 super(ConnectionMonitorOutput, self).__init__(**kwargs) 5349 self.type = type 5350 self.workspace_settings = workspace_settings 5351 5352 5353class ConnectionMonitorParameters(msrest.serialization.Model): 5354 """Parameters that define the operation to create a connection monitor. 5355 5356 :param source: Describes the source of connection monitor. 5357 :type source: ~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorSource 5358 :param destination: Describes the destination of connection monitor. 5359 :type destination: ~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorDestination 5360 :param auto_start: Determines if the connection monitor will start automatically once created. 5361 :type auto_start: bool 5362 :param monitoring_interval_in_seconds: Monitoring interval in seconds. 5363 :type monitoring_interval_in_seconds: int 5364 :param endpoints: List of connection monitor endpoints. 5365 :type endpoints: list[~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorEndpoint] 5366 :param test_configurations: List of connection monitor test configurations. 5367 :type test_configurations: 5368 list[~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorTestConfiguration] 5369 :param test_groups: List of connection monitor test groups. 5370 :type test_groups: list[~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorTestGroup] 5371 :param outputs: List of connection monitor outputs. 5372 :type outputs: list[~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorOutput] 5373 :param notes: Optional notes to be associated with the connection monitor. 5374 :type notes: str 5375 """ 5376 5377 _attribute_map = { 5378 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, 5379 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, 5380 'auto_start': {'key': 'autoStart', 'type': 'bool'}, 5381 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, 5382 'endpoints': {'key': 'endpoints', 'type': '[ConnectionMonitorEndpoint]'}, 5383 'test_configurations': {'key': 'testConfigurations', 'type': '[ConnectionMonitorTestConfiguration]'}, 5384 'test_groups': {'key': 'testGroups', 'type': '[ConnectionMonitorTestGroup]'}, 5385 'outputs': {'key': 'outputs', 'type': '[ConnectionMonitorOutput]'}, 5386 'notes': {'key': 'notes', 'type': 'str'}, 5387 } 5388 5389 def __init__( 5390 self, 5391 *, 5392 source: Optional["ConnectionMonitorSource"] = None, 5393 destination: Optional["ConnectionMonitorDestination"] = None, 5394 auto_start: Optional[bool] = True, 5395 monitoring_interval_in_seconds: Optional[int] = 60, 5396 endpoints: Optional[List["ConnectionMonitorEndpoint"]] = None, 5397 test_configurations: Optional[List["ConnectionMonitorTestConfiguration"]] = None, 5398 test_groups: Optional[List["ConnectionMonitorTestGroup"]] = None, 5399 outputs: Optional[List["ConnectionMonitorOutput"]] = None, 5400 notes: Optional[str] = None, 5401 **kwargs 5402 ): 5403 super(ConnectionMonitorParameters, self).__init__(**kwargs) 5404 self.source = source 5405 self.destination = destination 5406 self.auto_start = auto_start 5407 self.monitoring_interval_in_seconds = monitoring_interval_in_seconds 5408 self.endpoints = endpoints 5409 self.test_configurations = test_configurations 5410 self.test_groups = test_groups 5411 self.outputs = outputs 5412 self.notes = notes 5413 5414 5415class ConnectionMonitorQueryResult(msrest.serialization.Model): 5416 """List of connection states snapshots. 5417 5418 :param source_status: Status of connection monitor source. Possible values include: "Unknown", 5419 "Active", "Inactive". 5420 :type source_status: str or 5421 ~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorSourceStatus 5422 :param states: Information about connection states. 5423 :type states: list[~azure.mgmt.network.v2019_12_01.models.ConnectionStateSnapshot] 5424 """ 5425 5426 _attribute_map = { 5427 'source_status': {'key': 'sourceStatus', 'type': 'str'}, 5428 'states': {'key': 'states', 'type': '[ConnectionStateSnapshot]'}, 5429 } 5430 5431 def __init__( 5432 self, 5433 *, 5434 source_status: Optional[Union[str, "ConnectionMonitorSourceStatus"]] = None, 5435 states: Optional[List["ConnectionStateSnapshot"]] = None, 5436 **kwargs 5437 ): 5438 super(ConnectionMonitorQueryResult, self).__init__(**kwargs) 5439 self.source_status = source_status 5440 self.states = states 5441 5442 5443class ConnectionMonitorResult(msrest.serialization.Model): 5444 """Information about the connection monitor. 5445 5446 Variables are only populated by the server, and will be ignored when sending a request. 5447 5448 :ivar name: Name of the connection monitor. 5449 :vartype name: str 5450 :ivar id: ID of the connection monitor. 5451 :vartype id: str 5452 :ivar etag: A unique read-only string that changes whenever the resource is updated. 5453 :vartype etag: str 5454 :ivar type: Connection monitor type. 5455 :vartype type: str 5456 :param location: Connection monitor location. 5457 :type location: str 5458 :param tags: A set of tags. Connection monitor tags. 5459 :type tags: dict[str, str] 5460 :param source: Describes the source of connection monitor. 5461 :type source: ~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorSource 5462 :param destination: Describes the destination of connection monitor. 5463 :type destination: ~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorDestination 5464 :param auto_start: Determines if the connection monitor will start automatically once created. 5465 :type auto_start: bool 5466 :param monitoring_interval_in_seconds: Monitoring interval in seconds. 5467 :type monitoring_interval_in_seconds: int 5468 :param endpoints: List of connection monitor endpoints. 5469 :type endpoints: list[~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorEndpoint] 5470 :param test_configurations: List of connection monitor test configurations. 5471 :type test_configurations: 5472 list[~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorTestConfiguration] 5473 :param test_groups: List of connection monitor test groups. 5474 :type test_groups: list[~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorTestGroup] 5475 :param outputs: List of connection monitor outputs. 5476 :type outputs: list[~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorOutput] 5477 :param notes: Optional notes to be associated with the connection monitor. 5478 :type notes: str 5479 :ivar provisioning_state: The provisioning state of the connection monitor. Possible values 5480 include: "Succeeded", "Updating", "Deleting", "Failed". 5481 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 5482 :ivar start_time: The date and time when the connection monitor was started. 5483 :vartype start_time: ~datetime.datetime 5484 :ivar monitoring_status: The monitoring status of the connection monitor. 5485 :vartype monitoring_status: str 5486 :ivar connection_monitor_type: Type of connection monitor. Possible values include: 5487 "MultiEndpoint", "SingleSourceDestination". 5488 :vartype connection_monitor_type: str or 5489 ~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorType 5490 """ 5491 5492 _validation = { 5493 'name': {'readonly': True}, 5494 'id': {'readonly': True}, 5495 'etag': {'readonly': True}, 5496 'type': {'readonly': True}, 5497 'provisioning_state': {'readonly': True}, 5498 'start_time': {'readonly': True}, 5499 'monitoring_status': {'readonly': True}, 5500 'connection_monitor_type': {'readonly': True}, 5501 } 5502 5503 _attribute_map = { 5504 'name': {'key': 'name', 'type': 'str'}, 5505 'id': {'key': 'id', 'type': 'str'}, 5506 'etag': {'key': 'etag', 'type': 'str'}, 5507 'type': {'key': 'type', 'type': 'str'}, 5508 'location': {'key': 'location', 'type': 'str'}, 5509 'tags': {'key': 'tags', 'type': '{str}'}, 5510 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, 5511 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, 5512 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, 5513 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, 5514 'endpoints': {'key': 'properties.endpoints', 'type': '[ConnectionMonitorEndpoint]'}, 5515 'test_configurations': {'key': 'properties.testConfigurations', 'type': '[ConnectionMonitorTestConfiguration]'}, 5516 'test_groups': {'key': 'properties.testGroups', 'type': '[ConnectionMonitorTestGroup]'}, 5517 'outputs': {'key': 'properties.outputs', 'type': '[ConnectionMonitorOutput]'}, 5518 'notes': {'key': 'properties.notes', 'type': 'str'}, 5519 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5520 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, 5521 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, 5522 'connection_monitor_type': {'key': 'properties.connectionMonitorType', 'type': 'str'}, 5523 } 5524 5525 def __init__( 5526 self, 5527 *, 5528 location: Optional[str] = None, 5529 tags: Optional[Dict[str, str]] = None, 5530 source: Optional["ConnectionMonitorSource"] = None, 5531 destination: Optional["ConnectionMonitorDestination"] = None, 5532 auto_start: Optional[bool] = True, 5533 monitoring_interval_in_seconds: Optional[int] = 60, 5534 endpoints: Optional[List["ConnectionMonitorEndpoint"]] = None, 5535 test_configurations: Optional[List["ConnectionMonitorTestConfiguration"]] = None, 5536 test_groups: Optional[List["ConnectionMonitorTestGroup"]] = None, 5537 outputs: Optional[List["ConnectionMonitorOutput"]] = None, 5538 notes: Optional[str] = None, 5539 **kwargs 5540 ): 5541 super(ConnectionMonitorResult, self).__init__(**kwargs) 5542 self.name = None 5543 self.id = None 5544 self.etag = None 5545 self.type = None 5546 self.location = location 5547 self.tags = tags 5548 self.source = source 5549 self.destination = destination 5550 self.auto_start = auto_start 5551 self.monitoring_interval_in_seconds = monitoring_interval_in_seconds 5552 self.endpoints = endpoints 5553 self.test_configurations = test_configurations 5554 self.test_groups = test_groups 5555 self.outputs = outputs 5556 self.notes = notes 5557 self.provisioning_state = None 5558 self.start_time = None 5559 self.monitoring_status = None 5560 self.connection_monitor_type = None 5561 5562 5563class ConnectionMonitorResultProperties(ConnectionMonitorParameters): 5564 """Describes the properties of a connection monitor. 5565 5566 Variables are only populated by the server, and will be ignored when sending a request. 5567 5568 :param source: Describes the source of connection monitor. 5569 :type source: ~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorSource 5570 :param destination: Describes the destination of connection monitor. 5571 :type destination: ~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorDestination 5572 :param auto_start: Determines if the connection monitor will start automatically once created. 5573 :type auto_start: bool 5574 :param monitoring_interval_in_seconds: Monitoring interval in seconds. 5575 :type monitoring_interval_in_seconds: int 5576 :param endpoints: List of connection monitor endpoints. 5577 :type endpoints: list[~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorEndpoint] 5578 :param test_configurations: List of connection monitor test configurations. 5579 :type test_configurations: 5580 list[~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorTestConfiguration] 5581 :param test_groups: List of connection monitor test groups. 5582 :type test_groups: list[~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorTestGroup] 5583 :param outputs: List of connection monitor outputs. 5584 :type outputs: list[~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorOutput] 5585 :param notes: Optional notes to be associated with the connection monitor. 5586 :type notes: str 5587 :ivar provisioning_state: The provisioning state of the connection monitor. Possible values 5588 include: "Succeeded", "Updating", "Deleting", "Failed". 5589 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 5590 :ivar start_time: The date and time when the connection monitor was started. 5591 :vartype start_time: ~datetime.datetime 5592 :ivar monitoring_status: The monitoring status of the connection monitor. 5593 :vartype monitoring_status: str 5594 :ivar connection_monitor_type: Type of connection monitor. Possible values include: 5595 "MultiEndpoint", "SingleSourceDestination". 5596 :vartype connection_monitor_type: str or 5597 ~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorType 5598 """ 5599 5600 _validation = { 5601 'provisioning_state': {'readonly': True}, 5602 'start_time': {'readonly': True}, 5603 'monitoring_status': {'readonly': True}, 5604 'connection_monitor_type': {'readonly': True}, 5605 } 5606 5607 _attribute_map = { 5608 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, 5609 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, 5610 'auto_start': {'key': 'autoStart', 'type': 'bool'}, 5611 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, 5612 'endpoints': {'key': 'endpoints', 'type': '[ConnectionMonitorEndpoint]'}, 5613 'test_configurations': {'key': 'testConfigurations', 'type': '[ConnectionMonitorTestConfiguration]'}, 5614 'test_groups': {'key': 'testGroups', 'type': '[ConnectionMonitorTestGroup]'}, 5615 'outputs': {'key': 'outputs', 'type': '[ConnectionMonitorOutput]'}, 5616 'notes': {'key': 'notes', 'type': 'str'}, 5617 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 5618 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 5619 'monitoring_status': {'key': 'monitoringStatus', 'type': 'str'}, 5620 'connection_monitor_type': {'key': 'connectionMonitorType', 'type': 'str'}, 5621 } 5622 5623 def __init__( 5624 self, 5625 *, 5626 source: Optional["ConnectionMonitorSource"] = None, 5627 destination: Optional["ConnectionMonitorDestination"] = None, 5628 auto_start: Optional[bool] = True, 5629 monitoring_interval_in_seconds: Optional[int] = 60, 5630 endpoints: Optional[List["ConnectionMonitorEndpoint"]] = None, 5631 test_configurations: Optional[List["ConnectionMonitorTestConfiguration"]] = None, 5632 test_groups: Optional[List["ConnectionMonitorTestGroup"]] = None, 5633 outputs: Optional[List["ConnectionMonitorOutput"]] = None, 5634 notes: Optional[str] = None, 5635 **kwargs 5636 ): 5637 super(ConnectionMonitorResultProperties, self).__init__(source=source, destination=destination, auto_start=auto_start, monitoring_interval_in_seconds=monitoring_interval_in_seconds, endpoints=endpoints, test_configurations=test_configurations, test_groups=test_groups, outputs=outputs, notes=notes, **kwargs) 5638 self.provisioning_state = None 5639 self.start_time = None 5640 self.monitoring_status = None 5641 self.connection_monitor_type = None 5642 5643 5644class ConnectionMonitorSource(msrest.serialization.Model): 5645 """Describes the source of connection monitor. 5646 5647 All required parameters must be populated in order to send to Azure. 5648 5649 :param resource_id: Required. The ID of the resource used as the source by connection monitor. 5650 :type resource_id: str 5651 :param port: The source port used by connection monitor. 5652 :type port: int 5653 """ 5654 5655 _validation = { 5656 'resource_id': {'required': True}, 5657 } 5658 5659 _attribute_map = { 5660 'resource_id': {'key': 'resourceId', 'type': 'str'}, 5661 'port': {'key': 'port', 'type': 'int'}, 5662 } 5663 5664 def __init__( 5665 self, 5666 *, 5667 resource_id: str, 5668 port: Optional[int] = None, 5669 **kwargs 5670 ): 5671 super(ConnectionMonitorSource, self).__init__(**kwargs) 5672 self.resource_id = resource_id 5673 self.port = port 5674 5675 5676class ConnectionMonitorSuccessThreshold(msrest.serialization.Model): 5677 """Describes the threshold for declaring a test successful. 5678 5679 :param checks_failed_percent: The maximum percentage of failed checks permitted for a test to 5680 evaluate as successful. 5681 :type checks_failed_percent: int 5682 :param round_trip_time_ms: The maximum round-trip time in milliseconds permitted for a test to 5683 evaluate as successful. 5684 :type round_trip_time_ms: int 5685 """ 5686 5687 _attribute_map = { 5688 'checks_failed_percent': {'key': 'checksFailedPercent', 'type': 'int'}, 5689 'round_trip_time_ms': {'key': 'roundTripTimeMs', 'type': 'int'}, 5690 } 5691 5692 def __init__( 5693 self, 5694 *, 5695 checks_failed_percent: Optional[int] = None, 5696 round_trip_time_ms: Optional[int] = None, 5697 **kwargs 5698 ): 5699 super(ConnectionMonitorSuccessThreshold, self).__init__(**kwargs) 5700 self.checks_failed_percent = checks_failed_percent 5701 self.round_trip_time_ms = round_trip_time_ms 5702 5703 5704class ConnectionMonitorTcpConfiguration(msrest.serialization.Model): 5705 """Describes the TCP configuration. 5706 5707 :param port: The port to connect to. 5708 :type port: int 5709 :param disable_trace_route: Value indicating whether path evaluation with trace route should be 5710 disabled. 5711 :type disable_trace_route: bool 5712 """ 5713 5714 _attribute_map = { 5715 'port': {'key': 'port', 'type': 'int'}, 5716 'disable_trace_route': {'key': 'disableTraceRoute', 'type': 'bool'}, 5717 } 5718 5719 def __init__( 5720 self, 5721 *, 5722 port: Optional[int] = None, 5723 disable_trace_route: Optional[bool] = None, 5724 **kwargs 5725 ): 5726 super(ConnectionMonitorTcpConfiguration, self).__init__(**kwargs) 5727 self.port = port 5728 self.disable_trace_route = disable_trace_route 5729 5730 5731class ConnectionMonitorTestConfiguration(msrest.serialization.Model): 5732 """Describes a connection monitor test configuration. 5733 5734 All required parameters must be populated in order to send to Azure. 5735 5736 :param name: Required. The name of the connection monitor test configuration. 5737 :type name: str 5738 :param test_frequency_sec: The frequency of test evaluation, in seconds. 5739 :type test_frequency_sec: int 5740 :param protocol: Required. The protocol to use in test evaluation. Possible values include: 5741 "Tcp", "Http", "Icmp". 5742 :type protocol: str or 5743 ~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorTestConfigurationProtocol 5744 :param preferred_ip_version: The preferred IP version to use in test evaluation. The connection 5745 monitor may choose to use a different version depending on other parameters. Possible values 5746 include: "IPv4", "IPv6". 5747 :type preferred_ip_version: str or ~azure.mgmt.network.v2019_12_01.models.PreferredIPVersion 5748 :param http_configuration: The parameters used to perform test evaluation over HTTP. 5749 :type http_configuration: 5750 ~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorHttpConfiguration 5751 :param tcp_configuration: The parameters used to perform test evaluation over TCP. 5752 :type tcp_configuration: 5753 ~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorTcpConfiguration 5754 :param icmp_configuration: The parameters used to perform test evaluation over ICMP. 5755 :type icmp_configuration: 5756 ~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorIcmpConfiguration 5757 :param success_threshold: The threshold for declaring a test successful. 5758 :type success_threshold: 5759 ~azure.mgmt.network.v2019_12_01.models.ConnectionMonitorSuccessThreshold 5760 """ 5761 5762 _validation = { 5763 'name': {'required': True}, 5764 'protocol': {'required': True}, 5765 } 5766 5767 _attribute_map = { 5768 'name': {'key': 'name', 'type': 'str'}, 5769 'test_frequency_sec': {'key': 'testFrequencySec', 'type': 'int'}, 5770 'protocol': {'key': 'protocol', 'type': 'str'}, 5771 'preferred_ip_version': {'key': 'preferredIPVersion', 'type': 'str'}, 5772 'http_configuration': {'key': 'httpConfiguration', 'type': 'ConnectionMonitorHttpConfiguration'}, 5773 'tcp_configuration': {'key': 'tcpConfiguration', 'type': 'ConnectionMonitorTcpConfiguration'}, 5774 'icmp_configuration': {'key': 'icmpConfiguration', 'type': 'ConnectionMonitorIcmpConfiguration'}, 5775 'success_threshold': {'key': 'successThreshold', 'type': 'ConnectionMonitorSuccessThreshold'}, 5776 } 5777 5778 def __init__( 5779 self, 5780 *, 5781 name: str, 5782 protocol: Union[str, "ConnectionMonitorTestConfigurationProtocol"], 5783 test_frequency_sec: Optional[int] = None, 5784 preferred_ip_version: Optional[Union[str, "PreferredIPVersion"]] = None, 5785 http_configuration: Optional["ConnectionMonitorHttpConfiguration"] = None, 5786 tcp_configuration: Optional["ConnectionMonitorTcpConfiguration"] = None, 5787 icmp_configuration: Optional["ConnectionMonitorIcmpConfiguration"] = None, 5788 success_threshold: Optional["ConnectionMonitorSuccessThreshold"] = None, 5789 **kwargs 5790 ): 5791 super(ConnectionMonitorTestConfiguration, self).__init__(**kwargs) 5792 self.name = name 5793 self.test_frequency_sec = test_frequency_sec 5794 self.protocol = protocol 5795 self.preferred_ip_version = preferred_ip_version 5796 self.http_configuration = http_configuration 5797 self.tcp_configuration = tcp_configuration 5798 self.icmp_configuration = icmp_configuration 5799 self.success_threshold = success_threshold 5800 5801 5802class ConnectionMonitorTestGroup(msrest.serialization.Model): 5803 """Describes the connection monitor test group. 5804 5805 All required parameters must be populated in order to send to Azure. 5806 5807 :param name: Required. The name of the connection monitor test group. 5808 :type name: str 5809 :param disable: Value indicating whether test group is disabled. 5810 :type disable: bool 5811 :param test_configurations: Required. List of test configuration names. 5812 :type test_configurations: list[str] 5813 :param sources: Required. List of source endpoint names. 5814 :type sources: list[str] 5815 :param destinations: Required. List of destination endpoint names. 5816 :type destinations: list[str] 5817 """ 5818 5819 _validation = { 5820 'name': {'required': True}, 5821 'test_configurations': {'required': True}, 5822 'sources': {'required': True}, 5823 'destinations': {'required': True}, 5824 } 5825 5826 _attribute_map = { 5827 'name': {'key': 'name', 'type': 'str'}, 5828 'disable': {'key': 'disable', 'type': 'bool'}, 5829 'test_configurations': {'key': 'testConfigurations', 'type': '[str]'}, 5830 'sources': {'key': 'sources', 'type': '[str]'}, 5831 'destinations': {'key': 'destinations', 'type': '[str]'}, 5832 } 5833 5834 def __init__( 5835 self, 5836 *, 5837 name: str, 5838 test_configurations: List[str], 5839 sources: List[str], 5840 destinations: List[str], 5841 disable: Optional[bool] = None, 5842 **kwargs 5843 ): 5844 super(ConnectionMonitorTestGroup, self).__init__(**kwargs) 5845 self.name = name 5846 self.disable = disable 5847 self.test_configurations = test_configurations 5848 self.sources = sources 5849 self.destinations = destinations 5850 5851 5852class ConnectionMonitorWorkspaceSettings(msrest.serialization.Model): 5853 """Describes the settings for producing output into a log analytics workspace. 5854 5855 :param workspace_resource_id: Log analytics workspace resource ID. 5856 :type workspace_resource_id: str 5857 """ 5858 5859 _attribute_map = { 5860 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, 5861 } 5862 5863 def __init__( 5864 self, 5865 *, 5866 workspace_resource_id: Optional[str] = None, 5867 **kwargs 5868 ): 5869 super(ConnectionMonitorWorkspaceSettings, self).__init__(**kwargs) 5870 self.workspace_resource_id = workspace_resource_id 5871 5872 5873class ConnectionResetSharedKey(msrest.serialization.Model): 5874 """The virtual network connection reset shared key. 5875 5876 All required parameters must be populated in order to send to Azure. 5877 5878 :param key_length: Required. The virtual network connection reset shared key length, should 5879 between 1 and 128. 5880 :type key_length: int 5881 """ 5882 5883 _validation = { 5884 'key_length': {'required': True, 'maximum': 128, 'minimum': 1}, 5885 } 5886 5887 _attribute_map = { 5888 'key_length': {'key': 'keyLength', 'type': 'int'}, 5889 } 5890 5891 def __init__( 5892 self, 5893 *, 5894 key_length: int, 5895 **kwargs 5896 ): 5897 super(ConnectionResetSharedKey, self).__init__(**kwargs) 5898 self.key_length = key_length 5899 5900 5901class ConnectionSharedKey(SubResource): 5902 """Response for GetConnectionSharedKey API service call. 5903 5904 All required parameters must be populated in order to send to Azure. 5905 5906 :param id: Resource ID. 5907 :type id: str 5908 :param value: Required. The virtual network connection shared key value. 5909 :type value: str 5910 """ 5911 5912 _validation = { 5913 'value': {'required': True}, 5914 } 5915 5916 _attribute_map = { 5917 'id': {'key': 'id', 'type': 'str'}, 5918 'value': {'key': 'value', 'type': 'str'}, 5919 } 5920 5921 def __init__( 5922 self, 5923 *, 5924 value: str, 5925 id: Optional[str] = None, 5926 **kwargs 5927 ): 5928 super(ConnectionSharedKey, self).__init__(id=id, **kwargs) 5929 self.value = value 5930 5931 5932class ConnectionStateSnapshot(msrest.serialization.Model): 5933 """Connection state snapshot. 5934 5935 Variables are only populated by the server, and will be ignored when sending a request. 5936 5937 :param connection_state: The connection state. Possible values include: "Reachable", 5938 "Unreachable", "Unknown". 5939 :type connection_state: str or ~azure.mgmt.network.v2019_12_01.models.ConnectionState 5940 :param start_time: The start time of the connection snapshot. 5941 :type start_time: ~datetime.datetime 5942 :param end_time: The end time of the connection snapshot. 5943 :type end_time: ~datetime.datetime 5944 :param evaluation_state: Connectivity analysis evaluation state. Possible values include: 5945 "NotStarted", "InProgress", "Completed". 5946 :type evaluation_state: str or ~azure.mgmt.network.v2019_12_01.models.EvaluationState 5947 :param avg_latency_in_ms: Average latency in ms. 5948 :type avg_latency_in_ms: int 5949 :param min_latency_in_ms: Minimum latency in ms. 5950 :type min_latency_in_ms: int 5951 :param max_latency_in_ms: Maximum latency in ms. 5952 :type max_latency_in_ms: int 5953 :param probes_sent: The number of sent probes. 5954 :type probes_sent: int 5955 :param probes_failed: The number of failed probes. 5956 :type probes_failed: int 5957 :ivar hops: List of hops between the source and the destination. 5958 :vartype hops: list[~azure.mgmt.network.v2019_12_01.models.ConnectivityHop] 5959 """ 5960 5961 _validation = { 5962 'hops': {'readonly': True}, 5963 } 5964 5965 _attribute_map = { 5966 'connection_state': {'key': 'connectionState', 'type': 'str'}, 5967 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 5968 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 5969 'evaluation_state': {'key': 'evaluationState', 'type': 'str'}, 5970 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, 5971 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, 5972 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, 5973 'probes_sent': {'key': 'probesSent', 'type': 'int'}, 5974 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, 5975 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, 5976 } 5977 5978 def __init__( 5979 self, 5980 *, 5981 connection_state: Optional[Union[str, "ConnectionState"]] = None, 5982 start_time: Optional[datetime.datetime] = None, 5983 end_time: Optional[datetime.datetime] = None, 5984 evaluation_state: Optional[Union[str, "EvaluationState"]] = None, 5985 avg_latency_in_ms: Optional[int] = None, 5986 min_latency_in_ms: Optional[int] = None, 5987 max_latency_in_ms: Optional[int] = None, 5988 probes_sent: Optional[int] = None, 5989 probes_failed: Optional[int] = None, 5990 **kwargs 5991 ): 5992 super(ConnectionStateSnapshot, self).__init__(**kwargs) 5993 self.connection_state = connection_state 5994 self.start_time = start_time 5995 self.end_time = end_time 5996 self.evaluation_state = evaluation_state 5997 self.avg_latency_in_ms = avg_latency_in_ms 5998 self.min_latency_in_ms = min_latency_in_ms 5999 self.max_latency_in_ms = max_latency_in_ms 6000 self.probes_sent = probes_sent 6001 self.probes_failed = probes_failed 6002 self.hops = None 6003 6004 6005class ConnectivityDestination(msrest.serialization.Model): 6006 """Parameters that define destination of connection. 6007 6008 :param resource_id: The ID of the resource to which a connection attempt will be made. 6009 :type resource_id: str 6010 :param address: The IP address or URI the resource to which a connection attempt will be made. 6011 :type address: str 6012 :param port: Port on which check connectivity will be performed. 6013 :type port: int 6014 """ 6015 6016 _attribute_map = { 6017 'resource_id': {'key': 'resourceId', 'type': 'str'}, 6018 'address': {'key': 'address', 'type': 'str'}, 6019 'port': {'key': 'port', 'type': 'int'}, 6020 } 6021 6022 def __init__( 6023 self, 6024 *, 6025 resource_id: Optional[str] = None, 6026 address: Optional[str] = None, 6027 port: Optional[int] = None, 6028 **kwargs 6029 ): 6030 super(ConnectivityDestination, self).__init__(**kwargs) 6031 self.resource_id = resource_id 6032 self.address = address 6033 self.port = port 6034 6035 6036class ConnectivityHop(msrest.serialization.Model): 6037 """Information about a hop between the source and the destination. 6038 6039 Variables are only populated by the server, and will be ignored when sending a request. 6040 6041 :ivar type: The type of the hop. 6042 :vartype type: str 6043 :ivar id: The ID of the hop. 6044 :vartype id: str 6045 :ivar address: The IP address of the hop. 6046 :vartype address: str 6047 :ivar resource_id: The ID of the resource corresponding to this hop. 6048 :vartype resource_id: str 6049 :ivar next_hop_ids: List of next hop identifiers. 6050 :vartype next_hop_ids: list[str] 6051 :ivar issues: List of issues. 6052 :vartype issues: list[~azure.mgmt.network.v2019_12_01.models.ConnectivityIssue] 6053 """ 6054 6055 _validation = { 6056 'type': {'readonly': True}, 6057 'id': {'readonly': True}, 6058 'address': {'readonly': True}, 6059 'resource_id': {'readonly': True}, 6060 'next_hop_ids': {'readonly': True}, 6061 'issues': {'readonly': True}, 6062 } 6063 6064 _attribute_map = { 6065 'type': {'key': 'type', 'type': 'str'}, 6066 'id': {'key': 'id', 'type': 'str'}, 6067 'address': {'key': 'address', 'type': 'str'}, 6068 'resource_id': {'key': 'resourceId', 'type': 'str'}, 6069 'next_hop_ids': {'key': 'nextHopIds', 'type': '[str]'}, 6070 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, 6071 } 6072 6073 def __init__( 6074 self, 6075 **kwargs 6076 ): 6077 super(ConnectivityHop, self).__init__(**kwargs) 6078 self.type = None 6079 self.id = None 6080 self.address = None 6081 self.resource_id = None 6082 self.next_hop_ids = None 6083 self.issues = None 6084 6085 6086class ConnectivityInformation(msrest.serialization.Model): 6087 """Information on the connectivity status. 6088 6089 Variables are only populated by the server, and will be ignored when sending a request. 6090 6091 :ivar hops: List of hops between the source and the destination. 6092 :vartype hops: list[~azure.mgmt.network.v2019_12_01.models.ConnectivityHop] 6093 :ivar connection_status: The connection status. Possible values include: "Unknown", 6094 "Connected", "Disconnected", "Degraded". 6095 :vartype connection_status: str or ~azure.mgmt.network.v2019_12_01.models.ConnectionStatus 6096 :ivar avg_latency_in_ms: Average latency in milliseconds. 6097 :vartype avg_latency_in_ms: int 6098 :ivar min_latency_in_ms: Minimum latency in milliseconds. 6099 :vartype min_latency_in_ms: int 6100 :ivar max_latency_in_ms: Maximum latency in milliseconds. 6101 :vartype max_latency_in_ms: int 6102 :ivar probes_sent: Total number of probes sent. 6103 :vartype probes_sent: int 6104 :ivar probes_failed: Number of failed probes. 6105 :vartype probes_failed: int 6106 """ 6107 6108 _validation = { 6109 'hops': {'readonly': True}, 6110 'connection_status': {'readonly': True}, 6111 'avg_latency_in_ms': {'readonly': True}, 6112 'min_latency_in_ms': {'readonly': True}, 6113 'max_latency_in_ms': {'readonly': True}, 6114 'probes_sent': {'readonly': True}, 6115 'probes_failed': {'readonly': True}, 6116 } 6117 6118 _attribute_map = { 6119 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, 6120 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, 6121 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, 6122 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, 6123 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, 6124 'probes_sent': {'key': 'probesSent', 'type': 'int'}, 6125 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, 6126 } 6127 6128 def __init__( 6129 self, 6130 **kwargs 6131 ): 6132 super(ConnectivityInformation, self).__init__(**kwargs) 6133 self.hops = None 6134 self.connection_status = None 6135 self.avg_latency_in_ms = None 6136 self.min_latency_in_ms = None 6137 self.max_latency_in_ms = None 6138 self.probes_sent = None 6139 self.probes_failed = None 6140 6141 6142class ConnectivityIssue(msrest.serialization.Model): 6143 """Information about an issue encountered in the process of checking for connectivity. 6144 6145 Variables are only populated by the server, and will be ignored when sending a request. 6146 6147 :ivar origin: The origin of the issue. Possible values include: "Local", "Inbound", "Outbound". 6148 :vartype origin: str or ~azure.mgmt.network.v2019_12_01.models.Origin 6149 :ivar severity: The severity of the issue. Possible values include: "Error", "Warning". 6150 :vartype severity: str or ~azure.mgmt.network.v2019_12_01.models.Severity 6151 :ivar type: The type of issue. Possible values include: "Unknown", "AgentStopped", 6152 "GuestFirewall", "DnsResolution", "SocketBind", "NetworkSecurityRule", "UserDefinedRoute", 6153 "PortThrottled", "Platform". 6154 :vartype type: str or ~azure.mgmt.network.v2019_12_01.models.IssueType 6155 :ivar context: Provides additional context on the issue. 6156 :vartype context: list[dict[str, str]] 6157 """ 6158 6159 _validation = { 6160 'origin': {'readonly': True}, 6161 'severity': {'readonly': True}, 6162 'type': {'readonly': True}, 6163 'context': {'readonly': True}, 6164 } 6165 6166 _attribute_map = { 6167 'origin': {'key': 'origin', 'type': 'str'}, 6168 'severity': {'key': 'severity', 'type': 'str'}, 6169 'type': {'key': 'type', 'type': 'str'}, 6170 'context': {'key': 'context', 'type': '[{str}]'}, 6171 } 6172 6173 def __init__( 6174 self, 6175 **kwargs 6176 ): 6177 super(ConnectivityIssue, self).__init__(**kwargs) 6178 self.origin = None 6179 self.severity = None 6180 self.type = None 6181 self.context = None 6182 6183 6184class ConnectivityParameters(msrest.serialization.Model): 6185 """Parameters that determine how the connectivity check will be performed. 6186 6187 All required parameters must be populated in order to send to Azure. 6188 6189 :param source: Required. The source of the connection. 6190 :type source: ~azure.mgmt.network.v2019_12_01.models.ConnectivitySource 6191 :param destination: Required. The destination of connection. 6192 :type destination: ~azure.mgmt.network.v2019_12_01.models.ConnectivityDestination 6193 :param protocol: Network protocol. Possible values include: "Tcp", "Http", "Https", "Icmp". 6194 :type protocol: str or ~azure.mgmt.network.v2019_12_01.models.Protocol 6195 :param protocol_configuration: Configuration of the protocol. 6196 :type protocol_configuration: ~azure.mgmt.network.v2019_12_01.models.ProtocolConfiguration 6197 :param preferred_ip_version: Preferred IP version of the connection. Possible values include: 6198 "IPv4", "IPv6". 6199 :type preferred_ip_version: str or ~azure.mgmt.network.v2019_12_01.models.IPVersion 6200 """ 6201 6202 _validation = { 6203 'source': {'required': True}, 6204 'destination': {'required': True}, 6205 } 6206 6207 _attribute_map = { 6208 'source': {'key': 'source', 'type': 'ConnectivitySource'}, 6209 'destination': {'key': 'destination', 'type': 'ConnectivityDestination'}, 6210 'protocol': {'key': 'protocol', 'type': 'str'}, 6211 'protocol_configuration': {'key': 'protocolConfiguration', 'type': 'ProtocolConfiguration'}, 6212 'preferred_ip_version': {'key': 'preferredIPVersion', 'type': 'str'}, 6213 } 6214 6215 def __init__( 6216 self, 6217 *, 6218 source: "ConnectivitySource", 6219 destination: "ConnectivityDestination", 6220 protocol: Optional[Union[str, "Protocol"]] = None, 6221 protocol_configuration: Optional["ProtocolConfiguration"] = None, 6222 preferred_ip_version: Optional[Union[str, "IPVersion"]] = None, 6223 **kwargs 6224 ): 6225 super(ConnectivityParameters, self).__init__(**kwargs) 6226 self.source = source 6227 self.destination = destination 6228 self.protocol = protocol 6229 self.protocol_configuration = protocol_configuration 6230 self.preferred_ip_version = preferred_ip_version 6231 6232 6233class ConnectivitySource(msrest.serialization.Model): 6234 """Parameters that define the source of the connection. 6235 6236 All required parameters must be populated in order to send to Azure. 6237 6238 :param resource_id: Required. The ID of the resource from which a connectivity check will be 6239 initiated. 6240 :type resource_id: str 6241 :param port: The source port from which a connectivity check will be performed. 6242 :type port: int 6243 """ 6244 6245 _validation = { 6246 'resource_id': {'required': True}, 6247 } 6248 6249 _attribute_map = { 6250 'resource_id': {'key': 'resourceId', 'type': 'str'}, 6251 'port': {'key': 'port', 'type': 'int'}, 6252 } 6253 6254 def __init__( 6255 self, 6256 *, 6257 resource_id: str, 6258 port: Optional[int] = None, 6259 **kwargs 6260 ): 6261 super(ConnectivitySource, self).__init__(**kwargs) 6262 self.resource_id = resource_id 6263 self.port = port 6264 6265 6266class Container(SubResource): 6267 """Reference to container resource in remote resource provider. 6268 6269 :param id: Resource ID. 6270 :type id: str 6271 """ 6272 6273 _attribute_map = { 6274 'id': {'key': 'id', 'type': 'str'}, 6275 } 6276 6277 def __init__( 6278 self, 6279 *, 6280 id: Optional[str] = None, 6281 **kwargs 6282 ): 6283 super(Container, self).__init__(id=id, **kwargs) 6284 6285 6286class ContainerNetworkInterface(SubResource): 6287 """Container network interface child resource. 6288 6289 Variables are only populated by the server, and will be ignored when sending a request. 6290 6291 :param id: Resource ID. 6292 :type id: str 6293 :param name: The name of the resource. This name can be used to access the resource. 6294 :type name: str 6295 :ivar type: Sub Resource type. 6296 :vartype type: str 6297 :ivar etag: A unique read-only string that changes whenever the resource is updated. 6298 :vartype etag: str 6299 :ivar container_network_interface_configuration: Container network interface configuration from 6300 which this container network interface is created. 6301 :vartype container_network_interface_configuration: 6302 ~azure.mgmt.network.v2019_12_01.models.ContainerNetworkInterfaceConfiguration 6303 :param container: Reference to the container to which this container network interface is 6304 attached. 6305 :type container: ~azure.mgmt.network.v2019_12_01.models.Container 6306 :ivar ip_configurations: Reference to the ip configuration on this container nic. 6307 :vartype ip_configurations: 6308 list[~azure.mgmt.network.v2019_12_01.models.ContainerNetworkInterfaceIpConfiguration] 6309 :ivar provisioning_state: The provisioning state of the container network interface resource. 6310 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 6311 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 6312 """ 6313 6314 _validation = { 6315 'type': {'readonly': True}, 6316 'etag': {'readonly': True}, 6317 'container_network_interface_configuration': {'readonly': True}, 6318 'ip_configurations': {'readonly': True}, 6319 'provisioning_state': {'readonly': True}, 6320 } 6321 6322 _attribute_map = { 6323 'id': {'key': 'id', 'type': 'str'}, 6324 'name': {'key': 'name', 'type': 'str'}, 6325 'type': {'key': 'type', 'type': 'str'}, 6326 'etag': {'key': 'etag', 'type': 'str'}, 6327 'container_network_interface_configuration': {'key': 'properties.containerNetworkInterfaceConfiguration', 'type': 'ContainerNetworkInterfaceConfiguration'}, 6328 'container': {'key': 'properties.container', 'type': 'Container'}, 6329 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[ContainerNetworkInterfaceIpConfiguration]'}, 6330 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6331 } 6332 6333 def __init__( 6334 self, 6335 *, 6336 id: Optional[str] = None, 6337 name: Optional[str] = None, 6338 container: Optional["Container"] = None, 6339 **kwargs 6340 ): 6341 super(ContainerNetworkInterface, self).__init__(id=id, **kwargs) 6342 self.name = name 6343 self.type = None 6344 self.etag = None 6345 self.container_network_interface_configuration = None 6346 self.container = container 6347 self.ip_configurations = None 6348 self.provisioning_state = None 6349 6350 6351class ContainerNetworkInterfaceConfiguration(SubResource): 6352 """Container network interface configuration child resource. 6353 6354 Variables are only populated by the server, and will be ignored when sending a request. 6355 6356 :param id: Resource ID. 6357 :type id: str 6358 :param name: The name of the resource. This name can be used to access the resource. 6359 :type name: str 6360 :ivar type: Sub Resource type. 6361 :vartype type: str 6362 :ivar etag: A unique read-only string that changes whenever the resource is updated. 6363 :vartype etag: str 6364 :param ip_configurations: A list of ip configurations of the container network interface 6365 configuration. 6366 :type ip_configurations: list[~azure.mgmt.network.v2019_12_01.models.IPConfigurationProfile] 6367 :param container_network_interfaces: A list of container network interfaces created from this 6368 container network interface configuration. 6369 :type container_network_interfaces: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 6370 :ivar provisioning_state: The provisioning state of the container network interface 6371 configuration resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 6372 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 6373 """ 6374 6375 _validation = { 6376 'type': {'readonly': True}, 6377 'etag': {'readonly': True}, 6378 'provisioning_state': {'readonly': True}, 6379 } 6380 6381 _attribute_map = { 6382 'id': {'key': 'id', 'type': 'str'}, 6383 'name': {'key': 'name', 'type': 'str'}, 6384 'type': {'key': 'type', 'type': 'str'}, 6385 'etag': {'key': 'etag', 'type': 'str'}, 6386 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfigurationProfile]'}, 6387 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[SubResource]'}, 6388 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6389 } 6390 6391 def __init__( 6392 self, 6393 *, 6394 id: Optional[str] = None, 6395 name: Optional[str] = None, 6396 ip_configurations: Optional[List["IPConfigurationProfile"]] = None, 6397 container_network_interfaces: Optional[List["SubResource"]] = None, 6398 **kwargs 6399 ): 6400 super(ContainerNetworkInterfaceConfiguration, self).__init__(id=id, **kwargs) 6401 self.name = name 6402 self.type = None 6403 self.etag = None 6404 self.ip_configurations = ip_configurations 6405 self.container_network_interfaces = container_network_interfaces 6406 self.provisioning_state = None 6407 6408 6409class ContainerNetworkInterfaceIpConfiguration(msrest.serialization.Model): 6410 """The ip configuration for a container network interface. 6411 6412 Variables are only populated by the server, and will be ignored when sending a request. 6413 6414 :param name: The name of the resource. This name can be used to access the resource. 6415 :type name: str 6416 :ivar type: Sub Resource type. 6417 :vartype type: str 6418 :ivar etag: A unique read-only string that changes whenever the resource is updated. 6419 :vartype etag: str 6420 :ivar provisioning_state: The provisioning state of the container network interface IP 6421 configuration resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 6422 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 6423 """ 6424 6425 _validation = { 6426 'type': {'readonly': True}, 6427 'etag': {'readonly': True}, 6428 'provisioning_state': {'readonly': True}, 6429 } 6430 6431 _attribute_map = { 6432 'name': {'key': 'name', 'type': 'str'}, 6433 'type': {'key': 'type', 'type': 'str'}, 6434 'etag': {'key': 'etag', 'type': 'str'}, 6435 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6436 } 6437 6438 def __init__( 6439 self, 6440 *, 6441 name: Optional[str] = None, 6442 **kwargs 6443 ): 6444 super(ContainerNetworkInterfaceIpConfiguration, self).__init__(**kwargs) 6445 self.name = name 6446 self.type = None 6447 self.etag = None 6448 self.provisioning_state = None 6449 6450 6451class DdosCustomPolicy(Resource): 6452 """A DDoS custom policy in a resource group. 6453 6454 Variables are only populated by the server, and will be ignored when sending a request. 6455 6456 :param id: Resource ID. 6457 :type id: str 6458 :ivar name: Resource name. 6459 :vartype name: str 6460 :ivar type: Resource type. 6461 :vartype type: str 6462 :param location: Resource location. 6463 :type location: str 6464 :param tags: A set of tags. Resource tags. 6465 :type tags: dict[str, str] 6466 :ivar etag: A unique read-only string that changes whenever the resource is updated. 6467 :vartype etag: str 6468 :ivar resource_guid: The resource GUID property of the DDoS custom policy resource. It uniquely 6469 identifies the resource, even if the user changes its name or migrate the resource across 6470 subscriptions or resource groups. 6471 :vartype resource_guid: str 6472 :ivar provisioning_state: The provisioning state of the DDoS custom policy resource. Possible 6473 values include: "Succeeded", "Updating", "Deleting", "Failed". 6474 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 6475 :ivar public_ip_addresses: The list of public IPs associated with the DDoS custom policy 6476 resource. This list is read-only. 6477 :vartype public_ip_addresses: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 6478 :param protocol_custom_settings: The protocol-specific DDoS policy customization parameters. 6479 :type protocol_custom_settings: 6480 list[~azure.mgmt.network.v2019_12_01.models.ProtocolCustomSettingsFormat] 6481 """ 6482 6483 _validation = { 6484 'name': {'readonly': True}, 6485 'type': {'readonly': True}, 6486 'etag': {'readonly': True}, 6487 'resource_guid': {'readonly': True}, 6488 'provisioning_state': {'readonly': True}, 6489 'public_ip_addresses': {'readonly': True}, 6490 } 6491 6492 _attribute_map = { 6493 'id': {'key': 'id', 'type': 'str'}, 6494 'name': {'key': 'name', 'type': 'str'}, 6495 'type': {'key': 'type', 'type': 'str'}, 6496 'location': {'key': 'location', 'type': 'str'}, 6497 'tags': {'key': 'tags', 'type': '{str}'}, 6498 'etag': {'key': 'etag', 'type': 'str'}, 6499 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 6500 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6501 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[SubResource]'}, 6502 'protocol_custom_settings': {'key': 'properties.protocolCustomSettings', 'type': '[ProtocolCustomSettingsFormat]'}, 6503 } 6504 6505 def __init__( 6506 self, 6507 *, 6508 id: Optional[str] = None, 6509 location: Optional[str] = None, 6510 tags: Optional[Dict[str, str]] = None, 6511 protocol_custom_settings: Optional[List["ProtocolCustomSettingsFormat"]] = None, 6512 **kwargs 6513 ): 6514 super(DdosCustomPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) 6515 self.etag = None 6516 self.resource_guid = None 6517 self.provisioning_state = None 6518 self.public_ip_addresses = None 6519 self.protocol_custom_settings = protocol_custom_settings 6520 6521 6522class DdosProtectionPlan(msrest.serialization.Model): 6523 """A DDoS protection plan in a resource group. 6524 6525 Variables are only populated by the server, and will be ignored when sending a request. 6526 6527 :ivar id: Resource ID. 6528 :vartype id: str 6529 :ivar name: Resource name. 6530 :vartype name: str 6531 :ivar type: Resource type. 6532 :vartype type: str 6533 :param location: Resource location. 6534 :type location: str 6535 :param tags: A set of tags. Resource tags. 6536 :type tags: dict[str, str] 6537 :ivar etag: A unique read-only string that changes whenever the resource is updated. 6538 :vartype etag: str 6539 :ivar resource_guid: The resource GUID property of the DDoS protection plan resource. It 6540 uniquely identifies the resource, even if the user changes its name or migrate the resource 6541 across subscriptions or resource groups. 6542 :vartype resource_guid: str 6543 :ivar provisioning_state: The provisioning state of the DDoS protection plan resource. Possible 6544 values include: "Succeeded", "Updating", "Deleting", "Failed". 6545 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 6546 :ivar virtual_networks: The list of virtual networks associated with the DDoS protection plan 6547 resource. This list is read-only. 6548 :vartype virtual_networks: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 6549 """ 6550 6551 _validation = { 6552 'id': {'readonly': True}, 6553 'name': {'readonly': True}, 6554 'type': {'readonly': True}, 6555 'etag': {'readonly': True}, 6556 'resource_guid': {'readonly': True}, 6557 'provisioning_state': {'readonly': True}, 6558 'virtual_networks': {'readonly': True}, 6559 } 6560 6561 _attribute_map = { 6562 'id': {'key': 'id', 'type': 'str'}, 6563 'name': {'key': 'name', 'type': 'str'}, 6564 'type': {'key': 'type', 'type': 'str'}, 6565 'location': {'key': 'location', 'type': 'str'}, 6566 'tags': {'key': 'tags', 'type': '{str}'}, 6567 'etag': {'key': 'etag', 'type': 'str'}, 6568 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 6569 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6570 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[SubResource]'}, 6571 } 6572 6573 def __init__( 6574 self, 6575 *, 6576 location: Optional[str] = None, 6577 tags: Optional[Dict[str, str]] = None, 6578 **kwargs 6579 ): 6580 super(DdosProtectionPlan, self).__init__(**kwargs) 6581 self.id = None 6582 self.name = None 6583 self.type = None 6584 self.location = location 6585 self.tags = tags 6586 self.etag = None 6587 self.resource_guid = None 6588 self.provisioning_state = None 6589 self.virtual_networks = None 6590 6591 6592class DdosProtectionPlanListResult(msrest.serialization.Model): 6593 """A list of DDoS protection plans. 6594 6595 Variables are only populated by the server, and will be ignored when sending a request. 6596 6597 :param value: A list of DDoS protection plans. 6598 :type value: list[~azure.mgmt.network.v2019_12_01.models.DdosProtectionPlan] 6599 :ivar next_link: The URL to get the next set of results. 6600 :vartype next_link: str 6601 """ 6602 6603 _validation = { 6604 'next_link': {'readonly': True}, 6605 } 6606 6607 _attribute_map = { 6608 'value': {'key': 'value', 'type': '[DdosProtectionPlan]'}, 6609 'next_link': {'key': 'nextLink', 'type': 'str'}, 6610 } 6611 6612 def __init__( 6613 self, 6614 *, 6615 value: Optional[List["DdosProtectionPlan"]] = None, 6616 **kwargs 6617 ): 6618 super(DdosProtectionPlanListResult, self).__init__(**kwargs) 6619 self.value = value 6620 self.next_link = None 6621 6622 6623class DdosSettings(msrest.serialization.Model): 6624 """Contains the DDoS protection settings of the public IP. 6625 6626 :param ddos_custom_policy: The DDoS custom policy associated with the public IP. 6627 :type ddos_custom_policy: ~azure.mgmt.network.v2019_12_01.models.SubResource 6628 :param protection_coverage: The DDoS protection policy customizability of the public IP. Only 6629 standard coverage will have the ability to be customized. Possible values include: "Basic", 6630 "Standard". 6631 :type protection_coverage: str or 6632 ~azure.mgmt.network.v2019_12_01.models.DdosSettingsProtectionCoverage 6633 :param protected_ip: Enables DDoS protection on the public IP. 6634 :type protected_ip: bool 6635 """ 6636 6637 _attribute_map = { 6638 'ddos_custom_policy': {'key': 'ddosCustomPolicy', 'type': 'SubResource'}, 6639 'protection_coverage': {'key': 'protectionCoverage', 'type': 'str'}, 6640 'protected_ip': {'key': 'protectedIP', 'type': 'bool'}, 6641 } 6642 6643 def __init__( 6644 self, 6645 *, 6646 ddos_custom_policy: Optional["SubResource"] = None, 6647 protection_coverage: Optional[Union[str, "DdosSettingsProtectionCoverage"]] = None, 6648 protected_ip: Optional[bool] = None, 6649 **kwargs 6650 ): 6651 super(DdosSettings, self).__init__(**kwargs) 6652 self.ddos_custom_policy = ddos_custom_policy 6653 self.protection_coverage = protection_coverage 6654 self.protected_ip = protected_ip 6655 6656 6657class Delegation(SubResource): 6658 """Details the service to which the subnet is delegated. 6659 6660 Variables are only populated by the server, and will be ignored when sending a request. 6661 6662 :param id: Resource ID. 6663 :type id: str 6664 :param name: The name of the resource that is unique within a subnet. This name can be used to 6665 access the resource. 6666 :type name: str 6667 :ivar etag: A unique read-only string that changes whenever the resource is updated. 6668 :vartype etag: str 6669 :param service_name: The name of the service to whom the subnet should be delegated (e.g. 6670 Microsoft.Sql/servers). 6671 :type service_name: str 6672 :ivar actions: The actions permitted to the service upon delegation. 6673 :vartype actions: list[str] 6674 :ivar provisioning_state: The provisioning state of the service delegation resource. Possible 6675 values include: "Succeeded", "Updating", "Deleting", "Failed". 6676 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 6677 """ 6678 6679 _validation = { 6680 'etag': {'readonly': True}, 6681 'actions': {'readonly': True}, 6682 'provisioning_state': {'readonly': True}, 6683 } 6684 6685 _attribute_map = { 6686 'id': {'key': 'id', 'type': 'str'}, 6687 'name': {'key': 'name', 'type': 'str'}, 6688 'etag': {'key': 'etag', 'type': 'str'}, 6689 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, 6690 'actions': {'key': 'properties.actions', 'type': '[str]'}, 6691 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6692 } 6693 6694 def __init__( 6695 self, 6696 *, 6697 id: Optional[str] = None, 6698 name: Optional[str] = None, 6699 service_name: Optional[str] = None, 6700 **kwargs 6701 ): 6702 super(Delegation, self).__init__(id=id, **kwargs) 6703 self.name = name 6704 self.etag = None 6705 self.service_name = service_name 6706 self.actions = None 6707 self.provisioning_state = None 6708 6709 6710class DeviceProperties(msrest.serialization.Model): 6711 """List of properties of the device. 6712 6713 :param device_vendor: Name of the device Vendor. 6714 :type device_vendor: str 6715 :param device_model: Model of the device. 6716 :type device_model: str 6717 :param link_speed_in_mbps: Link speed. 6718 :type link_speed_in_mbps: int 6719 """ 6720 6721 _attribute_map = { 6722 'device_vendor': {'key': 'deviceVendor', 'type': 'str'}, 6723 'device_model': {'key': 'deviceModel', 'type': 'str'}, 6724 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, 6725 } 6726 6727 def __init__( 6728 self, 6729 *, 6730 device_vendor: Optional[str] = None, 6731 device_model: Optional[str] = None, 6732 link_speed_in_mbps: Optional[int] = None, 6733 **kwargs 6734 ): 6735 super(DeviceProperties, self).__init__(**kwargs) 6736 self.device_vendor = device_vendor 6737 self.device_model = device_model 6738 self.link_speed_in_mbps = link_speed_in_mbps 6739 6740 6741class DhcpOptions(msrest.serialization.Model): 6742 """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. 6743 6744 :param dns_servers: The list of DNS servers IP addresses. 6745 :type dns_servers: list[str] 6746 """ 6747 6748 _attribute_map = { 6749 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, 6750 } 6751 6752 def __init__( 6753 self, 6754 *, 6755 dns_servers: Optional[List[str]] = None, 6756 **kwargs 6757 ): 6758 super(DhcpOptions, self).__init__(**kwargs) 6759 self.dns_servers = dns_servers 6760 6761 6762class Dimension(msrest.serialization.Model): 6763 """Dimension of the metric. 6764 6765 :param name: The name of the dimension. 6766 :type name: str 6767 :param display_name: The display name of the dimension. 6768 :type display_name: str 6769 :param internal_name: The internal name of the dimension. 6770 :type internal_name: str 6771 """ 6772 6773 _attribute_map = { 6774 'name': {'key': 'name', 'type': 'str'}, 6775 'display_name': {'key': 'displayName', 'type': 'str'}, 6776 'internal_name': {'key': 'internalName', 'type': 'str'}, 6777 } 6778 6779 def __init__( 6780 self, 6781 *, 6782 name: Optional[str] = None, 6783 display_name: Optional[str] = None, 6784 internal_name: Optional[str] = None, 6785 **kwargs 6786 ): 6787 super(Dimension, self).__init__(**kwargs) 6788 self.name = name 6789 self.display_name = display_name 6790 self.internal_name = internal_name 6791 6792 6793class DnsNameAvailabilityResult(msrest.serialization.Model): 6794 """Response for the CheckDnsNameAvailability API service call. 6795 6796 :param available: Domain availability (True/False). 6797 :type available: bool 6798 """ 6799 6800 _attribute_map = { 6801 'available': {'key': 'available', 'type': 'bool'}, 6802 } 6803 6804 def __init__( 6805 self, 6806 *, 6807 available: Optional[bool] = None, 6808 **kwargs 6809 ): 6810 super(DnsNameAvailabilityResult, self).__init__(**kwargs) 6811 self.available = available 6812 6813 6814class EffectiveNetworkSecurityGroup(msrest.serialization.Model): 6815 """Effective network security group. 6816 6817 :param network_security_group: The ID of network security group that is applied. 6818 :type network_security_group: ~azure.mgmt.network.v2019_12_01.models.SubResource 6819 :param association: Associated resources. 6820 :type association: 6821 ~azure.mgmt.network.v2019_12_01.models.EffectiveNetworkSecurityGroupAssociation 6822 :param effective_security_rules: A collection of effective security rules. 6823 :type effective_security_rules: 6824 list[~azure.mgmt.network.v2019_12_01.models.EffectiveNetworkSecurityRule] 6825 :param tag_map: Mapping of tags to list of IP Addresses included within the tag. 6826 :type tag_map: str 6827 """ 6828 6829 _attribute_map = { 6830 'network_security_group': {'key': 'networkSecurityGroup', 'type': 'SubResource'}, 6831 'association': {'key': 'association', 'type': 'EffectiveNetworkSecurityGroupAssociation'}, 6832 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, 6833 'tag_map': {'key': 'tagMap', 'type': 'str'}, 6834 } 6835 6836 def __init__( 6837 self, 6838 *, 6839 network_security_group: Optional["SubResource"] = None, 6840 association: Optional["EffectiveNetworkSecurityGroupAssociation"] = None, 6841 effective_security_rules: Optional[List["EffectiveNetworkSecurityRule"]] = None, 6842 tag_map: Optional[str] = None, 6843 **kwargs 6844 ): 6845 super(EffectiveNetworkSecurityGroup, self).__init__(**kwargs) 6846 self.network_security_group = network_security_group 6847 self.association = association 6848 self.effective_security_rules = effective_security_rules 6849 self.tag_map = tag_map 6850 6851 6852class EffectiveNetworkSecurityGroupAssociation(msrest.serialization.Model): 6853 """The effective network security group association. 6854 6855 :param subnet: The ID of the subnet if assigned. 6856 :type subnet: ~azure.mgmt.network.v2019_12_01.models.SubResource 6857 :param network_interface: The ID of the network interface if assigned. 6858 :type network_interface: ~azure.mgmt.network.v2019_12_01.models.SubResource 6859 """ 6860 6861 _attribute_map = { 6862 'subnet': {'key': 'subnet', 'type': 'SubResource'}, 6863 'network_interface': {'key': 'networkInterface', 'type': 'SubResource'}, 6864 } 6865 6866 def __init__( 6867 self, 6868 *, 6869 subnet: Optional["SubResource"] = None, 6870 network_interface: Optional["SubResource"] = None, 6871 **kwargs 6872 ): 6873 super(EffectiveNetworkSecurityGroupAssociation, self).__init__(**kwargs) 6874 self.subnet = subnet 6875 self.network_interface = network_interface 6876 6877 6878class EffectiveNetworkSecurityGroupListResult(msrest.serialization.Model): 6879 """Response for list effective network security groups API service call. 6880 6881 Variables are only populated by the server, and will be ignored when sending a request. 6882 6883 :param value: A list of effective network security groups. 6884 :type value: list[~azure.mgmt.network.v2019_12_01.models.EffectiveNetworkSecurityGroup] 6885 :ivar next_link: The URL to get the next set of results. 6886 :vartype next_link: str 6887 """ 6888 6889 _validation = { 6890 'next_link': {'readonly': True}, 6891 } 6892 6893 _attribute_map = { 6894 'value': {'key': 'value', 'type': '[EffectiveNetworkSecurityGroup]'}, 6895 'next_link': {'key': 'nextLink', 'type': 'str'}, 6896 } 6897 6898 def __init__( 6899 self, 6900 *, 6901 value: Optional[List["EffectiveNetworkSecurityGroup"]] = None, 6902 **kwargs 6903 ): 6904 super(EffectiveNetworkSecurityGroupListResult, self).__init__(**kwargs) 6905 self.value = value 6906 self.next_link = None 6907 6908 6909class EffectiveNetworkSecurityRule(msrest.serialization.Model): 6910 """Effective network security rules. 6911 6912 :param name: The name of the security rule specified by the user (if created by the user). 6913 :type name: str 6914 :param protocol: The network protocol this rule applies to. Possible values include: "Tcp", 6915 "Udp", "All". 6916 :type protocol: str or ~azure.mgmt.network.v2019_12_01.models.EffectiveSecurityRuleProtocol 6917 :param source_port_range: The source port or range. 6918 :type source_port_range: str 6919 :param destination_port_range: The destination port or range. 6920 :type destination_port_range: str 6921 :param source_port_ranges: The source port ranges. Expected values include a single integer 6922 between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*). 6923 :type source_port_ranges: list[str] 6924 :param destination_port_ranges: The destination port ranges. Expected values include a single 6925 integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*). 6926 :type destination_port_ranges: list[str] 6927 :param source_address_prefix: The source address prefix. 6928 :type source_address_prefix: str 6929 :param destination_address_prefix: The destination address prefix. 6930 :type destination_address_prefix: str 6931 :param source_address_prefixes: The source address prefixes. Expected values include CIDR IP 6932 ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the 6933 asterisk (*). 6934 :type source_address_prefixes: list[str] 6935 :param destination_address_prefixes: The destination address prefixes. Expected values include 6936 CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and 6937 the asterisk (*). 6938 :type destination_address_prefixes: list[str] 6939 :param expanded_source_address_prefix: The expanded source address prefix. 6940 :type expanded_source_address_prefix: list[str] 6941 :param expanded_destination_address_prefix: Expanded destination address prefix. 6942 :type expanded_destination_address_prefix: list[str] 6943 :param access: Whether network traffic is allowed or denied. Possible values include: "Allow", 6944 "Deny". 6945 :type access: str or ~azure.mgmt.network.v2019_12_01.models.SecurityRuleAccess 6946 :param priority: The priority of the rule. 6947 :type priority: int 6948 :param direction: The direction of the rule. Possible values include: "Inbound", "Outbound". 6949 :type direction: str or ~azure.mgmt.network.v2019_12_01.models.SecurityRuleDirection 6950 """ 6951 6952 _attribute_map = { 6953 'name': {'key': 'name', 'type': 'str'}, 6954 'protocol': {'key': 'protocol', 'type': 'str'}, 6955 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, 6956 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, 6957 'source_port_ranges': {'key': 'sourcePortRanges', 'type': '[str]'}, 6958 'destination_port_ranges': {'key': 'destinationPortRanges', 'type': '[str]'}, 6959 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, 6960 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, 6961 'source_address_prefixes': {'key': 'sourceAddressPrefixes', 'type': '[str]'}, 6962 'destination_address_prefixes': {'key': 'destinationAddressPrefixes', 'type': '[str]'}, 6963 'expanded_source_address_prefix': {'key': 'expandedSourceAddressPrefix', 'type': '[str]'}, 6964 'expanded_destination_address_prefix': {'key': 'expandedDestinationAddressPrefix', 'type': '[str]'}, 6965 'access': {'key': 'access', 'type': 'str'}, 6966 'priority': {'key': 'priority', 'type': 'int'}, 6967 'direction': {'key': 'direction', 'type': 'str'}, 6968 } 6969 6970 def __init__( 6971 self, 6972 *, 6973 name: Optional[str] = None, 6974 protocol: Optional[Union[str, "EffectiveSecurityRuleProtocol"]] = None, 6975 source_port_range: Optional[str] = None, 6976 destination_port_range: Optional[str] = None, 6977 source_port_ranges: Optional[List[str]] = None, 6978 destination_port_ranges: Optional[List[str]] = None, 6979 source_address_prefix: Optional[str] = None, 6980 destination_address_prefix: Optional[str] = None, 6981 source_address_prefixes: Optional[List[str]] = None, 6982 destination_address_prefixes: Optional[List[str]] = None, 6983 expanded_source_address_prefix: Optional[List[str]] = None, 6984 expanded_destination_address_prefix: Optional[List[str]] = None, 6985 access: Optional[Union[str, "SecurityRuleAccess"]] = None, 6986 priority: Optional[int] = None, 6987 direction: Optional[Union[str, "SecurityRuleDirection"]] = None, 6988 **kwargs 6989 ): 6990 super(EffectiveNetworkSecurityRule, self).__init__(**kwargs) 6991 self.name = name 6992 self.protocol = protocol 6993 self.source_port_range = source_port_range 6994 self.destination_port_range = destination_port_range 6995 self.source_port_ranges = source_port_ranges 6996 self.destination_port_ranges = destination_port_ranges 6997 self.source_address_prefix = source_address_prefix 6998 self.destination_address_prefix = destination_address_prefix 6999 self.source_address_prefixes = source_address_prefixes 7000 self.destination_address_prefixes = destination_address_prefixes 7001 self.expanded_source_address_prefix = expanded_source_address_prefix 7002 self.expanded_destination_address_prefix = expanded_destination_address_prefix 7003 self.access = access 7004 self.priority = priority 7005 self.direction = direction 7006 7007 7008class EffectiveRoute(msrest.serialization.Model): 7009 """Effective Route. 7010 7011 :param name: The name of the user defined route. This is optional. 7012 :type name: str 7013 :param disable_bgp_route_propagation: If true, on-premises routes are not propagated to the 7014 network interfaces in the subnet. 7015 :type disable_bgp_route_propagation: bool 7016 :param source: Who created the route. Possible values include: "Unknown", "User", 7017 "VirtualNetworkGateway", "Default". 7018 :type source: str or ~azure.mgmt.network.v2019_12_01.models.EffectiveRouteSource 7019 :param state: The value of effective route. Possible values include: "Active", "Invalid". 7020 :type state: str or ~azure.mgmt.network.v2019_12_01.models.EffectiveRouteState 7021 :param address_prefix: The address prefixes of the effective routes in CIDR notation. 7022 :type address_prefix: list[str] 7023 :param next_hop_ip_address: The IP address of the next hop of the effective route. 7024 :type next_hop_ip_address: list[str] 7025 :param next_hop_type: The type of Azure hop the packet should be sent to. Possible values 7026 include: "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None". 7027 :type next_hop_type: str or ~azure.mgmt.network.v2019_12_01.models.RouteNextHopType 7028 """ 7029 7030 _attribute_map = { 7031 'name': {'key': 'name', 'type': 'str'}, 7032 'disable_bgp_route_propagation': {'key': 'disableBgpRoutePropagation', 'type': 'bool'}, 7033 'source': {'key': 'source', 'type': 'str'}, 7034 'state': {'key': 'state', 'type': 'str'}, 7035 'address_prefix': {'key': 'addressPrefix', 'type': '[str]'}, 7036 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': '[str]'}, 7037 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, 7038 } 7039 7040 def __init__( 7041 self, 7042 *, 7043 name: Optional[str] = None, 7044 disable_bgp_route_propagation: Optional[bool] = None, 7045 source: Optional[Union[str, "EffectiveRouteSource"]] = None, 7046 state: Optional[Union[str, "EffectiveRouteState"]] = None, 7047 address_prefix: Optional[List[str]] = None, 7048 next_hop_ip_address: Optional[List[str]] = None, 7049 next_hop_type: Optional[Union[str, "RouteNextHopType"]] = None, 7050 **kwargs 7051 ): 7052 super(EffectiveRoute, self).__init__(**kwargs) 7053 self.name = name 7054 self.disable_bgp_route_propagation = disable_bgp_route_propagation 7055 self.source = source 7056 self.state = state 7057 self.address_prefix = address_prefix 7058 self.next_hop_ip_address = next_hop_ip_address 7059 self.next_hop_type = next_hop_type 7060 7061 7062class EffectiveRouteListResult(msrest.serialization.Model): 7063 """Response for list effective route API service call. 7064 7065 Variables are only populated by the server, and will be ignored when sending a request. 7066 7067 :param value: A list of effective routes. 7068 :type value: list[~azure.mgmt.network.v2019_12_01.models.EffectiveRoute] 7069 :ivar next_link: The URL to get the next set of results. 7070 :vartype next_link: str 7071 """ 7072 7073 _validation = { 7074 'next_link': {'readonly': True}, 7075 } 7076 7077 _attribute_map = { 7078 'value': {'key': 'value', 'type': '[EffectiveRoute]'}, 7079 'next_link': {'key': 'nextLink', 'type': 'str'}, 7080 } 7081 7082 def __init__( 7083 self, 7084 *, 7085 value: Optional[List["EffectiveRoute"]] = None, 7086 **kwargs 7087 ): 7088 super(EffectiveRouteListResult, self).__init__(**kwargs) 7089 self.value = value 7090 self.next_link = None 7091 7092 7093class EndpointServiceResult(SubResource): 7094 """Endpoint service. 7095 7096 Variables are only populated by the server, and will be ignored when sending a request. 7097 7098 :param id: Resource ID. 7099 :type id: str 7100 :ivar name: Name of the endpoint service. 7101 :vartype name: str 7102 :ivar type: Type of the endpoint service. 7103 :vartype type: str 7104 """ 7105 7106 _validation = { 7107 'name': {'readonly': True}, 7108 'type': {'readonly': True}, 7109 } 7110 7111 _attribute_map = { 7112 'id': {'key': 'id', 'type': 'str'}, 7113 'name': {'key': 'name', 'type': 'str'}, 7114 'type': {'key': 'type', 'type': 'str'}, 7115 } 7116 7117 def __init__( 7118 self, 7119 *, 7120 id: Optional[str] = None, 7121 **kwargs 7122 ): 7123 super(EndpointServiceResult, self).__init__(id=id, **kwargs) 7124 self.name = None 7125 self.type = None 7126 7127 7128class EndpointServicesListResult(msrest.serialization.Model): 7129 """Response for the ListAvailableEndpointServices API service call. 7130 7131 :param value: List of available endpoint services in a region. 7132 :type value: list[~azure.mgmt.network.v2019_12_01.models.EndpointServiceResult] 7133 :param next_link: The URL to get the next set of results. 7134 :type next_link: str 7135 """ 7136 7137 _attribute_map = { 7138 'value': {'key': 'value', 'type': '[EndpointServiceResult]'}, 7139 'next_link': {'key': 'nextLink', 'type': 'str'}, 7140 } 7141 7142 def __init__( 7143 self, 7144 *, 7145 value: Optional[List["EndpointServiceResult"]] = None, 7146 next_link: Optional[str] = None, 7147 **kwargs 7148 ): 7149 super(EndpointServicesListResult, self).__init__(**kwargs) 7150 self.value = value 7151 self.next_link = next_link 7152 7153 7154class Error(msrest.serialization.Model): 7155 """Common error representation. 7156 7157 :param code: Error code. 7158 :type code: str 7159 :param message: Error message. 7160 :type message: str 7161 :param target: Error target. 7162 :type target: str 7163 :param details: Error details. 7164 :type details: list[~azure.mgmt.network.v2019_12_01.models.ErrorDetails] 7165 :param inner_error: Inner error message. 7166 :type inner_error: str 7167 """ 7168 7169 _attribute_map = { 7170 'code': {'key': 'code', 'type': 'str'}, 7171 'message': {'key': 'message', 'type': 'str'}, 7172 'target': {'key': 'target', 'type': 'str'}, 7173 'details': {'key': 'details', 'type': '[ErrorDetails]'}, 7174 'inner_error': {'key': 'innerError', 'type': 'str'}, 7175 } 7176 7177 def __init__( 7178 self, 7179 *, 7180 code: Optional[str] = None, 7181 message: Optional[str] = None, 7182 target: Optional[str] = None, 7183 details: Optional[List["ErrorDetails"]] = None, 7184 inner_error: Optional[str] = None, 7185 **kwargs 7186 ): 7187 super(Error, self).__init__(**kwargs) 7188 self.code = code 7189 self.message = message 7190 self.target = target 7191 self.details = details 7192 self.inner_error = inner_error 7193 7194 7195class ErrorDetails(msrest.serialization.Model): 7196 """Common error details representation. 7197 7198 :param code: Error code. 7199 :type code: str 7200 :param target: Error target. 7201 :type target: str 7202 :param message: Error message. 7203 :type message: str 7204 """ 7205 7206 _attribute_map = { 7207 'code': {'key': 'code', 'type': 'str'}, 7208 'target': {'key': 'target', 'type': 'str'}, 7209 'message': {'key': 'message', 'type': 'str'}, 7210 } 7211 7212 def __init__( 7213 self, 7214 *, 7215 code: Optional[str] = None, 7216 target: Optional[str] = None, 7217 message: Optional[str] = None, 7218 **kwargs 7219 ): 7220 super(ErrorDetails, self).__init__(**kwargs) 7221 self.code = code 7222 self.target = target 7223 self.message = message 7224 7225 7226class ErrorResponse(msrest.serialization.Model): 7227 """The error object. 7228 7229 :param error: The error details object. 7230 :type error: ~azure.mgmt.network.v2019_12_01.models.ErrorDetails 7231 """ 7232 7233 _attribute_map = { 7234 'error': {'key': 'error', 'type': 'ErrorDetails'}, 7235 } 7236 7237 def __init__( 7238 self, 7239 *, 7240 error: Optional["ErrorDetails"] = None, 7241 **kwargs 7242 ): 7243 super(ErrorResponse, self).__init__(**kwargs) 7244 self.error = error 7245 7246 7247class EvaluatedNetworkSecurityGroup(msrest.serialization.Model): 7248 """Results of network security group evaluation. 7249 7250 Variables are only populated by the server, and will be ignored when sending a request. 7251 7252 :param network_security_group_id: Network security group ID. 7253 :type network_security_group_id: str 7254 :param applied_to: Resource ID of nic or subnet to which network security group is applied. 7255 :type applied_to: str 7256 :param matched_rule: Matched network security rule. 7257 :type matched_rule: ~azure.mgmt.network.v2019_12_01.models.MatchedRule 7258 :ivar rules_evaluation_result: List of network security rules evaluation results. 7259 :vartype rules_evaluation_result: 7260 list[~azure.mgmt.network.v2019_12_01.models.NetworkSecurityRulesEvaluationResult] 7261 """ 7262 7263 _validation = { 7264 'rules_evaluation_result': {'readonly': True}, 7265 } 7266 7267 _attribute_map = { 7268 'network_security_group_id': {'key': 'networkSecurityGroupId', 'type': 'str'}, 7269 'applied_to': {'key': 'appliedTo', 'type': 'str'}, 7270 'matched_rule': {'key': 'matchedRule', 'type': 'MatchedRule'}, 7271 'rules_evaluation_result': {'key': 'rulesEvaluationResult', 'type': '[NetworkSecurityRulesEvaluationResult]'}, 7272 } 7273 7274 def __init__( 7275 self, 7276 *, 7277 network_security_group_id: Optional[str] = None, 7278 applied_to: Optional[str] = None, 7279 matched_rule: Optional["MatchedRule"] = None, 7280 **kwargs 7281 ): 7282 super(EvaluatedNetworkSecurityGroup, self).__init__(**kwargs) 7283 self.network_security_group_id = network_security_group_id 7284 self.applied_to = applied_to 7285 self.matched_rule = matched_rule 7286 self.rules_evaluation_result = None 7287 7288 7289class ExpressRouteCircuit(Resource): 7290 """ExpressRouteCircuit resource. 7291 7292 Variables are only populated by the server, and will be ignored when sending a request. 7293 7294 :param id: Resource ID. 7295 :type id: str 7296 :ivar name: Resource name. 7297 :vartype name: str 7298 :ivar type: Resource type. 7299 :vartype type: str 7300 :param location: Resource location. 7301 :type location: str 7302 :param tags: A set of tags. Resource tags. 7303 :type tags: dict[str, str] 7304 :param sku: The SKU. 7305 :type sku: ~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitSku 7306 :ivar etag: A unique read-only string that changes whenever the resource is updated. 7307 :vartype etag: str 7308 :param allow_classic_operations: Allow classic operations. 7309 :type allow_classic_operations: bool 7310 :param circuit_provisioning_state: The CircuitProvisioningState state of the resource. 7311 :type circuit_provisioning_state: str 7312 :param service_provider_provisioning_state: The ServiceProviderProvisioningState state of the 7313 resource. Possible values include: "NotProvisioned", "Provisioning", "Provisioned", 7314 "Deprovisioning". 7315 :type service_provider_provisioning_state: str or 7316 ~azure.mgmt.network.v2019_12_01.models.ServiceProviderProvisioningState 7317 :param authorizations: The list of authorizations. 7318 :type authorizations: 7319 list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitAuthorization] 7320 :param peerings: The list of peerings. 7321 :type peerings: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitPeering] 7322 :param service_key: The ServiceKey. 7323 :type service_key: str 7324 :param service_provider_notes: The ServiceProviderNotes. 7325 :type service_provider_notes: str 7326 :param service_provider_properties: The ServiceProviderProperties. 7327 :type service_provider_properties: 7328 ~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitServiceProviderProperties 7329 :param express_route_port: The reference to the ExpressRoutePort resource when the circuit is 7330 provisioned on an ExpressRoutePort resource. 7331 :type express_route_port: ~azure.mgmt.network.v2019_12_01.models.SubResource 7332 :param bandwidth_in_gbps: The bandwidth of the circuit when the circuit is provisioned on an 7333 ExpressRoutePort resource. 7334 :type bandwidth_in_gbps: float 7335 :ivar stag: The identifier of the circuit traffic. Outer tag for QinQ encapsulation. 7336 :vartype stag: int 7337 :ivar provisioning_state: The provisioning state of the express route circuit resource. 7338 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 7339 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 7340 :param gateway_manager_etag: The GatewayManager Etag. 7341 :type gateway_manager_etag: str 7342 :param global_reach_enabled: Flag denoting global reach status. 7343 :type global_reach_enabled: bool 7344 """ 7345 7346 _validation = { 7347 'name': {'readonly': True}, 7348 'type': {'readonly': True}, 7349 'etag': {'readonly': True}, 7350 'stag': {'readonly': True}, 7351 'provisioning_state': {'readonly': True}, 7352 } 7353 7354 _attribute_map = { 7355 'id': {'key': 'id', 'type': 'str'}, 7356 'name': {'key': 'name', 'type': 'str'}, 7357 'type': {'key': 'type', 'type': 'str'}, 7358 'location': {'key': 'location', 'type': 'str'}, 7359 'tags': {'key': 'tags', 'type': '{str}'}, 7360 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, 7361 'etag': {'key': 'etag', 'type': 'str'}, 7362 'allow_classic_operations': {'key': 'properties.allowClassicOperations', 'type': 'bool'}, 7363 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, 7364 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, 7365 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, 7366 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, 7367 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, 7368 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, 7369 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, 7370 'express_route_port': {'key': 'properties.expressRoutePort', 'type': 'SubResource'}, 7371 'bandwidth_in_gbps': {'key': 'properties.bandwidthInGbps', 'type': 'float'}, 7372 'stag': {'key': 'properties.stag', 'type': 'int'}, 7373 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7374 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, 7375 'global_reach_enabled': {'key': 'properties.globalReachEnabled', 'type': 'bool'}, 7376 } 7377 7378 def __init__( 7379 self, 7380 *, 7381 id: Optional[str] = None, 7382 location: Optional[str] = None, 7383 tags: Optional[Dict[str, str]] = None, 7384 sku: Optional["ExpressRouteCircuitSku"] = None, 7385 allow_classic_operations: Optional[bool] = None, 7386 circuit_provisioning_state: Optional[str] = None, 7387 service_provider_provisioning_state: Optional[Union[str, "ServiceProviderProvisioningState"]] = None, 7388 authorizations: Optional[List["ExpressRouteCircuitAuthorization"]] = None, 7389 peerings: Optional[List["ExpressRouteCircuitPeering"]] = None, 7390 service_key: Optional[str] = None, 7391 service_provider_notes: Optional[str] = None, 7392 service_provider_properties: Optional["ExpressRouteCircuitServiceProviderProperties"] = None, 7393 express_route_port: Optional["SubResource"] = None, 7394 bandwidth_in_gbps: Optional[float] = None, 7395 gateway_manager_etag: Optional[str] = None, 7396 global_reach_enabled: Optional[bool] = None, 7397 **kwargs 7398 ): 7399 super(ExpressRouteCircuit, self).__init__(id=id, location=location, tags=tags, **kwargs) 7400 self.sku = sku 7401 self.etag = None 7402 self.allow_classic_operations = allow_classic_operations 7403 self.circuit_provisioning_state = circuit_provisioning_state 7404 self.service_provider_provisioning_state = service_provider_provisioning_state 7405 self.authorizations = authorizations 7406 self.peerings = peerings 7407 self.service_key = service_key 7408 self.service_provider_notes = service_provider_notes 7409 self.service_provider_properties = service_provider_properties 7410 self.express_route_port = express_route_port 7411 self.bandwidth_in_gbps = bandwidth_in_gbps 7412 self.stag = None 7413 self.provisioning_state = None 7414 self.gateway_manager_etag = gateway_manager_etag 7415 self.global_reach_enabled = global_reach_enabled 7416 7417 7418class ExpressRouteCircuitArpTable(msrest.serialization.Model): 7419 """The ARP table associated with the ExpressRouteCircuit. 7420 7421 :param age: Entry age in minutes. 7422 :type age: int 7423 :param interface: Interface address. 7424 :type interface: str 7425 :param ip_address: The IP address. 7426 :type ip_address: str 7427 :param mac_address: The MAC address. 7428 :type mac_address: str 7429 """ 7430 7431 _attribute_map = { 7432 'age': {'key': 'age', 'type': 'int'}, 7433 'interface': {'key': 'interface', 'type': 'str'}, 7434 'ip_address': {'key': 'ipAddress', 'type': 'str'}, 7435 'mac_address': {'key': 'macAddress', 'type': 'str'}, 7436 } 7437 7438 def __init__( 7439 self, 7440 *, 7441 age: Optional[int] = None, 7442 interface: Optional[str] = None, 7443 ip_address: Optional[str] = None, 7444 mac_address: Optional[str] = None, 7445 **kwargs 7446 ): 7447 super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) 7448 self.age = age 7449 self.interface = interface 7450 self.ip_address = ip_address 7451 self.mac_address = mac_address 7452 7453 7454class ExpressRouteCircuitAuthorization(SubResource): 7455 """Authorization in an ExpressRouteCircuit resource. 7456 7457 Variables are only populated by the server, and will be ignored when sending a request. 7458 7459 :param id: Resource ID. 7460 :type id: str 7461 :param name: The name of the resource that is unique within a resource group. This name can be 7462 used to access the resource. 7463 :type name: str 7464 :ivar etag: A unique read-only string that changes whenever the resource is updated. 7465 :vartype etag: str 7466 :ivar type: Type of the resource. 7467 :vartype type: str 7468 :param authorization_key: The authorization key. 7469 :type authorization_key: str 7470 :param authorization_use_status: The authorization use status. Possible values include: 7471 "Available", "InUse". 7472 :type authorization_use_status: str or 7473 ~azure.mgmt.network.v2019_12_01.models.AuthorizationUseStatus 7474 :ivar provisioning_state: The provisioning state of the authorization resource. Possible values 7475 include: "Succeeded", "Updating", "Deleting", "Failed". 7476 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 7477 """ 7478 7479 _validation = { 7480 'etag': {'readonly': True}, 7481 'type': {'readonly': True}, 7482 'provisioning_state': {'readonly': True}, 7483 } 7484 7485 _attribute_map = { 7486 'id': {'key': 'id', 'type': 'str'}, 7487 'name': {'key': 'name', 'type': 'str'}, 7488 'etag': {'key': 'etag', 'type': 'str'}, 7489 'type': {'key': 'type', 'type': 'str'}, 7490 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 7491 'authorization_use_status': {'key': 'properties.authorizationUseStatus', 'type': 'str'}, 7492 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7493 } 7494 7495 def __init__( 7496 self, 7497 *, 7498 id: Optional[str] = None, 7499 name: Optional[str] = None, 7500 authorization_key: Optional[str] = None, 7501 authorization_use_status: Optional[Union[str, "AuthorizationUseStatus"]] = None, 7502 **kwargs 7503 ): 7504 super(ExpressRouteCircuitAuthorization, self).__init__(id=id, **kwargs) 7505 self.name = name 7506 self.etag = None 7507 self.type = None 7508 self.authorization_key = authorization_key 7509 self.authorization_use_status = authorization_use_status 7510 self.provisioning_state = None 7511 7512 7513class ExpressRouteCircuitConnection(SubResource): 7514 """Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. 7515 7516 Variables are only populated by the server, and will be ignored when sending a request. 7517 7518 :param id: Resource ID. 7519 :type id: str 7520 :param name: The name of the resource that is unique within a resource group. This name can be 7521 used to access the resource. 7522 :type name: str 7523 :ivar etag: A unique read-only string that changes whenever the resource is updated. 7524 :vartype etag: str 7525 :ivar type: Type of the resource. 7526 :vartype type: str 7527 :param express_route_circuit_peering: Reference to Express Route Circuit Private Peering 7528 Resource of the circuit initiating connection. 7529 :type express_route_circuit_peering: ~azure.mgmt.network.v2019_12_01.models.SubResource 7530 :param peer_express_route_circuit_peering: Reference to Express Route Circuit Private Peering 7531 Resource of the peered circuit. 7532 :type peer_express_route_circuit_peering: ~azure.mgmt.network.v2019_12_01.models.SubResource 7533 :param address_prefix: /29 IP address space to carve out Customer addresses for tunnels. 7534 :type address_prefix: str 7535 :param authorization_key: The authorization key. 7536 :type authorization_key: str 7537 :param ipv6_circuit_connection_config: IPv6 Address PrefixProperties of the express route 7538 circuit connection. 7539 :type ipv6_circuit_connection_config: 7540 ~azure.mgmt.network.v2019_12_01.models.Ipv6CircuitConnectionConfig 7541 :ivar circuit_connection_status: Express Route Circuit connection state. Possible values 7542 include: "Connected", "Connecting", "Disconnected". 7543 :vartype circuit_connection_status: str or 7544 ~azure.mgmt.network.v2019_12_01.models.CircuitConnectionStatus 7545 :ivar provisioning_state: The provisioning state of the express route circuit connection 7546 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 7547 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 7548 """ 7549 7550 _validation = { 7551 'etag': {'readonly': True}, 7552 'type': {'readonly': True}, 7553 'circuit_connection_status': {'readonly': True}, 7554 'provisioning_state': {'readonly': True}, 7555 } 7556 7557 _attribute_map = { 7558 'id': {'key': 'id', 'type': 'str'}, 7559 'name': {'key': 'name', 'type': 'str'}, 7560 'etag': {'key': 'etag', 'type': 'str'}, 7561 'type': {'key': 'type', 'type': 'str'}, 7562 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, 7563 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, 7564 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 7565 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 7566 'ipv6_circuit_connection_config': {'key': 'properties.ipv6CircuitConnectionConfig', 'type': 'Ipv6CircuitConnectionConfig'}, 7567 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, 7568 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7569 } 7570 7571 def __init__( 7572 self, 7573 *, 7574 id: Optional[str] = None, 7575 name: Optional[str] = None, 7576 express_route_circuit_peering: Optional["SubResource"] = None, 7577 peer_express_route_circuit_peering: Optional["SubResource"] = None, 7578 address_prefix: Optional[str] = None, 7579 authorization_key: Optional[str] = None, 7580 ipv6_circuit_connection_config: Optional["Ipv6CircuitConnectionConfig"] = None, 7581 **kwargs 7582 ): 7583 super(ExpressRouteCircuitConnection, self).__init__(id=id, **kwargs) 7584 self.name = name 7585 self.etag = None 7586 self.type = None 7587 self.express_route_circuit_peering = express_route_circuit_peering 7588 self.peer_express_route_circuit_peering = peer_express_route_circuit_peering 7589 self.address_prefix = address_prefix 7590 self.authorization_key = authorization_key 7591 self.ipv6_circuit_connection_config = ipv6_circuit_connection_config 7592 self.circuit_connection_status = None 7593 self.provisioning_state = None 7594 7595 7596class ExpressRouteCircuitConnectionListResult(msrest.serialization.Model): 7597 """Response for ListConnections API service call retrieves all global reach connections that belongs to a Private Peering for an ExpressRouteCircuit. 7598 7599 :param value: The global reach connection associated with Private Peering in an ExpressRoute 7600 Circuit. 7601 :type value: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitConnection] 7602 :param next_link: The URL to get the next set of results. 7603 :type next_link: str 7604 """ 7605 7606 _attribute_map = { 7607 'value': {'key': 'value', 'type': '[ExpressRouteCircuitConnection]'}, 7608 'next_link': {'key': 'nextLink', 'type': 'str'}, 7609 } 7610 7611 def __init__( 7612 self, 7613 *, 7614 value: Optional[List["ExpressRouteCircuitConnection"]] = None, 7615 next_link: Optional[str] = None, 7616 **kwargs 7617 ): 7618 super(ExpressRouteCircuitConnectionListResult, self).__init__(**kwargs) 7619 self.value = value 7620 self.next_link = next_link 7621 7622 7623class ExpressRouteCircuitListResult(msrest.serialization.Model): 7624 """Response for ListExpressRouteCircuit API service call. 7625 7626 :param value: A list of ExpressRouteCircuits in a resource group. 7627 :type value: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuit] 7628 :param next_link: The URL to get the next set of results. 7629 :type next_link: str 7630 """ 7631 7632 _attribute_map = { 7633 'value': {'key': 'value', 'type': '[ExpressRouteCircuit]'}, 7634 'next_link': {'key': 'nextLink', 'type': 'str'}, 7635 } 7636 7637 def __init__( 7638 self, 7639 *, 7640 value: Optional[List["ExpressRouteCircuit"]] = None, 7641 next_link: Optional[str] = None, 7642 **kwargs 7643 ): 7644 super(ExpressRouteCircuitListResult, self).__init__(**kwargs) 7645 self.value = value 7646 self.next_link = next_link 7647 7648 7649class ExpressRouteCircuitPeering(SubResource): 7650 """Peering in an ExpressRouteCircuit resource. 7651 7652 Variables are only populated by the server, and will be ignored when sending a request. 7653 7654 :param id: Resource ID. 7655 :type id: str 7656 :param name: The name of the resource that is unique within a resource group. This name can be 7657 used to access the resource. 7658 :type name: str 7659 :ivar etag: A unique read-only string that changes whenever the resource is updated. 7660 :vartype etag: str 7661 :ivar type: Type of the resource. 7662 :vartype type: str 7663 :param peering_type: The peering type. Possible values include: "AzurePublicPeering", 7664 "AzurePrivatePeering", "MicrosoftPeering". 7665 :type peering_type: str or ~azure.mgmt.network.v2019_12_01.models.ExpressRoutePeeringType 7666 :param state: The peering state. Possible values include: "Disabled", "Enabled". 7667 :type state: str or ~azure.mgmt.network.v2019_12_01.models.ExpressRoutePeeringState 7668 :param azure_asn: The Azure ASN. 7669 :type azure_asn: int 7670 :param peer_asn: The peer ASN. 7671 :type peer_asn: long 7672 :param primary_peer_address_prefix: The primary address prefix. 7673 :type primary_peer_address_prefix: str 7674 :param secondary_peer_address_prefix: The secondary address prefix. 7675 :type secondary_peer_address_prefix: str 7676 :param primary_azure_port: The primary port. 7677 :type primary_azure_port: str 7678 :param secondary_azure_port: The secondary port. 7679 :type secondary_azure_port: str 7680 :param shared_key: The shared key. 7681 :type shared_key: str 7682 :param vlan_id: The VLAN ID. 7683 :type vlan_id: int 7684 :param microsoft_peering_config: The Microsoft peering configuration. 7685 :type microsoft_peering_config: 7686 ~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitPeeringConfig 7687 :param stats: The peering stats of express route circuit. 7688 :type stats: ~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitStats 7689 :ivar provisioning_state: The provisioning state of the express route circuit peering resource. 7690 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 7691 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 7692 :param gateway_manager_etag: The GatewayManager Etag. 7693 :type gateway_manager_etag: str 7694 :ivar last_modified_by: Who was the last to modify the peering. 7695 :vartype last_modified_by: str 7696 :param route_filter: The reference to the RouteFilter resource. 7697 :type route_filter: ~azure.mgmt.network.v2019_12_01.models.SubResource 7698 :param ipv6_peering_config: The IPv6 peering configuration. 7699 :type ipv6_peering_config: 7700 ~azure.mgmt.network.v2019_12_01.models.Ipv6ExpressRouteCircuitPeeringConfig 7701 :param express_route_connection: The ExpressRoute connection. 7702 :type express_route_connection: ~azure.mgmt.network.v2019_12_01.models.ExpressRouteConnectionId 7703 :param connections: The list of circuit connections associated with Azure Private Peering for 7704 this circuit. 7705 :type connections: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitConnection] 7706 :ivar peered_connections: The list of peered circuit connections associated with Azure Private 7707 Peering for this circuit. 7708 :vartype peered_connections: 7709 list[~azure.mgmt.network.v2019_12_01.models.PeerExpressRouteCircuitConnection] 7710 """ 7711 7712 _validation = { 7713 'etag': {'readonly': True}, 7714 'type': {'readonly': True}, 7715 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, 7716 'provisioning_state': {'readonly': True}, 7717 'last_modified_by': {'readonly': True}, 7718 'peered_connections': {'readonly': True}, 7719 } 7720 7721 _attribute_map = { 7722 'id': {'key': 'id', 'type': 'str'}, 7723 'name': {'key': 'name', 'type': 'str'}, 7724 'etag': {'key': 'etag', 'type': 'str'}, 7725 'type': {'key': 'type', 'type': 'str'}, 7726 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, 7727 'state': {'key': 'properties.state', 'type': 'str'}, 7728 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, 7729 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, 7730 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, 7731 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, 7732 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, 7733 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, 7734 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 7735 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, 7736 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, 7737 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, 7738 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7739 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, 7740 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, 7741 'route_filter': {'key': 'properties.routeFilter', 'type': 'SubResource'}, 7742 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, 7743 'express_route_connection': {'key': 'properties.expressRouteConnection', 'type': 'ExpressRouteConnectionId'}, 7744 'connections': {'key': 'properties.connections', 'type': '[ExpressRouteCircuitConnection]'}, 7745 'peered_connections': {'key': 'properties.peeredConnections', 'type': '[PeerExpressRouteCircuitConnection]'}, 7746 } 7747 7748 def __init__( 7749 self, 7750 *, 7751 id: Optional[str] = None, 7752 name: Optional[str] = None, 7753 peering_type: Optional[Union[str, "ExpressRoutePeeringType"]] = None, 7754 state: Optional[Union[str, "ExpressRoutePeeringState"]] = None, 7755 azure_asn: Optional[int] = None, 7756 peer_asn: Optional[int] = None, 7757 primary_peer_address_prefix: Optional[str] = None, 7758 secondary_peer_address_prefix: Optional[str] = None, 7759 primary_azure_port: Optional[str] = None, 7760 secondary_azure_port: Optional[str] = None, 7761 shared_key: Optional[str] = None, 7762 vlan_id: Optional[int] = None, 7763 microsoft_peering_config: Optional["ExpressRouteCircuitPeeringConfig"] = None, 7764 stats: Optional["ExpressRouteCircuitStats"] = None, 7765 gateway_manager_etag: Optional[str] = None, 7766 route_filter: Optional["SubResource"] = None, 7767 ipv6_peering_config: Optional["Ipv6ExpressRouteCircuitPeeringConfig"] = None, 7768 express_route_connection: Optional["ExpressRouteConnectionId"] = None, 7769 connections: Optional[List["ExpressRouteCircuitConnection"]] = None, 7770 **kwargs 7771 ): 7772 super(ExpressRouteCircuitPeering, self).__init__(id=id, **kwargs) 7773 self.name = name 7774 self.etag = None 7775 self.type = None 7776 self.peering_type = peering_type 7777 self.state = state 7778 self.azure_asn = azure_asn 7779 self.peer_asn = peer_asn 7780 self.primary_peer_address_prefix = primary_peer_address_prefix 7781 self.secondary_peer_address_prefix = secondary_peer_address_prefix 7782 self.primary_azure_port = primary_azure_port 7783 self.secondary_azure_port = secondary_azure_port 7784 self.shared_key = shared_key 7785 self.vlan_id = vlan_id 7786 self.microsoft_peering_config = microsoft_peering_config 7787 self.stats = stats 7788 self.provisioning_state = None 7789 self.gateway_manager_etag = gateway_manager_etag 7790 self.last_modified_by = None 7791 self.route_filter = route_filter 7792 self.ipv6_peering_config = ipv6_peering_config 7793 self.express_route_connection = express_route_connection 7794 self.connections = connections 7795 self.peered_connections = None 7796 7797 7798class ExpressRouteCircuitPeeringConfig(msrest.serialization.Model): 7799 """Specifies the peering configuration. 7800 7801 Variables are only populated by the server, and will be ignored when sending a request. 7802 7803 :param advertised_public_prefixes: The reference to AdvertisedPublicPrefixes. 7804 :type advertised_public_prefixes: list[str] 7805 :param advertised_communities: The communities of bgp peering. Specified for microsoft peering. 7806 :type advertised_communities: list[str] 7807 :ivar advertised_public_prefixes_state: The advertised public prefix state of the Peering 7808 resource. Possible values include: "NotConfigured", "Configuring", "Configured", 7809 "ValidationNeeded". 7810 :vartype advertised_public_prefixes_state: str or 7811 ~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState 7812 :param legacy_mode: The legacy mode of the peering. 7813 :type legacy_mode: int 7814 :param customer_asn: The CustomerASN of the peering. 7815 :type customer_asn: int 7816 :param routing_registry_name: The RoutingRegistryName of the configuration. 7817 :type routing_registry_name: str 7818 """ 7819 7820 _validation = { 7821 'advertised_public_prefixes_state': {'readonly': True}, 7822 } 7823 7824 _attribute_map = { 7825 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, 7826 'advertised_communities': {'key': 'advertisedCommunities', 'type': '[str]'}, 7827 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, 7828 'legacy_mode': {'key': 'legacyMode', 'type': 'int'}, 7829 'customer_asn': {'key': 'customerASN', 'type': 'int'}, 7830 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, 7831 } 7832 7833 def __init__( 7834 self, 7835 *, 7836 advertised_public_prefixes: Optional[List[str]] = None, 7837 advertised_communities: Optional[List[str]] = None, 7838 legacy_mode: Optional[int] = None, 7839 customer_asn: Optional[int] = None, 7840 routing_registry_name: Optional[str] = None, 7841 **kwargs 7842 ): 7843 super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) 7844 self.advertised_public_prefixes = advertised_public_prefixes 7845 self.advertised_communities = advertised_communities 7846 self.advertised_public_prefixes_state = None 7847 self.legacy_mode = legacy_mode 7848 self.customer_asn = customer_asn 7849 self.routing_registry_name = routing_registry_name 7850 7851 7852class ExpressRouteCircuitPeeringId(msrest.serialization.Model): 7853 """ExpressRoute circuit peering identifier. 7854 7855 :param id: The ID of the ExpressRoute circuit peering. 7856 :type id: str 7857 """ 7858 7859 _attribute_map = { 7860 'id': {'key': 'id', 'type': 'str'}, 7861 } 7862 7863 def __init__( 7864 self, 7865 *, 7866 id: Optional[str] = None, 7867 **kwargs 7868 ): 7869 super(ExpressRouteCircuitPeeringId, self).__init__(**kwargs) 7870 self.id = id 7871 7872 7873class ExpressRouteCircuitPeeringListResult(msrest.serialization.Model): 7874 """Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCircuit. 7875 7876 :param value: The peerings in an express route circuit. 7877 :type value: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitPeering] 7878 :param next_link: The URL to get the next set of results. 7879 :type next_link: str 7880 """ 7881 7882 _attribute_map = { 7883 'value': {'key': 'value', 'type': '[ExpressRouteCircuitPeering]'}, 7884 'next_link': {'key': 'nextLink', 'type': 'str'}, 7885 } 7886 7887 def __init__( 7888 self, 7889 *, 7890 value: Optional[List["ExpressRouteCircuitPeering"]] = None, 7891 next_link: Optional[str] = None, 7892 **kwargs 7893 ): 7894 super(ExpressRouteCircuitPeeringListResult, self).__init__(**kwargs) 7895 self.value = value 7896 self.next_link = next_link 7897 7898 7899class ExpressRouteCircuitReference(msrest.serialization.Model): 7900 """Reference to an express route circuit. 7901 7902 :param id: Corresponding Express Route Circuit Id. 7903 :type id: str 7904 """ 7905 7906 _attribute_map = { 7907 'id': {'key': 'id', 'type': 'str'}, 7908 } 7909 7910 def __init__( 7911 self, 7912 *, 7913 id: Optional[str] = None, 7914 **kwargs 7915 ): 7916 super(ExpressRouteCircuitReference, self).__init__(**kwargs) 7917 self.id = id 7918 7919 7920class ExpressRouteCircuitRoutesTable(msrest.serialization.Model): 7921 """The routes table associated with the ExpressRouteCircuit. 7922 7923 :param network: IP address of a network entity. 7924 :type network: str 7925 :param next_hop: NextHop address. 7926 :type next_hop: str 7927 :param loc_prf: Local preference value as set with the set local-preference route-map 7928 configuration command. 7929 :type loc_prf: str 7930 :param weight: Route Weight. 7931 :type weight: int 7932 :param path: Autonomous system paths to the destination network. 7933 :type path: str 7934 """ 7935 7936 _attribute_map = { 7937 'network': {'key': 'network', 'type': 'str'}, 7938 'next_hop': {'key': 'nextHop', 'type': 'str'}, 7939 'loc_prf': {'key': 'locPrf', 'type': 'str'}, 7940 'weight': {'key': 'weight', 'type': 'int'}, 7941 'path': {'key': 'path', 'type': 'str'}, 7942 } 7943 7944 def __init__( 7945 self, 7946 *, 7947 network: Optional[str] = None, 7948 next_hop: Optional[str] = None, 7949 loc_prf: Optional[str] = None, 7950 weight: Optional[int] = None, 7951 path: Optional[str] = None, 7952 **kwargs 7953 ): 7954 super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) 7955 self.network = network 7956 self.next_hop = next_hop 7957 self.loc_prf = loc_prf 7958 self.weight = weight 7959 self.path = path 7960 7961 7962class ExpressRouteCircuitRoutesTableSummary(msrest.serialization.Model): 7963 """The routes table associated with the ExpressRouteCircuit. 7964 7965 :param neighbor: IP address of the neighbor. 7966 :type neighbor: str 7967 :param v: BGP version number spoken to the neighbor. 7968 :type v: int 7969 :param as_property: Autonomous system number. 7970 :type as_property: int 7971 :param up_down: The length of time that the BGP session has been in the Established state, or 7972 the current status if not in the Established state. 7973 :type up_down: str 7974 :param state_pfx_rcd: Current state of the BGP session, and the number of prefixes that have 7975 been received from a neighbor or peer group. 7976 :type state_pfx_rcd: str 7977 """ 7978 7979 _attribute_map = { 7980 'neighbor': {'key': 'neighbor', 'type': 'str'}, 7981 'v': {'key': 'v', 'type': 'int'}, 7982 'as_property': {'key': 'as', 'type': 'int'}, 7983 'up_down': {'key': 'upDown', 'type': 'str'}, 7984 'state_pfx_rcd': {'key': 'statePfxRcd', 'type': 'str'}, 7985 } 7986 7987 def __init__( 7988 self, 7989 *, 7990 neighbor: Optional[str] = None, 7991 v: Optional[int] = None, 7992 as_property: Optional[int] = None, 7993 up_down: Optional[str] = None, 7994 state_pfx_rcd: Optional[str] = None, 7995 **kwargs 7996 ): 7997 super(ExpressRouteCircuitRoutesTableSummary, self).__init__(**kwargs) 7998 self.neighbor = neighbor 7999 self.v = v 8000 self.as_property = as_property 8001 self.up_down = up_down 8002 self.state_pfx_rcd = state_pfx_rcd 8003 8004 8005class ExpressRouteCircuitsArpTableListResult(msrest.serialization.Model): 8006 """Response for ListArpTable associated with the Express Route Circuits API. 8007 8008 :param value: A list of the ARP tables. 8009 :type value: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitArpTable] 8010 :param next_link: The URL to get the next set of results. 8011 :type next_link: str 8012 """ 8013 8014 _attribute_map = { 8015 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, 8016 'next_link': {'key': 'nextLink', 'type': 'str'}, 8017 } 8018 8019 def __init__( 8020 self, 8021 *, 8022 value: Optional[List["ExpressRouteCircuitArpTable"]] = None, 8023 next_link: Optional[str] = None, 8024 **kwargs 8025 ): 8026 super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) 8027 self.value = value 8028 self.next_link = next_link 8029 8030 8031class ExpressRouteCircuitServiceProviderProperties(msrest.serialization.Model): 8032 """Contains ServiceProviderProperties in an ExpressRouteCircuit. 8033 8034 :param service_provider_name: The serviceProviderName. 8035 :type service_provider_name: str 8036 :param peering_location: The peering location. 8037 :type peering_location: str 8038 :param bandwidth_in_mbps: The BandwidthInMbps. 8039 :type bandwidth_in_mbps: int 8040 """ 8041 8042 _attribute_map = { 8043 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, 8044 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, 8045 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, 8046 } 8047 8048 def __init__( 8049 self, 8050 *, 8051 service_provider_name: Optional[str] = None, 8052 peering_location: Optional[str] = None, 8053 bandwidth_in_mbps: Optional[int] = None, 8054 **kwargs 8055 ): 8056 super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) 8057 self.service_provider_name = service_provider_name 8058 self.peering_location = peering_location 8059 self.bandwidth_in_mbps = bandwidth_in_mbps 8060 8061 8062class ExpressRouteCircuitSku(msrest.serialization.Model): 8063 """Contains SKU in an ExpressRouteCircuit. 8064 8065 :param name: The name of the SKU. 8066 :type name: str 8067 :param tier: The tier of the SKU. Possible values include: "Standard", "Premium", "Basic", 8068 "Local". 8069 :type tier: str or ~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitSkuTier 8070 :param family: The family of the SKU. Possible values include: "UnlimitedData", "MeteredData". 8071 :type family: str or ~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitSkuFamily 8072 """ 8073 8074 _attribute_map = { 8075 'name': {'key': 'name', 'type': 'str'}, 8076 'tier': {'key': 'tier', 'type': 'str'}, 8077 'family': {'key': 'family', 'type': 'str'}, 8078 } 8079 8080 def __init__( 8081 self, 8082 *, 8083 name: Optional[str] = None, 8084 tier: Optional[Union[str, "ExpressRouteCircuitSkuTier"]] = None, 8085 family: Optional[Union[str, "ExpressRouteCircuitSkuFamily"]] = None, 8086 **kwargs 8087 ): 8088 super(ExpressRouteCircuitSku, self).__init__(**kwargs) 8089 self.name = name 8090 self.tier = tier 8091 self.family = family 8092 8093 8094class ExpressRouteCircuitsRoutesTableListResult(msrest.serialization.Model): 8095 """Response for ListRoutesTable associated with the Express Route Circuits API. 8096 8097 :param value: The list of routes table. 8098 :type value: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitRoutesTable] 8099 :param next_link: The URL to get the next set of results. 8100 :type next_link: str 8101 """ 8102 8103 _attribute_map = { 8104 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, 8105 'next_link': {'key': 'nextLink', 'type': 'str'}, 8106 } 8107 8108 def __init__( 8109 self, 8110 *, 8111 value: Optional[List["ExpressRouteCircuitRoutesTable"]] = None, 8112 next_link: Optional[str] = None, 8113 **kwargs 8114 ): 8115 super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) 8116 self.value = value 8117 self.next_link = next_link 8118 8119 8120class ExpressRouteCircuitsRoutesTableSummaryListResult(msrest.serialization.Model): 8121 """Response for ListRoutesTable associated with the Express Route Circuits API. 8122 8123 :param value: A list of the routes table. 8124 :type value: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitRoutesTableSummary] 8125 :param next_link: The URL to get the next set of results. 8126 :type next_link: str 8127 """ 8128 8129 _attribute_map = { 8130 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTableSummary]'}, 8131 'next_link': {'key': 'nextLink', 'type': 'str'}, 8132 } 8133 8134 def __init__( 8135 self, 8136 *, 8137 value: Optional[List["ExpressRouteCircuitRoutesTableSummary"]] = None, 8138 next_link: Optional[str] = None, 8139 **kwargs 8140 ): 8141 super(ExpressRouteCircuitsRoutesTableSummaryListResult, self).__init__(**kwargs) 8142 self.value = value 8143 self.next_link = next_link 8144 8145 8146class ExpressRouteCircuitStats(msrest.serialization.Model): 8147 """Contains stats associated with the peering. 8148 8149 :param primarybytes_in: The Primary BytesIn of the peering. 8150 :type primarybytes_in: long 8151 :param primarybytes_out: The primary BytesOut of the peering. 8152 :type primarybytes_out: long 8153 :param secondarybytes_in: The secondary BytesIn of the peering. 8154 :type secondarybytes_in: long 8155 :param secondarybytes_out: The secondary BytesOut of the peering. 8156 :type secondarybytes_out: long 8157 """ 8158 8159 _attribute_map = { 8160 'primarybytes_in': {'key': 'primarybytesIn', 'type': 'long'}, 8161 'primarybytes_out': {'key': 'primarybytesOut', 'type': 'long'}, 8162 'secondarybytes_in': {'key': 'secondarybytesIn', 'type': 'long'}, 8163 'secondarybytes_out': {'key': 'secondarybytesOut', 'type': 'long'}, 8164 } 8165 8166 def __init__( 8167 self, 8168 *, 8169 primarybytes_in: Optional[int] = None, 8170 primarybytes_out: Optional[int] = None, 8171 secondarybytes_in: Optional[int] = None, 8172 secondarybytes_out: Optional[int] = None, 8173 **kwargs 8174 ): 8175 super(ExpressRouteCircuitStats, self).__init__(**kwargs) 8176 self.primarybytes_in = primarybytes_in 8177 self.primarybytes_out = primarybytes_out 8178 self.secondarybytes_in = secondarybytes_in 8179 self.secondarybytes_out = secondarybytes_out 8180 8181 8182class ExpressRouteConnection(SubResource): 8183 """ExpressRouteConnection resource. 8184 8185 Variables are only populated by the server, and will be ignored when sending a request. 8186 8187 All required parameters must be populated in order to send to Azure. 8188 8189 :param id: Resource ID. 8190 :type id: str 8191 :param name: Required. The name of the resource. 8192 :type name: str 8193 :ivar provisioning_state: The provisioning state of the express route connection resource. 8194 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 8195 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 8196 :param express_route_circuit_peering: The ExpressRoute circuit peering. 8197 :type express_route_circuit_peering: 8198 ~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitPeeringId 8199 :param authorization_key: Authorization key to establish the connection. 8200 :type authorization_key: str 8201 :param routing_weight: The routing weight associated to the connection. 8202 :type routing_weight: int 8203 :param enable_internet_security: Enable internet security. 8204 :type enable_internet_security: bool 8205 """ 8206 8207 _validation = { 8208 'name': {'required': True}, 8209 'provisioning_state': {'readonly': True}, 8210 } 8211 8212 _attribute_map = { 8213 'id': {'key': 'id', 'type': 'str'}, 8214 'name': {'key': 'name', 'type': 'str'}, 8215 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8216 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'ExpressRouteCircuitPeeringId'}, 8217 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 8218 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, 8219 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, 8220 } 8221 8222 def __init__( 8223 self, 8224 *, 8225 name: str, 8226 id: Optional[str] = None, 8227 express_route_circuit_peering: Optional["ExpressRouteCircuitPeeringId"] = None, 8228 authorization_key: Optional[str] = None, 8229 routing_weight: Optional[int] = None, 8230 enable_internet_security: Optional[bool] = None, 8231 **kwargs 8232 ): 8233 super(ExpressRouteConnection, self).__init__(id=id, **kwargs) 8234 self.name = name 8235 self.provisioning_state = None 8236 self.express_route_circuit_peering = express_route_circuit_peering 8237 self.authorization_key = authorization_key 8238 self.routing_weight = routing_weight 8239 self.enable_internet_security = enable_internet_security 8240 8241 8242class ExpressRouteConnectionId(msrest.serialization.Model): 8243 """The ID of the ExpressRouteConnection. 8244 8245 Variables are only populated by the server, and will be ignored when sending a request. 8246 8247 :ivar id: The ID of the ExpressRouteConnection. 8248 :vartype id: str 8249 """ 8250 8251 _validation = { 8252 'id': {'readonly': True}, 8253 } 8254 8255 _attribute_map = { 8256 'id': {'key': 'id', 'type': 'str'}, 8257 } 8258 8259 def __init__( 8260 self, 8261 **kwargs 8262 ): 8263 super(ExpressRouteConnectionId, self).__init__(**kwargs) 8264 self.id = None 8265 8266 8267class ExpressRouteConnectionList(msrest.serialization.Model): 8268 """ExpressRouteConnection list. 8269 8270 :param value: The list of ExpressRoute connections. 8271 :type value: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteConnection] 8272 """ 8273 8274 _attribute_map = { 8275 'value': {'key': 'value', 'type': '[ExpressRouteConnection]'}, 8276 } 8277 8278 def __init__( 8279 self, 8280 *, 8281 value: Optional[List["ExpressRouteConnection"]] = None, 8282 **kwargs 8283 ): 8284 super(ExpressRouteConnectionList, self).__init__(**kwargs) 8285 self.value = value 8286 8287 8288class ExpressRouteCrossConnection(Resource): 8289 """ExpressRouteCrossConnection resource. 8290 8291 Variables are only populated by the server, and will be ignored when sending a request. 8292 8293 :param id: Resource ID. 8294 :type id: str 8295 :ivar name: Resource name. 8296 :vartype name: str 8297 :ivar type: Resource type. 8298 :vartype type: str 8299 :param location: Resource location. 8300 :type location: str 8301 :param tags: A set of tags. Resource tags. 8302 :type tags: dict[str, str] 8303 :ivar etag: A unique read-only string that changes whenever the resource is updated. 8304 :vartype etag: str 8305 :ivar primary_azure_port: The name of the primary port. 8306 :vartype primary_azure_port: str 8307 :ivar secondary_azure_port: The name of the secondary port. 8308 :vartype secondary_azure_port: str 8309 :ivar s_tag: The identifier of the circuit traffic. 8310 :vartype s_tag: int 8311 :param peering_location: The peering location of the ExpressRoute circuit. 8312 :type peering_location: str 8313 :param bandwidth_in_mbps: The circuit bandwidth In Mbps. 8314 :type bandwidth_in_mbps: int 8315 :param express_route_circuit: The ExpressRouteCircuit. 8316 :type express_route_circuit: 8317 ~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitReference 8318 :param service_provider_provisioning_state: The provisioning state of the circuit in the 8319 connectivity provider system. Possible values include: "NotProvisioned", "Provisioning", 8320 "Provisioned", "Deprovisioning". 8321 :type service_provider_provisioning_state: str or 8322 ~azure.mgmt.network.v2019_12_01.models.ServiceProviderProvisioningState 8323 :param service_provider_notes: Additional read only notes set by the connectivity provider. 8324 :type service_provider_notes: str 8325 :ivar provisioning_state: The provisioning state of the express route cross connection 8326 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 8327 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 8328 :param peerings: The list of peerings. 8329 :type peerings: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteCrossConnectionPeering] 8330 """ 8331 8332 _validation = { 8333 'name': {'readonly': True}, 8334 'type': {'readonly': True}, 8335 'etag': {'readonly': True}, 8336 'primary_azure_port': {'readonly': True}, 8337 'secondary_azure_port': {'readonly': True}, 8338 's_tag': {'readonly': True}, 8339 'provisioning_state': {'readonly': True}, 8340 } 8341 8342 _attribute_map = { 8343 'id': {'key': 'id', 'type': 'str'}, 8344 'name': {'key': 'name', 'type': 'str'}, 8345 'type': {'key': 'type', 'type': 'str'}, 8346 'location': {'key': 'location', 'type': 'str'}, 8347 'tags': {'key': 'tags', 'type': '{str}'}, 8348 'etag': {'key': 'etag', 'type': 'str'}, 8349 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, 8350 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, 8351 's_tag': {'key': 'properties.sTag', 'type': 'int'}, 8352 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, 8353 'bandwidth_in_mbps': {'key': 'properties.bandwidthInMbps', 'type': 'int'}, 8354 'express_route_circuit': {'key': 'properties.expressRouteCircuit', 'type': 'ExpressRouteCircuitReference'}, 8355 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, 8356 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, 8357 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8358 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCrossConnectionPeering]'}, 8359 } 8360 8361 def __init__( 8362 self, 8363 *, 8364 id: Optional[str] = None, 8365 location: Optional[str] = None, 8366 tags: Optional[Dict[str, str]] = None, 8367 peering_location: Optional[str] = None, 8368 bandwidth_in_mbps: Optional[int] = None, 8369 express_route_circuit: Optional["ExpressRouteCircuitReference"] = None, 8370 service_provider_provisioning_state: Optional[Union[str, "ServiceProviderProvisioningState"]] = None, 8371 service_provider_notes: Optional[str] = None, 8372 peerings: Optional[List["ExpressRouteCrossConnectionPeering"]] = None, 8373 **kwargs 8374 ): 8375 super(ExpressRouteCrossConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) 8376 self.etag = None 8377 self.primary_azure_port = None 8378 self.secondary_azure_port = None 8379 self.s_tag = None 8380 self.peering_location = peering_location 8381 self.bandwidth_in_mbps = bandwidth_in_mbps 8382 self.express_route_circuit = express_route_circuit 8383 self.service_provider_provisioning_state = service_provider_provisioning_state 8384 self.service_provider_notes = service_provider_notes 8385 self.provisioning_state = None 8386 self.peerings = peerings 8387 8388 8389class ExpressRouteCrossConnectionListResult(msrest.serialization.Model): 8390 """Response for ListExpressRouteCrossConnection API service call. 8391 8392 Variables are only populated by the server, and will be ignored when sending a request. 8393 8394 :param value: A list of ExpressRouteCrossConnection resources. 8395 :type value: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteCrossConnection] 8396 :ivar next_link: The URL to get the next set of results. 8397 :vartype next_link: str 8398 """ 8399 8400 _validation = { 8401 'next_link': {'readonly': True}, 8402 } 8403 8404 _attribute_map = { 8405 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnection]'}, 8406 'next_link': {'key': 'nextLink', 'type': 'str'}, 8407 } 8408 8409 def __init__( 8410 self, 8411 *, 8412 value: Optional[List["ExpressRouteCrossConnection"]] = None, 8413 **kwargs 8414 ): 8415 super(ExpressRouteCrossConnectionListResult, self).__init__(**kwargs) 8416 self.value = value 8417 self.next_link = None 8418 8419 8420class ExpressRouteCrossConnectionPeering(SubResource): 8421 """Peering in an ExpressRoute Cross Connection resource. 8422 8423 Variables are only populated by the server, and will be ignored when sending a request. 8424 8425 :param id: Resource ID. 8426 :type id: str 8427 :param name: The name of the resource that is unique within a resource group. This name can be 8428 used to access the resource. 8429 :type name: str 8430 :ivar etag: A unique read-only string that changes whenever the resource is updated. 8431 :vartype etag: str 8432 :param peering_type: The peering type. Possible values include: "AzurePublicPeering", 8433 "AzurePrivatePeering", "MicrosoftPeering". 8434 :type peering_type: str or ~azure.mgmt.network.v2019_12_01.models.ExpressRoutePeeringType 8435 :param state: The peering state. Possible values include: "Disabled", "Enabled". 8436 :type state: str or ~azure.mgmt.network.v2019_12_01.models.ExpressRoutePeeringState 8437 :ivar azure_asn: The Azure ASN. 8438 :vartype azure_asn: int 8439 :param peer_asn: The peer ASN. 8440 :type peer_asn: long 8441 :param primary_peer_address_prefix: The primary address prefix. 8442 :type primary_peer_address_prefix: str 8443 :param secondary_peer_address_prefix: The secondary address prefix. 8444 :type secondary_peer_address_prefix: str 8445 :ivar primary_azure_port: The primary port. 8446 :vartype primary_azure_port: str 8447 :ivar secondary_azure_port: The secondary port. 8448 :vartype secondary_azure_port: str 8449 :param shared_key: The shared key. 8450 :type shared_key: str 8451 :param vlan_id: The VLAN ID. 8452 :type vlan_id: int 8453 :param microsoft_peering_config: The Microsoft peering configuration. 8454 :type microsoft_peering_config: 8455 ~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitPeeringConfig 8456 :ivar provisioning_state: The provisioning state of the express route cross connection peering 8457 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 8458 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 8459 :param gateway_manager_etag: The GatewayManager Etag. 8460 :type gateway_manager_etag: str 8461 :ivar last_modified_by: Who was the last to modify the peering. 8462 :vartype last_modified_by: str 8463 :param ipv6_peering_config: The IPv6 peering configuration. 8464 :type ipv6_peering_config: 8465 ~azure.mgmt.network.v2019_12_01.models.Ipv6ExpressRouteCircuitPeeringConfig 8466 """ 8467 8468 _validation = { 8469 'etag': {'readonly': True}, 8470 'azure_asn': {'readonly': True}, 8471 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, 8472 'primary_azure_port': {'readonly': True}, 8473 'secondary_azure_port': {'readonly': True}, 8474 'provisioning_state': {'readonly': True}, 8475 'last_modified_by': {'readonly': True}, 8476 } 8477 8478 _attribute_map = { 8479 'id': {'key': 'id', 'type': 'str'}, 8480 'name': {'key': 'name', 'type': 'str'}, 8481 'etag': {'key': 'etag', 'type': 'str'}, 8482 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, 8483 'state': {'key': 'properties.state', 'type': 'str'}, 8484 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, 8485 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, 8486 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, 8487 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, 8488 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, 8489 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, 8490 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 8491 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, 8492 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, 8493 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8494 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, 8495 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, 8496 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, 8497 } 8498 8499 def __init__( 8500 self, 8501 *, 8502 id: Optional[str] = None, 8503 name: Optional[str] = None, 8504 peering_type: Optional[Union[str, "ExpressRoutePeeringType"]] = None, 8505 state: Optional[Union[str, "ExpressRoutePeeringState"]] = None, 8506 peer_asn: Optional[int] = None, 8507 primary_peer_address_prefix: Optional[str] = None, 8508 secondary_peer_address_prefix: Optional[str] = None, 8509 shared_key: Optional[str] = None, 8510 vlan_id: Optional[int] = None, 8511 microsoft_peering_config: Optional["ExpressRouteCircuitPeeringConfig"] = None, 8512 gateway_manager_etag: Optional[str] = None, 8513 ipv6_peering_config: Optional["Ipv6ExpressRouteCircuitPeeringConfig"] = None, 8514 **kwargs 8515 ): 8516 super(ExpressRouteCrossConnectionPeering, self).__init__(id=id, **kwargs) 8517 self.name = name 8518 self.etag = None 8519 self.peering_type = peering_type 8520 self.state = state 8521 self.azure_asn = None 8522 self.peer_asn = peer_asn 8523 self.primary_peer_address_prefix = primary_peer_address_prefix 8524 self.secondary_peer_address_prefix = secondary_peer_address_prefix 8525 self.primary_azure_port = None 8526 self.secondary_azure_port = None 8527 self.shared_key = shared_key 8528 self.vlan_id = vlan_id 8529 self.microsoft_peering_config = microsoft_peering_config 8530 self.provisioning_state = None 8531 self.gateway_manager_etag = gateway_manager_etag 8532 self.last_modified_by = None 8533 self.ipv6_peering_config = ipv6_peering_config 8534 8535 8536class ExpressRouteCrossConnectionPeeringList(msrest.serialization.Model): 8537 """Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCrossConnection. 8538 8539 Variables are only populated by the server, and will be ignored when sending a request. 8540 8541 :param value: The peerings in an express route cross connection. 8542 :type value: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteCrossConnectionPeering] 8543 :ivar next_link: The URL to get the next set of results. 8544 :vartype next_link: str 8545 """ 8546 8547 _validation = { 8548 'next_link': {'readonly': True}, 8549 } 8550 8551 _attribute_map = { 8552 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionPeering]'}, 8553 'next_link': {'key': 'nextLink', 'type': 'str'}, 8554 } 8555 8556 def __init__( 8557 self, 8558 *, 8559 value: Optional[List["ExpressRouteCrossConnectionPeering"]] = None, 8560 **kwargs 8561 ): 8562 super(ExpressRouteCrossConnectionPeeringList, self).__init__(**kwargs) 8563 self.value = value 8564 self.next_link = None 8565 8566 8567class ExpressRouteCrossConnectionRoutesTableSummary(msrest.serialization.Model): 8568 """The routes table associated with the ExpressRouteCircuit. 8569 8570 :param neighbor: IP address of Neighbor router. 8571 :type neighbor: str 8572 :param asn: Autonomous system number. 8573 :type asn: int 8574 :param up_down: The length of time that the BGP session has been in the Established state, or 8575 the current status if not in the Established state. 8576 :type up_down: str 8577 :param state_or_prefixes_received: Current state of the BGP session, and the number of prefixes 8578 that have been received from a neighbor or peer group. 8579 :type state_or_prefixes_received: str 8580 """ 8581 8582 _attribute_map = { 8583 'neighbor': {'key': 'neighbor', 'type': 'str'}, 8584 'asn': {'key': 'asn', 'type': 'int'}, 8585 'up_down': {'key': 'upDown', 'type': 'str'}, 8586 'state_or_prefixes_received': {'key': 'stateOrPrefixesReceived', 'type': 'str'}, 8587 } 8588 8589 def __init__( 8590 self, 8591 *, 8592 neighbor: Optional[str] = None, 8593 asn: Optional[int] = None, 8594 up_down: Optional[str] = None, 8595 state_or_prefixes_received: Optional[str] = None, 8596 **kwargs 8597 ): 8598 super(ExpressRouteCrossConnectionRoutesTableSummary, self).__init__(**kwargs) 8599 self.neighbor = neighbor 8600 self.asn = asn 8601 self.up_down = up_down 8602 self.state_or_prefixes_received = state_or_prefixes_received 8603 8604 8605class ExpressRouteCrossConnectionsRoutesTableSummaryListResult(msrest.serialization.Model): 8606 """Response for ListRoutesTable associated with the Express Route Cross Connections. 8607 8608 Variables are only populated by the server, and will be ignored when sending a request. 8609 8610 :param value: A list of the routes table. 8611 :type value: 8612 list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteCrossConnectionRoutesTableSummary] 8613 :ivar next_link: The URL to get the next set of results. 8614 :vartype next_link: str 8615 """ 8616 8617 _validation = { 8618 'next_link': {'readonly': True}, 8619 } 8620 8621 _attribute_map = { 8622 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionRoutesTableSummary]'}, 8623 'next_link': {'key': 'nextLink', 'type': 'str'}, 8624 } 8625 8626 def __init__( 8627 self, 8628 *, 8629 value: Optional[List["ExpressRouteCrossConnectionRoutesTableSummary"]] = None, 8630 **kwargs 8631 ): 8632 super(ExpressRouteCrossConnectionsRoutesTableSummaryListResult, self).__init__(**kwargs) 8633 self.value = value 8634 self.next_link = None 8635 8636 8637class ExpressRouteGateway(Resource): 8638 """ExpressRoute gateway resource. 8639 8640 Variables are only populated by the server, and will be ignored when sending a request. 8641 8642 :param id: Resource ID. 8643 :type id: str 8644 :ivar name: Resource name. 8645 :vartype name: str 8646 :ivar type: Resource type. 8647 :vartype type: str 8648 :param location: Resource location. 8649 :type location: str 8650 :param tags: A set of tags. Resource tags. 8651 :type tags: dict[str, str] 8652 :ivar etag: A unique read-only string that changes whenever the resource is updated. 8653 :vartype etag: str 8654 :param auto_scale_configuration: Configuration for auto scaling. 8655 :type auto_scale_configuration: 8656 ~azure.mgmt.network.v2019_12_01.models.ExpressRouteGatewayPropertiesAutoScaleConfiguration 8657 :ivar express_route_connections: List of ExpressRoute connections to the ExpressRoute gateway. 8658 :vartype express_route_connections: 8659 list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteConnection] 8660 :ivar provisioning_state: The provisioning state of the express route gateway resource. 8661 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 8662 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 8663 :param virtual_hub: The Virtual Hub where the ExpressRoute gateway is or will be deployed. 8664 :type virtual_hub: ~azure.mgmt.network.v2019_12_01.models.VirtualHubId 8665 """ 8666 8667 _validation = { 8668 'name': {'readonly': True}, 8669 'type': {'readonly': True}, 8670 'etag': {'readonly': True}, 8671 'express_route_connections': {'readonly': True}, 8672 'provisioning_state': {'readonly': True}, 8673 } 8674 8675 _attribute_map = { 8676 'id': {'key': 'id', 'type': 'str'}, 8677 'name': {'key': 'name', 'type': 'str'}, 8678 'type': {'key': 'type', 'type': 'str'}, 8679 'location': {'key': 'location', 'type': 'str'}, 8680 'tags': {'key': 'tags', 'type': '{str}'}, 8681 'etag': {'key': 'etag', 'type': 'str'}, 8682 'auto_scale_configuration': {'key': 'properties.autoScaleConfiguration', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfiguration'}, 8683 'express_route_connections': {'key': 'properties.expressRouteConnections', 'type': '[ExpressRouteConnection]'}, 8684 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8685 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'VirtualHubId'}, 8686 } 8687 8688 def __init__( 8689 self, 8690 *, 8691 id: Optional[str] = None, 8692 location: Optional[str] = None, 8693 tags: Optional[Dict[str, str]] = None, 8694 auto_scale_configuration: Optional["ExpressRouteGatewayPropertiesAutoScaleConfiguration"] = None, 8695 virtual_hub: Optional["VirtualHubId"] = None, 8696 **kwargs 8697 ): 8698 super(ExpressRouteGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 8699 self.etag = None 8700 self.auto_scale_configuration = auto_scale_configuration 8701 self.express_route_connections = None 8702 self.provisioning_state = None 8703 self.virtual_hub = virtual_hub 8704 8705 8706class ExpressRouteGatewayList(msrest.serialization.Model): 8707 """List of ExpressRoute gateways. 8708 8709 :param value: List of ExpressRoute gateways. 8710 :type value: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteGateway] 8711 """ 8712 8713 _attribute_map = { 8714 'value': {'key': 'value', 'type': '[ExpressRouteGateway]'}, 8715 } 8716 8717 def __init__( 8718 self, 8719 *, 8720 value: Optional[List["ExpressRouteGateway"]] = None, 8721 **kwargs 8722 ): 8723 super(ExpressRouteGatewayList, self).__init__(**kwargs) 8724 self.value = value 8725 8726 8727class ExpressRouteGatewayPropertiesAutoScaleConfiguration(msrest.serialization.Model): 8728 """Configuration for auto scaling. 8729 8730 :param bounds: Minimum and maximum number of scale units to deploy. 8731 :type bounds: 8732 ~azure.mgmt.network.v2019_12_01.models.ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds 8733 """ 8734 8735 _attribute_map = { 8736 'bounds': {'key': 'bounds', 'type': 'ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds'}, 8737 } 8738 8739 def __init__( 8740 self, 8741 *, 8742 bounds: Optional["ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds"] = None, 8743 **kwargs 8744 ): 8745 super(ExpressRouteGatewayPropertiesAutoScaleConfiguration, self).__init__(**kwargs) 8746 self.bounds = bounds 8747 8748 8749class ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds(msrest.serialization.Model): 8750 """Minimum and maximum number of scale units to deploy. 8751 8752 :param min: Minimum number of scale units deployed for ExpressRoute gateway. 8753 :type min: int 8754 :param max: Maximum number of scale units deployed for ExpressRoute gateway. 8755 :type max: int 8756 """ 8757 8758 _attribute_map = { 8759 'min': {'key': 'min', 'type': 'int'}, 8760 'max': {'key': 'max', 'type': 'int'}, 8761 } 8762 8763 def __init__( 8764 self, 8765 *, 8766 min: Optional[int] = None, 8767 max: Optional[int] = None, 8768 **kwargs 8769 ): 8770 super(ExpressRouteGatewayPropertiesAutoScaleConfigurationBounds, self).__init__(**kwargs) 8771 self.min = min 8772 self.max = max 8773 8774 8775class ExpressRouteLink(SubResource): 8776 """ExpressRouteLink child resource definition. 8777 8778 Variables are only populated by the server, and will be ignored when sending a request. 8779 8780 :param id: Resource ID. 8781 :type id: str 8782 :param name: Name of child port resource that is unique among child port resources of the 8783 parent. 8784 :type name: str 8785 :ivar etag: A unique read-only string that changes whenever the resource is updated. 8786 :vartype etag: str 8787 :ivar router_name: Name of Azure router associated with physical port. 8788 :vartype router_name: str 8789 :ivar interface_name: Name of Azure router interface. 8790 :vartype interface_name: str 8791 :ivar patch_panel_id: Mapping between physical port to patch panel port. 8792 :vartype patch_panel_id: str 8793 :ivar rack_id: Mapping of physical patch panel to rack. 8794 :vartype rack_id: str 8795 :ivar connector_type: Physical fiber port type. Possible values include: "LC", "SC". 8796 :vartype connector_type: str or 8797 ~azure.mgmt.network.v2019_12_01.models.ExpressRouteLinkConnectorType 8798 :param admin_state: Administrative state of the physical port. Possible values include: 8799 "Enabled", "Disabled". 8800 :type admin_state: str or ~azure.mgmt.network.v2019_12_01.models.ExpressRouteLinkAdminState 8801 :ivar provisioning_state: The provisioning state of the express route link resource. Possible 8802 values include: "Succeeded", "Updating", "Deleting", "Failed". 8803 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 8804 :param mac_sec_config: MacSec configuration. 8805 :type mac_sec_config: ~azure.mgmt.network.v2019_12_01.models.ExpressRouteLinkMacSecConfig 8806 """ 8807 8808 _validation = { 8809 'etag': {'readonly': True}, 8810 'router_name': {'readonly': True}, 8811 'interface_name': {'readonly': True}, 8812 'patch_panel_id': {'readonly': True}, 8813 'rack_id': {'readonly': True}, 8814 'connector_type': {'readonly': True}, 8815 'provisioning_state': {'readonly': True}, 8816 } 8817 8818 _attribute_map = { 8819 'id': {'key': 'id', 'type': 'str'}, 8820 'name': {'key': 'name', 'type': 'str'}, 8821 'etag': {'key': 'etag', 'type': 'str'}, 8822 'router_name': {'key': 'properties.routerName', 'type': 'str'}, 8823 'interface_name': {'key': 'properties.interfaceName', 'type': 'str'}, 8824 'patch_panel_id': {'key': 'properties.patchPanelId', 'type': 'str'}, 8825 'rack_id': {'key': 'properties.rackId', 'type': 'str'}, 8826 'connector_type': {'key': 'properties.connectorType', 'type': 'str'}, 8827 'admin_state': {'key': 'properties.adminState', 'type': 'str'}, 8828 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8829 'mac_sec_config': {'key': 'properties.macSecConfig', 'type': 'ExpressRouteLinkMacSecConfig'}, 8830 } 8831 8832 def __init__( 8833 self, 8834 *, 8835 id: Optional[str] = None, 8836 name: Optional[str] = None, 8837 admin_state: Optional[Union[str, "ExpressRouteLinkAdminState"]] = None, 8838 mac_sec_config: Optional["ExpressRouteLinkMacSecConfig"] = None, 8839 **kwargs 8840 ): 8841 super(ExpressRouteLink, self).__init__(id=id, **kwargs) 8842 self.name = name 8843 self.etag = None 8844 self.router_name = None 8845 self.interface_name = None 8846 self.patch_panel_id = None 8847 self.rack_id = None 8848 self.connector_type = None 8849 self.admin_state = admin_state 8850 self.provisioning_state = None 8851 self.mac_sec_config = mac_sec_config 8852 8853 8854class ExpressRouteLinkListResult(msrest.serialization.Model): 8855 """Response for ListExpressRouteLinks API service call. 8856 8857 :param value: The list of ExpressRouteLink sub-resources. 8858 :type value: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteLink] 8859 :param next_link: The URL to get the next set of results. 8860 :type next_link: str 8861 """ 8862 8863 _attribute_map = { 8864 'value': {'key': 'value', 'type': '[ExpressRouteLink]'}, 8865 'next_link': {'key': 'nextLink', 'type': 'str'}, 8866 } 8867 8868 def __init__( 8869 self, 8870 *, 8871 value: Optional[List["ExpressRouteLink"]] = None, 8872 next_link: Optional[str] = None, 8873 **kwargs 8874 ): 8875 super(ExpressRouteLinkListResult, self).__init__(**kwargs) 8876 self.value = value 8877 self.next_link = next_link 8878 8879 8880class ExpressRouteLinkMacSecConfig(msrest.serialization.Model): 8881 """ExpressRouteLink Mac Security Configuration. 8882 8883 :param ckn_secret_identifier: Keyvault Secret Identifier URL containing Mac security CKN key. 8884 :type ckn_secret_identifier: str 8885 :param cak_secret_identifier: Keyvault Secret Identifier URL containing Mac security CAK key. 8886 :type cak_secret_identifier: str 8887 :param cipher: Mac security cipher. Possible values include: "gcm-aes-128", "gcm-aes-256". 8888 :type cipher: str or ~azure.mgmt.network.v2019_12_01.models.ExpressRouteLinkMacSecCipher 8889 """ 8890 8891 _attribute_map = { 8892 'ckn_secret_identifier': {'key': 'cknSecretIdentifier', 'type': 'str'}, 8893 'cak_secret_identifier': {'key': 'cakSecretIdentifier', 'type': 'str'}, 8894 'cipher': {'key': 'cipher', 'type': 'str'}, 8895 } 8896 8897 def __init__( 8898 self, 8899 *, 8900 ckn_secret_identifier: Optional[str] = None, 8901 cak_secret_identifier: Optional[str] = None, 8902 cipher: Optional[Union[str, "ExpressRouteLinkMacSecCipher"]] = None, 8903 **kwargs 8904 ): 8905 super(ExpressRouteLinkMacSecConfig, self).__init__(**kwargs) 8906 self.ckn_secret_identifier = ckn_secret_identifier 8907 self.cak_secret_identifier = cak_secret_identifier 8908 self.cipher = cipher 8909 8910 8911class ExpressRoutePort(Resource): 8912 """ExpressRoutePort resource definition. 8913 8914 Variables are only populated by the server, and will be ignored when sending a request. 8915 8916 :param id: Resource ID. 8917 :type id: str 8918 :ivar name: Resource name. 8919 :vartype name: str 8920 :ivar type: Resource type. 8921 :vartype type: str 8922 :param location: Resource location. 8923 :type location: str 8924 :param tags: A set of tags. Resource tags. 8925 :type tags: dict[str, str] 8926 :ivar etag: A unique read-only string that changes whenever the resource is updated. 8927 :vartype etag: str 8928 :param identity: The identity of ExpressRoutePort, if configured. 8929 :type identity: ~azure.mgmt.network.v2019_12_01.models.ManagedServiceIdentity 8930 :param peering_location: The name of the peering location that the ExpressRoutePort is mapped 8931 to physically. 8932 :type peering_location: str 8933 :param bandwidth_in_gbps: Bandwidth of procured ports in Gbps. 8934 :type bandwidth_in_gbps: int 8935 :ivar provisioned_bandwidth_in_gbps: Aggregate Gbps of associated circuit bandwidths. 8936 :vartype provisioned_bandwidth_in_gbps: float 8937 :ivar mtu: Maximum transmission unit of the physical port pair(s). 8938 :vartype mtu: str 8939 :param encapsulation: Encapsulation method on physical ports. Possible values include: "Dot1Q", 8940 "QinQ". 8941 :type encapsulation: str or 8942 ~azure.mgmt.network.v2019_12_01.models.ExpressRoutePortsEncapsulation 8943 :ivar ether_type: Ether type of the physical port. 8944 :vartype ether_type: str 8945 :ivar allocation_date: Date of the physical port allocation to be used in Letter of 8946 Authorization. 8947 :vartype allocation_date: str 8948 :param links: The set of physical links of the ExpressRoutePort resource. 8949 :type links: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteLink] 8950 :ivar circuits: Reference the ExpressRoute circuit(s) that are provisioned on this 8951 ExpressRoutePort resource. 8952 :vartype circuits: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 8953 :ivar provisioning_state: The provisioning state of the express route port resource. Possible 8954 values include: "Succeeded", "Updating", "Deleting", "Failed". 8955 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 8956 :ivar resource_guid: The resource GUID property of the express route port resource. 8957 :vartype resource_guid: str 8958 """ 8959 8960 _validation = { 8961 'name': {'readonly': True}, 8962 'type': {'readonly': True}, 8963 'etag': {'readonly': True}, 8964 'provisioned_bandwidth_in_gbps': {'readonly': True}, 8965 'mtu': {'readonly': True}, 8966 'ether_type': {'readonly': True}, 8967 'allocation_date': {'readonly': True}, 8968 'circuits': {'readonly': True}, 8969 'provisioning_state': {'readonly': True}, 8970 'resource_guid': {'readonly': True}, 8971 } 8972 8973 _attribute_map = { 8974 'id': {'key': 'id', 'type': 'str'}, 8975 'name': {'key': 'name', 'type': 'str'}, 8976 'type': {'key': 'type', 'type': 'str'}, 8977 'location': {'key': 'location', 'type': 'str'}, 8978 'tags': {'key': 'tags', 'type': '{str}'}, 8979 'etag': {'key': 'etag', 'type': 'str'}, 8980 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 8981 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, 8982 'bandwidth_in_gbps': {'key': 'properties.bandwidthInGbps', 'type': 'int'}, 8983 'provisioned_bandwidth_in_gbps': {'key': 'properties.provisionedBandwidthInGbps', 'type': 'float'}, 8984 'mtu': {'key': 'properties.mtu', 'type': 'str'}, 8985 'encapsulation': {'key': 'properties.encapsulation', 'type': 'str'}, 8986 'ether_type': {'key': 'properties.etherType', 'type': 'str'}, 8987 'allocation_date': {'key': 'properties.allocationDate', 'type': 'str'}, 8988 'links': {'key': 'properties.links', 'type': '[ExpressRouteLink]'}, 8989 'circuits': {'key': 'properties.circuits', 'type': '[SubResource]'}, 8990 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8991 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 8992 } 8993 8994 def __init__( 8995 self, 8996 *, 8997 id: Optional[str] = None, 8998 location: Optional[str] = None, 8999 tags: Optional[Dict[str, str]] = None, 9000 identity: Optional["ManagedServiceIdentity"] = None, 9001 peering_location: Optional[str] = None, 9002 bandwidth_in_gbps: Optional[int] = None, 9003 encapsulation: Optional[Union[str, "ExpressRoutePortsEncapsulation"]] = None, 9004 links: Optional[List["ExpressRouteLink"]] = None, 9005 **kwargs 9006 ): 9007 super(ExpressRoutePort, self).__init__(id=id, location=location, tags=tags, **kwargs) 9008 self.etag = None 9009 self.identity = identity 9010 self.peering_location = peering_location 9011 self.bandwidth_in_gbps = bandwidth_in_gbps 9012 self.provisioned_bandwidth_in_gbps = None 9013 self.mtu = None 9014 self.encapsulation = encapsulation 9015 self.ether_type = None 9016 self.allocation_date = None 9017 self.links = links 9018 self.circuits = None 9019 self.provisioning_state = None 9020 self.resource_guid = None 9021 9022 9023class ExpressRoutePortListResult(msrest.serialization.Model): 9024 """Response for ListExpressRoutePorts API service call. 9025 9026 :param value: A list of ExpressRoutePort resources. 9027 :type value: list[~azure.mgmt.network.v2019_12_01.models.ExpressRoutePort] 9028 :param next_link: The URL to get the next set of results. 9029 :type next_link: str 9030 """ 9031 9032 _attribute_map = { 9033 'value': {'key': 'value', 'type': '[ExpressRoutePort]'}, 9034 'next_link': {'key': 'nextLink', 'type': 'str'}, 9035 } 9036 9037 def __init__( 9038 self, 9039 *, 9040 value: Optional[List["ExpressRoutePort"]] = None, 9041 next_link: Optional[str] = None, 9042 **kwargs 9043 ): 9044 super(ExpressRoutePortListResult, self).__init__(**kwargs) 9045 self.value = value 9046 self.next_link = next_link 9047 9048 9049class ExpressRoutePortsLocation(Resource): 9050 """Definition of the ExpressRoutePorts peering location resource. 9051 9052 Variables are only populated by the server, and will be ignored when sending a request. 9053 9054 :param id: Resource ID. 9055 :type id: str 9056 :ivar name: Resource name. 9057 :vartype name: str 9058 :ivar type: Resource type. 9059 :vartype type: str 9060 :param location: Resource location. 9061 :type location: str 9062 :param tags: A set of tags. Resource tags. 9063 :type tags: dict[str, str] 9064 :ivar address: Address of peering location. 9065 :vartype address: str 9066 :ivar contact: Contact details of peering locations. 9067 :vartype contact: str 9068 :param available_bandwidths: The inventory of available ExpressRoutePort bandwidths. 9069 :type available_bandwidths: 9070 list[~azure.mgmt.network.v2019_12_01.models.ExpressRoutePortsLocationBandwidths] 9071 :ivar provisioning_state: The provisioning state of the express route port location resource. 9072 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 9073 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 9074 """ 9075 9076 _validation = { 9077 'name': {'readonly': True}, 9078 'type': {'readonly': True}, 9079 'address': {'readonly': True}, 9080 'contact': {'readonly': True}, 9081 'provisioning_state': {'readonly': True}, 9082 } 9083 9084 _attribute_map = { 9085 'id': {'key': 'id', 'type': 'str'}, 9086 'name': {'key': 'name', 'type': 'str'}, 9087 'type': {'key': 'type', 'type': 'str'}, 9088 'location': {'key': 'location', 'type': 'str'}, 9089 'tags': {'key': 'tags', 'type': '{str}'}, 9090 'address': {'key': 'properties.address', 'type': 'str'}, 9091 'contact': {'key': 'properties.contact', 'type': 'str'}, 9092 'available_bandwidths': {'key': 'properties.availableBandwidths', 'type': '[ExpressRoutePortsLocationBandwidths]'}, 9093 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9094 } 9095 9096 def __init__( 9097 self, 9098 *, 9099 id: Optional[str] = None, 9100 location: Optional[str] = None, 9101 tags: Optional[Dict[str, str]] = None, 9102 available_bandwidths: Optional[List["ExpressRoutePortsLocationBandwidths"]] = None, 9103 **kwargs 9104 ): 9105 super(ExpressRoutePortsLocation, self).__init__(id=id, location=location, tags=tags, **kwargs) 9106 self.address = None 9107 self.contact = None 9108 self.available_bandwidths = available_bandwidths 9109 self.provisioning_state = None 9110 9111 9112class ExpressRoutePortsLocationBandwidths(msrest.serialization.Model): 9113 """Real-time inventory of available ExpressRoute port bandwidths. 9114 9115 Variables are only populated by the server, and will be ignored when sending a request. 9116 9117 :ivar offer_name: Bandwidth descriptive name. 9118 :vartype offer_name: str 9119 :ivar value_in_gbps: Bandwidth value in Gbps. 9120 :vartype value_in_gbps: int 9121 """ 9122 9123 _validation = { 9124 'offer_name': {'readonly': True}, 9125 'value_in_gbps': {'readonly': True}, 9126 } 9127 9128 _attribute_map = { 9129 'offer_name': {'key': 'offerName', 'type': 'str'}, 9130 'value_in_gbps': {'key': 'valueInGbps', 'type': 'int'}, 9131 } 9132 9133 def __init__( 9134 self, 9135 **kwargs 9136 ): 9137 super(ExpressRoutePortsLocationBandwidths, self).__init__(**kwargs) 9138 self.offer_name = None 9139 self.value_in_gbps = None 9140 9141 9142class ExpressRoutePortsLocationListResult(msrest.serialization.Model): 9143 """Response for ListExpressRoutePortsLocations API service call. 9144 9145 :param value: The list of all ExpressRoutePort peering locations. 9146 :type value: list[~azure.mgmt.network.v2019_12_01.models.ExpressRoutePortsLocation] 9147 :param next_link: The URL to get the next set of results. 9148 :type next_link: str 9149 """ 9150 9151 _attribute_map = { 9152 'value': {'key': 'value', 'type': '[ExpressRoutePortsLocation]'}, 9153 'next_link': {'key': 'nextLink', 'type': 'str'}, 9154 } 9155 9156 def __init__( 9157 self, 9158 *, 9159 value: Optional[List["ExpressRoutePortsLocation"]] = None, 9160 next_link: Optional[str] = None, 9161 **kwargs 9162 ): 9163 super(ExpressRoutePortsLocationListResult, self).__init__(**kwargs) 9164 self.value = value 9165 self.next_link = next_link 9166 9167 9168class ExpressRouteServiceProvider(Resource): 9169 """A ExpressRouteResourceProvider object. 9170 9171 Variables are only populated by the server, and will be ignored when sending a request. 9172 9173 :param id: Resource ID. 9174 :type id: str 9175 :ivar name: Resource name. 9176 :vartype name: str 9177 :ivar type: Resource type. 9178 :vartype type: str 9179 :param location: Resource location. 9180 :type location: str 9181 :param tags: A set of tags. Resource tags. 9182 :type tags: dict[str, str] 9183 :param peering_locations: A list of peering locations. 9184 :type peering_locations: list[str] 9185 :param bandwidths_offered: A list of bandwidths offered. 9186 :type bandwidths_offered: 9187 list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteServiceProviderBandwidthsOffered] 9188 :ivar provisioning_state: The provisioning state of the express route service provider 9189 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 9190 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 9191 """ 9192 9193 _validation = { 9194 'name': {'readonly': True}, 9195 'type': {'readonly': True}, 9196 'provisioning_state': {'readonly': True}, 9197 } 9198 9199 _attribute_map = { 9200 'id': {'key': 'id', 'type': 'str'}, 9201 'name': {'key': 'name', 'type': 'str'}, 9202 'type': {'key': 'type', 'type': 'str'}, 9203 'location': {'key': 'location', 'type': 'str'}, 9204 'tags': {'key': 'tags', 'type': '{str}'}, 9205 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, 9206 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, 9207 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9208 } 9209 9210 def __init__( 9211 self, 9212 *, 9213 id: Optional[str] = None, 9214 location: Optional[str] = None, 9215 tags: Optional[Dict[str, str]] = None, 9216 peering_locations: Optional[List[str]] = None, 9217 bandwidths_offered: Optional[List["ExpressRouteServiceProviderBandwidthsOffered"]] = None, 9218 **kwargs 9219 ): 9220 super(ExpressRouteServiceProvider, self).__init__(id=id, location=location, tags=tags, **kwargs) 9221 self.peering_locations = peering_locations 9222 self.bandwidths_offered = bandwidths_offered 9223 self.provisioning_state = None 9224 9225 9226class ExpressRouteServiceProviderBandwidthsOffered(msrest.serialization.Model): 9227 """Contains bandwidths offered in ExpressRouteServiceProvider resources. 9228 9229 :param offer_name: The OfferName. 9230 :type offer_name: str 9231 :param value_in_mbps: The ValueInMbps. 9232 :type value_in_mbps: int 9233 """ 9234 9235 _attribute_map = { 9236 'offer_name': {'key': 'offerName', 'type': 'str'}, 9237 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, 9238 } 9239 9240 def __init__( 9241 self, 9242 *, 9243 offer_name: Optional[str] = None, 9244 value_in_mbps: Optional[int] = None, 9245 **kwargs 9246 ): 9247 super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) 9248 self.offer_name = offer_name 9249 self.value_in_mbps = value_in_mbps 9250 9251 9252class ExpressRouteServiceProviderListResult(msrest.serialization.Model): 9253 """Response for the ListExpressRouteServiceProvider API service call. 9254 9255 :param value: A list of ExpressRouteResourceProvider resources. 9256 :type value: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteServiceProvider] 9257 :param next_link: The URL to get the next set of results. 9258 :type next_link: str 9259 """ 9260 9261 _attribute_map = { 9262 'value': {'key': 'value', 'type': '[ExpressRouteServiceProvider]'}, 9263 'next_link': {'key': 'nextLink', 'type': 'str'}, 9264 } 9265 9266 def __init__( 9267 self, 9268 *, 9269 value: Optional[List["ExpressRouteServiceProvider"]] = None, 9270 next_link: Optional[str] = None, 9271 **kwargs 9272 ): 9273 super(ExpressRouteServiceProviderListResult, self).__init__(**kwargs) 9274 self.value = value 9275 self.next_link = next_link 9276 9277 9278class FirewallPolicy(Resource): 9279 """FirewallPolicy Resource. 9280 9281 Variables are only populated by the server, and will be ignored when sending a request. 9282 9283 :param id: Resource ID. 9284 :type id: str 9285 :ivar name: Resource name. 9286 :vartype name: str 9287 :ivar type: Resource type. 9288 :vartype type: str 9289 :param location: Resource location. 9290 :type location: str 9291 :param tags: A set of tags. Resource tags. 9292 :type tags: dict[str, str] 9293 :ivar etag: A unique read-only string that changes whenever the resource is updated. 9294 :vartype etag: str 9295 :ivar rule_groups: List of references to FirewallPolicyRuleGroups. 9296 :vartype rule_groups: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 9297 :ivar provisioning_state: The provisioning state of the firewall policy resource. Possible 9298 values include: "Succeeded", "Updating", "Deleting", "Failed". 9299 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 9300 :param base_policy: The parent firewall policy from which rules are inherited. 9301 :type base_policy: ~azure.mgmt.network.v2019_12_01.models.SubResource 9302 :ivar firewalls: List of references to Azure Firewalls that this Firewall Policy is associated 9303 with. 9304 :vartype firewalls: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 9305 :ivar child_policies: List of references to Child Firewall Policies. 9306 :vartype child_policies: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 9307 :param threat_intel_mode: The operation mode for Threat Intelligence. Possible values include: 9308 "Alert", "Deny", "Off". 9309 :type threat_intel_mode: str or 9310 ~azure.mgmt.network.v2019_12_01.models.AzureFirewallThreatIntelMode 9311 """ 9312 9313 _validation = { 9314 'name': {'readonly': True}, 9315 'type': {'readonly': True}, 9316 'etag': {'readonly': True}, 9317 'rule_groups': {'readonly': True}, 9318 'provisioning_state': {'readonly': True}, 9319 'firewalls': {'readonly': True}, 9320 'child_policies': {'readonly': True}, 9321 } 9322 9323 _attribute_map = { 9324 'id': {'key': 'id', 'type': 'str'}, 9325 'name': {'key': 'name', 'type': 'str'}, 9326 'type': {'key': 'type', 'type': 'str'}, 9327 'location': {'key': 'location', 'type': 'str'}, 9328 'tags': {'key': 'tags', 'type': '{str}'}, 9329 'etag': {'key': 'etag', 'type': 'str'}, 9330 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[SubResource]'}, 9331 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9332 'base_policy': {'key': 'properties.basePolicy', 'type': 'SubResource'}, 9333 'firewalls': {'key': 'properties.firewalls', 'type': '[SubResource]'}, 9334 'child_policies': {'key': 'properties.childPolicies', 'type': '[SubResource]'}, 9335 'threat_intel_mode': {'key': 'properties.threatIntelMode', 'type': 'str'}, 9336 } 9337 9338 def __init__( 9339 self, 9340 *, 9341 id: Optional[str] = None, 9342 location: Optional[str] = None, 9343 tags: Optional[Dict[str, str]] = None, 9344 base_policy: Optional["SubResource"] = None, 9345 threat_intel_mode: Optional[Union[str, "AzureFirewallThreatIntelMode"]] = None, 9346 **kwargs 9347 ): 9348 super(FirewallPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) 9349 self.etag = None 9350 self.rule_groups = None 9351 self.provisioning_state = None 9352 self.base_policy = base_policy 9353 self.firewalls = None 9354 self.child_policies = None 9355 self.threat_intel_mode = threat_intel_mode 9356 9357 9358class FirewallPolicyRule(msrest.serialization.Model): 9359 """Properties of the rule. 9360 9361 You probably want to use the sub-classes and not this class directly. Known 9362 sub-classes are: FirewallPolicyFilterRule, FirewallPolicyNatRule. 9363 9364 All required parameters must be populated in order to send to Azure. 9365 9366 :param rule_type: Required. The type of the rule.Constant filled by server. Possible values 9367 include: "FirewallPolicyNatRule", "FirewallPolicyFilterRule". 9368 :type rule_type: str or ~azure.mgmt.network.v2019_12_01.models.FirewallPolicyRuleType 9369 :param name: The name of the rule. 9370 :type name: str 9371 :param priority: Priority of the Firewall Policy Rule resource. 9372 :type priority: int 9373 """ 9374 9375 _validation = { 9376 'rule_type': {'required': True}, 9377 'priority': {'maximum': 65000, 'minimum': 100}, 9378 } 9379 9380 _attribute_map = { 9381 'rule_type': {'key': 'ruleType', 'type': 'str'}, 9382 'name': {'key': 'name', 'type': 'str'}, 9383 'priority': {'key': 'priority', 'type': 'int'}, 9384 } 9385 9386 _subtype_map = { 9387 'rule_type': {'FirewallPolicyFilterRule': 'FirewallPolicyFilterRule', 'FirewallPolicyNatRule': 'FirewallPolicyNatRule'} 9388 } 9389 9390 def __init__( 9391 self, 9392 *, 9393 name: Optional[str] = None, 9394 priority: Optional[int] = None, 9395 **kwargs 9396 ): 9397 super(FirewallPolicyRule, self).__init__(**kwargs) 9398 self.rule_type = None # type: Optional[str] 9399 self.name = name 9400 self.priority = priority 9401 9402 9403class FirewallPolicyFilterRule(FirewallPolicyRule): 9404 """Firewall Policy Filter Rule. 9405 9406 All required parameters must be populated in order to send to Azure. 9407 9408 :param rule_type: Required. The type of the rule.Constant filled by server. Possible values 9409 include: "FirewallPolicyNatRule", "FirewallPolicyFilterRule". 9410 :type rule_type: str or ~azure.mgmt.network.v2019_12_01.models.FirewallPolicyRuleType 9411 :param name: The name of the rule. 9412 :type name: str 9413 :param priority: Priority of the Firewall Policy Rule resource. 9414 :type priority: int 9415 :param action: The action type of a Filter rule. 9416 :type action: ~azure.mgmt.network.v2019_12_01.models.FirewallPolicyFilterRuleAction 9417 :param rule_conditions: Collection of rule conditions used by a rule. 9418 :type rule_conditions: list[~azure.mgmt.network.v2019_12_01.models.FirewallPolicyRuleCondition] 9419 """ 9420 9421 _validation = { 9422 'rule_type': {'required': True}, 9423 'priority': {'maximum': 65000, 'minimum': 100}, 9424 } 9425 9426 _attribute_map = { 9427 'rule_type': {'key': 'ruleType', 'type': 'str'}, 9428 'name': {'key': 'name', 'type': 'str'}, 9429 'priority': {'key': 'priority', 'type': 'int'}, 9430 'action': {'key': 'action', 'type': 'FirewallPolicyFilterRuleAction'}, 9431 'rule_conditions': {'key': 'ruleConditions', 'type': '[FirewallPolicyRuleCondition]'}, 9432 } 9433 9434 def __init__( 9435 self, 9436 *, 9437 name: Optional[str] = None, 9438 priority: Optional[int] = None, 9439 action: Optional["FirewallPolicyFilterRuleAction"] = None, 9440 rule_conditions: Optional[List["FirewallPolicyRuleCondition"]] = None, 9441 **kwargs 9442 ): 9443 super(FirewallPolicyFilterRule, self).__init__(name=name, priority=priority, **kwargs) 9444 self.rule_type = 'FirewallPolicyFilterRule' # type: str 9445 self.action = action 9446 self.rule_conditions = rule_conditions 9447 9448 9449class FirewallPolicyFilterRuleAction(msrest.serialization.Model): 9450 """Properties of the FirewallPolicyFilterRuleAction. 9451 9452 :param type: The type of action. Possible values include: "Allow", "Deny". 9453 :type type: str or ~azure.mgmt.network.v2019_12_01.models.FirewallPolicyFilterRuleActionType 9454 """ 9455 9456 _attribute_map = { 9457 'type': {'key': 'type', 'type': 'str'}, 9458 } 9459 9460 def __init__( 9461 self, 9462 *, 9463 type: Optional[Union[str, "FirewallPolicyFilterRuleActionType"]] = None, 9464 **kwargs 9465 ): 9466 super(FirewallPolicyFilterRuleAction, self).__init__(**kwargs) 9467 self.type = type 9468 9469 9470class FirewallPolicyListResult(msrest.serialization.Model): 9471 """Response for ListFirewallPolicies API service call. 9472 9473 :param value: List of Firewall Policies in a resource group. 9474 :type value: list[~azure.mgmt.network.v2019_12_01.models.FirewallPolicy] 9475 :param next_link: URL to get the next set of results. 9476 :type next_link: str 9477 """ 9478 9479 _attribute_map = { 9480 'value': {'key': 'value', 'type': '[FirewallPolicy]'}, 9481 'next_link': {'key': 'nextLink', 'type': 'str'}, 9482 } 9483 9484 def __init__( 9485 self, 9486 *, 9487 value: Optional[List["FirewallPolicy"]] = None, 9488 next_link: Optional[str] = None, 9489 **kwargs 9490 ): 9491 super(FirewallPolicyListResult, self).__init__(**kwargs) 9492 self.value = value 9493 self.next_link = next_link 9494 9495 9496class FirewallPolicyNatRule(FirewallPolicyRule): 9497 """Firewall Policy NAT Rule. 9498 9499 All required parameters must be populated in order to send to Azure. 9500 9501 :param rule_type: Required. The type of the rule.Constant filled by server. Possible values 9502 include: "FirewallPolicyNatRule", "FirewallPolicyFilterRule". 9503 :type rule_type: str or ~azure.mgmt.network.v2019_12_01.models.FirewallPolicyRuleType 9504 :param name: The name of the rule. 9505 :type name: str 9506 :param priority: Priority of the Firewall Policy Rule resource. 9507 :type priority: int 9508 :param action: The action type of a Nat rule. 9509 :type action: ~azure.mgmt.network.v2019_12_01.models.FirewallPolicyNatRuleAction 9510 :param translated_address: The translated address for this NAT rule. 9511 :type translated_address: str 9512 :param translated_port: The translated port for this NAT rule. 9513 :type translated_port: str 9514 :param rule_condition: The match conditions for incoming traffic. 9515 :type rule_condition: ~azure.mgmt.network.v2019_12_01.models.FirewallPolicyRuleCondition 9516 """ 9517 9518 _validation = { 9519 'rule_type': {'required': True}, 9520 'priority': {'maximum': 65000, 'minimum': 100}, 9521 } 9522 9523 _attribute_map = { 9524 'rule_type': {'key': 'ruleType', 'type': 'str'}, 9525 'name': {'key': 'name', 'type': 'str'}, 9526 'priority': {'key': 'priority', 'type': 'int'}, 9527 'action': {'key': 'action', 'type': 'FirewallPolicyNatRuleAction'}, 9528 'translated_address': {'key': 'translatedAddress', 'type': 'str'}, 9529 'translated_port': {'key': 'translatedPort', 'type': 'str'}, 9530 'rule_condition': {'key': 'ruleCondition', 'type': 'FirewallPolicyRuleCondition'}, 9531 } 9532 9533 def __init__( 9534 self, 9535 *, 9536 name: Optional[str] = None, 9537 priority: Optional[int] = None, 9538 action: Optional["FirewallPolicyNatRuleAction"] = None, 9539 translated_address: Optional[str] = None, 9540 translated_port: Optional[str] = None, 9541 rule_condition: Optional["FirewallPolicyRuleCondition"] = None, 9542 **kwargs 9543 ): 9544 super(FirewallPolicyNatRule, self).__init__(name=name, priority=priority, **kwargs) 9545 self.rule_type = 'FirewallPolicyNatRule' # type: str 9546 self.action = action 9547 self.translated_address = translated_address 9548 self.translated_port = translated_port 9549 self.rule_condition = rule_condition 9550 9551 9552class FirewallPolicyNatRuleAction(msrest.serialization.Model): 9553 """Properties of the FirewallPolicyNatRuleAction. 9554 9555 :param type: The type of action. Possible values include: "DNAT". 9556 :type type: str or ~azure.mgmt.network.v2019_12_01.models.FirewallPolicyNatRuleActionType 9557 """ 9558 9559 _attribute_map = { 9560 'type': {'key': 'type', 'type': 'str'}, 9561 } 9562 9563 def __init__( 9564 self, 9565 *, 9566 type: Optional[Union[str, "FirewallPolicyNatRuleActionType"]] = None, 9567 **kwargs 9568 ): 9569 super(FirewallPolicyNatRuleAction, self).__init__(**kwargs) 9570 self.type = type 9571 9572 9573class FirewallPolicyRuleConditionApplicationProtocol(msrest.serialization.Model): 9574 """Properties of the application rule protocol. 9575 9576 :param protocol_type: Protocol type. Possible values include: "Http", "Https". 9577 :type protocol_type: str or 9578 ~azure.mgmt.network.v2019_12_01.models.FirewallPolicyRuleConditionApplicationProtocolType 9579 :param port: Port number for the protocol, cannot be greater than 64000. 9580 :type port: int 9581 """ 9582 9583 _validation = { 9584 'port': {'maximum': 64000, 'minimum': 0}, 9585 } 9586 9587 _attribute_map = { 9588 'protocol_type': {'key': 'protocolType', 'type': 'str'}, 9589 'port': {'key': 'port', 'type': 'int'}, 9590 } 9591 9592 def __init__( 9593 self, 9594 *, 9595 protocol_type: Optional[Union[str, "FirewallPolicyRuleConditionApplicationProtocolType"]] = None, 9596 port: Optional[int] = None, 9597 **kwargs 9598 ): 9599 super(FirewallPolicyRuleConditionApplicationProtocol, self).__init__(**kwargs) 9600 self.protocol_type = protocol_type 9601 self.port = port 9602 9603 9604class FirewallPolicyRuleGroup(SubResource): 9605 """Rule Group resource. 9606 9607 Variables are only populated by the server, and will be ignored when sending a request. 9608 9609 :param id: Resource ID. 9610 :type id: str 9611 :param name: The name of the resource that is unique within a resource group. This name can be 9612 used to access the resource. 9613 :type name: str 9614 :ivar etag: A unique read-only string that changes whenever the resource is updated. 9615 :vartype etag: str 9616 :ivar type: Rule Group type. 9617 :vartype type: str 9618 :param priority: Priority of the Firewall Policy Rule Group resource. 9619 :type priority: int 9620 :param rules: Group of Firewall Policy rules. 9621 :type rules: list[~azure.mgmt.network.v2019_12_01.models.FirewallPolicyRule] 9622 :ivar provisioning_state: The provisioning state of the firewall policy rule group resource. 9623 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 9624 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 9625 """ 9626 9627 _validation = { 9628 'etag': {'readonly': True}, 9629 'type': {'readonly': True}, 9630 'priority': {'maximum': 65000, 'minimum': 100}, 9631 'provisioning_state': {'readonly': True}, 9632 } 9633 9634 _attribute_map = { 9635 'id': {'key': 'id', 'type': 'str'}, 9636 'name': {'key': 'name', 'type': 'str'}, 9637 'etag': {'key': 'etag', 'type': 'str'}, 9638 'type': {'key': 'type', 'type': 'str'}, 9639 'priority': {'key': 'properties.priority', 'type': 'int'}, 9640 'rules': {'key': 'properties.rules', 'type': '[FirewallPolicyRule]'}, 9641 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9642 } 9643 9644 def __init__( 9645 self, 9646 *, 9647 id: Optional[str] = None, 9648 name: Optional[str] = None, 9649 priority: Optional[int] = None, 9650 rules: Optional[List["FirewallPolicyRule"]] = None, 9651 **kwargs 9652 ): 9653 super(FirewallPolicyRuleGroup, self).__init__(id=id, **kwargs) 9654 self.name = name 9655 self.etag = None 9656 self.type = None 9657 self.priority = priority 9658 self.rules = rules 9659 self.provisioning_state = None 9660 9661 9662class FirewallPolicyRuleGroupListResult(msrest.serialization.Model): 9663 """Response for ListFirewallPolicyRuleGroups API service call. 9664 9665 :param value: List of FirewallPolicyRuleGroups in a FirewallPolicy. 9666 :type value: list[~azure.mgmt.network.v2019_12_01.models.FirewallPolicyRuleGroup] 9667 :param next_link: URL to get the next set of results. 9668 :type next_link: str 9669 """ 9670 9671 _attribute_map = { 9672 'value': {'key': 'value', 'type': '[FirewallPolicyRuleGroup]'}, 9673 'next_link': {'key': 'nextLink', 'type': 'str'}, 9674 } 9675 9676 def __init__( 9677 self, 9678 *, 9679 value: Optional[List["FirewallPolicyRuleGroup"]] = None, 9680 next_link: Optional[str] = None, 9681 **kwargs 9682 ): 9683 super(FirewallPolicyRuleGroupListResult, self).__init__(**kwargs) 9684 self.value = value 9685 self.next_link = next_link 9686 9687 9688class FlowLog(Resource): 9689 """A flow log resource. 9690 9691 Variables are only populated by the server, and will be ignored when sending a request. 9692 9693 :param id: Resource ID. 9694 :type id: str 9695 :ivar name: Resource name. 9696 :vartype name: str 9697 :ivar type: Resource type. 9698 :vartype type: str 9699 :param location: Resource location. 9700 :type location: str 9701 :param tags: A set of tags. Resource tags. 9702 :type tags: dict[str, str] 9703 :ivar etag: A unique read-only string that changes whenever the resource is updated. 9704 :vartype etag: str 9705 :param target_resource_id: ID of network security group to which flow log will be applied. 9706 :type target_resource_id: str 9707 :ivar target_resource_guid: Guid of network security group to which flow log will be applied. 9708 :vartype target_resource_guid: str 9709 :param storage_id: ID of the storage account which is used to store the flow log. 9710 :type storage_id: str 9711 :param enabled: Flag to enable/disable flow logging. 9712 :type enabled: bool 9713 :param retention_policy: Parameters that define the retention policy for flow log. 9714 :type retention_policy: ~azure.mgmt.network.v2019_12_01.models.RetentionPolicyParameters 9715 :param format: Parameters that define the flow log format. 9716 :type format: ~azure.mgmt.network.v2019_12_01.models.FlowLogFormatParameters 9717 :param flow_analytics_configuration: Parameters that define the configuration of traffic 9718 analytics. 9719 :type flow_analytics_configuration: 9720 ~azure.mgmt.network.v2019_12_01.models.TrafficAnalyticsProperties 9721 :ivar provisioning_state: The provisioning state of the flow log. Possible values include: 9722 "Succeeded", "Updating", "Deleting", "Failed". 9723 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 9724 """ 9725 9726 _validation = { 9727 'name': {'readonly': True}, 9728 'type': {'readonly': True}, 9729 'etag': {'readonly': True}, 9730 'target_resource_guid': {'readonly': True}, 9731 'provisioning_state': {'readonly': True}, 9732 } 9733 9734 _attribute_map = { 9735 'id': {'key': 'id', 'type': 'str'}, 9736 'name': {'key': 'name', 'type': 'str'}, 9737 'type': {'key': 'type', 'type': 'str'}, 9738 'location': {'key': 'location', 'type': 'str'}, 9739 'tags': {'key': 'tags', 'type': '{str}'}, 9740 'etag': {'key': 'etag', 'type': 'str'}, 9741 'target_resource_id': {'key': 'properties.targetResourceId', 'type': 'str'}, 9742 'target_resource_guid': {'key': 'properties.targetResourceGuid', 'type': 'str'}, 9743 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, 9744 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, 9745 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, 9746 'format': {'key': 'properties.format', 'type': 'FlowLogFormatParameters'}, 9747 'flow_analytics_configuration': {'key': 'properties.flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, 9748 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9749 } 9750 9751 def __init__( 9752 self, 9753 *, 9754 id: Optional[str] = None, 9755 location: Optional[str] = None, 9756 tags: Optional[Dict[str, str]] = None, 9757 target_resource_id: Optional[str] = None, 9758 storage_id: Optional[str] = None, 9759 enabled: Optional[bool] = None, 9760 retention_policy: Optional["RetentionPolicyParameters"] = None, 9761 format: Optional["FlowLogFormatParameters"] = None, 9762 flow_analytics_configuration: Optional["TrafficAnalyticsProperties"] = None, 9763 **kwargs 9764 ): 9765 super(FlowLog, self).__init__(id=id, location=location, tags=tags, **kwargs) 9766 self.etag = None 9767 self.target_resource_id = target_resource_id 9768 self.target_resource_guid = None 9769 self.storage_id = storage_id 9770 self.enabled = enabled 9771 self.retention_policy = retention_policy 9772 self.format = format 9773 self.flow_analytics_configuration = flow_analytics_configuration 9774 self.provisioning_state = None 9775 9776 9777class FlowLogFormatParameters(msrest.serialization.Model): 9778 """Parameters that define the flow log format. 9779 9780 :param type: The file type of flow log. Possible values include: "JSON". 9781 :type type: str or ~azure.mgmt.network.v2019_12_01.models.FlowLogFormatType 9782 :param version: The version (revision) of the flow log. 9783 :type version: int 9784 """ 9785 9786 _attribute_map = { 9787 'type': {'key': 'type', 'type': 'str'}, 9788 'version': {'key': 'version', 'type': 'int'}, 9789 } 9790 9791 def __init__( 9792 self, 9793 *, 9794 type: Optional[Union[str, "FlowLogFormatType"]] = None, 9795 version: Optional[int] = 0, 9796 **kwargs 9797 ): 9798 super(FlowLogFormatParameters, self).__init__(**kwargs) 9799 self.type = type 9800 self.version = version 9801 9802 9803class FlowLogInformation(msrest.serialization.Model): 9804 """Information on the configuration of flow log and traffic analytics (optional) . 9805 9806 All required parameters must be populated in order to send to Azure. 9807 9808 :param target_resource_id: Required. The ID of the resource to configure for flow log and 9809 traffic analytics (optional) . 9810 :type target_resource_id: str 9811 :param flow_analytics_configuration: Parameters that define the configuration of traffic 9812 analytics. 9813 :type flow_analytics_configuration: 9814 ~azure.mgmt.network.v2019_12_01.models.TrafficAnalyticsProperties 9815 :param storage_id: Required. ID of the storage account which is used to store the flow log. 9816 :type storage_id: str 9817 :param enabled: Required. Flag to enable/disable flow logging. 9818 :type enabled: bool 9819 :param retention_policy: Parameters that define the retention policy for flow log. 9820 :type retention_policy: ~azure.mgmt.network.v2019_12_01.models.RetentionPolicyParameters 9821 :param format: Parameters that define the flow log format. 9822 :type format: ~azure.mgmt.network.v2019_12_01.models.FlowLogFormatParameters 9823 """ 9824 9825 _validation = { 9826 'target_resource_id': {'required': True}, 9827 'storage_id': {'required': True}, 9828 'enabled': {'required': True}, 9829 } 9830 9831 _attribute_map = { 9832 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 9833 'flow_analytics_configuration': {'key': 'flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, 9834 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, 9835 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, 9836 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, 9837 'format': {'key': 'properties.format', 'type': 'FlowLogFormatParameters'}, 9838 } 9839 9840 def __init__( 9841 self, 9842 *, 9843 target_resource_id: str, 9844 storage_id: str, 9845 enabled: bool, 9846 flow_analytics_configuration: Optional["TrafficAnalyticsProperties"] = None, 9847 retention_policy: Optional["RetentionPolicyParameters"] = None, 9848 format: Optional["FlowLogFormatParameters"] = None, 9849 **kwargs 9850 ): 9851 super(FlowLogInformation, self).__init__(**kwargs) 9852 self.target_resource_id = target_resource_id 9853 self.flow_analytics_configuration = flow_analytics_configuration 9854 self.storage_id = storage_id 9855 self.enabled = enabled 9856 self.retention_policy = retention_policy 9857 self.format = format 9858 9859 9860class FlowLogListResult(msrest.serialization.Model): 9861 """List of flow logs. 9862 9863 Variables are only populated by the server, and will be ignored when sending a request. 9864 9865 :param value: Information about flow log resource. 9866 :type value: list[~azure.mgmt.network.v2019_12_01.models.FlowLog] 9867 :ivar next_link: The URL to get the next set of results. 9868 :vartype next_link: str 9869 """ 9870 9871 _validation = { 9872 'next_link': {'readonly': True}, 9873 } 9874 9875 _attribute_map = { 9876 'value': {'key': 'value', 'type': '[FlowLog]'}, 9877 'next_link': {'key': 'nextLink', 'type': 'str'}, 9878 } 9879 9880 def __init__( 9881 self, 9882 *, 9883 value: Optional[List["FlowLog"]] = None, 9884 **kwargs 9885 ): 9886 super(FlowLogListResult, self).__init__(**kwargs) 9887 self.value = value 9888 self.next_link = None 9889 9890 9891class FlowLogStatusParameters(msrest.serialization.Model): 9892 """Parameters that define a resource to query flow log and traffic analytics (optional) status. 9893 9894 All required parameters must be populated in order to send to Azure. 9895 9896 :param target_resource_id: Required. The target resource where getting the flow log and traffic 9897 analytics (optional) status. 9898 :type target_resource_id: str 9899 """ 9900 9901 _validation = { 9902 'target_resource_id': {'required': True}, 9903 } 9904 9905 _attribute_map = { 9906 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 9907 } 9908 9909 def __init__( 9910 self, 9911 *, 9912 target_resource_id: str, 9913 **kwargs 9914 ): 9915 super(FlowLogStatusParameters, self).__init__(**kwargs) 9916 self.target_resource_id = target_resource_id 9917 9918 9919class FrontendIPConfiguration(SubResource): 9920 """Frontend IP address of the load balancer. 9921 9922 Variables are only populated by the server, and will be ignored when sending a request. 9923 9924 :param id: Resource ID. 9925 :type id: str 9926 :param name: The name of the resource that is unique within the set of frontend IP 9927 configurations used by the load balancer. This name can be used to access the resource. 9928 :type name: str 9929 :ivar etag: A unique read-only string that changes whenever the resource is updated. 9930 :vartype etag: str 9931 :ivar type: Type of the resource. 9932 :vartype type: str 9933 :param zones: A list of availability zones denoting the IP allocated for the resource needs to 9934 come from. 9935 :type zones: list[str] 9936 :ivar inbound_nat_rules: An array of references to inbound rules that use this frontend IP. 9937 :vartype inbound_nat_rules: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 9938 :ivar inbound_nat_pools: An array of references to inbound pools that use this frontend IP. 9939 :vartype inbound_nat_pools: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 9940 :ivar outbound_rules: An array of references to outbound rules that use this frontend IP. 9941 :vartype outbound_rules: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 9942 :ivar load_balancing_rules: An array of references to load balancing rules that use this 9943 frontend IP. 9944 :vartype load_balancing_rules: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 9945 :param private_ip_address: The private IP address of the IP configuration. 9946 :type private_ip_address: str 9947 :param private_ip_allocation_method: The Private IP allocation method. Possible values include: 9948 "Static", "Dynamic". 9949 :type private_ip_allocation_method: str or 9950 ~azure.mgmt.network.v2019_12_01.models.IPAllocationMethod 9951 :param private_ip_address_version: Whether the specific ipconfiguration is IPv4 or IPv6. 9952 Default is taken as IPv4. Possible values include: "IPv4", "IPv6". 9953 :type private_ip_address_version: str or ~azure.mgmt.network.v2019_12_01.models.IPVersion 9954 :param subnet: The reference to the subnet resource. 9955 :type subnet: ~azure.mgmt.network.v2019_12_01.models.Subnet 9956 :param public_ip_address: The reference to the Public IP resource. 9957 :type public_ip_address: ~azure.mgmt.network.v2019_12_01.models.PublicIPAddress 9958 :param public_ip_prefix: The reference to the Public IP Prefix resource. 9959 :type public_ip_prefix: ~azure.mgmt.network.v2019_12_01.models.SubResource 9960 :ivar provisioning_state: The provisioning state of the frontend IP configuration resource. 9961 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 9962 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 9963 """ 9964 9965 _validation = { 9966 'etag': {'readonly': True}, 9967 'type': {'readonly': True}, 9968 'inbound_nat_rules': {'readonly': True}, 9969 'inbound_nat_pools': {'readonly': True}, 9970 'outbound_rules': {'readonly': True}, 9971 'load_balancing_rules': {'readonly': True}, 9972 'provisioning_state': {'readonly': True}, 9973 } 9974 9975 _attribute_map = { 9976 'id': {'key': 'id', 'type': 'str'}, 9977 'name': {'key': 'name', 'type': 'str'}, 9978 'etag': {'key': 'etag', 'type': 'str'}, 9979 'type': {'key': 'type', 'type': 'str'}, 9980 'zones': {'key': 'zones', 'type': '[str]'}, 9981 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, 9982 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, 9983 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, 9984 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 9985 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 9986 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 9987 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, 9988 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 9989 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 9990 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, 9991 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9992 } 9993 9994 def __init__( 9995 self, 9996 *, 9997 id: Optional[str] = None, 9998 name: Optional[str] = None, 9999 zones: Optional[List[str]] = None, 10000 private_ip_address: Optional[str] = None, 10001 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 10002 private_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 10003 subnet: Optional["Subnet"] = None, 10004 public_ip_address: Optional["PublicIPAddress"] = None, 10005 public_ip_prefix: Optional["SubResource"] = None, 10006 **kwargs 10007 ): 10008 super(FrontendIPConfiguration, self).__init__(id=id, **kwargs) 10009 self.name = name 10010 self.etag = None 10011 self.type = None 10012 self.zones = zones 10013 self.inbound_nat_rules = None 10014 self.inbound_nat_pools = None 10015 self.outbound_rules = None 10016 self.load_balancing_rules = None 10017 self.private_ip_address = private_ip_address 10018 self.private_ip_allocation_method = private_ip_allocation_method 10019 self.private_ip_address_version = private_ip_address_version 10020 self.subnet = subnet 10021 self.public_ip_address = public_ip_address 10022 self.public_ip_prefix = public_ip_prefix 10023 self.provisioning_state = None 10024 10025 10026class GatewayRoute(msrest.serialization.Model): 10027 """Gateway routing details. 10028 10029 Variables are only populated by the server, and will be ignored when sending a request. 10030 10031 :ivar local_address: The gateway's local address. 10032 :vartype local_address: str 10033 :ivar network: The route's network prefix. 10034 :vartype network: str 10035 :ivar next_hop: The route's next hop. 10036 :vartype next_hop: str 10037 :ivar source_peer: The peer this route was learned from. 10038 :vartype source_peer: str 10039 :ivar origin: The source this route was learned from. 10040 :vartype origin: str 10041 :ivar as_path: The route's AS path sequence. 10042 :vartype as_path: str 10043 :ivar weight: The route's weight. 10044 :vartype weight: int 10045 """ 10046 10047 _validation = { 10048 'local_address': {'readonly': True}, 10049 'network': {'readonly': True}, 10050 'next_hop': {'readonly': True}, 10051 'source_peer': {'readonly': True}, 10052 'origin': {'readonly': True}, 10053 'as_path': {'readonly': True}, 10054 'weight': {'readonly': True}, 10055 } 10056 10057 _attribute_map = { 10058 'local_address': {'key': 'localAddress', 'type': 'str'}, 10059 'network': {'key': 'network', 'type': 'str'}, 10060 'next_hop': {'key': 'nextHop', 'type': 'str'}, 10061 'source_peer': {'key': 'sourcePeer', 'type': 'str'}, 10062 'origin': {'key': 'origin', 'type': 'str'}, 10063 'as_path': {'key': 'asPath', 'type': 'str'}, 10064 'weight': {'key': 'weight', 'type': 'int'}, 10065 } 10066 10067 def __init__( 10068 self, 10069 **kwargs 10070 ): 10071 super(GatewayRoute, self).__init__(**kwargs) 10072 self.local_address = None 10073 self.network = None 10074 self.next_hop = None 10075 self.source_peer = None 10076 self.origin = None 10077 self.as_path = None 10078 self.weight = None 10079 10080 10081class GatewayRouteListResult(msrest.serialization.Model): 10082 """List of virtual network gateway routes. 10083 10084 :param value: List of gateway routes. 10085 :type value: list[~azure.mgmt.network.v2019_12_01.models.GatewayRoute] 10086 """ 10087 10088 _attribute_map = { 10089 'value': {'key': 'value', 'type': '[GatewayRoute]'}, 10090 } 10091 10092 def __init__( 10093 self, 10094 *, 10095 value: Optional[List["GatewayRoute"]] = None, 10096 **kwargs 10097 ): 10098 super(GatewayRouteListResult, self).__init__(**kwargs) 10099 self.value = value 10100 10101 10102class GetVpnSitesConfigurationRequest(msrest.serialization.Model): 10103 """List of Vpn-Sites. 10104 10105 All required parameters must be populated in order to send to Azure. 10106 10107 :param vpn_sites: List of resource-ids of the vpn-sites for which config is to be downloaded. 10108 :type vpn_sites: list[str] 10109 :param output_blob_sas_url: Required. The sas-url to download the configurations for vpn-sites. 10110 :type output_blob_sas_url: str 10111 """ 10112 10113 _validation = { 10114 'output_blob_sas_url': {'required': True}, 10115 } 10116 10117 _attribute_map = { 10118 'vpn_sites': {'key': 'vpnSites', 'type': '[str]'}, 10119 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, 10120 } 10121 10122 def __init__( 10123 self, 10124 *, 10125 output_blob_sas_url: str, 10126 vpn_sites: Optional[List[str]] = None, 10127 **kwargs 10128 ): 10129 super(GetVpnSitesConfigurationRequest, self).__init__(**kwargs) 10130 self.vpn_sites = vpn_sites 10131 self.output_blob_sas_url = output_blob_sas_url 10132 10133 10134class HTTPConfiguration(msrest.serialization.Model): 10135 """HTTP configuration of the connectivity check. 10136 10137 :param method: HTTP method. Possible values include: "Get". 10138 :type method: str or ~azure.mgmt.network.v2019_12_01.models.HTTPMethod 10139 :param headers: List of HTTP headers. 10140 :type headers: list[~azure.mgmt.network.v2019_12_01.models.HTTPHeader] 10141 :param valid_status_codes: Valid status codes. 10142 :type valid_status_codes: list[int] 10143 """ 10144 10145 _attribute_map = { 10146 'method': {'key': 'method', 'type': 'str'}, 10147 'headers': {'key': 'headers', 'type': '[HTTPHeader]'}, 10148 'valid_status_codes': {'key': 'validStatusCodes', 'type': '[int]'}, 10149 } 10150 10151 def __init__( 10152 self, 10153 *, 10154 method: Optional[Union[str, "HTTPMethod"]] = None, 10155 headers: Optional[List["HTTPHeader"]] = None, 10156 valid_status_codes: Optional[List[int]] = None, 10157 **kwargs 10158 ): 10159 super(HTTPConfiguration, self).__init__(**kwargs) 10160 self.method = method 10161 self.headers = headers 10162 self.valid_status_codes = valid_status_codes 10163 10164 10165class HTTPHeader(msrest.serialization.Model): 10166 """The HTTP header. 10167 10168 :param name: The name in HTTP header. 10169 :type name: str 10170 :param value: The value in HTTP header. 10171 :type value: str 10172 """ 10173 10174 _attribute_map = { 10175 'name': {'key': 'name', 'type': 'str'}, 10176 'value': {'key': 'value', 'type': 'str'}, 10177 } 10178 10179 def __init__( 10180 self, 10181 *, 10182 name: Optional[str] = None, 10183 value: Optional[str] = None, 10184 **kwargs 10185 ): 10186 super(HTTPHeader, self).__init__(**kwargs) 10187 self.name = name 10188 self.value = value 10189 10190 10191class HubIPAddresses(msrest.serialization.Model): 10192 """IP addresses associated with azure firewall. 10193 10194 :param public_ip_addresses: List of Public IP addresses associated with azure firewall. 10195 :type public_ip_addresses: 10196 list[~azure.mgmt.network.v2019_12_01.models.AzureFirewallPublicIPAddress] 10197 :param private_ip_address: Private IP Address associated with azure firewall. 10198 :type private_ip_address: str 10199 """ 10200 10201 _attribute_map = { 10202 'public_ip_addresses': {'key': 'publicIPAddresses', 'type': '[AzureFirewallPublicIPAddress]'}, 10203 'private_ip_address': {'key': 'privateIPAddress', 'type': 'str'}, 10204 } 10205 10206 def __init__( 10207 self, 10208 *, 10209 public_ip_addresses: Optional[List["AzureFirewallPublicIPAddress"]] = None, 10210 private_ip_address: Optional[str] = None, 10211 **kwargs 10212 ): 10213 super(HubIPAddresses, self).__init__(**kwargs) 10214 self.public_ip_addresses = public_ip_addresses 10215 self.private_ip_address = private_ip_address 10216 10217 10218class HubVirtualNetworkConnection(SubResource): 10219 """HubVirtualNetworkConnection Resource. 10220 10221 Variables are only populated by the server, and will be ignored when sending a request. 10222 10223 :param id: Resource ID. 10224 :type id: str 10225 :param name: The name of the resource that is unique within a resource group. This name can be 10226 used to access the resource. 10227 :type name: str 10228 :ivar etag: A unique read-only string that changes whenever the resource is updated. 10229 :vartype etag: str 10230 :param remote_virtual_network: Reference to the remote virtual network. 10231 :type remote_virtual_network: ~azure.mgmt.network.v2019_12_01.models.SubResource 10232 :param allow_hub_to_remote_vnet_transit: VirtualHub to RemoteVnet transit to enabled or not. 10233 :type allow_hub_to_remote_vnet_transit: bool 10234 :param allow_remote_vnet_to_use_hub_vnet_gateways: Allow RemoteVnet to use Virtual Hub's 10235 gateways. 10236 :type allow_remote_vnet_to_use_hub_vnet_gateways: bool 10237 :param enable_internet_security: Enable internet security. 10238 :type enable_internet_security: bool 10239 :ivar provisioning_state: The provisioning state of the hub virtual network connection 10240 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 10241 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 10242 """ 10243 10244 _validation = { 10245 'etag': {'readonly': True}, 10246 'provisioning_state': {'readonly': True}, 10247 } 10248 10249 _attribute_map = { 10250 'id': {'key': 'id', 'type': 'str'}, 10251 'name': {'key': 'name', 'type': 'str'}, 10252 'etag': {'key': 'etag', 'type': 'str'}, 10253 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, 10254 'allow_hub_to_remote_vnet_transit': {'key': 'properties.allowHubToRemoteVnetTransit', 'type': 'bool'}, 10255 'allow_remote_vnet_to_use_hub_vnet_gateways': {'key': 'properties.allowRemoteVnetToUseHubVnetGateways', 'type': 'bool'}, 10256 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, 10257 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10258 } 10259 10260 def __init__( 10261 self, 10262 *, 10263 id: Optional[str] = None, 10264 name: Optional[str] = None, 10265 remote_virtual_network: Optional["SubResource"] = None, 10266 allow_hub_to_remote_vnet_transit: Optional[bool] = None, 10267 allow_remote_vnet_to_use_hub_vnet_gateways: Optional[bool] = None, 10268 enable_internet_security: Optional[bool] = None, 10269 **kwargs 10270 ): 10271 super(HubVirtualNetworkConnection, self).__init__(id=id, **kwargs) 10272 self.name = name 10273 self.etag = None 10274 self.remote_virtual_network = remote_virtual_network 10275 self.allow_hub_to_remote_vnet_transit = allow_hub_to_remote_vnet_transit 10276 self.allow_remote_vnet_to_use_hub_vnet_gateways = allow_remote_vnet_to_use_hub_vnet_gateways 10277 self.enable_internet_security = enable_internet_security 10278 self.provisioning_state = None 10279 10280 10281class InboundNatPool(SubResource): 10282 """Inbound NAT pool of the load balancer. 10283 10284 Variables are only populated by the server, and will be ignored when sending a request. 10285 10286 :param id: Resource ID. 10287 :type id: str 10288 :param name: The name of the resource that is unique within the set of inbound NAT pools used 10289 by the load balancer. This name can be used to access the resource. 10290 :type name: str 10291 :ivar etag: A unique read-only string that changes whenever the resource is updated. 10292 :vartype etag: str 10293 :ivar type: Type of the resource. 10294 :vartype type: str 10295 :param frontend_ip_configuration: A reference to frontend IP addresses. 10296 :type frontend_ip_configuration: ~azure.mgmt.network.v2019_12_01.models.SubResource 10297 :param protocol: The reference to the transport protocol used by the inbound NAT pool. Possible 10298 values include: "Udp", "Tcp", "All". 10299 :type protocol: str or ~azure.mgmt.network.v2019_12_01.models.TransportProtocol 10300 :param frontend_port_range_start: The first port number in the range of external ports that 10301 will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values 10302 range between 1 and 65534. 10303 :type frontend_port_range_start: int 10304 :param frontend_port_range_end: The last port number in the range of external ports that will 10305 be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range 10306 between 1 and 65535. 10307 :type frontend_port_range_end: int 10308 :param backend_port: The port used for internal connections on the endpoint. Acceptable values 10309 are between 1 and 65535. 10310 :type backend_port: int 10311 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. The value can be set 10312 between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the 10313 protocol is set to TCP. 10314 :type idle_timeout_in_minutes: int 10315 :param enable_floating_ip: Configures a virtual machine's endpoint for the floating IP 10316 capability required to configure a SQL AlwaysOn Availability Group. This setting is required 10317 when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed 10318 after you create the endpoint. 10319 :type enable_floating_ip: bool 10320 :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected 10321 connection termination. This element is only used when the protocol is set to TCP. 10322 :type enable_tcp_reset: bool 10323 :ivar provisioning_state: The provisioning state of the inbound NAT pool resource. Possible 10324 values include: "Succeeded", "Updating", "Deleting", "Failed". 10325 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 10326 """ 10327 10328 _validation = { 10329 'etag': {'readonly': True}, 10330 'type': {'readonly': True}, 10331 'provisioning_state': {'readonly': True}, 10332 } 10333 10334 _attribute_map = { 10335 'id': {'key': 'id', 'type': 'str'}, 10336 'name': {'key': 'name', 'type': 'str'}, 10337 'etag': {'key': 'etag', 'type': 'str'}, 10338 'type': {'key': 'type', 'type': 'str'}, 10339 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 10340 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 10341 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, 10342 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, 10343 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 10344 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 10345 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, 10346 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, 10347 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10348 } 10349 10350 def __init__( 10351 self, 10352 *, 10353 id: Optional[str] = None, 10354 name: Optional[str] = None, 10355 frontend_ip_configuration: Optional["SubResource"] = None, 10356 protocol: Optional[Union[str, "TransportProtocol"]] = None, 10357 frontend_port_range_start: Optional[int] = None, 10358 frontend_port_range_end: Optional[int] = None, 10359 backend_port: Optional[int] = None, 10360 idle_timeout_in_minutes: Optional[int] = None, 10361 enable_floating_ip: Optional[bool] = None, 10362 enable_tcp_reset: Optional[bool] = None, 10363 **kwargs 10364 ): 10365 super(InboundNatPool, self).__init__(id=id, **kwargs) 10366 self.name = name 10367 self.etag = None 10368 self.type = None 10369 self.frontend_ip_configuration = frontend_ip_configuration 10370 self.protocol = protocol 10371 self.frontend_port_range_start = frontend_port_range_start 10372 self.frontend_port_range_end = frontend_port_range_end 10373 self.backend_port = backend_port 10374 self.idle_timeout_in_minutes = idle_timeout_in_minutes 10375 self.enable_floating_ip = enable_floating_ip 10376 self.enable_tcp_reset = enable_tcp_reset 10377 self.provisioning_state = None 10378 10379 10380class InboundNatRule(SubResource): 10381 """Inbound NAT rule of the load balancer. 10382 10383 Variables are only populated by the server, and will be ignored when sending a request. 10384 10385 :param id: Resource ID. 10386 :type id: str 10387 :param name: The name of the resource that is unique within the set of inbound NAT rules used 10388 by the load balancer. This name can be used to access the resource. 10389 :type name: str 10390 :ivar etag: A unique read-only string that changes whenever the resource is updated. 10391 :vartype etag: str 10392 :ivar type: Type of the resource. 10393 :vartype type: str 10394 :param frontend_ip_configuration: A reference to frontend IP addresses. 10395 :type frontend_ip_configuration: ~azure.mgmt.network.v2019_12_01.models.SubResource 10396 :ivar backend_ip_configuration: A reference to a private IP address defined on a network 10397 interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations 10398 is forwarded to the backend IP. 10399 :vartype backend_ip_configuration: 10400 ~azure.mgmt.network.v2019_12_01.models.NetworkInterfaceIPConfiguration 10401 :param protocol: The reference to the transport protocol used by the load balancing rule. 10402 Possible values include: "Udp", "Tcp", "All". 10403 :type protocol: str or ~azure.mgmt.network.v2019_12_01.models.TransportProtocol 10404 :param frontend_port: The port for the external endpoint. Port numbers for each rule must be 10405 unique within the Load Balancer. Acceptable values range from 1 to 65534. 10406 :type frontend_port: int 10407 :param backend_port: The port used for the internal endpoint. Acceptable values range from 1 to 10408 65535. 10409 :type backend_port: int 10410 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. The value can be set 10411 between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the 10412 protocol is set to TCP. 10413 :type idle_timeout_in_minutes: int 10414 :param enable_floating_ip: Configures a virtual machine's endpoint for the floating IP 10415 capability required to configure a SQL AlwaysOn Availability Group. This setting is required 10416 when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed 10417 after you create the endpoint. 10418 :type enable_floating_ip: bool 10419 :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected 10420 connection termination. This element is only used when the protocol is set to TCP. 10421 :type enable_tcp_reset: bool 10422 :ivar provisioning_state: The provisioning state of the inbound NAT rule resource. Possible 10423 values include: "Succeeded", "Updating", "Deleting", "Failed". 10424 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 10425 """ 10426 10427 _validation = { 10428 'etag': {'readonly': True}, 10429 'type': {'readonly': True}, 10430 'backend_ip_configuration': {'readonly': True}, 10431 'provisioning_state': {'readonly': True}, 10432 } 10433 10434 _attribute_map = { 10435 'id': {'key': 'id', 'type': 'str'}, 10436 'name': {'key': 'name', 'type': 'str'}, 10437 'etag': {'key': 'etag', 'type': 'str'}, 10438 'type': {'key': 'type', 'type': 'str'}, 10439 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 10440 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, 10441 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 10442 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, 10443 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 10444 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 10445 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, 10446 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, 10447 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10448 } 10449 10450 def __init__( 10451 self, 10452 *, 10453 id: Optional[str] = None, 10454 name: Optional[str] = None, 10455 frontend_ip_configuration: Optional["SubResource"] = None, 10456 protocol: Optional[Union[str, "TransportProtocol"]] = None, 10457 frontend_port: Optional[int] = None, 10458 backend_port: Optional[int] = None, 10459 idle_timeout_in_minutes: Optional[int] = None, 10460 enable_floating_ip: Optional[bool] = None, 10461 enable_tcp_reset: Optional[bool] = None, 10462 **kwargs 10463 ): 10464 super(InboundNatRule, self).__init__(id=id, **kwargs) 10465 self.name = name 10466 self.etag = None 10467 self.type = None 10468 self.frontend_ip_configuration = frontend_ip_configuration 10469 self.backend_ip_configuration = None 10470 self.protocol = protocol 10471 self.frontend_port = frontend_port 10472 self.backend_port = backend_port 10473 self.idle_timeout_in_minutes = idle_timeout_in_minutes 10474 self.enable_floating_ip = enable_floating_ip 10475 self.enable_tcp_reset = enable_tcp_reset 10476 self.provisioning_state = None 10477 10478 10479class InboundNatRuleListResult(msrest.serialization.Model): 10480 """Response for ListInboundNatRule API service call. 10481 10482 Variables are only populated by the server, and will be ignored when sending a request. 10483 10484 :param value: A list of inbound nat rules in a load balancer. 10485 :type value: list[~azure.mgmt.network.v2019_12_01.models.InboundNatRule] 10486 :ivar next_link: The URL to get the next set of results. 10487 :vartype next_link: str 10488 """ 10489 10490 _validation = { 10491 'next_link': {'readonly': True}, 10492 } 10493 10494 _attribute_map = { 10495 'value': {'key': 'value', 'type': '[InboundNatRule]'}, 10496 'next_link': {'key': 'nextLink', 'type': 'str'}, 10497 } 10498 10499 def __init__( 10500 self, 10501 *, 10502 value: Optional[List["InboundNatRule"]] = None, 10503 **kwargs 10504 ): 10505 super(InboundNatRuleListResult, self).__init__(**kwargs) 10506 self.value = value 10507 self.next_link = None 10508 10509 10510class IPAddressAvailabilityResult(msrest.serialization.Model): 10511 """Response for CheckIPAddressAvailability API service call. 10512 10513 :param available: Private IP address availability. 10514 :type available: bool 10515 :param available_ip_addresses: Contains other available private IP addresses if the asked for 10516 address is taken. 10517 :type available_ip_addresses: list[str] 10518 """ 10519 10520 _attribute_map = { 10521 'available': {'key': 'available', 'type': 'bool'}, 10522 'available_ip_addresses': {'key': 'availableIPAddresses', 'type': '[str]'}, 10523 } 10524 10525 def __init__( 10526 self, 10527 *, 10528 available: Optional[bool] = None, 10529 available_ip_addresses: Optional[List[str]] = None, 10530 **kwargs 10531 ): 10532 super(IPAddressAvailabilityResult, self).__init__(**kwargs) 10533 self.available = available 10534 self.available_ip_addresses = available_ip_addresses 10535 10536 10537class IPConfiguration(SubResource): 10538 """IP configuration. 10539 10540 Variables are only populated by the server, and will be ignored when sending a request. 10541 10542 :param id: Resource ID. 10543 :type id: str 10544 :param name: The name of the resource that is unique within a resource group. This name can be 10545 used to access the resource. 10546 :type name: str 10547 :ivar etag: A unique read-only string that changes whenever the resource is updated. 10548 :vartype etag: str 10549 :param private_ip_address: The private IP address of the IP configuration. 10550 :type private_ip_address: str 10551 :param private_ip_allocation_method: The private IP address allocation method. Possible values 10552 include: "Static", "Dynamic". 10553 :type private_ip_allocation_method: str or 10554 ~azure.mgmt.network.v2019_12_01.models.IPAllocationMethod 10555 :param subnet: The reference to the subnet resource. 10556 :type subnet: ~azure.mgmt.network.v2019_12_01.models.Subnet 10557 :param public_ip_address: The reference to the public IP resource. 10558 :type public_ip_address: ~azure.mgmt.network.v2019_12_01.models.PublicIPAddress 10559 :ivar provisioning_state: The provisioning state of the IP configuration resource. Possible 10560 values include: "Succeeded", "Updating", "Deleting", "Failed". 10561 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 10562 """ 10563 10564 _validation = { 10565 'etag': {'readonly': True}, 10566 'provisioning_state': {'readonly': True}, 10567 } 10568 10569 _attribute_map = { 10570 'id': {'key': 'id', 'type': 'str'}, 10571 'name': {'key': 'name', 'type': 'str'}, 10572 'etag': {'key': 'etag', 'type': 'str'}, 10573 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 10574 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 10575 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 10576 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 10577 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10578 } 10579 10580 def __init__( 10581 self, 10582 *, 10583 id: Optional[str] = None, 10584 name: Optional[str] = None, 10585 private_ip_address: Optional[str] = None, 10586 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 10587 subnet: Optional["Subnet"] = None, 10588 public_ip_address: Optional["PublicIPAddress"] = None, 10589 **kwargs 10590 ): 10591 super(IPConfiguration, self).__init__(id=id, **kwargs) 10592 self.name = name 10593 self.etag = None 10594 self.private_ip_address = private_ip_address 10595 self.private_ip_allocation_method = private_ip_allocation_method 10596 self.subnet = subnet 10597 self.public_ip_address = public_ip_address 10598 self.provisioning_state = None 10599 10600 10601class IPConfigurationBgpPeeringAddress(msrest.serialization.Model): 10602 """Properties of IPConfigurationBgpPeeringAddress. 10603 10604 Variables are only populated by the server, and will be ignored when sending a request. 10605 10606 :param ipconfiguration_id: The ID of IP configuration which belongs to gateway. 10607 :type ipconfiguration_id: str 10608 :ivar default_bgp_ip_addresses: The list of default BGP peering addresses which belong to IP 10609 configuration. 10610 :vartype default_bgp_ip_addresses: list[str] 10611 :param custom_bgp_ip_addresses: The list of custom BGP peering addresses which belong to IP 10612 configuration. 10613 :type custom_bgp_ip_addresses: list[str] 10614 :ivar tunnel_ip_addresses: The list of tunnel public IP addresses which belong to IP 10615 configuration. 10616 :vartype tunnel_ip_addresses: list[str] 10617 """ 10618 10619 _validation = { 10620 'default_bgp_ip_addresses': {'readonly': True}, 10621 'tunnel_ip_addresses': {'readonly': True}, 10622 } 10623 10624 _attribute_map = { 10625 'ipconfiguration_id': {'key': 'ipconfigurationId', 'type': 'str'}, 10626 'default_bgp_ip_addresses': {'key': 'defaultBgpIpAddresses', 'type': '[str]'}, 10627 'custom_bgp_ip_addresses': {'key': 'customBgpIpAddresses', 'type': '[str]'}, 10628 'tunnel_ip_addresses': {'key': 'tunnelIpAddresses', 'type': '[str]'}, 10629 } 10630 10631 def __init__( 10632 self, 10633 *, 10634 ipconfiguration_id: Optional[str] = None, 10635 custom_bgp_ip_addresses: Optional[List[str]] = None, 10636 **kwargs 10637 ): 10638 super(IPConfigurationBgpPeeringAddress, self).__init__(**kwargs) 10639 self.ipconfiguration_id = ipconfiguration_id 10640 self.default_bgp_ip_addresses = None 10641 self.custom_bgp_ip_addresses = custom_bgp_ip_addresses 10642 self.tunnel_ip_addresses = None 10643 10644 10645class IPConfigurationProfile(SubResource): 10646 """IP configuration profile child resource. 10647 10648 Variables are only populated by the server, and will be ignored when sending a request. 10649 10650 :param id: Resource ID. 10651 :type id: str 10652 :param name: The name of the resource. This name can be used to access the resource. 10653 :type name: str 10654 :ivar type: Sub Resource type. 10655 :vartype type: str 10656 :ivar etag: A unique read-only string that changes whenever the resource is updated. 10657 :vartype etag: str 10658 :param subnet: The reference to the subnet resource to create a container network interface ip 10659 configuration. 10660 :type subnet: ~azure.mgmt.network.v2019_12_01.models.Subnet 10661 :ivar provisioning_state: The provisioning state of the IP configuration profile resource. 10662 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 10663 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 10664 """ 10665 10666 _validation = { 10667 'type': {'readonly': True}, 10668 'etag': {'readonly': True}, 10669 'provisioning_state': {'readonly': True}, 10670 } 10671 10672 _attribute_map = { 10673 'id': {'key': 'id', 'type': 'str'}, 10674 'name': {'key': 'name', 'type': 'str'}, 10675 'type': {'key': 'type', 'type': 'str'}, 10676 'etag': {'key': 'etag', 'type': 'str'}, 10677 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 10678 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10679 } 10680 10681 def __init__( 10682 self, 10683 *, 10684 id: Optional[str] = None, 10685 name: Optional[str] = None, 10686 subnet: Optional["Subnet"] = None, 10687 **kwargs 10688 ): 10689 super(IPConfigurationProfile, self).__init__(id=id, **kwargs) 10690 self.name = name 10691 self.type = None 10692 self.etag = None 10693 self.subnet = subnet 10694 self.provisioning_state = None 10695 10696 10697class IpGroup(Resource): 10698 """The IpGroups resource information. 10699 10700 Variables are only populated by the server, and will be ignored when sending a request. 10701 10702 :param id: Resource ID. 10703 :type id: str 10704 :ivar name: Resource name. 10705 :vartype name: str 10706 :ivar type: Resource type. 10707 :vartype type: str 10708 :param location: Resource location. 10709 :type location: str 10710 :param tags: A set of tags. Resource tags. 10711 :type tags: dict[str, str] 10712 :ivar etag: A unique read-only string that changes whenever the resource is updated. 10713 :vartype etag: str 10714 :ivar provisioning_state: The provisioning state of the IpGroups resource. Possible values 10715 include: "Succeeded", "Updating", "Deleting", "Failed". 10716 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 10717 :param ip_addresses: IpAddresses/IpAddressPrefixes in the IpGroups resource. 10718 :type ip_addresses: list[str] 10719 :ivar firewalls: List of references to Azure resources that this IpGroups is associated with. 10720 :vartype firewalls: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 10721 """ 10722 10723 _validation = { 10724 'name': {'readonly': True}, 10725 'type': {'readonly': True}, 10726 'etag': {'readonly': True}, 10727 'provisioning_state': {'readonly': True}, 10728 'firewalls': {'readonly': True}, 10729 } 10730 10731 _attribute_map = { 10732 'id': {'key': 'id', 'type': 'str'}, 10733 'name': {'key': 'name', 'type': 'str'}, 10734 'type': {'key': 'type', 'type': 'str'}, 10735 'location': {'key': 'location', 'type': 'str'}, 10736 'tags': {'key': 'tags', 'type': '{str}'}, 10737 'etag': {'key': 'etag', 'type': 'str'}, 10738 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10739 'ip_addresses': {'key': 'properties.ipAddresses', 'type': '[str]'}, 10740 'firewalls': {'key': 'properties.firewalls', 'type': '[SubResource]'}, 10741 } 10742 10743 def __init__( 10744 self, 10745 *, 10746 id: Optional[str] = None, 10747 location: Optional[str] = None, 10748 tags: Optional[Dict[str, str]] = None, 10749 ip_addresses: Optional[List[str]] = None, 10750 **kwargs 10751 ): 10752 super(IpGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) 10753 self.etag = None 10754 self.provisioning_state = None 10755 self.ip_addresses = ip_addresses 10756 self.firewalls = None 10757 10758 10759class IpGroupListResult(msrest.serialization.Model): 10760 """Response for the ListIpGroups API service call. 10761 10762 :param value: The list of IpGroups information resources. 10763 :type value: list[~azure.mgmt.network.v2019_12_01.models.IpGroup] 10764 :param next_link: URL to get the next set of results. 10765 :type next_link: str 10766 """ 10767 10768 _attribute_map = { 10769 'value': {'key': 'value', 'type': '[IpGroup]'}, 10770 'next_link': {'key': 'nextLink', 'type': 'str'}, 10771 } 10772 10773 def __init__( 10774 self, 10775 *, 10776 value: Optional[List["IpGroup"]] = None, 10777 next_link: Optional[str] = None, 10778 **kwargs 10779 ): 10780 super(IpGroupListResult, self).__init__(**kwargs) 10781 self.value = value 10782 self.next_link = next_link 10783 10784 10785class IpsecPolicy(msrest.serialization.Model): 10786 """An IPSec Policy configuration for a virtual network gateway connection. 10787 10788 All required parameters must be populated in order to send to Azure. 10789 10790 :param sa_life_time_seconds: Required. The IPSec Security Association (also called Quick Mode 10791 or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel. 10792 :type sa_life_time_seconds: int 10793 :param sa_data_size_kilobytes: Required. The IPSec Security Association (also called Quick Mode 10794 or Phase 2 SA) payload size in KB for a site to site VPN tunnel. 10795 :type sa_data_size_kilobytes: int 10796 :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE phase 1). Possible 10797 values include: "None", "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES128", "GCMAES192", 10798 "GCMAES256". 10799 :type ipsec_encryption: str or ~azure.mgmt.network.v2019_12_01.models.IpsecEncryption 10800 :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase 1). Possible values 10801 include: "MD5", "SHA1", "SHA256", "GCMAES128", "GCMAES192", "GCMAES256". 10802 :type ipsec_integrity: str or ~azure.mgmt.network.v2019_12_01.models.IpsecIntegrity 10803 :param ike_encryption: Required. The IKE encryption algorithm (IKE phase 2). Possible values 10804 include: "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES256", "GCMAES128". 10805 :type ike_encryption: str or ~azure.mgmt.network.v2019_12_01.models.IkeEncryption 10806 :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). Possible values 10807 include: "MD5", "SHA1", "SHA256", "SHA384", "GCMAES256", "GCMAES128". 10808 :type ike_integrity: str or ~azure.mgmt.network.v2019_12_01.models.IkeIntegrity 10809 :param dh_group: Required. The DH Group used in IKE Phase 1 for initial SA. Possible values 10810 include: "None", "DHGroup1", "DHGroup2", "DHGroup14", "DHGroup2048", "ECP256", "ECP384", 10811 "DHGroup24". 10812 :type dh_group: str or ~azure.mgmt.network.v2019_12_01.models.DhGroup 10813 :param pfs_group: Required. The Pfs Group used in IKE Phase 2 for new child SA. Possible values 10814 include: "None", "PFS1", "PFS2", "PFS2048", "ECP256", "ECP384", "PFS24", "PFS14", "PFSMM". 10815 :type pfs_group: str or ~azure.mgmt.network.v2019_12_01.models.PfsGroup 10816 """ 10817 10818 _validation = { 10819 'sa_life_time_seconds': {'required': True}, 10820 'sa_data_size_kilobytes': {'required': True}, 10821 'ipsec_encryption': {'required': True}, 10822 'ipsec_integrity': {'required': True}, 10823 'ike_encryption': {'required': True}, 10824 'ike_integrity': {'required': True}, 10825 'dh_group': {'required': True}, 10826 'pfs_group': {'required': True}, 10827 } 10828 10829 _attribute_map = { 10830 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, 10831 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, 10832 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, 10833 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, 10834 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, 10835 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, 10836 'dh_group': {'key': 'dhGroup', 'type': 'str'}, 10837 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, 10838 } 10839 10840 def __init__( 10841 self, 10842 *, 10843 sa_life_time_seconds: int, 10844 sa_data_size_kilobytes: int, 10845 ipsec_encryption: Union[str, "IpsecEncryption"], 10846 ipsec_integrity: Union[str, "IpsecIntegrity"], 10847 ike_encryption: Union[str, "IkeEncryption"], 10848 ike_integrity: Union[str, "IkeIntegrity"], 10849 dh_group: Union[str, "DhGroup"], 10850 pfs_group: Union[str, "PfsGroup"], 10851 **kwargs 10852 ): 10853 super(IpsecPolicy, self).__init__(**kwargs) 10854 self.sa_life_time_seconds = sa_life_time_seconds 10855 self.sa_data_size_kilobytes = sa_data_size_kilobytes 10856 self.ipsec_encryption = ipsec_encryption 10857 self.ipsec_integrity = ipsec_integrity 10858 self.ike_encryption = ike_encryption 10859 self.ike_integrity = ike_integrity 10860 self.dh_group = dh_group 10861 self.pfs_group = pfs_group 10862 10863 10864class IpTag(msrest.serialization.Model): 10865 """Contains the IpTag associated with the object. 10866 10867 :param ip_tag_type: The IP tag type. Example: FirstPartyUsage. 10868 :type ip_tag_type: str 10869 :param tag: The value of the IP tag associated with the public IP. Example: SQL. 10870 :type tag: str 10871 """ 10872 10873 _attribute_map = { 10874 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, 10875 'tag': {'key': 'tag', 'type': 'str'}, 10876 } 10877 10878 def __init__( 10879 self, 10880 *, 10881 ip_tag_type: Optional[str] = None, 10882 tag: Optional[str] = None, 10883 **kwargs 10884 ): 10885 super(IpTag, self).__init__(**kwargs) 10886 self.ip_tag_type = ip_tag_type 10887 self.tag = tag 10888 10889 10890class Ipv6CircuitConnectionConfig(msrest.serialization.Model): 10891 """IPv6 Circuit Connection properties for global reach. 10892 10893 Variables are only populated by the server, and will be ignored when sending a request. 10894 10895 :param address_prefix: /125 IP address space to carve out customer addresses for global reach. 10896 :type address_prefix: str 10897 :ivar circuit_connection_status: Express Route Circuit connection state. Possible values 10898 include: "Connected", "Connecting", "Disconnected". 10899 :vartype circuit_connection_status: str or 10900 ~azure.mgmt.network.v2019_12_01.models.CircuitConnectionStatus 10901 """ 10902 10903 _validation = { 10904 'circuit_connection_status': {'readonly': True}, 10905 } 10906 10907 _attribute_map = { 10908 'address_prefix': {'key': 'addressPrefix', 'type': 'str'}, 10909 'circuit_connection_status': {'key': 'circuitConnectionStatus', 'type': 'str'}, 10910 } 10911 10912 def __init__( 10913 self, 10914 *, 10915 address_prefix: Optional[str] = None, 10916 **kwargs 10917 ): 10918 super(Ipv6CircuitConnectionConfig, self).__init__(**kwargs) 10919 self.address_prefix = address_prefix 10920 self.circuit_connection_status = None 10921 10922 10923class Ipv6ExpressRouteCircuitPeeringConfig(msrest.serialization.Model): 10924 """Contains IPv6 peering config. 10925 10926 :param primary_peer_address_prefix: The primary address prefix. 10927 :type primary_peer_address_prefix: str 10928 :param secondary_peer_address_prefix: The secondary address prefix. 10929 :type secondary_peer_address_prefix: str 10930 :param microsoft_peering_config: The Microsoft peering configuration. 10931 :type microsoft_peering_config: 10932 ~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitPeeringConfig 10933 :param route_filter: The reference to the RouteFilter resource. 10934 :type route_filter: ~azure.mgmt.network.v2019_12_01.models.SubResource 10935 :param state: The state of peering. Possible values include: "Disabled", "Enabled". 10936 :type state: str or ~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitPeeringState 10937 """ 10938 10939 _attribute_map = { 10940 'primary_peer_address_prefix': {'key': 'primaryPeerAddressPrefix', 'type': 'str'}, 10941 'secondary_peer_address_prefix': {'key': 'secondaryPeerAddressPrefix', 'type': 'str'}, 10942 'microsoft_peering_config': {'key': 'microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, 10943 'route_filter': {'key': 'routeFilter', 'type': 'SubResource'}, 10944 'state': {'key': 'state', 'type': 'str'}, 10945 } 10946 10947 def __init__( 10948 self, 10949 *, 10950 primary_peer_address_prefix: Optional[str] = None, 10951 secondary_peer_address_prefix: Optional[str] = None, 10952 microsoft_peering_config: Optional["ExpressRouteCircuitPeeringConfig"] = None, 10953 route_filter: Optional["SubResource"] = None, 10954 state: Optional[Union[str, "ExpressRouteCircuitPeeringState"]] = None, 10955 **kwargs 10956 ): 10957 super(Ipv6ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) 10958 self.primary_peer_address_prefix = primary_peer_address_prefix 10959 self.secondary_peer_address_prefix = secondary_peer_address_prefix 10960 self.microsoft_peering_config = microsoft_peering_config 10961 self.route_filter = route_filter 10962 self.state = state 10963 10964 10965class ListHubVirtualNetworkConnectionsResult(msrest.serialization.Model): 10966 """List of HubVirtualNetworkConnections and a URL nextLink to get the next set of results. 10967 10968 :param value: List of HubVirtualNetworkConnections. 10969 :type value: list[~azure.mgmt.network.v2019_12_01.models.HubVirtualNetworkConnection] 10970 :param next_link: URL to get the next set of operation list results if there are any. 10971 :type next_link: str 10972 """ 10973 10974 _attribute_map = { 10975 'value': {'key': 'value', 'type': '[HubVirtualNetworkConnection]'}, 10976 'next_link': {'key': 'nextLink', 'type': 'str'}, 10977 } 10978 10979 def __init__( 10980 self, 10981 *, 10982 value: Optional[List["HubVirtualNetworkConnection"]] = None, 10983 next_link: Optional[str] = None, 10984 **kwargs 10985 ): 10986 super(ListHubVirtualNetworkConnectionsResult, self).__init__(**kwargs) 10987 self.value = value 10988 self.next_link = next_link 10989 10990 10991class ListP2SVpnGatewaysResult(msrest.serialization.Model): 10992 """Result of the request to list P2SVpnGateways. It contains a list of P2SVpnGateways and a URL nextLink to get the next set of results. 10993 10994 :param value: List of P2SVpnGateways. 10995 :type value: list[~azure.mgmt.network.v2019_12_01.models.P2SVpnGateway] 10996 :param next_link: URL to get the next set of operation list results if there are any. 10997 :type next_link: str 10998 """ 10999 11000 _attribute_map = { 11001 'value': {'key': 'value', 'type': '[P2SVpnGateway]'}, 11002 'next_link': {'key': 'nextLink', 'type': 'str'}, 11003 } 11004 11005 def __init__( 11006 self, 11007 *, 11008 value: Optional[List["P2SVpnGateway"]] = None, 11009 next_link: Optional[str] = None, 11010 **kwargs 11011 ): 11012 super(ListP2SVpnGatewaysResult, self).__init__(**kwargs) 11013 self.value = value 11014 self.next_link = next_link 11015 11016 11017class ListVirtualHubRouteTableV2SResult(msrest.serialization.Model): 11018 """List of VirtualHubRouteTableV2s and a URL nextLink to get the next set of results. 11019 11020 :param value: List of VirtualHubRouteTableV2s. 11021 :type value: list[~azure.mgmt.network.v2019_12_01.models.VirtualHubRouteTableV2] 11022 :param next_link: URL to get the next set of operation list results if there are any. 11023 :type next_link: str 11024 """ 11025 11026 _attribute_map = { 11027 'value': {'key': 'value', 'type': '[VirtualHubRouteTableV2]'}, 11028 'next_link': {'key': 'nextLink', 'type': 'str'}, 11029 } 11030 11031 def __init__( 11032 self, 11033 *, 11034 value: Optional[List["VirtualHubRouteTableV2"]] = None, 11035 next_link: Optional[str] = None, 11036 **kwargs 11037 ): 11038 super(ListVirtualHubRouteTableV2SResult, self).__init__(**kwargs) 11039 self.value = value 11040 self.next_link = next_link 11041 11042 11043class ListVirtualHubsResult(msrest.serialization.Model): 11044 """Result of the request to list VirtualHubs. It contains a list of VirtualHubs and a URL nextLink to get the next set of results. 11045 11046 :param value: List of VirtualHubs. 11047 :type value: list[~azure.mgmt.network.v2019_12_01.models.VirtualHub] 11048 :param next_link: URL to get the next set of operation list results if there are any. 11049 :type next_link: str 11050 """ 11051 11052 _attribute_map = { 11053 'value': {'key': 'value', 'type': '[VirtualHub]'}, 11054 'next_link': {'key': 'nextLink', 'type': 'str'}, 11055 } 11056 11057 def __init__( 11058 self, 11059 *, 11060 value: Optional[List["VirtualHub"]] = None, 11061 next_link: Optional[str] = None, 11062 **kwargs 11063 ): 11064 super(ListVirtualHubsResult, self).__init__(**kwargs) 11065 self.value = value 11066 self.next_link = next_link 11067 11068 11069class ListVirtualWANsResult(msrest.serialization.Model): 11070 """Result of the request to list VirtualWANs. It contains a list of VirtualWANs and a URL nextLink to get the next set of results. 11071 11072 :param value: List of VirtualWANs. 11073 :type value: list[~azure.mgmt.network.v2019_12_01.models.VirtualWAN] 11074 :param next_link: URL to get the next set of operation list results if there are any. 11075 :type next_link: str 11076 """ 11077 11078 _attribute_map = { 11079 'value': {'key': 'value', 'type': '[VirtualWAN]'}, 11080 'next_link': {'key': 'nextLink', 'type': 'str'}, 11081 } 11082 11083 def __init__( 11084 self, 11085 *, 11086 value: Optional[List["VirtualWAN"]] = None, 11087 next_link: Optional[str] = None, 11088 **kwargs 11089 ): 11090 super(ListVirtualWANsResult, self).__init__(**kwargs) 11091 self.value = value 11092 self.next_link = next_link 11093 11094 11095class ListVpnConnectionsResult(msrest.serialization.Model): 11096 """Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains a list of Vpn Connections and a URL nextLink to get the next set of results. 11097 11098 :param value: List of Vpn Connections. 11099 :type value: list[~azure.mgmt.network.v2019_12_01.models.VpnConnection] 11100 :param next_link: URL to get the next set of operation list results if there are any. 11101 :type next_link: str 11102 """ 11103 11104 _attribute_map = { 11105 'value': {'key': 'value', 'type': '[VpnConnection]'}, 11106 'next_link': {'key': 'nextLink', 'type': 'str'}, 11107 } 11108 11109 def __init__( 11110 self, 11111 *, 11112 value: Optional[List["VpnConnection"]] = None, 11113 next_link: Optional[str] = None, 11114 **kwargs 11115 ): 11116 super(ListVpnConnectionsResult, self).__init__(**kwargs) 11117 self.value = value 11118 self.next_link = next_link 11119 11120 11121class ListVpnGatewaysResult(msrest.serialization.Model): 11122 """Result of the request to list VpnGateways. It contains a list of VpnGateways and a URL nextLink to get the next set of results. 11123 11124 :param value: List of VpnGateways. 11125 :type value: list[~azure.mgmt.network.v2019_12_01.models.VpnGateway] 11126 :param next_link: URL to get the next set of operation list results if there are any. 11127 :type next_link: str 11128 """ 11129 11130 _attribute_map = { 11131 'value': {'key': 'value', 'type': '[VpnGateway]'}, 11132 'next_link': {'key': 'nextLink', 'type': 'str'}, 11133 } 11134 11135 def __init__( 11136 self, 11137 *, 11138 value: Optional[List["VpnGateway"]] = None, 11139 next_link: Optional[str] = None, 11140 **kwargs 11141 ): 11142 super(ListVpnGatewaysResult, self).__init__(**kwargs) 11143 self.value = value 11144 self.next_link = next_link 11145 11146 11147class ListVpnServerConfigurationsResult(msrest.serialization.Model): 11148 """Result of the request to list all VpnServerConfigurations. It contains a list of VpnServerConfigurations and a URL nextLink to get the next set of results. 11149 11150 :param value: List of VpnServerConfigurations. 11151 :type value: list[~azure.mgmt.network.v2019_12_01.models.VpnServerConfiguration] 11152 :param next_link: URL to get the next set of operation list results if there are any. 11153 :type next_link: str 11154 """ 11155 11156 _attribute_map = { 11157 'value': {'key': 'value', 'type': '[VpnServerConfiguration]'}, 11158 'next_link': {'key': 'nextLink', 'type': 'str'}, 11159 } 11160 11161 def __init__( 11162 self, 11163 *, 11164 value: Optional[List["VpnServerConfiguration"]] = None, 11165 next_link: Optional[str] = None, 11166 **kwargs 11167 ): 11168 super(ListVpnServerConfigurationsResult, self).__init__(**kwargs) 11169 self.value = value 11170 self.next_link = next_link 11171 11172 11173class ListVpnSiteLinkConnectionsResult(msrest.serialization.Model): 11174 """Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains a list of Vpn Connections and a URL nextLink to get the next set of results. 11175 11176 :param value: List of VpnSiteLinkConnections. 11177 :type value: list[~azure.mgmt.network.v2019_12_01.models.VpnSiteLinkConnection] 11178 :param next_link: URL to get the next set of operation list results if there are any. 11179 :type next_link: str 11180 """ 11181 11182 _attribute_map = { 11183 'value': {'key': 'value', 'type': '[VpnSiteLinkConnection]'}, 11184 'next_link': {'key': 'nextLink', 'type': 'str'}, 11185 } 11186 11187 def __init__( 11188 self, 11189 *, 11190 value: Optional[List["VpnSiteLinkConnection"]] = None, 11191 next_link: Optional[str] = None, 11192 **kwargs 11193 ): 11194 super(ListVpnSiteLinkConnectionsResult, self).__init__(**kwargs) 11195 self.value = value 11196 self.next_link = next_link 11197 11198 11199class ListVpnSiteLinksResult(msrest.serialization.Model): 11200 """Result of the request to list VpnSiteLinks. It contains a list of VpnSiteLinks and a URL nextLink to get the next set of results. 11201 11202 :param value: List of VpnSitesLinks. 11203 :type value: list[~azure.mgmt.network.v2019_12_01.models.VpnSiteLink] 11204 :param next_link: URL to get the next set of operation list results if there are any. 11205 :type next_link: str 11206 """ 11207 11208 _attribute_map = { 11209 'value': {'key': 'value', 'type': '[VpnSiteLink]'}, 11210 'next_link': {'key': 'nextLink', 'type': 'str'}, 11211 } 11212 11213 def __init__( 11214 self, 11215 *, 11216 value: Optional[List["VpnSiteLink"]] = None, 11217 next_link: Optional[str] = None, 11218 **kwargs 11219 ): 11220 super(ListVpnSiteLinksResult, self).__init__(**kwargs) 11221 self.value = value 11222 self.next_link = next_link 11223 11224 11225class ListVpnSitesResult(msrest.serialization.Model): 11226 """Result of the request to list VpnSites. It contains a list of VpnSites and a URL nextLink to get the next set of results. 11227 11228 :param value: List of VpnSites. 11229 :type value: list[~azure.mgmt.network.v2019_12_01.models.VpnSite] 11230 :param next_link: URL to get the next set of operation list results if there are any. 11231 :type next_link: str 11232 """ 11233 11234 _attribute_map = { 11235 'value': {'key': 'value', 'type': '[VpnSite]'}, 11236 'next_link': {'key': 'nextLink', 'type': 'str'}, 11237 } 11238 11239 def __init__( 11240 self, 11241 *, 11242 value: Optional[List["VpnSite"]] = None, 11243 next_link: Optional[str] = None, 11244 **kwargs 11245 ): 11246 super(ListVpnSitesResult, self).__init__(**kwargs) 11247 self.value = value 11248 self.next_link = next_link 11249 11250 11251class LoadBalancer(Resource): 11252 """LoadBalancer resource. 11253 11254 Variables are only populated by the server, and will be ignored when sending a request. 11255 11256 :param id: Resource ID. 11257 :type id: str 11258 :ivar name: Resource name. 11259 :vartype name: str 11260 :ivar type: Resource type. 11261 :vartype type: str 11262 :param location: Resource location. 11263 :type location: str 11264 :param tags: A set of tags. Resource tags. 11265 :type tags: dict[str, str] 11266 :param sku: The load balancer SKU. 11267 :type sku: ~azure.mgmt.network.v2019_12_01.models.LoadBalancerSku 11268 :ivar etag: A unique read-only string that changes whenever the resource is updated. 11269 :vartype etag: str 11270 :param frontend_ip_configurations: Object representing the frontend IPs to be used for the load 11271 balancer. 11272 :type frontend_ip_configurations: 11273 list[~azure.mgmt.network.v2019_12_01.models.FrontendIPConfiguration] 11274 :param backend_address_pools: Collection of backend address pools used by a load balancer. 11275 :type backend_address_pools: list[~azure.mgmt.network.v2019_12_01.models.BackendAddressPool] 11276 :param load_balancing_rules: Object collection representing the load balancing rules Gets the 11277 provisioning. 11278 :type load_balancing_rules: list[~azure.mgmt.network.v2019_12_01.models.LoadBalancingRule] 11279 :param probes: Collection of probe objects used in the load balancer. 11280 :type probes: list[~azure.mgmt.network.v2019_12_01.models.Probe] 11281 :param inbound_nat_rules: Collection of inbound NAT Rules used by a load balancer. Defining 11282 inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT 11283 pool. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are 11284 associated with individual virtual machines cannot reference an Inbound NAT pool. They have to 11285 reference individual inbound NAT rules. 11286 :type inbound_nat_rules: list[~azure.mgmt.network.v2019_12_01.models.InboundNatRule] 11287 :param inbound_nat_pools: Defines an external port range for inbound NAT to a single backend 11288 port on NICs associated with a load balancer. Inbound NAT rules are created automatically for 11289 each NIC associated with the Load Balancer using an external port from this range. Defining an 11290 Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat rules. 11291 Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with 11292 individual virtual machines cannot reference an inbound NAT pool. They have to reference 11293 individual inbound NAT rules. 11294 :type inbound_nat_pools: list[~azure.mgmt.network.v2019_12_01.models.InboundNatPool] 11295 :param outbound_rules: The outbound rules. 11296 :type outbound_rules: list[~azure.mgmt.network.v2019_12_01.models.OutboundRule] 11297 :ivar resource_guid: The resource GUID property of the load balancer resource. 11298 :vartype resource_guid: str 11299 :ivar provisioning_state: The provisioning state of the load balancer resource. Possible values 11300 include: "Succeeded", "Updating", "Deleting", "Failed". 11301 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 11302 """ 11303 11304 _validation = { 11305 'name': {'readonly': True}, 11306 'type': {'readonly': True}, 11307 'etag': {'readonly': True}, 11308 'resource_guid': {'readonly': True}, 11309 'provisioning_state': {'readonly': True}, 11310 } 11311 11312 _attribute_map = { 11313 'id': {'key': 'id', 'type': 'str'}, 11314 'name': {'key': 'name', 'type': 'str'}, 11315 'type': {'key': 'type', 'type': 'str'}, 11316 'location': {'key': 'location', 'type': 'str'}, 11317 'tags': {'key': 'tags', 'type': '{str}'}, 11318 'sku': {'key': 'sku', 'type': 'LoadBalancerSku'}, 11319 'etag': {'key': 'etag', 'type': 'str'}, 11320 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, 11321 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, 11322 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, 11323 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, 11324 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, 11325 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, 11326 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[OutboundRule]'}, 11327 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 11328 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 11329 } 11330 11331 def __init__( 11332 self, 11333 *, 11334 id: Optional[str] = None, 11335 location: Optional[str] = None, 11336 tags: Optional[Dict[str, str]] = None, 11337 sku: Optional["LoadBalancerSku"] = None, 11338 frontend_ip_configurations: Optional[List["FrontendIPConfiguration"]] = None, 11339 backend_address_pools: Optional[List["BackendAddressPool"]] = None, 11340 load_balancing_rules: Optional[List["LoadBalancingRule"]] = None, 11341 probes: Optional[List["Probe"]] = None, 11342 inbound_nat_rules: Optional[List["InboundNatRule"]] = None, 11343 inbound_nat_pools: Optional[List["InboundNatPool"]] = None, 11344 outbound_rules: Optional[List["OutboundRule"]] = None, 11345 **kwargs 11346 ): 11347 super(LoadBalancer, self).__init__(id=id, location=location, tags=tags, **kwargs) 11348 self.sku = sku 11349 self.etag = None 11350 self.frontend_ip_configurations = frontend_ip_configurations 11351 self.backend_address_pools = backend_address_pools 11352 self.load_balancing_rules = load_balancing_rules 11353 self.probes = probes 11354 self.inbound_nat_rules = inbound_nat_rules 11355 self.inbound_nat_pools = inbound_nat_pools 11356 self.outbound_rules = outbound_rules 11357 self.resource_guid = None 11358 self.provisioning_state = None 11359 11360 11361class LoadBalancerBackendAddressPoolListResult(msrest.serialization.Model): 11362 """Response for ListBackendAddressPool API service call. 11363 11364 Variables are only populated by the server, and will be ignored when sending a request. 11365 11366 :param value: A list of backend address pools in a load balancer. 11367 :type value: list[~azure.mgmt.network.v2019_12_01.models.BackendAddressPool] 11368 :ivar next_link: The URL to get the next set of results. 11369 :vartype next_link: str 11370 """ 11371 11372 _validation = { 11373 'next_link': {'readonly': True}, 11374 } 11375 11376 _attribute_map = { 11377 'value': {'key': 'value', 'type': '[BackendAddressPool]'}, 11378 'next_link': {'key': 'nextLink', 'type': 'str'}, 11379 } 11380 11381 def __init__( 11382 self, 11383 *, 11384 value: Optional[List["BackendAddressPool"]] = None, 11385 **kwargs 11386 ): 11387 super(LoadBalancerBackendAddressPoolListResult, self).__init__(**kwargs) 11388 self.value = value 11389 self.next_link = None 11390 11391 11392class LoadBalancerFrontendIPConfigurationListResult(msrest.serialization.Model): 11393 """Response for ListFrontendIPConfiguration API service call. 11394 11395 Variables are only populated by the server, and will be ignored when sending a request. 11396 11397 :param value: A list of frontend IP configurations in a load balancer. 11398 :type value: list[~azure.mgmt.network.v2019_12_01.models.FrontendIPConfiguration] 11399 :ivar next_link: The URL to get the next set of results. 11400 :vartype next_link: str 11401 """ 11402 11403 _validation = { 11404 'next_link': {'readonly': True}, 11405 } 11406 11407 _attribute_map = { 11408 'value': {'key': 'value', 'type': '[FrontendIPConfiguration]'}, 11409 'next_link': {'key': 'nextLink', 'type': 'str'}, 11410 } 11411 11412 def __init__( 11413 self, 11414 *, 11415 value: Optional[List["FrontendIPConfiguration"]] = None, 11416 **kwargs 11417 ): 11418 super(LoadBalancerFrontendIPConfigurationListResult, self).__init__(**kwargs) 11419 self.value = value 11420 self.next_link = None 11421 11422 11423class LoadBalancerListResult(msrest.serialization.Model): 11424 """Response for ListLoadBalancers API service call. 11425 11426 Variables are only populated by the server, and will be ignored when sending a request. 11427 11428 :param value: A list of load balancers in a resource group. 11429 :type value: list[~azure.mgmt.network.v2019_12_01.models.LoadBalancer] 11430 :ivar next_link: The URL to get the next set of results. 11431 :vartype next_link: str 11432 """ 11433 11434 _validation = { 11435 'next_link': {'readonly': True}, 11436 } 11437 11438 _attribute_map = { 11439 'value': {'key': 'value', 'type': '[LoadBalancer]'}, 11440 'next_link': {'key': 'nextLink', 'type': 'str'}, 11441 } 11442 11443 def __init__( 11444 self, 11445 *, 11446 value: Optional[List["LoadBalancer"]] = None, 11447 **kwargs 11448 ): 11449 super(LoadBalancerListResult, self).__init__(**kwargs) 11450 self.value = value 11451 self.next_link = None 11452 11453 11454class LoadBalancerLoadBalancingRuleListResult(msrest.serialization.Model): 11455 """Response for ListLoadBalancingRule API service call. 11456 11457 Variables are only populated by the server, and will be ignored when sending a request. 11458 11459 :param value: A list of load balancing rules in a load balancer. 11460 :type value: list[~azure.mgmt.network.v2019_12_01.models.LoadBalancingRule] 11461 :ivar next_link: The URL to get the next set of results. 11462 :vartype next_link: str 11463 """ 11464 11465 _validation = { 11466 'next_link': {'readonly': True}, 11467 } 11468 11469 _attribute_map = { 11470 'value': {'key': 'value', 'type': '[LoadBalancingRule]'}, 11471 'next_link': {'key': 'nextLink', 'type': 'str'}, 11472 } 11473 11474 def __init__( 11475 self, 11476 *, 11477 value: Optional[List["LoadBalancingRule"]] = None, 11478 **kwargs 11479 ): 11480 super(LoadBalancerLoadBalancingRuleListResult, self).__init__(**kwargs) 11481 self.value = value 11482 self.next_link = None 11483 11484 11485class LoadBalancerOutboundRuleListResult(msrest.serialization.Model): 11486 """Response for ListOutboundRule API service call. 11487 11488 Variables are only populated by the server, and will be ignored when sending a request. 11489 11490 :param value: A list of outbound rules in a load balancer. 11491 :type value: list[~azure.mgmt.network.v2019_12_01.models.OutboundRule] 11492 :ivar next_link: The URL to get the next set of results. 11493 :vartype next_link: str 11494 """ 11495 11496 _validation = { 11497 'next_link': {'readonly': True}, 11498 } 11499 11500 _attribute_map = { 11501 'value': {'key': 'value', 'type': '[OutboundRule]'}, 11502 'next_link': {'key': 'nextLink', 'type': 'str'}, 11503 } 11504 11505 def __init__( 11506 self, 11507 *, 11508 value: Optional[List["OutboundRule"]] = None, 11509 **kwargs 11510 ): 11511 super(LoadBalancerOutboundRuleListResult, self).__init__(**kwargs) 11512 self.value = value 11513 self.next_link = None 11514 11515 11516class LoadBalancerProbeListResult(msrest.serialization.Model): 11517 """Response for ListProbe API service call. 11518 11519 Variables are only populated by the server, and will be ignored when sending a request. 11520 11521 :param value: A list of probes in a load balancer. 11522 :type value: list[~azure.mgmt.network.v2019_12_01.models.Probe] 11523 :ivar next_link: The URL to get the next set of results. 11524 :vartype next_link: str 11525 """ 11526 11527 _validation = { 11528 'next_link': {'readonly': True}, 11529 } 11530 11531 _attribute_map = { 11532 'value': {'key': 'value', 'type': '[Probe]'}, 11533 'next_link': {'key': 'nextLink', 'type': 'str'}, 11534 } 11535 11536 def __init__( 11537 self, 11538 *, 11539 value: Optional[List["Probe"]] = None, 11540 **kwargs 11541 ): 11542 super(LoadBalancerProbeListResult, self).__init__(**kwargs) 11543 self.value = value 11544 self.next_link = None 11545 11546 11547class LoadBalancerSku(msrest.serialization.Model): 11548 """SKU of a load balancer. 11549 11550 :param name: Name of a load balancer SKU. Possible values include: "Basic", "Standard". 11551 :type name: str or ~azure.mgmt.network.v2019_12_01.models.LoadBalancerSkuName 11552 """ 11553 11554 _attribute_map = { 11555 'name': {'key': 'name', 'type': 'str'}, 11556 } 11557 11558 def __init__( 11559 self, 11560 *, 11561 name: Optional[Union[str, "LoadBalancerSkuName"]] = None, 11562 **kwargs 11563 ): 11564 super(LoadBalancerSku, self).__init__(**kwargs) 11565 self.name = name 11566 11567 11568class LoadBalancingRule(SubResource): 11569 """A load balancing rule for a load balancer. 11570 11571 Variables are only populated by the server, and will be ignored when sending a request. 11572 11573 :param id: Resource ID. 11574 :type id: str 11575 :param name: The name of the resource that is unique within the set of load balancing rules 11576 used by the load balancer. This name can be used to access the resource. 11577 :type name: str 11578 :ivar etag: A unique read-only string that changes whenever the resource is updated. 11579 :vartype etag: str 11580 :ivar type: Type of the resource. 11581 :vartype type: str 11582 :param frontend_ip_configuration: A reference to frontend IP addresses. 11583 :type frontend_ip_configuration: ~azure.mgmt.network.v2019_12_01.models.SubResource 11584 :param backend_address_pool: A reference to a pool of DIPs. Inbound traffic is randomly load 11585 balanced across IPs in the backend IPs. 11586 :type backend_address_pool: ~azure.mgmt.network.v2019_12_01.models.SubResource 11587 :param probe: The reference to the load balancer probe used by the load balancing rule. 11588 :type probe: ~azure.mgmt.network.v2019_12_01.models.SubResource 11589 :param protocol: The reference to the transport protocol used by the load balancing rule. 11590 Possible values include: "Udp", "Tcp", "All". 11591 :type protocol: str or ~azure.mgmt.network.v2019_12_01.models.TransportProtocol 11592 :param load_distribution: The load distribution policy for this rule. Possible values include: 11593 "Default", "SourceIP", "SourceIPProtocol". 11594 :type load_distribution: str or ~azure.mgmt.network.v2019_12_01.models.LoadDistribution 11595 :param frontend_port: The port for the external endpoint. Port numbers for each rule must be 11596 unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 11597 enables "Any Port". 11598 :type frontend_port: int 11599 :param backend_port: The port used for internal connections on the endpoint. Acceptable values 11600 are between 0 and 65535. Note that value 0 enables "Any Port". 11601 :type backend_port: int 11602 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. The value can be set 11603 between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the 11604 protocol is set to TCP. 11605 :type idle_timeout_in_minutes: int 11606 :param enable_floating_ip: Configures a virtual machine's endpoint for the floating IP 11607 capability required to configure a SQL AlwaysOn Availability Group. This setting is required 11608 when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed 11609 after you create the endpoint. 11610 :type enable_floating_ip: bool 11611 :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected 11612 connection termination. This element is only used when the protocol is set to TCP. 11613 :type enable_tcp_reset: bool 11614 :param disable_outbound_snat: Configures SNAT for the VMs in the backend pool to use the 11615 publicIP address specified in the frontend of the load balancing rule. 11616 :type disable_outbound_snat: bool 11617 :ivar provisioning_state: The provisioning state of the load balancing rule resource. Possible 11618 values include: "Succeeded", "Updating", "Deleting", "Failed". 11619 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 11620 """ 11621 11622 _validation = { 11623 'etag': {'readonly': True}, 11624 'type': {'readonly': True}, 11625 'provisioning_state': {'readonly': True}, 11626 } 11627 11628 _attribute_map = { 11629 'id': {'key': 'id', 'type': 'str'}, 11630 'name': {'key': 'name', 'type': 'str'}, 11631 'etag': {'key': 'etag', 'type': 'str'}, 11632 'type': {'key': 'type', 'type': 'str'}, 11633 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 11634 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 11635 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, 11636 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 11637 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, 11638 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, 11639 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 11640 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 11641 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, 11642 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, 11643 'disable_outbound_snat': {'key': 'properties.disableOutboundSnat', 'type': 'bool'}, 11644 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 11645 } 11646 11647 def __init__( 11648 self, 11649 *, 11650 id: Optional[str] = None, 11651 name: Optional[str] = None, 11652 frontend_ip_configuration: Optional["SubResource"] = None, 11653 backend_address_pool: Optional["SubResource"] = None, 11654 probe: Optional["SubResource"] = None, 11655 protocol: Optional[Union[str, "TransportProtocol"]] = None, 11656 load_distribution: Optional[Union[str, "LoadDistribution"]] = None, 11657 frontend_port: Optional[int] = None, 11658 backend_port: Optional[int] = None, 11659 idle_timeout_in_minutes: Optional[int] = None, 11660 enable_floating_ip: Optional[bool] = None, 11661 enable_tcp_reset: Optional[bool] = None, 11662 disable_outbound_snat: Optional[bool] = None, 11663 **kwargs 11664 ): 11665 super(LoadBalancingRule, self).__init__(id=id, **kwargs) 11666 self.name = name 11667 self.etag = None 11668 self.type = None 11669 self.frontend_ip_configuration = frontend_ip_configuration 11670 self.backend_address_pool = backend_address_pool 11671 self.probe = probe 11672 self.protocol = protocol 11673 self.load_distribution = load_distribution 11674 self.frontend_port = frontend_port 11675 self.backend_port = backend_port 11676 self.idle_timeout_in_minutes = idle_timeout_in_minutes 11677 self.enable_floating_ip = enable_floating_ip 11678 self.enable_tcp_reset = enable_tcp_reset 11679 self.disable_outbound_snat = disable_outbound_snat 11680 self.provisioning_state = None 11681 11682 11683class LocalNetworkGateway(Resource): 11684 """A common class for general resource information. 11685 11686 Variables are only populated by the server, and will be ignored when sending a request. 11687 11688 :param id: Resource ID. 11689 :type id: str 11690 :ivar name: Resource name. 11691 :vartype name: str 11692 :ivar type: Resource type. 11693 :vartype type: str 11694 :param location: Resource location. 11695 :type location: str 11696 :param tags: A set of tags. Resource tags. 11697 :type tags: dict[str, str] 11698 :ivar etag: A unique read-only string that changes whenever the resource is updated. 11699 :vartype etag: str 11700 :param local_network_address_space: Local network site address space. 11701 :type local_network_address_space: ~azure.mgmt.network.v2019_12_01.models.AddressSpace 11702 :param gateway_ip_address: IP address of local network gateway. 11703 :type gateway_ip_address: str 11704 :param fqdn: FQDN of local network gateway. 11705 :type fqdn: str 11706 :param bgp_settings: Local network gateway's BGP speaker settings. 11707 :type bgp_settings: ~azure.mgmt.network.v2019_12_01.models.BgpSettings 11708 :ivar resource_guid: The resource GUID property of the local network gateway resource. 11709 :vartype resource_guid: str 11710 :ivar provisioning_state: The provisioning state of the local network gateway resource. 11711 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 11712 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 11713 """ 11714 11715 _validation = { 11716 'name': {'readonly': True}, 11717 'type': {'readonly': True}, 11718 'etag': {'readonly': True}, 11719 'resource_guid': {'readonly': True}, 11720 'provisioning_state': {'readonly': True}, 11721 } 11722 11723 _attribute_map = { 11724 'id': {'key': 'id', 'type': 'str'}, 11725 'name': {'key': 'name', 'type': 'str'}, 11726 'type': {'key': 'type', 'type': 'str'}, 11727 'location': {'key': 'location', 'type': 'str'}, 11728 'tags': {'key': 'tags', 'type': '{str}'}, 11729 'etag': {'key': 'etag', 'type': 'str'}, 11730 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, 11731 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, 11732 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, 11733 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, 11734 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 11735 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 11736 } 11737 11738 def __init__( 11739 self, 11740 *, 11741 id: Optional[str] = None, 11742 location: Optional[str] = None, 11743 tags: Optional[Dict[str, str]] = None, 11744 local_network_address_space: Optional["AddressSpace"] = None, 11745 gateway_ip_address: Optional[str] = None, 11746 fqdn: Optional[str] = None, 11747 bgp_settings: Optional["BgpSettings"] = None, 11748 **kwargs 11749 ): 11750 super(LocalNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 11751 self.etag = None 11752 self.local_network_address_space = local_network_address_space 11753 self.gateway_ip_address = gateway_ip_address 11754 self.fqdn = fqdn 11755 self.bgp_settings = bgp_settings 11756 self.resource_guid = None 11757 self.provisioning_state = None 11758 11759 11760class LocalNetworkGatewayListResult(msrest.serialization.Model): 11761 """Response for ListLocalNetworkGateways API service call. 11762 11763 Variables are only populated by the server, and will be ignored when sending a request. 11764 11765 :param value: A list of local network gateways that exists in a resource group. 11766 :type value: list[~azure.mgmt.network.v2019_12_01.models.LocalNetworkGateway] 11767 :ivar next_link: The URL to get the next set of results. 11768 :vartype next_link: str 11769 """ 11770 11771 _validation = { 11772 'next_link': {'readonly': True}, 11773 } 11774 11775 _attribute_map = { 11776 'value': {'key': 'value', 'type': '[LocalNetworkGateway]'}, 11777 'next_link': {'key': 'nextLink', 'type': 'str'}, 11778 } 11779 11780 def __init__( 11781 self, 11782 *, 11783 value: Optional[List["LocalNetworkGateway"]] = None, 11784 **kwargs 11785 ): 11786 super(LocalNetworkGatewayListResult, self).__init__(**kwargs) 11787 self.value = value 11788 self.next_link = None 11789 11790 11791class LogSpecification(msrest.serialization.Model): 11792 """Description of logging specification. 11793 11794 :param name: The name of the specification. 11795 :type name: str 11796 :param display_name: The display name of the specification. 11797 :type display_name: str 11798 :param blob_duration: Duration of the blob. 11799 :type blob_duration: str 11800 """ 11801 11802 _attribute_map = { 11803 'name': {'key': 'name', 'type': 'str'}, 11804 'display_name': {'key': 'displayName', 'type': 'str'}, 11805 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, 11806 } 11807 11808 def __init__( 11809 self, 11810 *, 11811 name: Optional[str] = None, 11812 display_name: Optional[str] = None, 11813 blob_duration: Optional[str] = None, 11814 **kwargs 11815 ): 11816 super(LogSpecification, self).__init__(**kwargs) 11817 self.name = name 11818 self.display_name = display_name 11819 self.blob_duration = blob_duration 11820 11821 11822class ManagedRuleGroupOverride(msrest.serialization.Model): 11823 """Defines a managed rule group override setting. 11824 11825 All required parameters must be populated in order to send to Azure. 11826 11827 :param rule_group_name: Required. The managed rule group to override. 11828 :type rule_group_name: str 11829 :param rules: List of rules that will be disabled. If none specified, all rules in the group 11830 will be disabled. 11831 :type rules: list[~azure.mgmt.network.v2019_12_01.models.ManagedRuleOverride] 11832 """ 11833 11834 _validation = { 11835 'rule_group_name': {'required': True}, 11836 } 11837 11838 _attribute_map = { 11839 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, 11840 'rules': {'key': 'rules', 'type': '[ManagedRuleOverride]'}, 11841 } 11842 11843 def __init__( 11844 self, 11845 *, 11846 rule_group_name: str, 11847 rules: Optional[List["ManagedRuleOverride"]] = None, 11848 **kwargs 11849 ): 11850 super(ManagedRuleGroupOverride, self).__init__(**kwargs) 11851 self.rule_group_name = rule_group_name 11852 self.rules = rules 11853 11854 11855class ManagedRuleOverride(msrest.serialization.Model): 11856 """Defines a managed rule group override setting. 11857 11858 All required parameters must be populated in order to send to Azure. 11859 11860 :param rule_id: Required. Identifier for the managed rule. 11861 :type rule_id: str 11862 :param state: The state of the managed rule. Defaults to Disabled if not specified. Possible 11863 values include: "Disabled". 11864 :type state: str or ~azure.mgmt.network.v2019_12_01.models.ManagedRuleEnabledState 11865 """ 11866 11867 _validation = { 11868 'rule_id': {'required': True}, 11869 } 11870 11871 _attribute_map = { 11872 'rule_id': {'key': 'ruleId', 'type': 'str'}, 11873 'state': {'key': 'state', 'type': 'str'}, 11874 } 11875 11876 def __init__( 11877 self, 11878 *, 11879 rule_id: str, 11880 state: Optional[Union[str, "ManagedRuleEnabledState"]] = None, 11881 **kwargs 11882 ): 11883 super(ManagedRuleOverride, self).__init__(**kwargs) 11884 self.rule_id = rule_id 11885 self.state = state 11886 11887 11888class ManagedRulesDefinition(msrest.serialization.Model): 11889 """Allow to exclude some variable satisfy the condition for the WAF check. 11890 11891 All required parameters must be populated in order to send to Azure. 11892 11893 :param exclusions: The Exclusions that are applied on the policy. 11894 :type exclusions: list[~azure.mgmt.network.v2019_12_01.models.OwaspCrsExclusionEntry] 11895 :param managed_rule_sets: Required. The managed rule sets that are associated with the policy. 11896 :type managed_rule_sets: list[~azure.mgmt.network.v2019_12_01.models.ManagedRuleSet] 11897 """ 11898 11899 _validation = { 11900 'managed_rule_sets': {'required': True}, 11901 } 11902 11903 _attribute_map = { 11904 'exclusions': {'key': 'exclusions', 'type': '[OwaspCrsExclusionEntry]'}, 11905 'managed_rule_sets': {'key': 'managedRuleSets', 'type': '[ManagedRuleSet]'}, 11906 } 11907 11908 def __init__( 11909 self, 11910 *, 11911 managed_rule_sets: List["ManagedRuleSet"], 11912 exclusions: Optional[List["OwaspCrsExclusionEntry"]] = None, 11913 **kwargs 11914 ): 11915 super(ManagedRulesDefinition, self).__init__(**kwargs) 11916 self.exclusions = exclusions 11917 self.managed_rule_sets = managed_rule_sets 11918 11919 11920class ManagedRuleSet(msrest.serialization.Model): 11921 """Defines a managed rule set. 11922 11923 All required parameters must be populated in order to send to Azure. 11924 11925 :param rule_set_type: Required. Defines the rule set type to use. 11926 :type rule_set_type: str 11927 :param rule_set_version: Required. Defines the version of the rule set to use. 11928 :type rule_set_version: str 11929 :param rule_group_overrides: Defines the rule group overrides to apply to the rule set. 11930 :type rule_group_overrides: 11931 list[~azure.mgmt.network.v2019_12_01.models.ManagedRuleGroupOverride] 11932 """ 11933 11934 _validation = { 11935 'rule_set_type': {'required': True}, 11936 'rule_set_version': {'required': True}, 11937 } 11938 11939 _attribute_map = { 11940 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, 11941 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, 11942 'rule_group_overrides': {'key': 'ruleGroupOverrides', 'type': '[ManagedRuleGroupOverride]'}, 11943 } 11944 11945 def __init__( 11946 self, 11947 *, 11948 rule_set_type: str, 11949 rule_set_version: str, 11950 rule_group_overrides: Optional[List["ManagedRuleGroupOverride"]] = None, 11951 **kwargs 11952 ): 11953 super(ManagedRuleSet, self).__init__(**kwargs) 11954 self.rule_set_type = rule_set_type 11955 self.rule_set_version = rule_set_version 11956 self.rule_group_overrides = rule_group_overrides 11957 11958 11959class ManagedServiceIdentity(msrest.serialization.Model): 11960 """Identity for the resource. 11961 11962 Variables are only populated by the server, and will be ignored when sending a request. 11963 11964 :ivar principal_id: The principal id of the system assigned identity. This property will only 11965 be provided for a system assigned identity. 11966 :vartype principal_id: str 11967 :ivar tenant_id: The tenant id of the system assigned identity. This property will only be 11968 provided for a system assigned identity. 11969 :vartype tenant_id: str 11970 :param type: The type of identity used for the resource. The type 'SystemAssigned, 11971 UserAssigned' includes both an implicitly created identity and a set of user assigned 11972 identities. The type 'None' will remove any identities from the virtual machine. Possible 11973 values include: "SystemAssigned", "UserAssigned", "SystemAssigned, UserAssigned", "None". 11974 :type type: str or ~azure.mgmt.network.v2019_12_01.models.ResourceIdentityType 11975 :param user_assigned_identities: The list of user identities associated with resource. The user 11976 identity dictionary key references will be ARM resource ids in the form: 11977 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'. 11978 :type user_assigned_identities: dict[str, 11979 ~azure.mgmt.network.v2019_12_01.models.Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties] 11980 """ 11981 11982 _validation = { 11983 'principal_id': {'readonly': True}, 11984 'tenant_id': {'readonly': True}, 11985 } 11986 11987 _attribute_map = { 11988 'principal_id': {'key': 'principalId', 'type': 'str'}, 11989 'tenant_id': {'key': 'tenantId', 'type': 'str'}, 11990 'type': {'key': 'type', 'type': 'str'}, 11991 'user_assigned_identities': {'key': 'userAssignedIdentities', 'type': '{Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties}'}, 11992 } 11993 11994 def __init__( 11995 self, 11996 *, 11997 type: Optional[Union[str, "ResourceIdentityType"]] = None, 11998 user_assigned_identities: Optional[Dict[str, "Components1Jq1T4ISchemasManagedserviceidentityPropertiesUserassignedidentitiesAdditionalproperties"]] = None, 11999 **kwargs 12000 ): 12001 super(ManagedServiceIdentity, self).__init__(**kwargs) 12002 self.principal_id = None 12003 self.tenant_id = None 12004 self.type = type 12005 self.user_assigned_identities = user_assigned_identities 12006 12007 12008class MatchCondition(msrest.serialization.Model): 12009 """Define match conditions. 12010 12011 All required parameters must be populated in order to send to Azure. 12012 12013 :param match_variables: Required. List of match variables. 12014 :type match_variables: list[~azure.mgmt.network.v2019_12_01.models.MatchVariable] 12015 :param operator: Required. The operator to be matched. Possible values include: "IPMatch", 12016 "Equal", "Contains", "LessThan", "GreaterThan", "LessThanOrEqual", "GreaterThanOrEqual", 12017 "BeginsWith", "EndsWith", "Regex", "GeoMatch". 12018 :type operator: str or ~azure.mgmt.network.v2019_12_01.models.WebApplicationFirewallOperator 12019 :param negation_conditon: Whether this is negate condition or not. 12020 :type negation_conditon: bool 12021 :param match_values: Required. Match value. 12022 :type match_values: list[str] 12023 :param transforms: List of transforms. 12024 :type transforms: list[str or 12025 ~azure.mgmt.network.v2019_12_01.models.WebApplicationFirewallTransform] 12026 """ 12027 12028 _validation = { 12029 'match_variables': {'required': True}, 12030 'operator': {'required': True}, 12031 'match_values': {'required': True}, 12032 } 12033 12034 _attribute_map = { 12035 'match_variables': {'key': 'matchVariables', 'type': '[MatchVariable]'}, 12036 'operator': {'key': 'operator', 'type': 'str'}, 12037 'negation_conditon': {'key': 'negationConditon', 'type': 'bool'}, 12038 'match_values': {'key': 'matchValues', 'type': '[str]'}, 12039 'transforms': {'key': 'transforms', 'type': '[str]'}, 12040 } 12041 12042 def __init__( 12043 self, 12044 *, 12045 match_variables: List["MatchVariable"], 12046 operator: Union[str, "WebApplicationFirewallOperator"], 12047 match_values: List[str], 12048 negation_conditon: Optional[bool] = None, 12049 transforms: Optional[List[Union[str, "WebApplicationFirewallTransform"]]] = None, 12050 **kwargs 12051 ): 12052 super(MatchCondition, self).__init__(**kwargs) 12053 self.match_variables = match_variables 12054 self.operator = operator 12055 self.negation_conditon = negation_conditon 12056 self.match_values = match_values 12057 self.transforms = transforms 12058 12059 12060class MatchedRule(msrest.serialization.Model): 12061 """Matched rule. 12062 12063 :param rule_name: Name of the matched network security rule. 12064 :type rule_name: str 12065 :param action: The network traffic is allowed or denied. Possible values are 'Allow' and 12066 'Deny'. 12067 :type action: str 12068 """ 12069 12070 _attribute_map = { 12071 'rule_name': {'key': 'ruleName', 'type': 'str'}, 12072 'action': {'key': 'action', 'type': 'str'}, 12073 } 12074 12075 def __init__( 12076 self, 12077 *, 12078 rule_name: Optional[str] = None, 12079 action: Optional[str] = None, 12080 **kwargs 12081 ): 12082 super(MatchedRule, self).__init__(**kwargs) 12083 self.rule_name = rule_name 12084 self.action = action 12085 12086 12087class MatchVariable(msrest.serialization.Model): 12088 """Define match variables. 12089 12090 All required parameters must be populated in order to send to Azure. 12091 12092 :param variable_name: Required. Match Variable. Possible values include: "RemoteAddr", 12093 "RequestMethod", "QueryString", "PostArgs", "RequestUri", "RequestHeaders", "RequestBody", 12094 "RequestCookies". 12095 :type variable_name: str or 12096 ~azure.mgmt.network.v2019_12_01.models.WebApplicationFirewallMatchVariable 12097 :param selector: The selector of match variable. 12098 :type selector: str 12099 """ 12100 12101 _validation = { 12102 'variable_name': {'required': True}, 12103 } 12104 12105 _attribute_map = { 12106 'variable_name': {'key': 'variableName', 'type': 'str'}, 12107 'selector': {'key': 'selector', 'type': 'str'}, 12108 } 12109 12110 def __init__( 12111 self, 12112 *, 12113 variable_name: Union[str, "WebApplicationFirewallMatchVariable"], 12114 selector: Optional[str] = None, 12115 **kwargs 12116 ): 12117 super(MatchVariable, self).__init__(**kwargs) 12118 self.variable_name = variable_name 12119 self.selector = selector 12120 12121 12122class MetricSpecification(msrest.serialization.Model): 12123 """Description of metrics specification. 12124 12125 :param name: The name of the metric. 12126 :type name: str 12127 :param display_name: The display name of the metric. 12128 :type display_name: str 12129 :param display_description: The description of the metric. 12130 :type display_description: str 12131 :param unit: Units the metric to be displayed in. 12132 :type unit: str 12133 :param aggregation_type: The aggregation type. 12134 :type aggregation_type: str 12135 :param availabilities: List of availability. 12136 :type availabilities: list[~azure.mgmt.network.v2019_12_01.models.Availability] 12137 :param enable_regional_mdm_account: Whether regional MDM account enabled. 12138 :type enable_regional_mdm_account: bool 12139 :param fill_gap_with_zero: Whether gaps would be filled with zeros. 12140 :type fill_gap_with_zero: bool 12141 :param metric_filter_pattern: Pattern for the filter of the metric. 12142 :type metric_filter_pattern: str 12143 :param dimensions: List of dimensions. 12144 :type dimensions: list[~azure.mgmt.network.v2019_12_01.models.Dimension] 12145 :param is_internal: Whether the metric is internal. 12146 :type is_internal: bool 12147 :param source_mdm_account: The source MDM account. 12148 :type source_mdm_account: str 12149 :param source_mdm_namespace: The source MDM namespace. 12150 :type source_mdm_namespace: str 12151 :param resource_id_dimension_name_override: The resource Id dimension name override. 12152 :type resource_id_dimension_name_override: str 12153 """ 12154 12155 _attribute_map = { 12156 'name': {'key': 'name', 'type': 'str'}, 12157 'display_name': {'key': 'displayName', 'type': 'str'}, 12158 'display_description': {'key': 'displayDescription', 'type': 'str'}, 12159 'unit': {'key': 'unit', 'type': 'str'}, 12160 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, 12161 'availabilities': {'key': 'availabilities', 'type': '[Availability]'}, 12162 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, 12163 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, 12164 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, 12165 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, 12166 'is_internal': {'key': 'isInternal', 'type': 'bool'}, 12167 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, 12168 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, 12169 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, 12170 } 12171 12172 def __init__( 12173 self, 12174 *, 12175 name: Optional[str] = None, 12176 display_name: Optional[str] = None, 12177 display_description: Optional[str] = None, 12178 unit: Optional[str] = None, 12179 aggregation_type: Optional[str] = None, 12180 availabilities: Optional[List["Availability"]] = None, 12181 enable_regional_mdm_account: Optional[bool] = None, 12182 fill_gap_with_zero: Optional[bool] = None, 12183 metric_filter_pattern: Optional[str] = None, 12184 dimensions: Optional[List["Dimension"]] = None, 12185 is_internal: Optional[bool] = None, 12186 source_mdm_account: Optional[str] = None, 12187 source_mdm_namespace: Optional[str] = None, 12188 resource_id_dimension_name_override: Optional[str] = None, 12189 **kwargs 12190 ): 12191 super(MetricSpecification, self).__init__(**kwargs) 12192 self.name = name 12193 self.display_name = display_name 12194 self.display_description = display_description 12195 self.unit = unit 12196 self.aggregation_type = aggregation_type 12197 self.availabilities = availabilities 12198 self.enable_regional_mdm_account = enable_regional_mdm_account 12199 self.fill_gap_with_zero = fill_gap_with_zero 12200 self.metric_filter_pattern = metric_filter_pattern 12201 self.dimensions = dimensions 12202 self.is_internal = is_internal 12203 self.source_mdm_account = source_mdm_account 12204 self.source_mdm_namespace = source_mdm_namespace 12205 self.resource_id_dimension_name_override = resource_id_dimension_name_override 12206 12207 12208class NatGateway(Resource): 12209 """Nat Gateway resource. 12210 12211 Variables are only populated by the server, and will be ignored when sending a request. 12212 12213 :param id: Resource ID. 12214 :type id: str 12215 :ivar name: Resource name. 12216 :vartype name: str 12217 :ivar type: Resource type. 12218 :vartype type: str 12219 :param location: Resource location. 12220 :type location: str 12221 :param tags: A set of tags. Resource tags. 12222 :type tags: dict[str, str] 12223 :param sku: The nat gateway SKU. 12224 :type sku: ~azure.mgmt.network.v2019_12_01.models.NatGatewaySku 12225 :param zones: A list of availability zones denoting the zone in which Nat Gateway should be 12226 deployed. 12227 :type zones: list[str] 12228 :ivar etag: A unique read-only string that changes whenever the resource is updated. 12229 :vartype etag: str 12230 :param idle_timeout_in_minutes: The idle timeout of the nat gateway. 12231 :type idle_timeout_in_minutes: int 12232 :param public_ip_addresses: An array of public ip addresses associated with the nat gateway 12233 resource. 12234 :type public_ip_addresses: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 12235 :param public_ip_prefixes: An array of public ip prefixes associated with the nat gateway 12236 resource. 12237 :type public_ip_prefixes: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 12238 :ivar subnets: An array of references to the subnets using this nat gateway resource. 12239 :vartype subnets: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 12240 :ivar resource_guid: The resource GUID property of the NAT gateway resource. 12241 :vartype resource_guid: str 12242 :ivar provisioning_state: The provisioning state of the NAT gateway resource. Possible values 12243 include: "Succeeded", "Updating", "Deleting", "Failed". 12244 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 12245 """ 12246 12247 _validation = { 12248 'name': {'readonly': True}, 12249 'type': {'readonly': True}, 12250 'etag': {'readonly': True}, 12251 'subnets': {'readonly': True}, 12252 'resource_guid': {'readonly': True}, 12253 'provisioning_state': {'readonly': True}, 12254 } 12255 12256 _attribute_map = { 12257 'id': {'key': 'id', 'type': 'str'}, 12258 'name': {'key': 'name', 'type': 'str'}, 12259 'type': {'key': 'type', 'type': 'str'}, 12260 'location': {'key': 'location', 'type': 'str'}, 12261 'tags': {'key': 'tags', 'type': '{str}'}, 12262 'sku': {'key': 'sku', 'type': 'NatGatewaySku'}, 12263 'zones': {'key': 'zones', 'type': '[str]'}, 12264 'etag': {'key': 'etag', 'type': 'str'}, 12265 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 12266 'public_ip_addresses': {'key': 'properties.publicIpAddresses', 'type': '[SubResource]'}, 12267 'public_ip_prefixes': {'key': 'properties.publicIpPrefixes', 'type': '[SubResource]'}, 12268 'subnets': {'key': 'properties.subnets', 'type': '[SubResource]'}, 12269 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 12270 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 12271 } 12272 12273 def __init__( 12274 self, 12275 *, 12276 id: Optional[str] = None, 12277 location: Optional[str] = None, 12278 tags: Optional[Dict[str, str]] = None, 12279 sku: Optional["NatGatewaySku"] = None, 12280 zones: Optional[List[str]] = None, 12281 idle_timeout_in_minutes: Optional[int] = None, 12282 public_ip_addresses: Optional[List["SubResource"]] = None, 12283 public_ip_prefixes: Optional[List["SubResource"]] = None, 12284 **kwargs 12285 ): 12286 super(NatGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 12287 self.sku = sku 12288 self.zones = zones 12289 self.etag = None 12290 self.idle_timeout_in_minutes = idle_timeout_in_minutes 12291 self.public_ip_addresses = public_ip_addresses 12292 self.public_ip_prefixes = public_ip_prefixes 12293 self.subnets = None 12294 self.resource_guid = None 12295 self.provisioning_state = None 12296 12297 12298class NatGatewayListResult(msrest.serialization.Model): 12299 """Response for ListNatGateways API service call. 12300 12301 :param value: A list of Nat Gateways that exists in a resource group. 12302 :type value: list[~azure.mgmt.network.v2019_12_01.models.NatGateway] 12303 :param next_link: The URL to get the next set of results. 12304 :type next_link: str 12305 """ 12306 12307 _attribute_map = { 12308 'value': {'key': 'value', 'type': '[NatGateway]'}, 12309 'next_link': {'key': 'nextLink', 'type': 'str'}, 12310 } 12311 12312 def __init__( 12313 self, 12314 *, 12315 value: Optional[List["NatGateway"]] = None, 12316 next_link: Optional[str] = None, 12317 **kwargs 12318 ): 12319 super(NatGatewayListResult, self).__init__(**kwargs) 12320 self.value = value 12321 self.next_link = next_link 12322 12323 12324class NatGatewaySku(msrest.serialization.Model): 12325 """SKU of nat gateway. 12326 12327 :param name: Name of Nat Gateway SKU. Possible values include: "Standard". 12328 :type name: str or ~azure.mgmt.network.v2019_12_01.models.NatGatewaySkuName 12329 """ 12330 12331 _attribute_map = { 12332 'name': {'key': 'name', 'type': 'str'}, 12333 } 12334 12335 def __init__( 12336 self, 12337 *, 12338 name: Optional[Union[str, "NatGatewaySkuName"]] = None, 12339 **kwargs 12340 ): 12341 super(NatGatewaySku, self).__init__(**kwargs) 12342 self.name = name 12343 12344 12345class NatRuleCondition(FirewallPolicyRuleCondition): 12346 """Rule condition of type nat. 12347 12348 All required parameters must be populated in order to send to Azure. 12349 12350 :param name: Name of the rule condition. 12351 :type name: str 12352 :param description: Description of the rule condition. 12353 :type description: str 12354 :param rule_condition_type: Required. Rule Condition Type.Constant filled by server. Possible 12355 values include: "ApplicationRuleCondition", "NetworkRuleCondition", "NatRuleCondition". 12356 :type rule_condition_type: str or 12357 ~azure.mgmt.network.v2019_12_01.models.FirewallPolicyRuleConditionType 12358 :param ip_protocols: Array of FirewallPolicyRuleConditionNetworkProtocols. 12359 :type ip_protocols: list[str or 12360 ~azure.mgmt.network.v2019_12_01.models.FirewallPolicyRuleConditionNetworkProtocol] 12361 :param source_addresses: List of source IP addresses for this rule. 12362 :type source_addresses: list[str] 12363 :param destination_addresses: List of destination IP addresses or Service Tags. 12364 :type destination_addresses: list[str] 12365 :param destination_ports: List of destination ports. 12366 :type destination_ports: list[str] 12367 :param source_ip_groups: List of source IpGroups for this rule. 12368 :type source_ip_groups: list[str] 12369 """ 12370 12371 _validation = { 12372 'rule_condition_type': {'required': True}, 12373 } 12374 12375 _attribute_map = { 12376 'name': {'key': 'name', 'type': 'str'}, 12377 'description': {'key': 'description', 'type': 'str'}, 12378 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, 12379 'ip_protocols': {'key': 'ipProtocols', 'type': '[str]'}, 12380 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, 12381 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, 12382 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, 12383 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, 12384 } 12385 12386 def __init__( 12387 self, 12388 *, 12389 name: Optional[str] = None, 12390 description: Optional[str] = None, 12391 ip_protocols: Optional[List[Union[str, "FirewallPolicyRuleConditionNetworkProtocol"]]] = None, 12392 source_addresses: Optional[List[str]] = None, 12393 destination_addresses: Optional[List[str]] = None, 12394 destination_ports: Optional[List[str]] = None, 12395 source_ip_groups: Optional[List[str]] = None, 12396 **kwargs 12397 ): 12398 super(NatRuleCondition, self).__init__(name=name, description=description, **kwargs) 12399 self.rule_condition_type = 'NatRuleCondition' # type: str 12400 self.ip_protocols = ip_protocols 12401 self.source_addresses = source_addresses 12402 self.destination_addresses = destination_addresses 12403 self.destination_ports = destination_ports 12404 self.source_ip_groups = source_ip_groups 12405 12406 12407class NetworkConfigurationDiagnosticParameters(msrest.serialization.Model): 12408 """Parameters to get network configuration diagnostic. 12409 12410 All required parameters must be populated in order to send to Azure. 12411 12412 :param target_resource_id: Required. The ID of the target resource to perform network 12413 configuration diagnostic. Valid options are VM, NetworkInterface, VMSS/NetworkInterface and 12414 Application Gateway. 12415 :type target_resource_id: str 12416 :param verbosity_level: Verbosity level. Possible values include: "Normal", "Minimum", "Full". 12417 :type verbosity_level: str or ~azure.mgmt.network.v2019_12_01.models.VerbosityLevel 12418 :param profiles: Required. List of network configuration diagnostic profiles. 12419 :type profiles: 12420 list[~azure.mgmt.network.v2019_12_01.models.NetworkConfigurationDiagnosticProfile] 12421 """ 12422 12423 _validation = { 12424 'target_resource_id': {'required': True}, 12425 'profiles': {'required': True}, 12426 } 12427 12428 _attribute_map = { 12429 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 12430 'verbosity_level': {'key': 'verbosityLevel', 'type': 'str'}, 12431 'profiles': {'key': 'profiles', 'type': '[NetworkConfigurationDiagnosticProfile]'}, 12432 } 12433 12434 def __init__( 12435 self, 12436 *, 12437 target_resource_id: str, 12438 profiles: List["NetworkConfigurationDiagnosticProfile"], 12439 verbosity_level: Optional[Union[str, "VerbosityLevel"]] = None, 12440 **kwargs 12441 ): 12442 super(NetworkConfigurationDiagnosticParameters, self).__init__(**kwargs) 12443 self.target_resource_id = target_resource_id 12444 self.verbosity_level = verbosity_level 12445 self.profiles = profiles 12446 12447 12448class NetworkConfigurationDiagnosticProfile(msrest.serialization.Model): 12449 """Parameters to compare with network configuration. 12450 12451 All required parameters must be populated in order to send to Azure. 12452 12453 :param direction: Required. The direction of the traffic. Possible values include: "Inbound", 12454 "Outbound". 12455 :type direction: str or ~azure.mgmt.network.v2019_12_01.models.Direction 12456 :param protocol: Required. Protocol to be verified on. Accepted values are '*', TCP, UDP. 12457 :type protocol: str 12458 :param source: Required. Traffic source. Accepted values are '*', IP Address/CIDR, Service Tag. 12459 :type source: str 12460 :param destination: Required. Traffic destination. Accepted values are: '*', IP Address/CIDR, 12461 Service Tag. 12462 :type destination: str 12463 :param destination_port: Required. Traffic destination port. Accepted values are '*' and a 12464 single port in the range (0 - 65535). 12465 :type destination_port: str 12466 """ 12467 12468 _validation = { 12469 'direction': {'required': True}, 12470 'protocol': {'required': True}, 12471 'source': {'required': True}, 12472 'destination': {'required': True}, 12473 'destination_port': {'required': True}, 12474 } 12475 12476 _attribute_map = { 12477 'direction': {'key': 'direction', 'type': 'str'}, 12478 'protocol': {'key': 'protocol', 'type': 'str'}, 12479 'source': {'key': 'source', 'type': 'str'}, 12480 'destination': {'key': 'destination', 'type': 'str'}, 12481 'destination_port': {'key': 'destinationPort', 'type': 'str'}, 12482 } 12483 12484 def __init__( 12485 self, 12486 *, 12487 direction: Union[str, "Direction"], 12488 protocol: str, 12489 source: str, 12490 destination: str, 12491 destination_port: str, 12492 **kwargs 12493 ): 12494 super(NetworkConfigurationDiagnosticProfile, self).__init__(**kwargs) 12495 self.direction = direction 12496 self.protocol = protocol 12497 self.source = source 12498 self.destination = destination 12499 self.destination_port = destination_port 12500 12501 12502class NetworkConfigurationDiagnosticResponse(msrest.serialization.Model): 12503 """Results of network configuration diagnostic on the target resource. 12504 12505 Variables are only populated by the server, and will be ignored when sending a request. 12506 12507 :ivar results: List of network configuration diagnostic results. 12508 :vartype results: 12509 list[~azure.mgmt.network.v2019_12_01.models.NetworkConfigurationDiagnosticResult] 12510 """ 12511 12512 _validation = { 12513 'results': {'readonly': True}, 12514 } 12515 12516 _attribute_map = { 12517 'results': {'key': 'results', 'type': '[NetworkConfigurationDiagnosticResult]'}, 12518 } 12519 12520 def __init__( 12521 self, 12522 **kwargs 12523 ): 12524 super(NetworkConfigurationDiagnosticResponse, self).__init__(**kwargs) 12525 self.results = None 12526 12527 12528class NetworkConfigurationDiagnosticResult(msrest.serialization.Model): 12529 """Network configuration diagnostic result corresponded to provided traffic query. 12530 12531 :param profile: Network configuration diagnostic profile. 12532 :type profile: ~azure.mgmt.network.v2019_12_01.models.NetworkConfigurationDiagnosticProfile 12533 :param network_security_group_result: Network security group result. 12534 :type network_security_group_result: 12535 ~azure.mgmt.network.v2019_12_01.models.NetworkSecurityGroupResult 12536 """ 12537 12538 _attribute_map = { 12539 'profile': {'key': 'profile', 'type': 'NetworkConfigurationDiagnosticProfile'}, 12540 'network_security_group_result': {'key': 'networkSecurityGroupResult', 'type': 'NetworkSecurityGroupResult'}, 12541 } 12542 12543 def __init__( 12544 self, 12545 *, 12546 profile: Optional["NetworkConfigurationDiagnosticProfile"] = None, 12547 network_security_group_result: Optional["NetworkSecurityGroupResult"] = None, 12548 **kwargs 12549 ): 12550 super(NetworkConfigurationDiagnosticResult, self).__init__(**kwargs) 12551 self.profile = profile 12552 self.network_security_group_result = network_security_group_result 12553 12554 12555class NetworkIntentPolicy(Resource): 12556 """Network Intent Policy resource. 12557 12558 Variables are only populated by the server, and will be ignored when sending a request. 12559 12560 :param id: Resource ID. 12561 :type id: str 12562 :ivar name: Resource name. 12563 :vartype name: str 12564 :ivar type: Resource type. 12565 :vartype type: str 12566 :param location: Resource location. 12567 :type location: str 12568 :param tags: A set of tags. Resource tags. 12569 :type tags: dict[str, str] 12570 :ivar etag: A unique read-only string that changes whenever the resource is updated. 12571 :vartype etag: str 12572 """ 12573 12574 _validation = { 12575 'name': {'readonly': True}, 12576 'type': {'readonly': True}, 12577 'etag': {'readonly': True}, 12578 } 12579 12580 _attribute_map = { 12581 'id': {'key': 'id', 'type': 'str'}, 12582 'name': {'key': 'name', 'type': 'str'}, 12583 'type': {'key': 'type', 'type': 'str'}, 12584 'location': {'key': 'location', 'type': 'str'}, 12585 'tags': {'key': 'tags', 'type': '{str}'}, 12586 'etag': {'key': 'etag', 'type': 'str'}, 12587 } 12588 12589 def __init__( 12590 self, 12591 *, 12592 id: Optional[str] = None, 12593 location: Optional[str] = None, 12594 tags: Optional[Dict[str, str]] = None, 12595 **kwargs 12596 ): 12597 super(NetworkIntentPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) 12598 self.etag = None 12599 12600 12601class NetworkIntentPolicyConfiguration(msrest.serialization.Model): 12602 """Details of NetworkIntentPolicyConfiguration for PrepareNetworkPoliciesRequest. 12603 12604 :param network_intent_policy_name: The name of the Network Intent Policy for storing in target 12605 subscription. 12606 :type network_intent_policy_name: str 12607 :param source_network_intent_policy: Source network intent policy. 12608 :type source_network_intent_policy: ~azure.mgmt.network.v2019_12_01.models.NetworkIntentPolicy 12609 """ 12610 12611 _attribute_map = { 12612 'network_intent_policy_name': {'key': 'networkIntentPolicyName', 'type': 'str'}, 12613 'source_network_intent_policy': {'key': 'sourceNetworkIntentPolicy', 'type': 'NetworkIntentPolicy'}, 12614 } 12615 12616 def __init__( 12617 self, 12618 *, 12619 network_intent_policy_name: Optional[str] = None, 12620 source_network_intent_policy: Optional["NetworkIntentPolicy"] = None, 12621 **kwargs 12622 ): 12623 super(NetworkIntentPolicyConfiguration, self).__init__(**kwargs) 12624 self.network_intent_policy_name = network_intent_policy_name 12625 self.source_network_intent_policy = source_network_intent_policy 12626 12627 12628class NetworkInterface(Resource): 12629 """A network interface in a resource group. 12630 12631 Variables are only populated by the server, and will be ignored when sending a request. 12632 12633 :param id: Resource ID. 12634 :type id: str 12635 :ivar name: Resource name. 12636 :vartype name: str 12637 :ivar type: Resource type. 12638 :vartype type: str 12639 :param location: Resource location. 12640 :type location: str 12641 :param tags: A set of tags. Resource tags. 12642 :type tags: dict[str, str] 12643 :ivar etag: A unique read-only string that changes whenever the resource is updated. 12644 :vartype etag: str 12645 :ivar virtual_machine: The reference to a virtual machine. 12646 :vartype virtual_machine: ~azure.mgmt.network.v2019_12_01.models.SubResource 12647 :param network_security_group: The reference to the NetworkSecurityGroup resource. 12648 :type network_security_group: ~azure.mgmt.network.v2019_12_01.models.NetworkSecurityGroup 12649 :ivar private_endpoint: A reference to the private endpoint to which the network interface is 12650 linked. 12651 :vartype private_endpoint: ~azure.mgmt.network.v2019_12_01.models.PrivateEndpoint 12652 :param ip_configurations: A list of IPConfigurations of the network interface. 12653 :type ip_configurations: 12654 list[~azure.mgmt.network.v2019_12_01.models.NetworkInterfaceIPConfiguration] 12655 :ivar tap_configurations: A list of TapConfigurations of the network interface. 12656 :vartype tap_configurations: 12657 list[~azure.mgmt.network.v2019_12_01.models.NetworkInterfaceTapConfiguration] 12658 :param dns_settings: The DNS settings in network interface. 12659 :type dns_settings: ~azure.mgmt.network.v2019_12_01.models.NetworkInterfaceDnsSettings 12660 :ivar mac_address: The MAC address of the network interface. 12661 :vartype mac_address: str 12662 :ivar primary: Whether this is a primary network interface on a virtual machine. 12663 :vartype primary: bool 12664 :param enable_accelerated_networking: If the network interface is accelerated networking 12665 enabled. 12666 :type enable_accelerated_networking: bool 12667 :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on this network 12668 interface. 12669 :type enable_ip_forwarding: bool 12670 :ivar hosted_workloads: A list of references to linked BareMetal resources. 12671 :vartype hosted_workloads: list[str] 12672 :ivar resource_guid: The resource GUID property of the network interface resource. 12673 :vartype resource_guid: str 12674 :ivar provisioning_state: The provisioning state of the network interface resource. Possible 12675 values include: "Succeeded", "Updating", "Deleting", "Failed". 12676 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 12677 """ 12678 12679 _validation = { 12680 'name': {'readonly': True}, 12681 'type': {'readonly': True}, 12682 'etag': {'readonly': True}, 12683 'virtual_machine': {'readonly': True}, 12684 'private_endpoint': {'readonly': True}, 12685 'tap_configurations': {'readonly': True}, 12686 'mac_address': {'readonly': True}, 12687 'primary': {'readonly': True}, 12688 'hosted_workloads': {'readonly': True}, 12689 'resource_guid': {'readonly': True}, 12690 'provisioning_state': {'readonly': True}, 12691 } 12692 12693 _attribute_map = { 12694 'id': {'key': 'id', 'type': 'str'}, 12695 'name': {'key': 'name', 'type': 'str'}, 12696 'type': {'key': 'type', 'type': 'str'}, 12697 'location': {'key': 'location', 'type': 'str'}, 12698 'tags': {'key': 'tags', 'type': '{str}'}, 12699 'etag': {'key': 'etag', 'type': 'str'}, 12700 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, 12701 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, 12702 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, 12703 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 12704 'tap_configurations': {'key': 'properties.tapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, 12705 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, 12706 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, 12707 'primary': {'key': 'properties.primary', 'type': 'bool'}, 12708 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, 12709 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, 12710 'hosted_workloads': {'key': 'properties.hostedWorkloads', 'type': '[str]'}, 12711 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 12712 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 12713 } 12714 12715 def __init__( 12716 self, 12717 *, 12718 id: Optional[str] = None, 12719 location: Optional[str] = None, 12720 tags: Optional[Dict[str, str]] = None, 12721 network_security_group: Optional["NetworkSecurityGroup"] = None, 12722 ip_configurations: Optional[List["NetworkInterfaceIPConfiguration"]] = None, 12723 dns_settings: Optional["NetworkInterfaceDnsSettings"] = None, 12724 enable_accelerated_networking: Optional[bool] = None, 12725 enable_ip_forwarding: Optional[bool] = None, 12726 **kwargs 12727 ): 12728 super(NetworkInterface, self).__init__(id=id, location=location, tags=tags, **kwargs) 12729 self.etag = None 12730 self.virtual_machine = None 12731 self.network_security_group = network_security_group 12732 self.private_endpoint = None 12733 self.ip_configurations = ip_configurations 12734 self.tap_configurations = None 12735 self.dns_settings = dns_settings 12736 self.mac_address = None 12737 self.primary = None 12738 self.enable_accelerated_networking = enable_accelerated_networking 12739 self.enable_ip_forwarding = enable_ip_forwarding 12740 self.hosted_workloads = None 12741 self.resource_guid = None 12742 self.provisioning_state = None 12743 12744 12745class NetworkInterfaceAssociation(msrest.serialization.Model): 12746 """Network interface and its custom security rules. 12747 12748 Variables are only populated by the server, and will be ignored when sending a request. 12749 12750 :ivar id: Network interface ID. 12751 :vartype id: str 12752 :param security_rules: Collection of custom security rules. 12753 :type security_rules: list[~azure.mgmt.network.v2019_12_01.models.SecurityRule] 12754 """ 12755 12756 _validation = { 12757 'id': {'readonly': True}, 12758 } 12759 12760 _attribute_map = { 12761 'id': {'key': 'id', 'type': 'str'}, 12762 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, 12763 } 12764 12765 def __init__( 12766 self, 12767 *, 12768 security_rules: Optional[List["SecurityRule"]] = None, 12769 **kwargs 12770 ): 12771 super(NetworkInterfaceAssociation, self).__init__(**kwargs) 12772 self.id = None 12773 self.security_rules = security_rules 12774 12775 12776class NetworkInterfaceDnsSettings(msrest.serialization.Model): 12777 """DNS settings of a network interface. 12778 12779 Variables are only populated by the server, and will be ignored when sending a request. 12780 12781 :param dns_servers: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure 12782 provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be 12783 the only value in dnsServers collection. 12784 :type dns_servers: list[str] 12785 :ivar applied_dns_servers: If the VM that uses this NIC is part of an Availability Set, then 12786 this list will have the union of all DNS servers from all NICs that are part of the 12787 Availability Set. This property is what is configured on each of those VMs. 12788 :vartype applied_dns_servers: list[str] 12789 :param internal_dns_name_label: Relative DNS name for this NIC used for internal communications 12790 between VMs in the same virtual network. 12791 :type internal_dns_name_label: str 12792 :ivar internal_fqdn: Fully qualified DNS name supporting internal communications between VMs in 12793 the same virtual network. 12794 :vartype internal_fqdn: str 12795 :ivar internal_domain_name_suffix: Even if internalDnsNameLabel is not specified, a DNS entry 12796 is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the 12797 VM name with the value of internalDomainNameSuffix. 12798 :vartype internal_domain_name_suffix: str 12799 """ 12800 12801 _validation = { 12802 'applied_dns_servers': {'readonly': True}, 12803 'internal_fqdn': {'readonly': True}, 12804 'internal_domain_name_suffix': {'readonly': True}, 12805 } 12806 12807 _attribute_map = { 12808 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, 12809 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, 12810 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, 12811 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, 12812 'internal_domain_name_suffix': {'key': 'internalDomainNameSuffix', 'type': 'str'}, 12813 } 12814 12815 def __init__( 12816 self, 12817 *, 12818 dns_servers: Optional[List[str]] = None, 12819 internal_dns_name_label: Optional[str] = None, 12820 **kwargs 12821 ): 12822 super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) 12823 self.dns_servers = dns_servers 12824 self.applied_dns_servers = None 12825 self.internal_dns_name_label = internal_dns_name_label 12826 self.internal_fqdn = None 12827 self.internal_domain_name_suffix = None 12828 12829 12830class NetworkInterfaceIPConfiguration(SubResource): 12831 """IPConfiguration in a network interface. 12832 12833 Variables are only populated by the server, and will be ignored when sending a request. 12834 12835 :param id: Resource ID. 12836 :type id: str 12837 :param name: The name of the resource that is unique within a resource group. This name can be 12838 used to access the resource. 12839 :type name: str 12840 :ivar etag: A unique read-only string that changes whenever the resource is updated. 12841 :vartype etag: str 12842 :param virtual_network_taps: The reference to Virtual Network Taps. 12843 :type virtual_network_taps: list[~azure.mgmt.network.v2019_12_01.models.VirtualNetworkTap] 12844 :param application_gateway_backend_address_pools: The reference to 12845 ApplicationGatewayBackendAddressPool resource. 12846 :type application_gateway_backend_address_pools: 12847 list[~azure.mgmt.network.v2019_12_01.models.ApplicationGatewayBackendAddressPool] 12848 :param load_balancer_backend_address_pools: The reference to LoadBalancerBackendAddressPool 12849 resource. 12850 :type load_balancer_backend_address_pools: 12851 list[~azure.mgmt.network.v2019_12_01.models.BackendAddressPool] 12852 :param load_balancer_inbound_nat_rules: A list of references of LoadBalancerInboundNatRules. 12853 :type load_balancer_inbound_nat_rules: 12854 list[~azure.mgmt.network.v2019_12_01.models.InboundNatRule] 12855 :param private_ip_address: Private IP address of the IP configuration. 12856 :type private_ip_address: str 12857 :param private_ip_allocation_method: The private IP address allocation method. Possible values 12858 include: "Static", "Dynamic". 12859 :type private_ip_allocation_method: str or 12860 ~azure.mgmt.network.v2019_12_01.models.IPAllocationMethod 12861 :param private_ip_address_version: Whether the specific IP configuration is IPv4 or IPv6. 12862 Default is IPv4. Possible values include: "IPv4", "IPv6". 12863 :type private_ip_address_version: str or ~azure.mgmt.network.v2019_12_01.models.IPVersion 12864 :param subnet: Subnet bound to the IP configuration. 12865 :type subnet: ~azure.mgmt.network.v2019_12_01.models.Subnet 12866 :param primary: Whether this is a primary customer address on the network interface. 12867 :type primary: bool 12868 :param public_ip_address: Public IP address bound to the IP configuration. 12869 :type public_ip_address: ~azure.mgmt.network.v2019_12_01.models.PublicIPAddress 12870 :param application_security_groups: Application security groups in which the IP configuration 12871 is included. 12872 :type application_security_groups: 12873 list[~azure.mgmt.network.v2019_12_01.models.ApplicationSecurityGroup] 12874 :ivar provisioning_state: The provisioning state of the network interface IP configuration. 12875 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 12876 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 12877 :ivar private_link_connection_properties: PrivateLinkConnection properties for the network 12878 interface. 12879 :vartype private_link_connection_properties: 12880 ~azure.mgmt.network.v2019_12_01.models.NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties 12881 """ 12882 12883 _validation = { 12884 'etag': {'readonly': True}, 12885 'provisioning_state': {'readonly': True}, 12886 'private_link_connection_properties': {'readonly': True}, 12887 } 12888 12889 _attribute_map = { 12890 'id': {'key': 'id', 'type': 'str'}, 12891 'name': {'key': 'name', 'type': 'str'}, 12892 'etag': {'key': 'etag', 'type': 'str'}, 12893 'virtual_network_taps': {'key': 'properties.virtualNetworkTaps', 'type': '[VirtualNetworkTap]'}, 12894 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, 12895 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, 12896 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, 12897 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 12898 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 12899 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, 12900 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 12901 'primary': {'key': 'properties.primary', 'type': 'bool'}, 12902 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 12903 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, 12904 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 12905 'private_link_connection_properties': {'key': 'properties.privateLinkConnectionProperties', 'type': 'NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties'}, 12906 } 12907 12908 def __init__( 12909 self, 12910 *, 12911 id: Optional[str] = None, 12912 name: Optional[str] = None, 12913 virtual_network_taps: Optional[List["VirtualNetworkTap"]] = None, 12914 application_gateway_backend_address_pools: Optional[List["ApplicationGatewayBackendAddressPool"]] = None, 12915 load_balancer_backend_address_pools: Optional[List["BackendAddressPool"]] = None, 12916 load_balancer_inbound_nat_rules: Optional[List["InboundNatRule"]] = None, 12917 private_ip_address: Optional[str] = None, 12918 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 12919 private_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 12920 subnet: Optional["Subnet"] = None, 12921 primary: Optional[bool] = None, 12922 public_ip_address: Optional["PublicIPAddress"] = None, 12923 application_security_groups: Optional[List["ApplicationSecurityGroup"]] = None, 12924 **kwargs 12925 ): 12926 super(NetworkInterfaceIPConfiguration, self).__init__(id=id, **kwargs) 12927 self.name = name 12928 self.etag = None 12929 self.virtual_network_taps = virtual_network_taps 12930 self.application_gateway_backend_address_pools = application_gateway_backend_address_pools 12931 self.load_balancer_backend_address_pools = load_balancer_backend_address_pools 12932 self.load_balancer_inbound_nat_rules = load_balancer_inbound_nat_rules 12933 self.private_ip_address = private_ip_address 12934 self.private_ip_allocation_method = private_ip_allocation_method 12935 self.private_ip_address_version = private_ip_address_version 12936 self.subnet = subnet 12937 self.primary = primary 12938 self.public_ip_address = public_ip_address 12939 self.application_security_groups = application_security_groups 12940 self.provisioning_state = None 12941 self.private_link_connection_properties = None 12942 12943 12944class NetworkInterfaceIPConfigurationListResult(msrest.serialization.Model): 12945 """Response for list ip configurations API service call. 12946 12947 Variables are only populated by the server, and will be ignored when sending a request. 12948 12949 :param value: A list of ip configurations. 12950 :type value: list[~azure.mgmt.network.v2019_12_01.models.NetworkInterfaceIPConfiguration] 12951 :ivar next_link: The URL to get the next set of results. 12952 :vartype next_link: str 12953 """ 12954 12955 _validation = { 12956 'next_link': {'readonly': True}, 12957 } 12958 12959 _attribute_map = { 12960 'value': {'key': 'value', 'type': '[NetworkInterfaceIPConfiguration]'}, 12961 'next_link': {'key': 'nextLink', 'type': 'str'}, 12962 } 12963 12964 def __init__( 12965 self, 12966 *, 12967 value: Optional[List["NetworkInterfaceIPConfiguration"]] = None, 12968 **kwargs 12969 ): 12970 super(NetworkInterfaceIPConfigurationListResult, self).__init__(**kwargs) 12971 self.value = value 12972 self.next_link = None 12973 12974 12975class NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties(msrest.serialization.Model): 12976 """PrivateLinkConnection properties for the network interface. 12977 12978 Variables are only populated by the server, and will be ignored when sending a request. 12979 12980 :ivar group_id: The group ID for current private link connection. 12981 :vartype group_id: str 12982 :ivar required_member_name: The required member name for current private link connection. 12983 :vartype required_member_name: str 12984 :ivar fqdns: List of FQDNs for current private link connection. 12985 :vartype fqdns: list[str] 12986 """ 12987 12988 _validation = { 12989 'group_id': {'readonly': True}, 12990 'required_member_name': {'readonly': True}, 12991 'fqdns': {'readonly': True}, 12992 } 12993 12994 _attribute_map = { 12995 'group_id': {'key': 'groupId', 'type': 'str'}, 12996 'required_member_name': {'key': 'requiredMemberName', 'type': 'str'}, 12997 'fqdns': {'key': 'fqdns', 'type': '[str]'}, 12998 } 12999 13000 def __init__( 13001 self, 13002 **kwargs 13003 ): 13004 super(NetworkInterfaceIPConfigurationPrivateLinkConnectionProperties, self).__init__(**kwargs) 13005 self.group_id = None 13006 self.required_member_name = None 13007 self.fqdns = None 13008 13009 13010class NetworkInterfaceListResult(msrest.serialization.Model): 13011 """Response for the ListNetworkInterface API service call. 13012 13013 Variables are only populated by the server, and will be ignored when sending a request. 13014 13015 :param value: A list of network interfaces in a resource group. 13016 :type value: list[~azure.mgmt.network.v2019_12_01.models.NetworkInterface] 13017 :ivar next_link: The URL to get the next set of results. 13018 :vartype next_link: str 13019 """ 13020 13021 _validation = { 13022 'next_link': {'readonly': True}, 13023 } 13024 13025 _attribute_map = { 13026 'value': {'key': 'value', 'type': '[NetworkInterface]'}, 13027 'next_link': {'key': 'nextLink', 'type': 'str'}, 13028 } 13029 13030 def __init__( 13031 self, 13032 *, 13033 value: Optional[List["NetworkInterface"]] = None, 13034 **kwargs 13035 ): 13036 super(NetworkInterfaceListResult, self).__init__(**kwargs) 13037 self.value = value 13038 self.next_link = None 13039 13040 13041class NetworkInterfaceLoadBalancerListResult(msrest.serialization.Model): 13042 """Response for list ip configurations API service call. 13043 13044 Variables are only populated by the server, and will be ignored when sending a request. 13045 13046 :param value: A list of load balancers. 13047 :type value: list[~azure.mgmt.network.v2019_12_01.models.LoadBalancer] 13048 :ivar next_link: The URL to get the next set of results. 13049 :vartype next_link: str 13050 """ 13051 13052 _validation = { 13053 'next_link': {'readonly': True}, 13054 } 13055 13056 _attribute_map = { 13057 'value': {'key': 'value', 'type': '[LoadBalancer]'}, 13058 'next_link': {'key': 'nextLink', 'type': 'str'}, 13059 } 13060 13061 def __init__( 13062 self, 13063 *, 13064 value: Optional[List["LoadBalancer"]] = None, 13065 **kwargs 13066 ): 13067 super(NetworkInterfaceLoadBalancerListResult, self).__init__(**kwargs) 13068 self.value = value 13069 self.next_link = None 13070 13071 13072class NetworkInterfaceTapConfiguration(SubResource): 13073 """Tap configuration in a Network Interface. 13074 13075 Variables are only populated by the server, and will be ignored when sending a request. 13076 13077 :param id: Resource ID. 13078 :type id: str 13079 :param name: The name of the resource that is unique within a resource group. This name can be 13080 used to access the resource. 13081 :type name: str 13082 :ivar etag: A unique read-only string that changes whenever the resource is updated. 13083 :vartype etag: str 13084 :ivar type: Sub Resource type. 13085 :vartype type: str 13086 :param virtual_network_tap: The reference to the Virtual Network Tap resource. 13087 :type virtual_network_tap: ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkTap 13088 :ivar provisioning_state: The provisioning state of the network interface tap configuration 13089 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 13090 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 13091 """ 13092 13093 _validation = { 13094 'etag': {'readonly': True}, 13095 'type': {'readonly': True}, 13096 'provisioning_state': {'readonly': True}, 13097 } 13098 13099 _attribute_map = { 13100 'id': {'key': 'id', 'type': 'str'}, 13101 'name': {'key': 'name', 'type': 'str'}, 13102 'etag': {'key': 'etag', 'type': 'str'}, 13103 'type': {'key': 'type', 'type': 'str'}, 13104 'virtual_network_tap': {'key': 'properties.virtualNetworkTap', 'type': 'VirtualNetworkTap'}, 13105 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 13106 } 13107 13108 def __init__( 13109 self, 13110 *, 13111 id: Optional[str] = None, 13112 name: Optional[str] = None, 13113 virtual_network_tap: Optional["VirtualNetworkTap"] = None, 13114 **kwargs 13115 ): 13116 super(NetworkInterfaceTapConfiguration, self).__init__(id=id, **kwargs) 13117 self.name = name 13118 self.etag = None 13119 self.type = None 13120 self.virtual_network_tap = virtual_network_tap 13121 self.provisioning_state = None 13122 13123 13124class NetworkInterfaceTapConfigurationListResult(msrest.serialization.Model): 13125 """Response for list tap configurations API service call. 13126 13127 Variables are only populated by the server, and will be ignored when sending a request. 13128 13129 :param value: A list of tap configurations. 13130 :type value: list[~azure.mgmt.network.v2019_12_01.models.NetworkInterfaceTapConfiguration] 13131 :ivar next_link: The URL to get the next set of results. 13132 :vartype next_link: str 13133 """ 13134 13135 _validation = { 13136 'next_link': {'readonly': True}, 13137 } 13138 13139 _attribute_map = { 13140 'value': {'key': 'value', 'type': '[NetworkInterfaceTapConfiguration]'}, 13141 'next_link': {'key': 'nextLink', 'type': 'str'}, 13142 } 13143 13144 def __init__( 13145 self, 13146 *, 13147 value: Optional[List["NetworkInterfaceTapConfiguration"]] = None, 13148 **kwargs 13149 ): 13150 super(NetworkInterfaceTapConfigurationListResult, self).__init__(**kwargs) 13151 self.value = value 13152 self.next_link = None 13153 13154 13155class NetworkProfile(Resource): 13156 """Network profile resource. 13157 13158 Variables are only populated by the server, and will be ignored when sending a request. 13159 13160 :param id: Resource ID. 13161 :type id: str 13162 :ivar name: Resource name. 13163 :vartype name: str 13164 :ivar type: Resource type. 13165 :vartype type: str 13166 :param location: Resource location. 13167 :type location: str 13168 :param tags: A set of tags. Resource tags. 13169 :type tags: dict[str, str] 13170 :ivar etag: A unique read-only string that changes whenever the resource is updated. 13171 :vartype etag: str 13172 :ivar container_network_interfaces: List of child container network interfaces. 13173 :vartype container_network_interfaces: 13174 list[~azure.mgmt.network.v2019_12_01.models.ContainerNetworkInterface] 13175 :param container_network_interface_configurations: List of chid container network interface 13176 configurations. 13177 :type container_network_interface_configurations: 13178 list[~azure.mgmt.network.v2019_12_01.models.ContainerNetworkInterfaceConfiguration] 13179 :ivar resource_guid: The resource GUID property of the network profile resource. 13180 :vartype resource_guid: str 13181 :ivar provisioning_state: The provisioning state of the network profile resource. Possible 13182 values include: "Succeeded", "Updating", "Deleting", "Failed". 13183 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 13184 """ 13185 13186 _validation = { 13187 'name': {'readonly': True}, 13188 'type': {'readonly': True}, 13189 'etag': {'readonly': True}, 13190 'container_network_interfaces': {'readonly': True}, 13191 'resource_guid': {'readonly': True}, 13192 'provisioning_state': {'readonly': True}, 13193 } 13194 13195 _attribute_map = { 13196 'id': {'key': 'id', 'type': 'str'}, 13197 'name': {'key': 'name', 'type': 'str'}, 13198 'type': {'key': 'type', 'type': 'str'}, 13199 'location': {'key': 'location', 'type': 'str'}, 13200 'tags': {'key': 'tags', 'type': '{str}'}, 13201 'etag': {'key': 'etag', 'type': 'str'}, 13202 'container_network_interfaces': {'key': 'properties.containerNetworkInterfaces', 'type': '[ContainerNetworkInterface]'}, 13203 'container_network_interface_configurations': {'key': 'properties.containerNetworkInterfaceConfigurations', 'type': '[ContainerNetworkInterfaceConfiguration]'}, 13204 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 13205 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 13206 } 13207 13208 def __init__( 13209 self, 13210 *, 13211 id: Optional[str] = None, 13212 location: Optional[str] = None, 13213 tags: Optional[Dict[str, str]] = None, 13214 container_network_interface_configurations: Optional[List["ContainerNetworkInterfaceConfiguration"]] = None, 13215 **kwargs 13216 ): 13217 super(NetworkProfile, self).__init__(id=id, location=location, tags=tags, **kwargs) 13218 self.etag = None 13219 self.container_network_interfaces = None 13220 self.container_network_interface_configurations = container_network_interface_configurations 13221 self.resource_guid = None 13222 self.provisioning_state = None 13223 13224 13225class NetworkProfileListResult(msrest.serialization.Model): 13226 """Response for ListNetworkProfiles API service call. 13227 13228 :param value: A list of network profiles that exist in a resource group. 13229 :type value: list[~azure.mgmt.network.v2019_12_01.models.NetworkProfile] 13230 :param next_link: The URL to get the next set of results. 13231 :type next_link: str 13232 """ 13233 13234 _attribute_map = { 13235 'value': {'key': 'value', 'type': '[NetworkProfile]'}, 13236 'next_link': {'key': 'nextLink', 'type': 'str'}, 13237 } 13238 13239 def __init__( 13240 self, 13241 *, 13242 value: Optional[List["NetworkProfile"]] = None, 13243 next_link: Optional[str] = None, 13244 **kwargs 13245 ): 13246 super(NetworkProfileListResult, self).__init__(**kwargs) 13247 self.value = value 13248 self.next_link = next_link 13249 13250 13251class NetworkRuleCondition(FirewallPolicyRuleCondition): 13252 """Rule condition of type network. 13253 13254 All required parameters must be populated in order to send to Azure. 13255 13256 :param name: Name of the rule condition. 13257 :type name: str 13258 :param description: Description of the rule condition. 13259 :type description: str 13260 :param rule_condition_type: Required. Rule Condition Type.Constant filled by server. Possible 13261 values include: "ApplicationRuleCondition", "NetworkRuleCondition", "NatRuleCondition". 13262 :type rule_condition_type: str or 13263 ~azure.mgmt.network.v2019_12_01.models.FirewallPolicyRuleConditionType 13264 :param ip_protocols: Array of FirewallPolicyRuleConditionNetworkProtocols. 13265 :type ip_protocols: list[str or 13266 ~azure.mgmt.network.v2019_12_01.models.FirewallPolicyRuleConditionNetworkProtocol] 13267 :param source_addresses: List of source IP addresses for this rule. 13268 :type source_addresses: list[str] 13269 :param destination_addresses: List of destination IP addresses or Service Tags. 13270 :type destination_addresses: list[str] 13271 :param destination_ports: List of destination ports. 13272 :type destination_ports: list[str] 13273 :param source_ip_groups: List of source IpGroups for this rule. 13274 :type source_ip_groups: list[str] 13275 :param destination_ip_groups: List of destination IpGroups for this rule. 13276 :type destination_ip_groups: list[str] 13277 """ 13278 13279 _validation = { 13280 'rule_condition_type': {'required': True}, 13281 } 13282 13283 _attribute_map = { 13284 'name': {'key': 'name', 'type': 'str'}, 13285 'description': {'key': 'description', 'type': 'str'}, 13286 'rule_condition_type': {'key': 'ruleConditionType', 'type': 'str'}, 13287 'ip_protocols': {'key': 'ipProtocols', 'type': '[str]'}, 13288 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, 13289 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, 13290 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, 13291 'source_ip_groups': {'key': 'sourceIpGroups', 'type': '[str]'}, 13292 'destination_ip_groups': {'key': 'destinationIpGroups', 'type': '[str]'}, 13293 } 13294 13295 def __init__( 13296 self, 13297 *, 13298 name: Optional[str] = None, 13299 description: Optional[str] = None, 13300 ip_protocols: Optional[List[Union[str, "FirewallPolicyRuleConditionNetworkProtocol"]]] = None, 13301 source_addresses: Optional[List[str]] = None, 13302 destination_addresses: Optional[List[str]] = None, 13303 destination_ports: Optional[List[str]] = None, 13304 source_ip_groups: Optional[List[str]] = None, 13305 destination_ip_groups: Optional[List[str]] = None, 13306 **kwargs 13307 ): 13308 super(NetworkRuleCondition, self).__init__(name=name, description=description, **kwargs) 13309 self.rule_condition_type = 'NetworkRuleCondition' # type: str 13310 self.ip_protocols = ip_protocols 13311 self.source_addresses = source_addresses 13312 self.destination_addresses = destination_addresses 13313 self.destination_ports = destination_ports 13314 self.source_ip_groups = source_ip_groups 13315 self.destination_ip_groups = destination_ip_groups 13316 13317 13318class NetworkSecurityGroup(Resource): 13319 """NetworkSecurityGroup resource. 13320 13321 Variables are only populated by the server, and will be ignored when sending a request. 13322 13323 :param id: Resource ID. 13324 :type id: str 13325 :ivar name: Resource name. 13326 :vartype name: str 13327 :ivar type: Resource type. 13328 :vartype type: str 13329 :param location: Resource location. 13330 :type location: str 13331 :param tags: A set of tags. Resource tags. 13332 :type tags: dict[str, str] 13333 :ivar etag: A unique read-only string that changes whenever the resource is updated. 13334 :vartype etag: str 13335 :param security_rules: A collection of security rules of the network security group. 13336 :type security_rules: list[~azure.mgmt.network.v2019_12_01.models.SecurityRule] 13337 :ivar default_security_rules: The default security rules of network security group. 13338 :vartype default_security_rules: list[~azure.mgmt.network.v2019_12_01.models.SecurityRule] 13339 :ivar network_interfaces: A collection of references to network interfaces. 13340 :vartype network_interfaces: list[~azure.mgmt.network.v2019_12_01.models.NetworkInterface] 13341 :ivar subnets: A collection of references to subnets. 13342 :vartype subnets: list[~azure.mgmt.network.v2019_12_01.models.Subnet] 13343 :ivar flow_logs: A collection of references to flow log resources. 13344 :vartype flow_logs: list[~azure.mgmt.network.v2019_12_01.models.FlowLog] 13345 :ivar resource_guid: The resource GUID property of the network security group resource. 13346 :vartype resource_guid: str 13347 :ivar provisioning_state: The provisioning state of the network security group resource. 13348 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 13349 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 13350 """ 13351 13352 _validation = { 13353 'name': {'readonly': True}, 13354 'type': {'readonly': True}, 13355 'etag': {'readonly': True}, 13356 'default_security_rules': {'readonly': True}, 13357 'network_interfaces': {'readonly': True}, 13358 'subnets': {'readonly': True}, 13359 'flow_logs': {'readonly': True}, 13360 'resource_guid': {'readonly': True}, 13361 'provisioning_state': {'readonly': True}, 13362 } 13363 13364 _attribute_map = { 13365 'id': {'key': 'id', 'type': 'str'}, 13366 'name': {'key': 'name', 'type': 'str'}, 13367 'type': {'key': 'type', 'type': 'str'}, 13368 'location': {'key': 'location', 'type': 'str'}, 13369 'tags': {'key': 'tags', 'type': '{str}'}, 13370 'etag': {'key': 'etag', 'type': 'str'}, 13371 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, 13372 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, 13373 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, 13374 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 13375 'flow_logs': {'key': 'properties.flowLogs', 'type': '[FlowLog]'}, 13376 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 13377 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 13378 } 13379 13380 def __init__( 13381 self, 13382 *, 13383 id: Optional[str] = None, 13384 location: Optional[str] = None, 13385 tags: Optional[Dict[str, str]] = None, 13386 security_rules: Optional[List["SecurityRule"]] = None, 13387 **kwargs 13388 ): 13389 super(NetworkSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) 13390 self.etag = None 13391 self.security_rules = security_rules 13392 self.default_security_rules = None 13393 self.network_interfaces = None 13394 self.subnets = None 13395 self.flow_logs = None 13396 self.resource_guid = None 13397 self.provisioning_state = None 13398 13399 13400class NetworkSecurityGroupListResult(msrest.serialization.Model): 13401 """Response for ListNetworkSecurityGroups API service call. 13402 13403 :param value: A list of NetworkSecurityGroup resources. 13404 :type value: list[~azure.mgmt.network.v2019_12_01.models.NetworkSecurityGroup] 13405 :param next_link: The URL to get the next set of results. 13406 :type next_link: str 13407 """ 13408 13409 _attribute_map = { 13410 'value': {'key': 'value', 'type': '[NetworkSecurityGroup]'}, 13411 'next_link': {'key': 'nextLink', 'type': 'str'}, 13412 } 13413 13414 def __init__( 13415 self, 13416 *, 13417 value: Optional[List["NetworkSecurityGroup"]] = None, 13418 next_link: Optional[str] = None, 13419 **kwargs 13420 ): 13421 super(NetworkSecurityGroupListResult, self).__init__(**kwargs) 13422 self.value = value 13423 self.next_link = next_link 13424 13425 13426class NetworkSecurityGroupResult(msrest.serialization.Model): 13427 """Network configuration diagnostic result corresponded provided traffic query. 13428 13429 Variables are only populated by the server, and will be ignored when sending a request. 13430 13431 :param security_rule_access_result: The network traffic is allowed or denied. Possible values 13432 include: "Allow", "Deny". 13433 :type security_rule_access_result: str or 13434 ~azure.mgmt.network.v2019_12_01.models.SecurityRuleAccess 13435 :ivar evaluated_network_security_groups: List of results network security groups diagnostic. 13436 :vartype evaluated_network_security_groups: 13437 list[~azure.mgmt.network.v2019_12_01.models.EvaluatedNetworkSecurityGroup] 13438 """ 13439 13440 _validation = { 13441 'evaluated_network_security_groups': {'readonly': True}, 13442 } 13443 13444 _attribute_map = { 13445 'security_rule_access_result': {'key': 'securityRuleAccessResult', 'type': 'str'}, 13446 'evaluated_network_security_groups': {'key': 'evaluatedNetworkSecurityGroups', 'type': '[EvaluatedNetworkSecurityGroup]'}, 13447 } 13448 13449 def __init__( 13450 self, 13451 *, 13452 security_rule_access_result: Optional[Union[str, "SecurityRuleAccess"]] = None, 13453 **kwargs 13454 ): 13455 super(NetworkSecurityGroupResult, self).__init__(**kwargs) 13456 self.security_rule_access_result = security_rule_access_result 13457 self.evaluated_network_security_groups = None 13458 13459 13460class NetworkSecurityRulesEvaluationResult(msrest.serialization.Model): 13461 """Network security rules evaluation result. 13462 13463 :param name: Name of the network security rule. 13464 :type name: str 13465 :param protocol_matched: Value indicating whether protocol is matched. 13466 :type protocol_matched: bool 13467 :param source_matched: Value indicating whether source is matched. 13468 :type source_matched: bool 13469 :param source_port_matched: Value indicating whether source port is matched. 13470 :type source_port_matched: bool 13471 :param destination_matched: Value indicating whether destination is matched. 13472 :type destination_matched: bool 13473 :param destination_port_matched: Value indicating whether destination port is matched. 13474 :type destination_port_matched: bool 13475 """ 13476 13477 _attribute_map = { 13478 'name': {'key': 'name', 'type': 'str'}, 13479 'protocol_matched': {'key': 'protocolMatched', 'type': 'bool'}, 13480 'source_matched': {'key': 'sourceMatched', 'type': 'bool'}, 13481 'source_port_matched': {'key': 'sourcePortMatched', 'type': 'bool'}, 13482 'destination_matched': {'key': 'destinationMatched', 'type': 'bool'}, 13483 'destination_port_matched': {'key': 'destinationPortMatched', 'type': 'bool'}, 13484 } 13485 13486 def __init__( 13487 self, 13488 *, 13489 name: Optional[str] = None, 13490 protocol_matched: Optional[bool] = None, 13491 source_matched: Optional[bool] = None, 13492 source_port_matched: Optional[bool] = None, 13493 destination_matched: Optional[bool] = None, 13494 destination_port_matched: Optional[bool] = None, 13495 **kwargs 13496 ): 13497 super(NetworkSecurityRulesEvaluationResult, self).__init__(**kwargs) 13498 self.name = name 13499 self.protocol_matched = protocol_matched 13500 self.source_matched = source_matched 13501 self.source_port_matched = source_port_matched 13502 self.destination_matched = destination_matched 13503 self.destination_port_matched = destination_port_matched 13504 13505 13506class NetworkVirtualAppliance(Resource): 13507 """NetworkVirtualAppliance Resource. 13508 13509 Variables are only populated by the server, and will be ignored when sending a request. 13510 13511 :param id: Resource ID. 13512 :type id: str 13513 :ivar name: Resource name. 13514 :vartype name: str 13515 :ivar type: Resource type. 13516 :vartype type: str 13517 :param location: Resource location. 13518 :type location: str 13519 :param tags: A set of tags. Resource tags. 13520 :type tags: dict[str, str] 13521 :param identity: The service principal that has read access to cloud-init and config blob. 13522 :type identity: ~azure.mgmt.network.v2019_12_01.models.ManagedServiceIdentity 13523 :param sku: Network Virtual Appliance SKU. 13524 :type sku: ~azure.mgmt.network.v2019_12_01.models.VirtualApplianceSkuProperties 13525 :ivar etag: A unique read-only string that changes whenever the resource is updated. 13526 :vartype etag: str 13527 :param boot_strap_configuration_blob: BootStrapConfigurationBlob storage URLs. 13528 :type boot_strap_configuration_blob: list[str] 13529 :param virtual_hub: The Virtual Hub where Network Virtual Appliance is being deployed. 13530 :type virtual_hub: ~azure.mgmt.network.v2019_12_01.models.SubResource 13531 :param cloud_init_configuration_blob: CloudInitConfigurationBlob storage URLs. 13532 :type cloud_init_configuration_blob: list[str] 13533 :param virtual_appliance_asn: VirtualAppliance ASN. 13534 :type virtual_appliance_asn: long 13535 :ivar virtual_appliance_nics: List of Virtual Appliance Network Interfaces. 13536 :vartype virtual_appliance_nics: 13537 list[~azure.mgmt.network.v2019_12_01.models.VirtualApplianceNicProperties] 13538 :ivar provisioning_state: The provisioning state of the resource. Possible values include: 13539 "Succeeded", "Updating", "Deleting", "Failed". 13540 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 13541 """ 13542 13543 _validation = { 13544 'name': {'readonly': True}, 13545 'type': {'readonly': True}, 13546 'etag': {'readonly': True}, 13547 'virtual_appliance_asn': {'maximum': 4294967295, 'minimum': 0}, 13548 'virtual_appliance_nics': {'readonly': True}, 13549 'provisioning_state': {'readonly': True}, 13550 } 13551 13552 _attribute_map = { 13553 'id': {'key': 'id', 'type': 'str'}, 13554 'name': {'key': 'name', 'type': 'str'}, 13555 'type': {'key': 'type', 'type': 'str'}, 13556 'location': {'key': 'location', 'type': 'str'}, 13557 'tags': {'key': 'tags', 'type': '{str}'}, 13558 'identity': {'key': 'identity', 'type': 'ManagedServiceIdentity'}, 13559 'sku': {'key': 'sku', 'type': 'VirtualApplianceSkuProperties'}, 13560 'etag': {'key': 'etag', 'type': 'str'}, 13561 'boot_strap_configuration_blob': {'key': 'properties.bootStrapConfigurationBlob', 'type': '[str]'}, 13562 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, 13563 'cloud_init_configuration_blob': {'key': 'properties.cloudInitConfigurationBlob', 'type': '[str]'}, 13564 'virtual_appliance_asn': {'key': 'properties.virtualApplianceAsn', 'type': 'long'}, 13565 'virtual_appliance_nics': {'key': 'properties.virtualApplianceNics', 'type': '[VirtualApplianceNicProperties]'}, 13566 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 13567 } 13568 13569 def __init__( 13570 self, 13571 *, 13572 id: Optional[str] = None, 13573 location: Optional[str] = None, 13574 tags: Optional[Dict[str, str]] = None, 13575 identity: Optional["ManagedServiceIdentity"] = None, 13576 sku: Optional["VirtualApplianceSkuProperties"] = None, 13577 boot_strap_configuration_blob: Optional[List[str]] = None, 13578 virtual_hub: Optional["SubResource"] = None, 13579 cloud_init_configuration_blob: Optional[List[str]] = None, 13580 virtual_appliance_asn: Optional[int] = None, 13581 **kwargs 13582 ): 13583 super(NetworkVirtualAppliance, self).__init__(id=id, location=location, tags=tags, **kwargs) 13584 self.identity = identity 13585 self.sku = sku 13586 self.etag = None 13587 self.boot_strap_configuration_blob = boot_strap_configuration_blob 13588 self.virtual_hub = virtual_hub 13589 self.cloud_init_configuration_blob = cloud_init_configuration_blob 13590 self.virtual_appliance_asn = virtual_appliance_asn 13591 self.virtual_appliance_nics = None 13592 self.provisioning_state = None 13593 13594 13595class NetworkVirtualApplianceListResult(msrest.serialization.Model): 13596 """Response for ListNetworkVirtualAppliances API service call. 13597 13598 :param value: List of Network Virtual Appliances. 13599 :type value: list[~azure.mgmt.network.v2019_12_01.models.NetworkVirtualAppliance] 13600 :param next_link: URL to get the next set of results. 13601 :type next_link: str 13602 """ 13603 13604 _attribute_map = { 13605 'value': {'key': 'value', 'type': '[NetworkVirtualAppliance]'}, 13606 'next_link': {'key': 'nextLink', 'type': 'str'}, 13607 } 13608 13609 def __init__( 13610 self, 13611 *, 13612 value: Optional[List["NetworkVirtualAppliance"]] = None, 13613 next_link: Optional[str] = None, 13614 **kwargs 13615 ): 13616 super(NetworkVirtualApplianceListResult, self).__init__(**kwargs) 13617 self.value = value 13618 self.next_link = next_link 13619 13620 13621class NetworkWatcher(Resource): 13622 """Network watcher in a resource group. 13623 13624 Variables are only populated by the server, and will be ignored when sending a request. 13625 13626 :param id: Resource ID. 13627 :type id: str 13628 :ivar name: Resource name. 13629 :vartype name: str 13630 :ivar type: Resource type. 13631 :vartype type: str 13632 :param location: Resource location. 13633 :type location: str 13634 :param tags: A set of tags. Resource tags. 13635 :type tags: dict[str, str] 13636 :ivar etag: A unique read-only string that changes whenever the resource is updated. 13637 :vartype etag: str 13638 :ivar provisioning_state: The provisioning state of the network watcher resource. Possible 13639 values include: "Succeeded", "Updating", "Deleting", "Failed". 13640 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 13641 """ 13642 13643 _validation = { 13644 'name': {'readonly': True}, 13645 'type': {'readonly': True}, 13646 'etag': {'readonly': True}, 13647 'provisioning_state': {'readonly': True}, 13648 } 13649 13650 _attribute_map = { 13651 'id': {'key': 'id', 'type': 'str'}, 13652 'name': {'key': 'name', 'type': 'str'}, 13653 'type': {'key': 'type', 'type': 'str'}, 13654 'location': {'key': 'location', 'type': 'str'}, 13655 'tags': {'key': 'tags', 'type': '{str}'}, 13656 'etag': {'key': 'etag', 'type': 'str'}, 13657 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 13658 } 13659 13660 def __init__( 13661 self, 13662 *, 13663 id: Optional[str] = None, 13664 location: Optional[str] = None, 13665 tags: Optional[Dict[str, str]] = None, 13666 **kwargs 13667 ): 13668 super(NetworkWatcher, self).__init__(id=id, location=location, tags=tags, **kwargs) 13669 self.etag = None 13670 self.provisioning_state = None 13671 13672 13673class NetworkWatcherListResult(msrest.serialization.Model): 13674 """Response for ListNetworkWatchers API service call. 13675 13676 :param value: List of network watcher resources. 13677 :type value: list[~azure.mgmt.network.v2019_12_01.models.NetworkWatcher] 13678 """ 13679 13680 _attribute_map = { 13681 'value': {'key': 'value', 'type': '[NetworkWatcher]'}, 13682 } 13683 13684 def __init__( 13685 self, 13686 *, 13687 value: Optional[List["NetworkWatcher"]] = None, 13688 **kwargs 13689 ): 13690 super(NetworkWatcherListResult, self).__init__(**kwargs) 13691 self.value = value 13692 13693 13694class NextHopParameters(msrest.serialization.Model): 13695 """Parameters that define the source and destination endpoint. 13696 13697 All required parameters must be populated in order to send to Azure. 13698 13699 :param target_resource_id: Required. The resource identifier of the target resource against 13700 which the action is to be performed. 13701 :type target_resource_id: str 13702 :param source_ip_address: Required. The source IP address. 13703 :type source_ip_address: str 13704 :param destination_ip_address: Required. The destination IP address. 13705 :type destination_ip_address: str 13706 :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP forwarding is 13707 enabled on any of the nics, then this parameter must be specified. Otherwise optional). 13708 :type target_nic_resource_id: str 13709 """ 13710 13711 _validation = { 13712 'target_resource_id': {'required': True}, 13713 'source_ip_address': {'required': True}, 13714 'destination_ip_address': {'required': True}, 13715 } 13716 13717 _attribute_map = { 13718 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 13719 'source_ip_address': {'key': 'sourceIPAddress', 'type': 'str'}, 13720 'destination_ip_address': {'key': 'destinationIPAddress', 'type': 'str'}, 13721 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, 13722 } 13723 13724 def __init__( 13725 self, 13726 *, 13727 target_resource_id: str, 13728 source_ip_address: str, 13729 destination_ip_address: str, 13730 target_nic_resource_id: Optional[str] = None, 13731 **kwargs 13732 ): 13733 super(NextHopParameters, self).__init__(**kwargs) 13734 self.target_resource_id = target_resource_id 13735 self.source_ip_address = source_ip_address 13736 self.destination_ip_address = destination_ip_address 13737 self.target_nic_resource_id = target_nic_resource_id 13738 13739 13740class NextHopResult(msrest.serialization.Model): 13741 """The information about next hop from the specified VM. 13742 13743 :param next_hop_type: Next hop type. Possible values include: "Internet", "VirtualAppliance", 13744 "VirtualNetworkGateway", "VnetLocal", "HyperNetGateway", "None". 13745 :type next_hop_type: str or ~azure.mgmt.network.v2019_12_01.models.NextHopType 13746 :param next_hop_ip_address: Next hop IP Address. 13747 :type next_hop_ip_address: str 13748 :param route_table_id: The resource identifier for the route table associated with the route 13749 being returned. If the route being returned does not correspond to any user created routes then 13750 this field will be the string 'System Route'. 13751 :type route_table_id: str 13752 """ 13753 13754 _attribute_map = { 13755 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, 13756 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, 13757 'route_table_id': {'key': 'routeTableId', 'type': 'str'}, 13758 } 13759 13760 def __init__( 13761 self, 13762 *, 13763 next_hop_type: Optional[Union[str, "NextHopType"]] = None, 13764 next_hop_ip_address: Optional[str] = None, 13765 route_table_id: Optional[str] = None, 13766 **kwargs 13767 ): 13768 super(NextHopResult, self).__init__(**kwargs) 13769 self.next_hop_type = next_hop_type 13770 self.next_hop_ip_address = next_hop_ip_address 13771 self.route_table_id = route_table_id 13772 13773 13774class Operation(msrest.serialization.Model): 13775 """Network REST API operation definition. 13776 13777 :param name: Operation name: {provider}/{resource}/{operation}. 13778 :type name: str 13779 :param display: Display metadata associated with the operation. 13780 :type display: ~azure.mgmt.network.v2019_12_01.models.OperationDisplay 13781 :param origin: Origin of the operation. 13782 :type origin: str 13783 :param service_specification: Specification of the service. 13784 :type service_specification: 13785 ~azure.mgmt.network.v2019_12_01.models.OperationPropertiesFormatServiceSpecification 13786 """ 13787 13788 _attribute_map = { 13789 'name': {'key': 'name', 'type': 'str'}, 13790 'display': {'key': 'display', 'type': 'OperationDisplay'}, 13791 'origin': {'key': 'origin', 'type': 'str'}, 13792 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationPropertiesFormatServiceSpecification'}, 13793 } 13794 13795 def __init__( 13796 self, 13797 *, 13798 name: Optional[str] = None, 13799 display: Optional["OperationDisplay"] = None, 13800 origin: Optional[str] = None, 13801 service_specification: Optional["OperationPropertiesFormatServiceSpecification"] = None, 13802 **kwargs 13803 ): 13804 super(Operation, self).__init__(**kwargs) 13805 self.name = name 13806 self.display = display 13807 self.origin = origin 13808 self.service_specification = service_specification 13809 13810 13811class OperationDisplay(msrest.serialization.Model): 13812 """Display metadata associated with the operation. 13813 13814 :param provider: Service provider: Microsoft Network. 13815 :type provider: str 13816 :param resource: Resource on which the operation is performed. 13817 :type resource: str 13818 :param operation: Type of the operation: get, read, delete, etc. 13819 :type operation: str 13820 :param description: Description of the operation. 13821 :type description: str 13822 """ 13823 13824 _attribute_map = { 13825 'provider': {'key': 'provider', 'type': 'str'}, 13826 'resource': {'key': 'resource', 'type': 'str'}, 13827 'operation': {'key': 'operation', 'type': 'str'}, 13828 'description': {'key': 'description', 'type': 'str'}, 13829 } 13830 13831 def __init__( 13832 self, 13833 *, 13834 provider: Optional[str] = None, 13835 resource: Optional[str] = None, 13836 operation: Optional[str] = None, 13837 description: Optional[str] = None, 13838 **kwargs 13839 ): 13840 super(OperationDisplay, self).__init__(**kwargs) 13841 self.provider = provider 13842 self.resource = resource 13843 self.operation = operation 13844 self.description = description 13845 13846 13847class OperationListResult(msrest.serialization.Model): 13848 """Result of the request to list Network operations. It contains a list of operations and a URL link to get the next set of results. 13849 13850 :param value: List of Network operations supported by the Network resource provider. 13851 :type value: list[~azure.mgmt.network.v2019_12_01.models.Operation] 13852 :param next_link: URL to get the next set of operation list results if there are any. 13853 :type next_link: str 13854 """ 13855 13856 _attribute_map = { 13857 'value': {'key': 'value', 'type': '[Operation]'}, 13858 'next_link': {'key': 'nextLink', 'type': 'str'}, 13859 } 13860 13861 def __init__( 13862 self, 13863 *, 13864 value: Optional[List["Operation"]] = None, 13865 next_link: Optional[str] = None, 13866 **kwargs 13867 ): 13868 super(OperationListResult, self).__init__(**kwargs) 13869 self.value = value 13870 self.next_link = next_link 13871 13872 13873class OperationPropertiesFormatServiceSpecification(msrest.serialization.Model): 13874 """Specification of the service. 13875 13876 :param metric_specifications: Operation service specification. 13877 :type metric_specifications: list[~azure.mgmt.network.v2019_12_01.models.MetricSpecification] 13878 :param log_specifications: Operation log specification. 13879 :type log_specifications: list[~azure.mgmt.network.v2019_12_01.models.LogSpecification] 13880 """ 13881 13882 _attribute_map = { 13883 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, 13884 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, 13885 } 13886 13887 def __init__( 13888 self, 13889 *, 13890 metric_specifications: Optional[List["MetricSpecification"]] = None, 13891 log_specifications: Optional[List["LogSpecification"]] = None, 13892 **kwargs 13893 ): 13894 super(OperationPropertiesFormatServiceSpecification, self).__init__(**kwargs) 13895 self.metric_specifications = metric_specifications 13896 self.log_specifications = log_specifications 13897 13898 13899class OutboundRule(SubResource): 13900 """Outbound rule of the load balancer. 13901 13902 Variables are only populated by the server, and will be ignored when sending a request. 13903 13904 :param id: Resource ID. 13905 :type id: str 13906 :param name: The name of the resource that is unique within the set of outbound rules used by 13907 the load balancer. This name can be used to access the resource. 13908 :type name: str 13909 :ivar etag: A unique read-only string that changes whenever the resource is updated. 13910 :vartype etag: str 13911 :ivar type: Type of the resource. 13912 :vartype type: str 13913 :param allocated_outbound_ports: The number of outbound ports to be used for NAT. 13914 :type allocated_outbound_ports: int 13915 :param frontend_ip_configurations: The Frontend IP addresses of the load balancer. 13916 :type frontend_ip_configurations: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 13917 :param backend_address_pool: A reference to a pool of DIPs. Outbound traffic is randomly load 13918 balanced across IPs in the backend IPs. 13919 :type backend_address_pool: ~azure.mgmt.network.v2019_12_01.models.SubResource 13920 :ivar provisioning_state: The provisioning state of the outbound rule resource. Possible values 13921 include: "Succeeded", "Updating", "Deleting", "Failed". 13922 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 13923 :param protocol: The protocol for the outbound rule in load balancer. Possible values include: 13924 "Tcp", "Udp", "All". 13925 :type protocol: str or ~azure.mgmt.network.v2019_12_01.models.LoadBalancerOutboundRuleProtocol 13926 :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected 13927 connection termination. This element is only used when the protocol is set to TCP. 13928 :type enable_tcp_reset: bool 13929 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. 13930 :type idle_timeout_in_minutes: int 13931 """ 13932 13933 _validation = { 13934 'etag': {'readonly': True}, 13935 'type': {'readonly': True}, 13936 'provisioning_state': {'readonly': True}, 13937 } 13938 13939 _attribute_map = { 13940 'id': {'key': 'id', 'type': 'str'}, 13941 'name': {'key': 'name', 'type': 'str'}, 13942 'etag': {'key': 'etag', 'type': 'str'}, 13943 'type': {'key': 'type', 'type': 'str'}, 13944 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, 13945 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, 13946 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 13947 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 13948 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 13949 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, 13950 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 13951 } 13952 13953 def __init__( 13954 self, 13955 *, 13956 id: Optional[str] = None, 13957 name: Optional[str] = None, 13958 allocated_outbound_ports: Optional[int] = None, 13959 frontend_ip_configurations: Optional[List["SubResource"]] = None, 13960 backend_address_pool: Optional["SubResource"] = None, 13961 protocol: Optional[Union[str, "LoadBalancerOutboundRuleProtocol"]] = None, 13962 enable_tcp_reset: Optional[bool] = None, 13963 idle_timeout_in_minutes: Optional[int] = None, 13964 **kwargs 13965 ): 13966 super(OutboundRule, self).__init__(id=id, **kwargs) 13967 self.name = name 13968 self.etag = None 13969 self.type = None 13970 self.allocated_outbound_ports = allocated_outbound_ports 13971 self.frontend_ip_configurations = frontend_ip_configurations 13972 self.backend_address_pool = backend_address_pool 13973 self.provisioning_state = None 13974 self.protocol = protocol 13975 self.enable_tcp_reset = enable_tcp_reset 13976 self.idle_timeout_in_minutes = idle_timeout_in_minutes 13977 13978 13979class OwaspCrsExclusionEntry(msrest.serialization.Model): 13980 """Allow to exclude some variable satisfy the condition for the WAF check. 13981 13982 All required parameters must be populated in order to send to Azure. 13983 13984 :param match_variable: Required. The variable to be excluded. Possible values include: 13985 "RequestHeaderNames", "RequestCookieNames", "RequestArgNames". 13986 :type match_variable: str or 13987 ~azure.mgmt.network.v2019_12_01.models.OwaspCrsExclusionEntryMatchVariable 13988 :param selector_match_operator: Required. When matchVariable is a collection, operate on the 13989 selector to specify which elements in the collection this exclusion applies to. Possible values 13990 include: "Equals", "Contains", "StartsWith", "EndsWith", "EqualsAny". 13991 :type selector_match_operator: str or 13992 ~azure.mgmt.network.v2019_12_01.models.OwaspCrsExclusionEntrySelectorMatchOperator 13993 :param selector: Required. When matchVariable is a collection, operator used to specify which 13994 elements in the collection this exclusion applies to. 13995 :type selector: str 13996 """ 13997 13998 _validation = { 13999 'match_variable': {'required': True}, 14000 'selector_match_operator': {'required': True}, 14001 'selector': {'required': True}, 14002 } 14003 14004 _attribute_map = { 14005 'match_variable': {'key': 'matchVariable', 'type': 'str'}, 14006 'selector_match_operator': {'key': 'selectorMatchOperator', 'type': 'str'}, 14007 'selector': {'key': 'selector', 'type': 'str'}, 14008 } 14009 14010 def __init__( 14011 self, 14012 *, 14013 match_variable: Union[str, "OwaspCrsExclusionEntryMatchVariable"], 14014 selector_match_operator: Union[str, "OwaspCrsExclusionEntrySelectorMatchOperator"], 14015 selector: str, 14016 **kwargs 14017 ): 14018 super(OwaspCrsExclusionEntry, self).__init__(**kwargs) 14019 self.match_variable = match_variable 14020 self.selector_match_operator = selector_match_operator 14021 self.selector = selector 14022 14023 14024class P2SConnectionConfiguration(SubResource): 14025 """P2SConnectionConfiguration Resource. 14026 14027 Variables are only populated by the server, and will be ignored when sending a request. 14028 14029 :param id: Resource ID. 14030 :type id: str 14031 :param name: The name of the resource that is unique within a resource group. This name can be 14032 used to access the resource. 14033 :type name: str 14034 :ivar etag: A unique read-only string that changes whenever the resource is updated. 14035 :vartype etag: str 14036 :param vpn_client_address_pool: The reference to the address space resource which represents 14037 Address space for P2S VpnClient. 14038 :type vpn_client_address_pool: ~azure.mgmt.network.v2019_12_01.models.AddressSpace 14039 :ivar provisioning_state: The provisioning state of the P2SConnectionConfiguration resource. 14040 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 14041 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 14042 """ 14043 14044 _validation = { 14045 'etag': {'readonly': True}, 14046 'provisioning_state': {'readonly': True}, 14047 } 14048 14049 _attribute_map = { 14050 'id': {'key': 'id', 'type': 'str'}, 14051 'name': {'key': 'name', 'type': 'str'}, 14052 'etag': {'key': 'etag', 'type': 'str'}, 14053 'vpn_client_address_pool': {'key': 'properties.vpnClientAddressPool', 'type': 'AddressSpace'}, 14054 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 14055 } 14056 14057 def __init__( 14058 self, 14059 *, 14060 id: Optional[str] = None, 14061 name: Optional[str] = None, 14062 vpn_client_address_pool: Optional["AddressSpace"] = None, 14063 **kwargs 14064 ): 14065 super(P2SConnectionConfiguration, self).__init__(id=id, **kwargs) 14066 self.name = name 14067 self.etag = None 14068 self.vpn_client_address_pool = vpn_client_address_pool 14069 self.provisioning_state = None 14070 14071 14072class P2SVpnConnectionHealth(msrest.serialization.Model): 14073 """P2S Vpn connection detailed health written to sas url. 14074 14075 :param sas_url: Returned sas url of the blob to which the p2s vpn connection detailed health 14076 will be written. 14077 :type sas_url: str 14078 """ 14079 14080 _attribute_map = { 14081 'sas_url': {'key': 'sasUrl', 'type': 'str'}, 14082 } 14083 14084 def __init__( 14085 self, 14086 *, 14087 sas_url: Optional[str] = None, 14088 **kwargs 14089 ): 14090 super(P2SVpnConnectionHealth, self).__init__(**kwargs) 14091 self.sas_url = sas_url 14092 14093 14094class P2SVpnConnectionHealthRequest(msrest.serialization.Model): 14095 """List of P2S Vpn connection health request. 14096 14097 :param vpn_user_names_filter: The list of p2s vpn user names whose p2s vpn connection detailed 14098 health to retrieve for. 14099 :type vpn_user_names_filter: list[str] 14100 :param output_blob_sas_url: The sas-url to download the P2S Vpn connection health detail. 14101 :type output_blob_sas_url: str 14102 """ 14103 14104 _attribute_map = { 14105 'vpn_user_names_filter': {'key': 'vpnUserNamesFilter', 'type': '[str]'}, 14106 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, 14107 } 14108 14109 def __init__( 14110 self, 14111 *, 14112 vpn_user_names_filter: Optional[List[str]] = None, 14113 output_blob_sas_url: Optional[str] = None, 14114 **kwargs 14115 ): 14116 super(P2SVpnConnectionHealthRequest, self).__init__(**kwargs) 14117 self.vpn_user_names_filter = vpn_user_names_filter 14118 self.output_blob_sas_url = output_blob_sas_url 14119 14120 14121class P2SVpnConnectionRequest(msrest.serialization.Model): 14122 """List of p2s vpn connections to be disconnected. 14123 14124 :param vpn_connection_ids: List of p2s vpn connection Ids. 14125 :type vpn_connection_ids: list[str] 14126 """ 14127 14128 _attribute_map = { 14129 'vpn_connection_ids': {'key': 'vpnConnectionIds', 'type': '[str]'}, 14130 } 14131 14132 def __init__( 14133 self, 14134 *, 14135 vpn_connection_ids: Optional[List[str]] = None, 14136 **kwargs 14137 ): 14138 super(P2SVpnConnectionRequest, self).__init__(**kwargs) 14139 self.vpn_connection_ids = vpn_connection_ids 14140 14141 14142class P2SVpnGateway(Resource): 14143 """P2SVpnGateway Resource. 14144 14145 Variables are only populated by the server, and will be ignored when sending a request. 14146 14147 :param id: Resource ID. 14148 :type id: str 14149 :ivar name: Resource name. 14150 :vartype name: str 14151 :ivar type: Resource type. 14152 :vartype type: str 14153 :param location: Resource location. 14154 :type location: str 14155 :param tags: A set of tags. Resource tags. 14156 :type tags: dict[str, str] 14157 :ivar etag: A unique read-only string that changes whenever the resource is updated. 14158 :vartype etag: str 14159 :param virtual_hub: The VirtualHub to which the gateway belongs. 14160 :type virtual_hub: ~azure.mgmt.network.v2019_12_01.models.SubResource 14161 :param p2_s_connection_configurations: List of all p2s connection configurations of the 14162 gateway. 14163 :type p2_s_connection_configurations: 14164 list[~azure.mgmt.network.v2019_12_01.models.P2SConnectionConfiguration] 14165 :ivar provisioning_state: The provisioning state of the P2S VPN gateway resource. Possible 14166 values include: "Succeeded", "Updating", "Deleting", "Failed". 14167 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 14168 :param vpn_gateway_scale_unit: The scale unit for this p2s vpn gateway. 14169 :type vpn_gateway_scale_unit: int 14170 :param vpn_server_configuration: The VpnServerConfiguration to which the p2sVpnGateway is 14171 attached to. 14172 :type vpn_server_configuration: ~azure.mgmt.network.v2019_12_01.models.SubResource 14173 :ivar vpn_client_connection_health: All P2S VPN clients' connection health status. 14174 :vartype vpn_client_connection_health: 14175 ~azure.mgmt.network.v2019_12_01.models.VpnClientConnectionHealth 14176 """ 14177 14178 _validation = { 14179 'name': {'readonly': True}, 14180 'type': {'readonly': True}, 14181 'etag': {'readonly': True}, 14182 'provisioning_state': {'readonly': True}, 14183 'vpn_client_connection_health': {'readonly': True}, 14184 } 14185 14186 _attribute_map = { 14187 'id': {'key': 'id', 'type': 'str'}, 14188 'name': {'key': 'name', 'type': 'str'}, 14189 'type': {'key': 'type', 'type': 'str'}, 14190 'location': {'key': 'location', 'type': 'str'}, 14191 'tags': {'key': 'tags', 'type': '{str}'}, 14192 'etag': {'key': 'etag', 'type': 'str'}, 14193 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, 14194 'p2_s_connection_configurations': {'key': 'properties.p2SConnectionConfigurations', 'type': '[P2SConnectionConfiguration]'}, 14195 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 14196 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, 14197 'vpn_server_configuration': {'key': 'properties.vpnServerConfiguration', 'type': 'SubResource'}, 14198 'vpn_client_connection_health': {'key': 'properties.vpnClientConnectionHealth', 'type': 'VpnClientConnectionHealth'}, 14199 } 14200 14201 def __init__( 14202 self, 14203 *, 14204 id: Optional[str] = None, 14205 location: Optional[str] = None, 14206 tags: Optional[Dict[str, str]] = None, 14207 virtual_hub: Optional["SubResource"] = None, 14208 p2_s_connection_configurations: Optional[List["P2SConnectionConfiguration"]] = None, 14209 vpn_gateway_scale_unit: Optional[int] = None, 14210 vpn_server_configuration: Optional["SubResource"] = None, 14211 **kwargs 14212 ): 14213 super(P2SVpnGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 14214 self.etag = None 14215 self.virtual_hub = virtual_hub 14216 self.p2_s_connection_configurations = p2_s_connection_configurations 14217 self.provisioning_state = None 14218 self.vpn_gateway_scale_unit = vpn_gateway_scale_unit 14219 self.vpn_server_configuration = vpn_server_configuration 14220 self.vpn_client_connection_health = None 14221 14222 14223class P2SVpnProfileParameters(msrest.serialization.Model): 14224 """Vpn Client Parameters for package generation. 14225 14226 :param authentication_method: VPN client authentication method. Possible values include: 14227 "EAPTLS", "EAPMSCHAPv2". 14228 :type authentication_method: str or ~azure.mgmt.network.v2019_12_01.models.AuthenticationMethod 14229 """ 14230 14231 _attribute_map = { 14232 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, 14233 } 14234 14235 def __init__( 14236 self, 14237 *, 14238 authentication_method: Optional[Union[str, "AuthenticationMethod"]] = None, 14239 **kwargs 14240 ): 14241 super(P2SVpnProfileParameters, self).__init__(**kwargs) 14242 self.authentication_method = authentication_method 14243 14244 14245class PacketCapture(msrest.serialization.Model): 14246 """Parameters that define the create packet capture operation. 14247 14248 All required parameters must be populated in order to send to Azure. 14249 14250 :param target: Required. The ID of the targeted resource, only VM is currently supported. 14251 :type target: str 14252 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 14253 are truncated. 14254 :type bytes_to_capture_per_packet: int 14255 :param total_bytes_per_session: Maximum size of the capture output. 14256 :type total_bytes_per_session: int 14257 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 14258 :type time_limit_in_seconds: int 14259 :param storage_location: Required. The storage location for a packet capture session. 14260 :type storage_location: ~azure.mgmt.network.v2019_12_01.models.PacketCaptureStorageLocation 14261 :param filters: A list of packet capture filters. 14262 :type filters: list[~azure.mgmt.network.v2019_12_01.models.PacketCaptureFilter] 14263 """ 14264 14265 _validation = { 14266 'target': {'required': True}, 14267 'storage_location': {'required': True}, 14268 } 14269 14270 _attribute_map = { 14271 'target': {'key': 'properties.target', 'type': 'str'}, 14272 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, 14273 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, 14274 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, 14275 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, 14276 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, 14277 } 14278 14279 def __init__( 14280 self, 14281 *, 14282 target: str, 14283 storage_location: "PacketCaptureStorageLocation", 14284 bytes_to_capture_per_packet: Optional[int] = 0, 14285 total_bytes_per_session: Optional[int] = 1073741824, 14286 time_limit_in_seconds: Optional[int] = 18000, 14287 filters: Optional[List["PacketCaptureFilter"]] = None, 14288 **kwargs 14289 ): 14290 super(PacketCapture, self).__init__(**kwargs) 14291 self.target = target 14292 self.bytes_to_capture_per_packet = bytes_to_capture_per_packet 14293 self.total_bytes_per_session = total_bytes_per_session 14294 self.time_limit_in_seconds = time_limit_in_seconds 14295 self.storage_location = storage_location 14296 self.filters = filters 14297 14298 14299class PacketCaptureFilter(msrest.serialization.Model): 14300 """Filter that is applied to packet capture request. Multiple filters can be applied. 14301 14302 :param protocol: Protocol to be filtered on. Possible values include: "TCP", "UDP", "Any". 14303 Default value: "Any". 14304 :type protocol: str or ~azure.mgmt.network.v2019_12_01.models.PcProtocol 14305 :param local_ip_address: Local IP Address to be filtered on. Notation: "127.0.0.1" for single 14306 address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5"? for multiple entries. 14307 Multiple ranges not currently supported. Mixing ranges with multiple entries not currently 14308 supported. Default = null. 14309 :type local_ip_address: str 14310 :param remote_ip_address: Local IP Address to be filtered on. Notation: "127.0.0.1" for single 14311 address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5;" for multiple entries. 14312 Multiple ranges not currently supported. Mixing ranges with multiple entries not currently 14313 supported. Default = null. 14314 :type remote_ip_address: str 14315 :param local_port: Local port to be filtered on. Notation: "80" for single port entry."80-85" 14316 for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing 14317 ranges with multiple entries not currently supported. Default = null. 14318 :type local_port: str 14319 :param remote_port: Remote port to be filtered on. Notation: "80" for single port entry."80-85" 14320 for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing 14321 ranges with multiple entries not currently supported. Default = null. 14322 :type remote_port: str 14323 """ 14324 14325 _attribute_map = { 14326 'protocol': {'key': 'protocol', 'type': 'str'}, 14327 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, 14328 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, 14329 'local_port': {'key': 'localPort', 'type': 'str'}, 14330 'remote_port': {'key': 'remotePort', 'type': 'str'}, 14331 } 14332 14333 def __init__( 14334 self, 14335 *, 14336 protocol: Optional[Union[str, "PcProtocol"]] = "Any", 14337 local_ip_address: Optional[str] = None, 14338 remote_ip_address: Optional[str] = None, 14339 local_port: Optional[str] = None, 14340 remote_port: Optional[str] = None, 14341 **kwargs 14342 ): 14343 super(PacketCaptureFilter, self).__init__(**kwargs) 14344 self.protocol = protocol 14345 self.local_ip_address = local_ip_address 14346 self.remote_ip_address = remote_ip_address 14347 self.local_port = local_port 14348 self.remote_port = remote_port 14349 14350 14351class PacketCaptureListResult(msrest.serialization.Model): 14352 """List of packet capture sessions. 14353 14354 :param value: Information about packet capture sessions. 14355 :type value: list[~azure.mgmt.network.v2019_12_01.models.PacketCaptureResult] 14356 """ 14357 14358 _attribute_map = { 14359 'value': {'key': 'value', 'type': '[PacketCaptureResult]'}, 14360 } 14361 14362 def __init__( 14363 self, 14364 *, 14365 value: Optional[List["PacketCaptureResult"]] = None, 14366 **kwargs 14367 ): 14368 super(PacketCaptureListResult, self).__init__(**kwargs) 14369 self.value = value 14370 14371 14372class PacketCaptureParameters(msrest.serialization.Model): 14373 """Parameters that define the create packet capture operation. 14374 14375 All required parameters must be populated in order to send to Azure. 14376 14377 :param target: Required. The ID of the targeted resource, only VM is currently supported. 14378 :type target: str 14379 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 14380 are truncated. 14381 :type bytes_to_capture_per_packet: int 14382 :param total_bytes_per_session: Maximum size of the capture output. 14383 :type total_bytes_per_session: int 14384 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 14385 :type time_limit_in_seconds: int 14386 :param storage_location: Required. The storage location for a packet capture session. 14387 :type storage_location: ~azure.mgmt.network.v2019_12_01.models.PacketCaptureStorageLocation 14388 :param filters: A list of packet capture filters. 14389 :type filters: list[~azure.mgmt.network.v2019_12_01.models.PacketCaptureFilter] 14390 """ 14391 14392 _validation = { 14393 'target': {'required': True}, 14394 'storage_location': {'required': True}, 14395 } 14396 14397 _attribute_map = { 14398 'target': {'key': 'target', 'type': 'str'}, 14399 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, 14400 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, 14401 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, 14402 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, 14403 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, 14404 } 14405 14406 def __init__( 14407 self, 14408 *, 14409 target: str, 14410 storage_location: "PacketCaptureStorageLocation", 14411 bytes_to_capture_per_packet: Optional[int] = 0, 14412 total_bytes_per_session: Optional[int] = 1073741824, 14413 time_limit_in_seconds: Optional[int] = 18000, 14414 filters: Optional[List["PacketCaptureFilter"]] = None, 14415 **kwargs 14416 ): 14417 super(PacketCaptureParameters, self).__init__(**kwargs) 14418 self.target = target 14419 self.bytes_to_capture_per_packet = bytes_to_capture_per_packet 14420 self.total_bytes_per_session = total_bytes_per_session 14421 self.time_limit_in_seconds = time_limit_in_seconds 14422 self.storage_location = storage_location 14423 self.filters = filters 14424 14425 14426class PacketCaptureQueryStatusResult(msrest.serialization.Model): 14427 """Status of packet capture session. 14428 14429 :param name: The name of the packet capture resource. 14430 :type name: str 14431 :param id: The ID of the packet capture resource. 14432 :type id: str 14433 :param capture_start_time: The start time of the packet capture session. 14434 :type capture_start_time: ~datetime.datetime 14435 :param packet_capture_status: The status of the packet capture session. Possible values 14436 include: "NotStarted", "Running", "Stopped", "Error", "Unknown". 14437 :type packet_capture_status: str or ~azure.mgmt.network.v2019_12_01.models.PcStatus 14438 :param stop_reason: The reason the current packet capture session was stopped. 14439 :type stop_reason: str 14440 :param packet_capture_error: List of errors of packet capture session. 14441 :type packet_capture_error: list[str or ~azure.mgmt.network.v2019_12_01.models.PcError] 14442 """ 14443 14444 _attribute_map = { 14445 'name': {'key': 'name', 'type': 'str'}, 14446 'id': {'key': 'id', 'type': 'str'}, 14447 'capture_start_time': {'key': 'captureStartTime', 'type': 'iso-8601'}, 14448 'packet_capture_status': {'key': 'packetCaptureStatus', 'type': 'str'}, 14449 'stop_reason': {'key': 'stopReason', 'type': 'str'}, 14450 'packet_capture_error': {'key': 'packetCaptureError', 'type': '[str]'}, 14451 } 14452 14453 def __init__( 14454 self, 14455 *, 14456 name: Optional[str] = None, 14457 id: Optional[str] = None, 14458 capture_start_time: Optional[datetime.datetime] = None, 14459 packet_capture_status: Optional[Union[str, "PcStatus"]] = None, 14460 stop_reason: Optional[str] = None, 14461 packet_capture_error: Optional[List[Union[str, "PcError"]]] = None, 14462 **kwargs 14463 ): 14464 super(PacketCaptureQueryStatusResult, self).__init__(**kwargs) 14465 self.name = name 14466 self.id = id 14467 self.capture_start_time = capture_start_time 14468 self.packet_capture_status = packet_capture_status 14469 self.stop_reason = stop_reason 14470 self.packet_capture_error = packet_capture_error 14471 14472 14473class PacketCaptureResult(msrest.serialization.Model): 14474 """Information about packet capture session. 14475 14476 Variables are only populated by the server, and will be ignored when sending a request. 14477 14478 :ivar name: Name of the packet capture session. 14479 :vartype name: str 14480 :ivar id: ID of the packet capture operation. 14481 :vartype id: str 14482 :ivar etag: A unique read-only string that changes whenever the resource is updated. 14483 :vartype etag: str 14484 :param target: The ID of the targeted resource, only VM is currently supported. 14485 :type target: str 14486 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 14487 are truncated. 14488 :type bytes_to_capture_per_packet: int 14489 :param total_bytes_per_session: Maximum size of the capture output. 14490 :type total_bytes_per_session: int 14491 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 14492 :type time_limit_in_seconds: int 14493 :param storage_location: The storage location for a packet capture session. 14494 :type storage_location: ~azure.mgmt.network.v2019_12_01.models.PacketCaptureStorageLocation 14495 :param filters: A list of packet capture filters. 14496 :type filters: list[~azure.mgmt.network.v2019_12_01.models.PacketCaptureFilter] 14497 :ivar provisioning_state: The provisioning state of the packet capture session. Possible values 14498 include: "Succeeded", "Updating", "Deleting", "Failed". 14499 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 14500 """ 14501 14502 _validation = { 14503 'name': {'readonly': True}, 14504 'id': {'readonly': True}, 14505 'etag': {'readonly': True}, 14506 'provisioning_state': {'readonly': True}, 14507 } 14508 14509 _attribute_map = { 14510 'name': {'key': 'name', 'type': 'str'}, 14511 'id': {'key': 'id', 'type': 'str'}, 14512 'etag': {'key': 'etag', 'type': 'str'}, 14513 'target': {'key': 'properties.target', 'type': 'str'}, 14514 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, 14515 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, 14516 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, 14517 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, 14518 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, 14519 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 14520 } 14521 14522 def __init__( 14523 self, 14524 *, 14525 target: Optional[str] = None, 14526 bytes_to_capture_per_packet: Optional[int] = 0, 14527 total_bytes_per_session: Optional[int] = 1073741824, 14528 time_limit_in_seconds: Optional[int] = 18000, 14529 storage_location: Optional["PacketCaptureStorageLocation"] = None, 14530 filters: Optional[List["PacketCaptureFilter"]] = None, 14531 **kwargs 14532 ): 14533 super(PacketCaptureResult, self).__init__(**kwargs) 14534 self.name = None 14535 self.id = None 14536 self.etag = None 14537 self.target = target 14538 self.bytes_to_capture_per_packet = bytes_to_capture_per_packet 14539 self.total_bytes_per_session = total_bytes_per_session 14540 self.time_limit_in_seconds = time_limit_in_seconds 14541 self.storage_location = storage_location 14542 self.filters = filters 14543 self.provisioning_state = None 14544 14545 14546class PacketCaptureResultProperties(PacketCaptureParameters): 14547 """The properties of a packet capture session. 14548 14549 Variables are only populated by the server, and will be ignored when sending a request. 14550 14551 All required parameters must be populated in order to send to Azure. 14552 14553 :param target: Required. The ID of the targeted resource, only VM is currently supported. 14554 :type target: str 14555 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 14556 are truncated. 14557 :type bytes_to_capture_per_packet: int 14558 :param total_bytes_per_session: Maximum size of the capture output. 14559 :type total_bytes_per_session: int 14560 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 14561 :type time_limit_in_seconds: int 14562 :param storage_location: Required. The storage location for a packet capture session. 14563 :type storage_location: ~azure.mgmt.network.v2019_12_01.models.PacketCaptureStorageLocation 14564 :param filters: A list of packet capture filters. 14565 :type filters: list[~azure.mgmt.network.v2019_12_01.models.PacketCaptureFilter] 14566 :ivar provisioning_state: The provisioning state of the packet capture session. Possible values 14567 include: "Succeeded", "Updating", "Deleting", "Failed". 14568 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 14569 """ 14570 14571 _validation = { 14572 'target': {'required': True}, 14573 'storage_location': {'required': True}, 14574 'provisioning_state': {'readonly': True}, 14575 } 14576 14577 _attribute_map = { 14578 'target': {'key': 'target', 'type': 'str'}, 14579 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, 14580 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, 14581 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, 14582 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, 14583 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, 14584 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 14585 } 14586 14587 def __init__( 14588 self, 14589 *, 14590 target: str, 14591 storage_location: "PacketCaptureStorageLocation", 14592 bytes_to_capture_per_packet: Optional[int] = 0, 14593 total_bytes_per_session: Optional[int] = 1073741824, 14594 time_limit_in_seconds: Optional[int] = 18000, 14595 filters: Optional[List["PacketCaptureFilter"]] = None, 14596 **kwargs 14597 ): 14598 super(PacketCaptureResultProperties, self).__init__(target=target, bytes_to_capture_per_packet=bytes_to_capture_per_packet, total_bytes_per_session=total_bytes_per_session, time_limit_in_seconds=time_limit_in_seconds, storage_location=storage_location, filters=filters, **kwargs) 14599 self.provisioning_state = None 14600 14601 14602class PacketCaptureStorageLocation(msrest.serialization.Model): 14603 """The storage location for a packet capture session. 14604 14605 :param storage_id: The ID of the storage account to save the packet capture session. Required 14606 if no local file path is provided. 14607 :type storage_id: str 14608 :param storage_path: The URI of the storage path to save the packet capture. Must be a 14609 well-formed URI describing the location to save the packet capture. 14610 :type storage_path: str 14611 :param file_path: A valid local path on the targeting VM. Must include the name of the capture 14612 file (*.cap). For linux virtual machine it must start with /var/captures. Required if no 14613 storage ID is provided, otherwise optional. 14614 :type file_path: str 14615 """ 14616 14617 _attribute_map = { 14618 'storage_id': {'key': 'storageId', 'type': 'str'}, 14619 'storage_path': {'key': 'storagePath', 'type': 'str'}, 14620 'file_path': {'key': 'filePath', 'type': 'str'}, 14621 } 14622 14623 def __init__( 14624 self, 14625 *, 14626 storage_id: Optional[str] = None, 14627 storage_path: Optional[str] = None, 14628 file_path: Optional[str] = None, 14629 **kwargs 14630 ): 14631 super(PacketCaptureStorageLocation, self).__init__(**kwargs) 14632 self.storage_id = storage_id 14633 self.storage_path = storage_path 14634 self.file_path = file_path 14635 14636 14637class PatchRouteFilter(SubResource): 14638 """Route Filter Resource. 14639 14640 Variables are only populated by the server, and will be ignored when sending a request. 14641 14642 :param id: Resource ID. 14643 :type id: str 14644 :ivar name: The name of the resource that is unique within a resource group. This name can be 14645 used to access the resource. 14646 :vartype name: str 14647 :ivar etag: A unique read-only string that changes whenever the resource is updated. 14648 :vartype etag: str 14649 :ivar type: Resource type. 14650 :vartype type: str 14651 :param tags: A set of tags. Resource tags. 14652 :type tags: dict[str, str] 14653 :param rules: Collection of RouteFilterRules contained within a route filter. 14654 :type rules: list[~azure.mgmt.network.v2019_12_01.models.RouteFilterRule] 14655 :ivar peerings: A collection of references to express route circuit peerings. 14656 :vartype peerings: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitPeering] 14657 :ivar ipv6_peerings: A collection of references to express route circuit ipv6 peerings. 14658 :vartype ipv6_peerings: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitPeering] 14659 :ivar provisioning_state: The provisioning state of the route filter resource. Possible values 14660 include: "Succeeded", "Updating", "Deleting", "Failed". 14661 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 14662 """ 14663 14664 _validation = { 14665 'name': {'readonly': True}, 14666 'etag': {'readonly': True}, 14667 'type': {'readonly': True}, 14668 'peerings': {'readonly': True}, 14669 'ipv6_peerings': {'readonly': True}, 14670 'provisioning_state': {'readonly': True}, 14671 } 14672 14673 _attribute_map = { 14674 'id': {'key': 'id', 'type': 'str'}, 14675 'name': {'key': 'name', 'type': 'str'}, 14676 'etag': {'key': 'etag', 'type': 'str'}, 14677 'type': {'key': 'type', 'type': 'str'}, 14678 'tags': {'key': 'tags', 'type': '{str}'}, 14679 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, 14680 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, 14681 'ipv6_peerings': {'key': 'properties.ipv6Peerings', 'type': '[ExpressRouteCircuitPeering]'}, 14682 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 14683 } 14684 14685 def __init__( 14686 self, 14687 *, 14688 id: Optional[str] = None, 14689 tags: Optional[Dict[str, str]] = None, 14690 rules: Optional[List["RouteFilterRule"]] = None, 14691 **kwargs 14692 ): 14693 super(PatchRouteFilter, self).__init__(id=id, **kwargs) 14694 self.name = None 14695 self.etag = None 14696 self.type = None 14697 self.tags = tags 14698 self.rules = rules 14699 self.peerings = None 14700 self.ipv6_peerings = None 14701 self.provisioning_state = None 14702 14703 14704class PatchRouteFilterRule(SubResource): 14705 """Route Filter Rule Resource. 14706 14707 Variables are only populated by the server, and will be ignored when sending a request. 14708 14709 :param id: Resource ID. 14710 :type id: str 14711 :ivar name: The name of the resource that is unique within a resource group. This name can be 14712 used to access the resource. 14713 :vartype name: str 14714 :ivar etag: A unique read-only string that changes whenever the resource is updated. 14715 :vartype etag: str 14716 :param access: The access type of the rule. Possible values include: "Allow", "Deny". 14717 :type access: str or ~azure.mgmt.network.v2019_12_01.models.Access 14718 :param route_filter_rule_type: The rule type of the rule. Possible values include: "Community". 14719 :type route_filter_rule_type: str or ~azure.mgmt.network.v2019_12_01.models.RouteFilterRuleType 14720 :param communities: The collection for bgp community values to filter on. e.g. 14721 ['12076:5010','12076:5020']. 14722 :type communities: list[str] 14723 :ivar provisioning_state: The provisioning state of the route filter rule resource. Possible 14724 values include: "Succeeded", "Updating", "Deleting", "Failed". 14725 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 14726 """ 14727 14728 _validation = { 14729 'name': {'readonly': True}, 14730 'etag': {'readonly': True}, 14731 'provisioning_state': {'readonly': True}, 14732 } 14733 14734 _attribute_map = { 14735 'id': {'key': 'id', 'type': 'str'}, 14736 'name': {'key': 'name', 'type': 'str'}, 14737 'etag': {'key': 'etag', 'type': 'str'}, 14738 'access': {'key': 'properties.access', 'type': 'str'}, 14739 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, 14740 'communities': {'key': 'properties.communities', 'type': '[str]'}, 14741 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 14742 } 14743 14744 def __init__( 14745 self, 14746 *, 14747 id: Optional[str] = None, 14748 access: Optional[Union[str, "Access"]] = None, 14749 route_filter_rule_type: Optional[Union[str, "RouteFilterRuleType"]] = None, 14750 communities: Optional[List[str]] = None, 14751 **kwargs 14752 ): 14753 super(PatchRouteFilterRule, self).__init__(id=id, **kwargs) 14754 self.name = None 14755 self.etag = None 14756 self.access = access 14757 self.route_filter_rule_type = route_filter_rule_type 14758 self.communities = communities 14759 self.provisioning_state = None 14760 14761 14762class PeerExpressRouteCircuitConnection(SubResource): 14763 """Peer Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. 14764 14765 Variables are only populated by the server, and will be ignored when sending a request. 14766 14767 :param id: Resource ID. 14768 :type id: str 14769 :param name: The name of the resource that is unique within a resource group. This name can be 14770 used to access the resource. 14771 :type name: str 14772 :ivar etag: A unique read-only string that changes whenever the resource is updated. 14773 :vartype etag: str 14774 :ivar type: Type of the resource. 14775 :vartype type: str 14776 :param express_route_circuit_peering: Reference to Express Route Circuit Private Peering 14777 Resource of the circuit. 14778 :type express_route_circuit_peering: ~azure.mgmt.network.v2019_12_01.models.SubResource 14779 :param peer_express_route_circuit_peering: Reference to Express Route Circuit Private Peering 14780 Resource of the peered circuit. 14781 :type peer_express_route_circuit_peering: ~azure.mgmt.network.v2019_12_01.models.SubResource 14782 :param address_prefix: /29 IP address space to carve out Customer addresses for tunnels. 14783 :type address_prefix: str 14784 :ivar circuit_connection_status: Express Route Circuit connection state. Possible values 14785 include: "Connected", "Connecting", "Disconnected". 14786 :vartype circuit_connection_status: str or 14787 ~azure.mgmt.network.v2019_12_01.models.CircuitConnectionStatus 14788 :param connection_name: The name of the express route circuit connection resource. 14789 :type connection_name: str 14790 :param auth_resource_guid: The resource guid of the authorization used for the express route 14791 circuit connection. 14792 :type auth_resource_guid: str 14793 :ivar provisioning_state: The provisioning state of the peer express route circuit connection 14794 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 14795 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 14796 """ 14797 14798 _validation = { 14799 'etag': {'readonly': True}, 14800 'type': {'readonly': True}, 14801 'circuit_connection_status': {'readonly': True}, 14802 'provisioning_state': {'readonly': True}, 14803 } 14804 14805 _attribute_map = { 14806 'id': {'key': 'id', 'type': 'str'}, 14807 'name': {'key': 'name', 'type': 'str'}, 14808 'etag': {'key': 'etag', 'type': 'str'}, 14809 'type': {'key': 'type', 'type': 'str'}, 14810 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, 14811 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, 14812 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 14813 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, 14814 'connection_name': {'key': 'properties.connectionName', 'type': 'str'}, 14815 'auth_resource_guid': {'key': 'properties.authResourceGuid', 'type': 'str'}, 14816 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 14817 } 14818 14819 def __init__( 14820 self, 14821 *, 14822 id: Optional[str] = None, 14823 name: Optional[str] = None, 14824 express_route_circuit_peering: Optional["SubResource"] = None, 14825 peer_express_route_circuit_peering: Optional["SubResource"] = None, 14826 address_prefix: Optional[str] = None, 14827 connection_name: Optional[str] = None, 14828 auth_resource_guid: Optional[str] = None, 14829 **kwargs 14830 ): 14831 super(PeerExpressRouteCircuitConnection, self).__init__(id=id, **kwargs) 14832 self.name = name 14833 self.etag = None 14834 self.type = None 14835 self.express_route_circuit_peering = express_route_circuit_peering 14836 self.peer_express_route_circuit_peering = peer_express_route_circuit_peering 14837 self.address_prefix = address_prefix 14838 self.circuit_connection_status = None 14839 self.connection_name = connection_name 14840 self.auth_resource_guid = auth_resource_guid 14841 self.provisioning_state = None 14842 14843 14844class PeerExpressRouteCircuitConnectionListResult(msrest.serialization.Model): 14845 """Response for ListPeeredConnections API service call retrieves all global reach peer circuit connections that belongs to a Private Peering for an ExpressRouteCircuit. 14846 14847 :param value: The global reach peer circuit connection associated with Private Peering in an 14848 ExpressRoute Circuit. 14849 :type value: list[~azure.mgmt.network.v2019_12_01.models.PeerExpressRouteCircuitConnection] 14850 :param next_link: The URL to get the next set of results. 14851 :type next_link: str 14852 """ 14853 14854 _attribute_map = { 14855 'value': {'key': 'value', 'type': '[PeerExpressRouteCircuitConnection]'}, 14856 'next_link': {'key': 'nextLink', 'type': 'str'}, 14857 } 14858 14859 def __init__( 14860 self, 14861 *, 14862 value: Optional[List["PeerExpressRouteCircuitConnection"]] = None, 14863 next_link: Optional[str] = None, 14864 **kwargs 14865 ): 14866 super(PeerExpressRouteCircuitConnectionListResult, self).__init__(**kwargs) 14867 self.value = value 14868 self.next_link = next_link 14869 14870 14871class PolicySettings(msrest.serialization.Model): 14872 """Defines contents of a web application firewall global configuration. 14873 14874 :param state: The state of the policy. Possible values include: "Disabled", "Enabled". 14875 :type state: str or ~azure.mgmt.network.v2019_12_01.models.WebApplicationFirewallEnabledState 14876 :param mode: The mode of the policy. Possible values include: "Prevention", "Detection". 14877 :type mode: str or ~azure.mgmt.network.v2019_12_01.models.WebApplicationFirewallMode 14878 :param request_body_check: Whether to allow WAF to check request Body. 14879 :type request_body_check: bool 14880 :param max_request_body_size_in_kb: Maximum request body size in Kb for WAF. 14881 :type max_request_body_size_in_kb: int 14882 :param file_upload_limit_in_mb: Maximum file upload size in Mb for WAF. 14883 :type file_upload_limit_in_mb: int 14884 """ 14885 14886 _validation = { 14887 'max_request_body_size_in_kb': {'maximum': 128, 'minimum': 8}, 14888 'file_upload_limit_in_mb': {'minimum': 0}, 14889 } 14890 14891 _attribute_map = { 14892 'state': {'key': 'state', 'type': 'str'}, 14893 'mode': {'key': 'mode', 'type': 'str'}, 14894 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, 14895 'max_request_body_size_in_kb': {'key': 'maxRequestBodySizeInKb', 'type': 'int'}, 14896 'file_upload_limit_in_mb': {'key': 'fileUploadLimitInMb', 'type': 'int'}, 14897 } 14898 14899 def __init__( 14900 self, 14901 *, 14902 state: Optional[Union[str, "WebApplicationFirewallEnabledState"]] = None, 14903 mode: Optional[Union[str, "WebApplicationFirewallMode"]] = None, 14904 request_body_check: Optional[bool] = None, 14905 max_request_body_size_in_kb: Optional[int] = None, 14906 file_upload_limit_in_mb: Optional[int] = None, 14907 **kwargs 14908 ): 14909 super(PolicySettings, self).__init__(**kwargs) 14910 self.state = state 14911 self.mode = mode 14912 self.request_body_check = request_body_check 14913 self.max_request_body_size_in_kb = max_request_body_size_in_kb 14914 self.file_upload_limit_in_mb = file_upload_limit_in_mb 14915 14916 14917class PrepareNetworkPoliciesRequest(msrest.serialization.Model): 14918 """Details of PrepareNetworkPolicies for Subnet. 14919 14920 :param service_name: The name of the service for which subnet is being prepared for. 14921 :type service_name: str 14922 :param network_intent_policy_configurations: A list of NetworkIntentPolicyConfiguration. 14923 :type network_intent_policy_configurations: 14924 list[~azure.mgmt.network.v2019_12_01.models.NetworkIntentPolicyConfiguration] 14925 """ 14926 14927 _attribute_map = { 14928 'service_name': {'key': 'serviceName', 'type': 'str'}, 14929 'network_intent_policy_configurations': {'key': 'networkIntentPolicyConfigurations', 'type': '[NetworkIntentPolicyConfiguration]'}, 14930 } 14931 14932 def __init__( 14933 self, 14934 *, 14935 service_name: Optional[str] = None, 14936 network_intent_policy_configurations: Optional[List["NetworkIntentPolicyConfiguration"]] = None, 14937 **kwargs 14938 ): 14939 super(PrepareNetworkPoliciesRequest, self).__init__(**kwargs) 14940 self.service_name = service_name 14941 self.network_intent_policy_configurations = network_intent_policy_configurations 14942 14943 14944class PrivateEndpoint(Resource): 14945 """Private endpoint resource. 14946 14947 Variables are only populated by the server, and will be ignored when sending a request. 14948 14949 :param id: Resource ID. 14950 :type id: str 14951 :ivar name: Resource name. 14952 :vartype name: str 14953 :ivar type: Resource type. 14954 :vartype type: str 14955 :param location: Resource location. 14956 :type location: str 14957 :param tags: A set of tags. Resource tags. 14958 :type tags: dict[str, str] 14959 :ivar etag: A unique read-only string that changes whenever the resource is updated. 14960 :vartype etag: str 14961 :param subnet: The ID of the subnet from which the private IP will be allocated. 14962 :type subnet: ~azure.mgmt.network.v2019_12_01.models.Subnet 14963 :ivar network_interfaces: An array of references to the network interfaces created for this 14964 private endpoint. 14965 :vartype network_interfaces: list[~azure.mgmt.network.v2019_12_01.models.NetworkInterface] 14966 :ivar provisioning_state: The provisioning state of the private endpoint resource. Possible 14967 values include: "Succeeded", "Updating", "Deleting", "Failed". 14968 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 14969 :param private_link_service_connections: A grouping of information about the connection to the 14970 remote resource. 14971 :type private_link_service_connections: 14972 list[~azure.mgmt.network.v2019_12_01.models.PrivateLinkServiceConnection] 14973 :param manual_private_link_service_connections: A grouping of information about the connection 14974 to the remote resource. Used when the network admin does not have access to approve connections 14975 to the remote resource. 14976 :type manual_private_link_service_connections: 14977 list[~azure.mgmt.network.v2019_12_01.models.PrivateLinkServiceConnection] 14978 """ 14979 14980 _validation = { 14981 'name': {'readonly': True}, 14982 'type': {'readonly': True}, 14983 'etag': {'readonly': True}, 14984 'network_interfaces': {'readonly': True}, 14985 'provisioning_state': {'readonly': True}, 14986 } 14987 14988 _attribute_map = { 14989 'id': {'key': 'id', 'type': 'str'}, 14990 'name': {'key': 'name', 'type': 'str'}, 14991 'type': {'key': 'type', 'type': 'str'}, 14992 'location': {'key': 'location', 'type': 'str'}, 14993 'tags': {'key': 'tags', 'type': '{str}'}, 14994 'etag': {'key': 'etag', 'type': 'str'}, 14995 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 14996 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, 14997 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 14998 'private_link_service_connections': {'key': 'properties.privateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, 14999 'manual_private_link_service_connections': {'key': 'properties.manualPrivateLinkServiceConnections', 'type': '[PrivateLinkServiceConnection]'}, 15000 } 15001 15002 def __init__( 15003 self, 15004 *, 15005 id: Optional[str] = None, 15006 location: Optional[str] = None, 15007 tags: Optional[Dict[str, str]] = None, 15008 subnet: Optional["Subnet"] = None, 15009 private_link_service_connections: Optional[List["PrivateLinkServiceConnection"]] = None, 15010 manual_private_link_service_connections: Optional[List["PrivateLinkServiceConnection"]] = None, 15011 **kwargs 15012 ): 15013 super(PrivateEndpoint, self).__init__(id=id, location=location, tags=tags, **kwargs) 15014 self.etag = None 15015 self.subnet = subnet 15016 self.network_interfaces = None 15017 self.provisioning_state = None 15018 self.private_link_service_connections = private_link_service_connections 15019 self.manual_private_link_service_connections = manual_private_link_service_connections 15020 15021 15022class PrivateEndpointConnection(SubResource): 15023 """PrivateEndpointConnection resource. 15024 15025 Variables are only populated by the server, and will be ignored when sending a request. 15026 15027 :param id: Resource ID. 15028 :type id: str 15029 :param name: The name of the resource that is unique within a resource group. This name can be 15030 used to access the resource. 15031 :type name: str 15032 :ivar type: The resource type. 15033 :vartype type: str 15034 :ivar etag: A unique read-only string that changes whenever the resource is updated. 15035 :vartype etag: str 15036 :ivar private_endpoint: The resource of private end point. 15037 :vartype private_endpoint: ~azure.mgmt.network.v2019_12_01.models.PrivateEndpoint 15038 :param private_link_service_connection_state: A collection of information about the state of 15039 the connection between service consumer and provider. 15040 :type private_link_service_connection_state: 15041 ~azure.mgmt.network.v2019_12_01.models.PrivateLinkServiceConnectionState 15042 :ivar provisioning_state: The provisioning state of the private endpoint connection resource. 15043 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 15044 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 15045 :ivar link_identifier: The consumer link id. 15046 :vartype link_identifier: str 15047 """ 15048 15049 _validation = { 15050 'type': {'readonly': True}, 15051 'etag': {'readonly': True}, 15052 'private_endpoint': {'readonly': True}, 15053 'provisioning_state': {'readonly': True}, 15054 'link_identifier': {'readonly': True}, 15055 } 15056 15057 _attribute_map = { 15058 'id': {'key': 'id', 'type': 'str'}, 15059 'name': {'key': 'name', 'type': 'str'}, 15060 'type': {'key': 'type', 'type': 'str'}, 15061 'etag': {'key': 'etag', 'type': 'str'}, 15062 'private_endpoint': {'key': 'properties.privateEndpoint', 'type': 'PrivateEndpoint'}, 15063 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, 15064 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 15065 'link_identifier': {'key': 'properties.linkIdentifier', 'type': 'str'}, 15066 } 15067 15068 def __init__( 15069 self, 15070 *, 15071 id: Optional[str] = None, 15072 name: Optional[str] = None, 15073 private_link_service_connection_state: Optional["PrivateLinkServiceConnectionState"] = None, 15074 **kwargs 15075 ): 15076 super(PrivateEndpointConnection, self).__init__(id=id, **kwargs) 15077 self.name = name 15078 self.type = None 15079 self.etag = None 15080 self.private_endpoint = None 15081 self.private_link_service_connection_state = private_link_service_connection_state 15082 self.provisioning_state = None 15083 self.link_identifier = None 15084 15085 15086class PrivateEndpointConnectionListResult(msrest.serialization.Model): 15087 """Response for the ListPrivateEndpointConnection API service call. 15088 15089 Variables are only populated by the server, and will be ignored when sending a request. 15090 15091 :param value: A list of PrivateEndpointConnection resources for a specific private link 15092 service. 15093 :type value: list[~azure.mgmt.network.v2019_12_01.models.PrivateEndpointConnection] 15094 :ivar next_link: The URL to get the next set of results. 15095 :vartype next_link: str 15096 """ 15097 15098 _validation = { 15099 'next_link': {'readonly': True}, 15100 } 15101 15102 _attribute_map = { 15103 'value': {'key': 'value', 'type': '[PrivateEndpointConnection]'}, 15104 'next_link': {'key': 'nextLink', 'type': 'str'}, 15105 } 15106 15107 def __init__( 15108 self, 15109 *, 15110 value: Optional[List["PrivateEndpointConnection"]] = None, 15111 **kwargs 15112 ): 15113 super(PrivateEndpointConnectionListResult, self).__init__(**kwargs) 15114 self.value = value 15115 self.next_link = None 15116 15117 15118class PrivateEndpointListResult(msrest.serialization.Model): 15119 """Response for the ListPrivateEndpoints API service call. 15120 15121 Variables are only populated by the server, and will be ignored when sending a request. 15122 15123 :param value: A list of private endpoint resources in a resource group. 15124 :type value: list[~azure.mgmt.network.v2019_12_01.models.PrivateEndpoint] 15125 :ivar next_link: The URL to get the next set of results. 15126 :vartype next_link: str 15127 """ 15128 15129 _validation = { 15130 'next_link': {'readonly': True}, 15131 } 15132 15133 _attribute_map = { 15134 'value': {'key': 'value', 'type': '[PrivateEndpoint]'}, 15135 'next_link': {'key': 'nextLink', 'type': 'str'}, 15136 } 15137 15138 def __init__( 15139 self, 15140 *, 15141 value: Optional[List["PrivateEndpoint"]] = None, 15142 **kwargs 15143 ): 15144 super(PrivateEndpointListResult, self).__init__(**kwargs) 15145 self.value = value 15146 self.next_link = None 15147 15148 15149class PrivateLinkService(Resource): 15150 """Private link service resource. 15151 15152 Variables are only populated by the server, and will be ignored when sending a request. 15153 15154 :param id: Resource ID. 15155 :type id: str 15156 :ivar name: Resource name. 15157 :vartype name: str 15158 :ivar type: Resource type. 15159 :vartype type: str 15160 :param location: Resource location. 15161 :type location: str 15162 :param tags: A set of tags. Resource tags. 15163 :type tags: dict[str, str] 15164 :ivar etag: A unique read-only string that changes whenever the resource is updated. 15165 :vartype etag: str 15166 :param load_balancer_frontend_ip_configurations: An array of references to the load balancer IP 15167 configurations. 15168 :type load_balancer_frontend_ip_configurations: 15169 list[~azure.mgmt.network.v2019_12_01.models.FrontendIPConfiguration] 15170 :param ip_configurations: An array of private link service IP configurations. 15171 :type ip_configurations: 15172 list[~azure.mgmt.network.v2019_12_01.models.PrivateLinkServiceIpConfiguration] 15173 :ivar network_interfaces: An array of references to the network interfaces created for this 15174 private link service. 15175 :vartype network_interfaces: list[~azure.mgmt.network.v2019_12_01.models.NetworkInterface] 15176 :ivar provisioning_state: The provisioning state of the private link service resource. Possible 15177 values include: "Succeeded", "Updating", "Deleting", "Failed". 15178 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 15179 :ivar private_endpoint_connections: An array of list about connections to the private endpoint. 15180 :vartype private_endpoint_connections: 15181 list[~azure.mgmt.network.v2019_12_01.models.PrivateEndpointConnection] 15182 :param visibility: The visibility list of the private link service. 15183 :type visibility: ~azure.mgmt.network.v2019_12_01.models.PrivateLinkServicePropertiesVisibility 15184 :param auto_approval: The auto-approval list of the private link service. 15185 :type auto_approval: 15186 ~azure.mgmt.network.v2019_12_01.models.PrivateLinkServicePropertiesAutoApproval 15187 :param fqdns: The list of Fqdn. 15188 :type fqdns: list[str] 15189 :ivar alias: The alias of the private link service. 15190 :vartype alias: str 15191 :param enable_proxy_protocol: Whether the private link service is enabled for proxy protocol or 15192 not. 15193 :type enable_proxy_protocol: bool 15194 """ 15195 15196 _validation = { 15197 'name': {'readonly': True}, 15198 'type': {'readonly': True}, 15199 'etag': {'readonly': True}, 15200 'network_interfaces': {'readonly': True}, 15201 'provisioning_state': {'readonly': True}, 15202 'private_endpoint_connections': {'readonly': True}, 15203 'alias': {'readonly': True}, 15204 } 15205 15206 _attribute_map = { 15207 'id': {'key': 'id', 'type': 'str'}, 15208 'name': {'key': 'name', 'type': 'str'}, 15209 'type': {'key': 'type', 'type': 'str'}, 15210 'location': {'key': 'location', 'type': 'str'}, 15211 'tags': {'key': 'tags', 'type': '{str}'}, 15212 'etag': {'key': 'etag', 'type': 'str'}, 15213 'load_balancer_frontend_ip_configurations': {'key': 'properties.loadBalancerFrontendIpConfigurations', 'type': '[FrontendIPConfiguration]'}, 15214 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[PrivateLinkServiceIpConfiguration]'}, 15215 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, 15216 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 15217 'private_endpoint_connections': {'key': 'properties.privateEndpointConnections', 'type': '[PrivateEndpointConnection]'}, 15218 'visibility': {'key': 'properties.visibility', 'type': 'PrivateLinkServicePropertiesVisibility'}, 15219 'auto_approval': {'key': 'properties.autoApproval', 'type': 'PrivateLinkServicePropertiesAutoApproval'}, 15220 'fqdns': {'key': 'properties.fqdns', 'type': '[str]'}, 15221 'alias': {'key': 'properties.alias', 'type': 'str'}, 15222 'enable_proxy_protocol': {'key': 'properties.enableProxyProtocol', 'type': 'bool'}, 15223 } 15224 15225 def __init__( 15226 self, 15227 *, 15228 id: Optional[str] = None, 15229 location: Optional[str] = None, 15230 tags: Optional[Dict[str, str]] = None, 15231 load_balancer_frontend_ip_configurations: Optional[List["FrontendIPConfiguration"]] = None, 15232 ip_configurations: Optional[List["PrivateLinkServiceIpConfiguration"]] = None, 15233 visibility: Optional["PrivateLinkServicePropertiesVisibility"] = None, 15234 auto_approval: Optional["PrivateLinkServicePropertiesAutoApproval"] = None, 15235 fqdns: Optional[List[str]] = None, 15236 enable_proxy_protocol: Optional[bool] = None, 15237 **kwargs 15238 ): 15239 super(PrivateLinkService, self).__init__(id=id, location=location, tags=tags, **kwargs) 15240 self.etag = None 15241 self.load_balancer_frontend_ip_configurations = load_balancer_frontend_ip_configurations 15242 self.ip_configurations = ip_configurations 15243 self.network_interfaces = None 15244 self.provisioning_state = None 15245 self.private_endpoint_connections = None 15246 self.visibility = visibility 15247 self.auto_approval = auto_approval 15248 self.fqdns = fqdns 15249 self.alias = None 15250 self.enable_proxy_protocol = enable_proxy_protocol 15251 15252 15253class PrivateLinkServiceConnection(SubResource): 15254 """PrivateLinkServiceConnection resource. 15255 15256 Variables are only populated by the server, and will be ignored when sending a request. 15257 15258 :param id: Resource ID. 15259 :type id: str 15260 :param name: The name of the resource that is unique within a resource group. This name can be 15261 used to access the resource. 15262 :type name: str 15263 :ivar type: The resource type. 15264 :vartype type: str 15265 :ivar etag: A unique read-only string that changes whenever the resource is updated. 15266 :vartype etag: str 15267 :ivar provisioning_state: The provisioning state of the private link service connection 15268 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 15269 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 15270 :param private_link_service_id: The resource id of private link service. 15271 :type private_link_service_id: str 15272 :param group_ids: The ID(s) of the group(s) obtained from the remote resource that this private 15273 endpoint should connect to. 15274 :type group_ids: list[str] 15275 :param request_message: A message passed to the owner of the remote resource with this 15276 connection request. Restricted to 140 chars. 15277 :type request_message: str 15278 :param private_link_service_connection_state: A collection of read-only information about the 15279 state of the connection to the remote resource. 15280 :type private_link_service_connection_state: 15281 ~azure.mgmt.network.v2019_12_01.models.PrivateLinkServiceConnectionState 15282 """ 15283 15284 _validation = { 15285 'type': {'readonly': True}, 15286 'etag': {'readonly': True}, 15287 'provisioning_state': {'readonly': True}, 15288 } 15289 15290 _attribute_map = { 15291 'id': {'key': 'id', 'type': 'str'}, 15292 'name': {'key': 'name', 'type': 'str'}, 15293 'type': {'key': 'type', 'type': 'str'}, 15294 'etag': {'key': 'etag', 'type': 'str'}, 15295 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 15296 'private_link_service_id': {'key': 'properties.privateLinkServiceId', 'type': 'str'}, 15297 'group_ids': {'key': 'properties.groupIds', 'type': '[str]'}, 15298 'request_message': {'key': 'properties.requestMessage', 'type': 'str'}, 15299 'private_link_service_connection_state': {'key': 'properties.privateLinkServiceConnectionState', 'type': 'PrivateLinkServiceConnectionState'}, 15300 } 15301 15302 def __init__( 15303 self, 15304 *, 15305 id: Optional[str] = None, 15306 name: Optional[str] = None, 15307 private_link_service_id: Optional[str] = None, 15308 group_ids: Optional[List[str]] = None, 15309 request_message: Optional[str] = None, 15310 private_link_service_connection_state: Optional["PrivateLinkServiceConnectionState"] = None, 15311 **kwargs 15312 ): 15313 super(PrivateLinkServiceConnection, self).__init__(id=id, **kwargs) 15314 self.name = name 15315 self.type = None 15316 self.etag = None 15317 self.provisioning_state = None 15318 self.private_link_service_id = private_link_service_id 15319 self.group_ids = group_ids 15320 self.request_message = request_message 15321 self.private_link_service_connection_state = private_link_service_connection_state 15322 15323 15324class PrivateLinkServiceConnectionState(msrest.serialization.Model): 15325 """A collection of information about the state of the connection between service consumer and provider. 15326 15327 :param status: Indicates whether the connection has been Approved/Rejected/Removed by the owner 15328 of the service. 15329 :type status: str 15330 :param description: The reason for approval/rejection of the connection. 15331 :type description: str 15332 :param actions_required: A message indicating if changes on the service provider require any 15333 updates on the consumer. 15334 :type actions_required: str 15335 """ 15336 15337 _attribute_map = { 15338 'status': {'key': 'status', 'type': 'str'}, 15339 'description': {'key': 'description', 'type': 'str'}, 15340 'actions_required': {'key': 'actionsRequired', 'type': 'str'}, 15341 } 15342 15343 def __init__( 15344 self, 15345 *, 15346 status: Optional[str] = None, 15347 description: Optional[str] = None, 15348 actions_required: Optional[str] = None, 15349 **kwargs 15350 ): 15351 super(PrivateLinkServiceConnectionState, self).__init__(**kwargs) 15352 self.status = status 15353 self.description = description 15354 self.actions_required = actions_required 15355 15356 15357class PrivateLinkServiceIpConfiguration(SubResource): 15358 """The private link service ip configuration. 15359 15360 Variables are only populated by the server, and will be ignored when sending a request. 15361 15362 :param id: Resource ID. 15363 :type id: str 15364 :param name: The name of private link service ip configuration. 15365 :type name: str 15366 :ivar etag: A unique read-only string that changes whenever the resource is updated. 15367 :vartype etag: str 15368 :ivar type: The resource type. 15369 :vartype type: str 15370 :param private_ip_address: The private IP address of the IP configuration. 15371 :type private_ip_address: str 15372 :param private_ip_allocation_method: The private IP address allocation method. Possible values 15373 include: "Static", "Dynamic". 15374 :type private_ip_allocation_method: str or 15375 ~azure.mgmt.network.v2019_12_01.models.IPAllocationMethod 15376 :param subnet: The reference to the subnet resource. 15377 :type subnet: ~azure.mgmt.network.v2019_12_01.models.Subnet 15378 :param primary: Whether the ip configuration is primary or not. 15379 :type primary: bool 15380 :ivar provisioning_state: The provisioning state of the private link service IP configuration 15381 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 15382 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 15383 :param private_ip_address_version: Whether the specific IP configuration is IPv4 or IPv6. 15384 Default is IPv4. Possible values include: "IPv4", "IPv6". 15385 :type private_ip_address_version: str or ~azure.mgmt.network.v2019_12_01.models.IPVersion 15386 """ 15387 15388 _validation = { 15389 'etag': {'readonly': True}, 15390 'type': {'readonly': True}, 15391 'provisioning_state': {'readonly': True}, 15392 } 15393 15394 _attribute_map = { 15395 'id': {'key': 'id', 'type': 'str'}, 15396 'name': {'key': 'name', 'type': 'str'}, 15397 'etag': {'key': 'etag', 'type': 'str'}, 15398 'type': {'key': 'type', 'type': 'str'}, 15399 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 15400 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 15401 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 15402 'primary': {'key': 'properties.primary', 'type': 'bool'}, 15403 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 15404 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, 15405 } 15406 15407 def __init__( 15408 self, 15409 *, 15410 id: Optional[str] = None, 15411 name: Optional[str] = None, 15412 private_ip_address: Optional[str] = None, 15413 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 15414 subnet: Optional["Subnet"] = None, 15415 primary: Optional[bool] = None, 15416 private_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 15417 **kwargs 15418 ): 15419 super(PrivateLinkServiceIpConfiguration, self).__init__(id=id, **kwargs) 15420 self.name = name 15421 self.etag = None 15422 self.type = None 15423 self.private_ip_address = private_ip_address 15424 self.private_ip_allocation_method = private_ip_allocation_method 15425 self.subnet = subnet 15426 self.primary = primary 15427 self.provisioning_state = None 15428 self.private_ip_address_version = private_ip_address_version 15429 15430 15431class PrivateLinkServiceListResult(msrest.serialization.Model): 15432 """Response for the ListPrivateLinkService API service call. 15433 15434 Variables are only populated by the server, and will be ignored when sending a request. 15435 15436 :param value: A list of PrivateLinkService resources in a resource group. 15437 :type value: list[~azure.mgmt.network.v2019_12_01.models.PrivateLinkService] 15438 :ivar next_link: The URL to get the next set of results. 15439 :vartype next_link: str 15440 """ 15441 15442 _validation = { 15443 'next_link': {'readonly': True}, 15444 } 15445 15446 _attribute_map = { 15447 'value': {'key': 'value', 'type': '[PrivateLinkService]'}, 15448 'next_link': {'key': 'nextLink', 'type': 'str'}, 15449 } 15450 15451 def __init__( 15452 self, 15453 *, 15454 value: Optional[List["PrivateLinkService"]] = None, 15455 **kwargs 15456 ): 15457 super(PrivateLinkServiceListResult, self).__init__(**kwargs) 15458 self.value = value 15459 self.next_link = None 15460 15461 15462class ResourceSet(msrest.serialization.Model): 15463 """The base resource set for visibility and auto-approval. 15464 15465 :param subscriptions: The list of subscriptions. 15466 :type subscriptions: list[str] 15467 """ 15468 15469 _attribute_map = { 15470 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, 15471 } 15472 15473 def __init__( 15474 self, 15475 *, 15476 subscriptions: Optional[List[str]] = None, 15477 **kwargs 15478 ): 15479 super(ResourceSet, self).__init__(**kwargs) 15480 self.subscriptions = subscriptions 15481 15482 15483class PrivateLinkServicePropertiesAutoApproval(ResourceSet): 15484 """The auto-approval list of the private link service. 15485 15486 :param subscriptions: The list of subscriptions. 15487 :type subscriptions: list[str] 15488 """ 15489 15490 _attribute_map = { 15491 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, 15492 } 15493 15494 def __init__( 15495 self, 15496 *, 15497 subscriptions: Optional[List[str]] = None, 15498 **kwargs 15499 ): 15500 super(PrivateLinkServicePropertiesAutoApproval, self).__init__(subscriptions=subscriptions, **kwargs) 15501 15502 15503class PrivateLinkServicePropertiesVisibility(ResourceSet): 15504 """The visibility list of the private link service. 15505 15506 :param subscriptions: The list of subscriptions. 15507 :type subscriptions: list[str] 15508 """ 15509 15510 _attribute_map = { 15511 'subscriptions': {'key': 'subscriptions', 'type': '[str]'}, 15512 } 15513 15514 def __init__( 15515 self, 15516 *, 15517 subscriptions: Optional[List[str]] = None, 15518 **kwargs 15519 ): 15520 super(PrivateLinkServicePropertiesVisibility, self).__init__(subscriptions=subscriptions, **kwargs) 15521 15522 15523class PrivateLinkServiceVisibility(msrest.serialization.Model): 15524 """Response for the CheckPrivateLinkServiceVisibility API service call. 15525 15526 :param visible: Private Link Service Visibility (True/False). 15527 :type visible: bool 15528 """ 15529 15530 _attribute_map = { 15531 'visible': {'key': 'visible', 'type': 'bool'}, 15532 } 15533 15534 def __init__( 15535 self, 15536 *, 15537 visible: Optional[bool] = None, 15538 **kwargs 15539 ): 15540 super(PrivateLinkServiceVisibility, self).__init__(**kwargs) 15541 self.visible = visible 15542 15543 15544class Probe(SubResource): 15545 """A load balancer probe. 15546 15547 Variables are only populated by the server, and will be ignored when sending a request. 15548 15549 :param id: Resource ID. 15550 :type id: str 15551 :param name: The name of the resource that is unique within the set of probes used by the load 15552 balancer. This name can be used to access the resource. 15553 :type name: str 15554 :ivar etag: A unique read-only string that changes whenever the resource is updated. 15555 :vartype etag: str 15556 :ivar type: Type of the resource. 15557 :vartype type: str 15558 :ivar load_balancing_rules: The load balancer rules that use this probe. 15559 :vartype load_balancing_rules: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 15560 :param protocol: The protocol of the end point. If 'Tcp' is specified, a received ACK is 15561 required for the probe to be successful. If 'Http' or 'Https' is specified, a 200 OK response 15562 from the specifies URI is required for the probe to be successful. Possible values include: 15563 "Http", "Tcp", "Https". 15564 :type protocol: str or ~azure.mgmt.network.v2019_12_01.models.ProbeProtocol 15565 :param port: The port for communicating the probe. Possible values range from 1 to 65535, 15566 inclusive. 15567 :type port: int 15568 :param interval_in_seconds: The interval, in seconds, for how frequently to probe the endpoint 15569 for health status. Typically, the interval is slightly less than half the allocated timeout 15570 period (in seconds) which allows two full probes before taking the instance out of rotation. 15571 The default value is 15, the minimum value is 5. 15572 :type interval_in_seconds: int 15573 :param number_of_probes: The number of probes where if no response, will result in stopping 15574 further traffic from being delivered to the endpoint. This values allows endpoints to be taken 15575 out of rotation faster or slower than the typical times used in Azure. 15576 :type number_of_probes: int 15577 :param request_path: The URI used for requesting health status from the VM. Path is required if 15578 a protocol is set to http. Otherwise, it is not allowed. There is no default value. 15579 :type request_path: str 15580 :ivar provisioning_state: The provisioning state of the probe resource. Possible values 15581 include: "Succeeded", "Updating", "Deleting", "Failed". 15582 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 15583 """ 15584 15585 _validation = { 15586 'etag': {'readonly': True}, 15587 'type': {'readonly': True}, 15588 'load_balancing_rules': {'readonly': True}, 15589 'provisioning_state': {'readonly': True}, 15590 } 15591 15592 _attribute_map = { 15593 'id': {'key': 'id', 'type': 'str'}, 15594 'name': {'key': 'name', 'type': 'str'}, 15595 'etag': {'key': 'etag', 'type': 'str'}, 15596 'type': {'key': 'type', 'type': 'str'}, 15597 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 15598 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 15599 'port': {'key': 'properties.port', 'type': 'int'}, 15600 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, 15601 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, 15602 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, 15603 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 15604 } 15605 15606 def __init__( 15607 self, 15608 *, 15609 id: Optional[str] = None, 15610 name: Optional[str] = None, 15611 protocol: Optional[Union[str, "ProbeProtocol"]] = None, 15612 port: Optional[int] = None, 15613 interval_in_seconds: Optional[int] = None, 15614 number_of_probes: Optional[int] = None, 15615 request_path: Optional[str] = None, 15616 **kwargs 15617 ): 15618 super(Probe, self).__init__(id=id, **kwargs) 15619 self.name = name 15620 self.etag = None 15621 self.type = None 15622 self.load_balancing_rules = None 15623 self.protocol = protocol 15624 self.port = port 15625 self.interval_in_seconds = interval_in_seconds 15626 self.number_of_probes = number_of_probes 15627 self.request_path = request_path 15628 self.provisioning_state = None 15629 15630 15631class ProtocolConfiguration(msrest.serialization.Model): 15632 """Configuration of the protocol. 15633 15634 :param http_configuration: HTTP configuration of the connectivity check. 15635 :type http_configuration: ~azure.mgmt.network.v2019_12_01.models.HTTPConfiguration 15636 """ 15637 15638 _attribute_map = { 15639 'http_configuration': {'key': 'HTTPConfiguration', 'type': 'HTTPConfiguration'}, 15640 } 15641 15642 def __init__( 15643 self, 15644 *, 15645 http_configuration: Optional["HTTPConfiguration"] = None, 15646 **kwargs 15647 ): 15648 super(ProtocolConfiguration, self).__init__(**kwargs) 15649 self.http_configuration = http_configuration 15650 15651 15652class ProtocolCustomSettingsFormat(msrest.serialization.Model): 15653 """DDoS custom policy properties. 15654 15655 :param protocol: The protocol for which the DDoS protection policy is being customized. 15656 Possible values include: "Tcp", "Udp", "Syn". 15657 :type protocol: str or ~azure.mgmt.network.v2019_12_01.models.DdosCustomPolicyProtocol 15658 :param trigger_rate_override: The customized DDoS protection trigger rate. 15659 :type trigger_rate_override: str 15660 :param source_rate_override: The customized DDoS protection source rate. 15661 :type source_rate_override: str 15662 :param trigger_sensitivity_override: The customized DDoS protection trigger rate sensitivity 15663 degrees. High: Trigger rate set with most sensitivity w.r.t. normal traffic. Default: Trigger 15664 rate set with moderate sensitivity w.r.t. normal traffic. Low: Trigger rate set with less 15665 sensitivity w.r.t. normal traffic. Relaxed: Trigger rate set with least sensitivity w.r.t. 15666 normal traffic. Possible values include: "Relaxed", "Low", "Default", "High". 15667 :type trigger_sensitivity_override: str or 15668 ~azure.mgmt.network.v2019_12_01.models.DdosCustomPolicyTriggerSensitivityOverride 15669 """ 15670 15671 _attribute_map = { 15672 'protocol': {'key': 'protocol', 'type': 'str'}, 15673 'trigger_rate_override': {'key': 'triggerRateOverride', 'type': 'str'}, 15674 'source_rate_override': {'key': 'sourceRateOverride', 'type': 'str'}, 15675 'trigger_sensitivity_override': {'key': 'triggerSensitivityOverride', 'type': 'str'}, 15676 } 15677 15678 def __init__( 15679 self, 15680 *, 15681 protocol: Optional[Union[str, "DdosCustomPolicyProtocol"]] = None, 15682 trigger_rate_override: Optional[str] = None, 15683 source_rate_override: Optional[str] = None, 15684 trigger_sensitivity_override: Optional[Union[str, "DdosCustomPolicyTriggerSensitivityOverride"]] = None, 15685 **kwargs 15686 ): 15687 super(ProtocolCustomSettingsFormat, self).__init__(**kwargs) 15688 self.protocol = protocol 15689 self.trigger_rate_override = trigger_rate_override 15690 self.source_rate_override = source_rate_override 15691 self.trigger_sensitivity_override = trigger_sensitivity_override 15692 15693 15694class PublicIPAddress(Resource): 15695 """Public IP address resource. 15696 15697 Variables are only populated by the server, and will be ignored when sending a request. 15698 15699 :param id: Resource ID. 15700 :type id: str 15701 :ivar name: Resource name. 15702 :vartype name: str 15703 :ivar type: Resource type. 15704 :vartype type: str 15705 :param location: Resource location. 15706 :type location: str 15707 :param tags: A set of tags. Resource tags. 15708 :type tags: dict[str, str] 15709 :param sku: The public IP address SKU. 15710 :type sku: ~azure.mgmt.network.v2019_12_01.models.PublicIPAddressSku 15711 :ivar etag: A unique read-only string that changes whenever the resource is updated. 15712 :vartype etag: str 15713 :param zones: A list of availability zones denoting the IP allocated for the resource needs to 15714 come from. 15715 :type zones: list[str] 15716 :param public_ip_allocation_method: The public IP address allocation method. Possible values 15717 include: "Static", "Dynamic". 15718 :type public_ip_allocation_method: str or 15719 ~azure.mgmt.network.v2019_12_01.models.IPAllocationMethod 15720 :param public_ip_address_version: The public IP address version. Possible values include: 15721 "IPv4", "IPv6". 15722 :type public_ip_address_version: str or ~azure.mgmt.network.v2019_12_01.models.IPVersion 15723 :ivar ip_configuration: The IP configuration associated with the public IP address. 15724 :vartype ip_configuration: ~azure.mgmt.network.v2019_12_01.models.IPConfiguration 15725 :param dns_settings: The FQDN of the DNS record associated with the public IP address. 15726 :type dns_settings: ~azure.mgmt.network.v2019_12_01.models.PublicIPAddressDnsSettings 15727 :param ddos_settings: The DDoS protection custom policy associated with the public IP address. 15728 :type ddos_settings: ~azure.mgmt.network.v2019_12_01.models.DdosSettings 15729 :param ip_tags: The list of tags associated with the public IP address. 15730 :type ip_tags: list[~azure.mgmt.network.v2019_12_01.models.IpTag] 15731 :param ip_address: The IP address associated with the public IP address resource. 15732 :type ip_address: str 15733 :param public_ip_prefix: The Public IP Prefix this Public IP Address should be allocated from. 15734 :type public_ip_prefix: ~azure.mgmt.network.v2019_12_01.models.SubResource 15735 :param idle_timeout_in_minutes: The idle timeout of the public IP address. 15736 :type idle_timeout_in_minutes: int 15737 :ivar resource_guid: The resource GUID property of the public IP address resource. 15738 :vartype resource_guid: str 15739 :ivar provisioning_state: The provisioning state of the public IP address resource. Possible 15740 values include: "Succeeded", "Updating", "Deleting", "Failed". 15741 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 15742 """ 15743 15744 _validation = { 15745 'name': {'readonly': True}, 15746 'type': {'readonly': True}, 15747 'etag': {'readonly': True}, 15748 'ip_configuration': {'readonly': True}, 15749 'resource_guid': {'readonly': True}, 15750 'provisioning_state': {'readonly': True}, 15751 } 15752 15753 _attribute_map = { 15754 'id': {'key': 'id', 'type': 'str'}, 15755 'name': {'key': 'name', 'type': 'str'}, 15756 'type': {'key': 'type', 'type': 'str'}, 15757 'location': {'key': 'location', 'type': 'str'}, 15758 'tags': {'key': 'tags', 'type': '{str}'}, 15759 'sku': {'key': 'sku', 'type': 'PublicIPAddressSku'}, 15760 'etag': {'key': 'etag', 'type': 'str'}, 15761 'zones': {'key': 'zones', 'type': '[str]'}, 15762 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, 15763 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, 15764 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, 15765 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, 15766 'ddos_settings': {'key': 'properties.ddosSettings', 'type': 'DdosSettings'}, 15767 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, 15768 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, 15769 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, 15770 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 15771 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 15772 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 15773 } 15774 15775 def __init__( 15776 self, 15777 *, 15778 id: Optional[str] = None, 15779 location: Optional[str] = None, 15780 tags: Optional[Dict[str, str]] = None, 15781 sku: Optional["PublicIPAddressSku"] = None, 15782 zones: Optional[List[str]] = None, 15783 public_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 15784 public_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 15785 dns_settings: Optional["PublicIPAddressDnsSettings"] = None, 15786 ddos_settings: Optional["DdosSettings"] = None, 15787 ip_tags: Optional[List["IpTag"]] = None, 15788 ip_address: Optional[str] = None, 15789 public_ip_prefix: Optional["SubResource"] = None, 15790 idle_timeout_in_minutes: Optional[int] = None, 15791 **kwargs 15792 ): 15793 super(PublicIPAddress, self).__init__(id=id, location=location, tags=tags, **kwargs) 15794 self.sku = sku 15795 self.etag = None 15796 self.zones = zones 15797 self.public_ip_allocation_method = public_ip_allocation_method 15798 self.public_ip_address_version = public_ip_address_version 15799 self.ip_configuration = None 15800 self.dns_settings = dns_settings 15801 self.ddos_settings = ddos_settings 15802 self.ip_tags = ip_tags 15803 self.ip_address = ip_address 15804 self.public_ip_prefix = public_ip_prefix 15805 self.idle_timeout_in_minutes = idle_timeout_in_minutes 15806 self.resource_guid = None 15807 self.provisioning_state = None 15808 15809 15810class PublicIPAddressDnsSettings(msrest.serialization.Model): 15811 """Contains FQDN of the DNS record associated with the public IP address. 15812 15813 :param domain_name_label: The domain name label. The concatenation of the domain name label and 15814 the regionalized DNS zone make up the fully qualified domain name associated with the public IP 15815 address. If a domain name label is specified, an A DNS record is created for the public IP in 15816 the Microsoft Azure DNS system. 15817 :type domain_name_label: str 15818 :param fqdn: The Fully Qualified Domain Name of the A DNS record associated with the public IP. 15819 This is the concatenation of the domainNameLabel and the regionalized DNS zone. 15820 :type fqdn: str 15821 :param reverse_fqdn: The reverse FQDN. A user-visible, fully qualified domain name that 15822 resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record is 15823 created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. 15824 :type reverse_fqdn: str 15825 """ 15826 15827 _attribute_map = { 15828 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, 15829 'fqdn': {'key': 'fqdn', 'type': 'str'}, 15830 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, 15831 } 15832 15833 def __init__( 15834 self, 15835 *, 15836 domain_name_label: Optional[str] = None, 15837 fqdn: Optional[str] = None, 15838 reverse_fqdn: Optional[str] = None, 15839 **kwargs 15840 ): 15841 super(PublicIPAddressDnsSettings, self).__init__(**kwargs) 15842 self.domain_name_label = domain_name_label 15843 self.fqdn = fqdn 15844 self.reverse_fqdn = reverse_fqdn 15845 15846 15847class PublicIPAddressListResult(msrest.serialization.Model): 15848 """Response for ListPublicIpAddresses API service call. 15849 15850 :param value: A list of public IP addresses that exists in a resource group. 15851 :type value: list[~azure.mgmt.network.v2019_12_01.models.PublicIPAddress] 15852 :param next_link: The URL to get the next set of results. 15853 :type next_link: str 15854 """ 15855 15856 _attribute_map = { 15857 'value': {'key': 'value', 'type': '[PublicIPAddress]'}, 15858 'next_link': {'key': 'nextLink', 'type': 'str'}, 15859 } 15860 15861 def __init__( 15862 self, 15863 *, 15864 value: Optional[List["PublicIPAddress"]] = None, 15865 next_link: Optional[str] = None, 15866 **kwargs 15867 ): 15868 super(PublicIPAddressListResult, self).__init__(**kwargs) 15869 self.value = value 15870 self.next_link = next_link 15871 15872 15873class PublicIPAddressSku(msrest.serialization.Model): 15874 """SKU of a public IP address. 15875 15876 :param name: Name of a public IP address SKU. Possible values include: "Basic", "Standard". 15877 :type name: str or ~azure.mgmt.network.v2019_12_01.models.PublicIPAddressSkuName 15878 """ 15879 15880 _attribute_map = { 15881 'name': {'key': 'name', 'type': 'str'}, 15882 } 15883 15884 def __init__( 15885 self, 15886 *, 15887 name: Optional[Union[str, "PublicIPAddressSkuName"]] = None, 15888 **kwargs 15889 ): 15890 super(PublicIPAddressSku, self).__init__(**kwargs) 15891 self.name = name 15892 15893 15894class PublicIPPrefix(Resource): 15895 """Public IP prefix resource. 15896 15897 Variables are only populated by the server, and will be ignored when sending a request. 15898 15899 :param id: Resource ID. 15900 :type id: str 15901 :ivar name: Resource name. 15902 :vartype name: str 15903 :ivar type: Resource type. 15904 :vartype type: str 15905 :param location: Resource location. 15906 :type location: str 15907 :param tags: A set of tags. Resource tags. 15908 :type tags: dict[str, str] 15909 :param sku: The public IP prefix SKU. 15910 :type sku: ~azure.mgmt.network.v2019_12_01.models.PublicIPPrefixSku 15911 :ivar etag: A unique read-only string that changes whenever the resource is updated. 15912 :vartype etag: str 15913 :param zones: A list of availability zones denoting the IP allocated for the resource needs to 15914 come from. 15915 :type zones: list[str] 15916 :param public_ip_address_version: The public IP address version. Possible values include: 15917 "IPv4", "IPv6". 15918 :type public_ip_address_version: str or ~azure.mgmt.network.v2019_12_01.models.IPVersion 15919 :param ip_tags: The list of tags associated with the public IP prefix. 15920 :type ip_tags: list[~azure.mgmt.network.v2019_12_01.models.IpTag] 15921 :param prefix_length: The Length of the Public IP Prefix. 15922 :type prefix_length: int 15923 :ivar ip_prefix: The allocated Prefix. 15924 :vartype ip_prefix: str 15925 :ivar public_ip_addresses: The list of all referenced PublicIPAddresses. 15926 :vartype public_ip_addresses: 15927 list[~azure.mgmt.network.v2019_12_01.models.ReferencedPublicIpAddress] 15928 :ivar load_balancer_frontend_ip_configuration: The reference to load balancer frontend IP 15929 configuration associated with the public IP prefix. 15930 :vartype load_balancer_frontend_ip_configuration: 15931 ~azure.mgmt.network.v2019_12_01.models.SubResource 15932 :ivar resource_guid: The resource GUID property of the public IP prefix resource. 15933 :vartype resource_guid: str 15934 :ivar provisioning_state: The provisioning state of the public IP prefix resource. Possible 15935 values include: "Succeeded", "Updating", "Deleting", "Failed". 15936 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 15937 """ 15938 15939 _validation = { 15940 'name': {'readonly': True}, 15941 'type': {'readonly': True}, 15942 'etag': {'readonly': True}, 15943 'ip_prefix': {'readonly': True}, 15944 'public_ip_addresses': {'readonly': True}, 15945 'load_balancer_frontend_ip_configuration': {'readonly': True}, 15946 'resource_guid': {'readonly': True}, 15947 'provisioning_state': {'readonly': True}, 15948 } 15949 15950 _attribute_map = { 15951 'id': {'key': 'id', 'type': 'str'}, 15952 'name': {'key': 'name', 'type': 'str'}, 15953 'type': {'key': 'type', 'type': 'str'}, 15954 'location': {'key': 'location', 'type': 'str'}, 15955 'tags': {'key': 'tags', 'type': '{str}'}, 15956 'sku': {'key': 'sku', 'type': 'PublicIPPrefixSku'}, 15957 'etag': {'key': 'etag', 'type': 'str'}, 15958 'zones': {'key': 'zones', 'type': '[str]'}, 15959 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, 15960 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, 15961 'prefix_length': {'key': 'properties.prefixLength', 'type': 'int'}, 15962 'ip_prefix': {'key': 'properties.ipPrefix', 'type': 'str'}, 15963 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[ReferencedPublicIpAddress]'}, 15964 'load_balancer_frontend_ip_configuration': {'key': 'properties.loadBalancerFrontendIpConfiguration', 'type': 'SubResource'}, 15965 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 15966 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 15967 } 15968 15969 def __init__( 15970 self, 15971 *, 15972 id: Optional[str] = None, 15973 location: Optional[str] = None, 15974 tags: Optional[Dict[str, str]] = None, 15975 sku: Optional["PublicIPPrefixSku"] = None, 15976 zones: Optional[List[str]] = None, 15977 public_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 15978 ip_tags: Optional[List["IpTag"]] = None, 15979 prefix_length: Optional[int] = None, 15980 **kwargs 15981 ): 15982 super(PublicIPPrefix, self).__init__(id=id, location=location, tags=tags, **kwargs) 15983 self.sku = sku 15984 self.etag = None 15985 self.zones = zones 15986 self.public_ip_address_version = public_ip_address_version 15987 self.ip_tags = ip_tags 15988 self.prefix_length = prefix_length 15989 self.ip_prefix = None 15990 self.public_ip_addresses = None 15991 self.load_balancer_frontend_ip_configuration = None 15992 self.resource_guid = None 15993 self.provisioning_state = None 15994 15995 15996class PublicIPPrefixListResult(msrest.serialization.Model): 15997 """Response for ListPublicIpPrefixes API service call. 15998 15999 :param value: A list of public IP prefixes that exists in a resource group. 16000 :type value: list[~azure.mgmt.network.v2019_12_01.models.PublicIPPrefix] 16001 :param next_link: The URL to get the next set of results. 16002 :type next_link: str 16003 """ 16004 16005 _attribute_map = { 16006 'value': {'key': 'value', 'type': '[PublicIPPrefix]'}, 16007 'next_link': {'key': 'nextLink', 'type': 'str'}, 16008 } 16009 16010 def __init__( 16011 self, 16012 *, 16013 value: Optional[List["PublicIPPrefix"]] = None, 16014 next_link: Optional[str] = None, 16015 **kwargs 16016 ): 16017 super(PublicIPPrefixListResult, self).__init__(**kwargs) 16018 self.value = value 16019 self.next_link = next_link 16020 16021 16022class PublicIPPrefixSku(msrest.serialization.Model): 16023 """SKU of a public IP prefix. 16024 16025 :param name: Name of a public IP prefix SKU. Possible values include: "Standard". 16026 :type name: str or ~azure.mgmt.network.v2019_12_01.models.PublicIPPrefixSkuName 16027 """ 16028 16029 _attribute_map = { 16030 'name': {'key': 'name', 'type': 'str'}, 16031 } 16032 16033 def __init__( 16034 self, 16035 *, 16036 name: Optional[Union[str, "PublicIPPrefixSkuName"]] = None, 16037 **kwargs 16038 ): 16039 super(PublicIPPrefixSku, self).__init__(**kwargs) 16040 self.name = name 16041 16042 16043class QueryTroubleshootingParameters(msrest.serialization.Model): 16044 """Parameters that define the resource to query the troubleshooting result. 16045 16046 All required parameters must be populated in order to send to Azure. 16047 16048 :param target_resource_id: Required. The target resource ID to query the troubleshooting 16049 result. 16050 :type target_resource_id: str 16051 """ 16052 16053 _validation = { 16054 'target_resource_id': {'required': True}, 16055 } 16056 16057 _attribute_map = { 16058 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 16059 } 16060 16061 def __init__( 16062 self, 16063 *, 16064 target_resource_id: str, 16065 **kwargs 16066 ): 16067 super(QueryTroubleshootingParameters, self).__init__(**kwargs) 16068 self.target_resource_id = target_resource_id 16069 16070 16071class ReferencedPublicIpAddress(msrest.serialization.Model): 16072 """Reference to a public IP address. 16073 16074 :param id: The PublicIPAddress Reference. 16075 :type id: str 16076 """ 16077 16078 _attribute_map = { 16079 'id': {'key': 'id', 'type': 'str'}, 16080 } 16081 16082 def __init__( 16083 self, 16084 *, 16085 id: Optional[str] = None, 16086 **kwargs 16087 ): 16088 super(ReferencedPublicIpAddress, self).__init__(**kwargs) 16089 self.id = id 16090 16091 16092class ResourceNavigationLink(SubResource): 16093 """ResourceNavigationLink resource. 16094 16095 Variables are only populated by the server, and will be ignored when sending a request. 16096 16097 :param id: Resource ID. 16098 :type id: str 16099 :param name: Name of the resource that is unique within a resource group. This name can be used 16100 to access the resource. 16101 :type name: str 16102 :ivar etag: A unique read-only string that changes whenever the resource is updated. 16103 :vartype etag: str 16104 :ivar type: Resource type. 16105 :vartype type: str 16106 :param linked_resource_type: Resource type of the linked resource. 16107 :type linked_resource_type: str 16108 :param link: Link to the external resource. 16109 :type link: str 16110 :ivar provisioning_state: The provisioning state of the resource navigation link resource. 16111 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 16112 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 16113 """ 16114 16115 _validation = { 16116 'etag': {'readonly': True}, 16117 'type': {'readonly': True}, 16118 'provisioning_state': {'readonly': True}, 16119 } 16120 16121 _attribute_map = { 16122 'id': {'key': 'id', 'type': 'str'}, 16123 'name': {'key': 'name', 'type': 'str'}, 16124 'etag': {'key': 'etag', 'type': 'str'}, 16125 'type': {'key': 'type', 'type': 'str'}, 16126 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, 16127 'link': {'key': 'properties.link', 'type': 'str'}, 16128 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 16129 } 16130 16131 def __init__( 16132 self, 16133 *, 16134 id: Optional[str] = None, 16135 name: Optional[str] = None, 16136 linked_resource_type: Optional[str] = None, 16137 link: Optional[str] = None, 16138 **kwargs 16139 ): 16140 super(ResourceNavigationLink, self).__init__(id=id, **kwargs) 16141 self.name = name 16142 self.etag = None 16143 self.type = None 16144 self.linked_resource_type = linked_resource_type 16145 self.link = link 16146 self.provisioning_state = None 16147 16148 16149class ResourceNavigationLinksListResult(msrest.serialization.Model): 16150 """Response for ResourceNavigationLinks_List operation. 16151 16152 Variables are only populated by the server, and will be ignored when sending a request. 16153 16154 :param value: The resource navigation links in a subnet. 16155 :type value: list[~azure.mgmt.network.v2019_12_01.models.ResourceNavigationLink] 16156 :ivar next_link: The URL to get the next set of results. 16157 :vartype next_link: str 16158 """ 16159 16160 _validation = { 16161 'next_link': {'readonly': True}, 16162 } 16163 16164 _attribute_map = { 16165 'value': {'key': 'value', 'type': '[ResourceNavigationLink]'}, 16166 'next_link': {'key': 'nextLink', 'type': 'str'}, 16167 } 16168 16169 def __init__( 16170 self, 16171 *, 16172 value: Optional[List["ResourceNavigationLink"]] = None, 16173 **kwargs 16174 ): 16175 super(ResourceNavigationLinksListResult, self).__init__(**kwargs) 16176 self.value = value 16177 self.next_link = None 16178 16179 16180class RetentionPolicyParameters(msrest.serialization.Model): 16181 """Parameters that define the retention policy for flow log. 16182 16183 :param days: Number of days to retain flow log records. 16184 :type days: int 16185 :param enabled: Flag to enable/disable retention. 16186 :type enabled: bool 16187 """ 16188 16189 _attribute_map = { 16190 'days': {'key': 'days', 'type': 'int'}, 16191 'enabled': {'key': 'enabled', 'type': 'bool'}, 16192 } 16193 16194 def __init__( 16195 self, 16196 *, 16197 days: Optional[int] = 0, 16198 enabled: Optional[bool] = False, 16199 **kwargs 16200 ): 16201 super(RetentionPolicyParameters, self).__init__(**kwargs) 16202 self.days = days 16203 self.enabled = enabled 16204 16205 16206class Route(SubResource): 16207 """Route resource. 16208 16209 Variables are only populated by the server, and will be ignored when sending a request. 16210 16211 :param id: Resource ID. 16212 :type id: str 16213 :param name: The name of the resource that is unique within a resource group. This name can be 16214 used to access the resource. 16215 :type name: str 16216 :ivar etag: A unique read-only string that changes whenever the resource is updated. 16217 :vartype etag: str 16218 :param address_prefix: The destination CIDR to which the route applies. 16219 :type address_prefix: str 16220 :param next_hop_type: The type of Azure hop the packet should be sent to. Possible values 16221 include: "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None". 16222 :type next_hop_type: str or ~azure.mgmt.network.v2019_12_01.models.RouteNextHopType 16223 :param next_hop_ip_address: The IP address packets should be forwarded to. Next hop values are 16224 only allowed in routes where the next hop type is VirtualAppliance. 16225 :type next_hop_ip_address: str 16226 :ivar provisioning_state: The provisioning state of the route resource. Possible values 16227 include: "Succeeded", "Updating", "Deleting", "Failed". 16228 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 16229 """ 16230 16231 _validation = { 16232 'etag': {'readonly': True}, 16233 'provisioning_state': {'readonly': True}, 16234 } 16235 16236 _attribute_map = { 16237 'id': {'key': 'id', 'type': 'str'}, 16238 'name': {'key': 'name', 'type': 'str'}, 16239 'etag': {'key': 'etag', 'type': 'str'}, 16240 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 16241 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, 16242 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, 16243 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 16244 } 16245 16246 def __init__( 16247 self, 16248 *, 16249 id: Optional[str] = None, 16250 name: Optional[str] = None, 16251 address_prefix: Optional[str] = None, 16252 next_hop_type: Optional[Union[str, "RouteNextHopType"]] = None, 16253 next_hop_ip_address: Optional[str] = None, 16254 **kwargs 16255 ): 16256 super(Route, self).__init__(id=id, **kwargs) 16257 self.name = name 16258 self.etag = None 16259 self.address_prefix = address_prefix 16260 self.next_hop_type = next_hop_type 16261 self.next_hop_ip_address = next_hop_ip_address 16262 self.provisioning_state = None 16263 16264 16265class RouteFilter(Resource): 16266 """Route Filter Resource. 16267 16268 Variables are only populated by the server, and will be ignored when sending a request. 16269 16270 :param id: Resource ID. 16271 :type id: str 16272 :ivar name: Resource name. 16273 :vartype name: str 16274 :ivar type: Resource type. 16275 :vartype type: str 16276 :param location: Resource location. 16277 :type location: str 16278 :param tags: A set of tags. Resource tags. 16279 :type tags: dict[str, str] 16280 :ivar etag: A unique read-only string that changes whenever the resource is updated. 16281 :vartype etag: str 16282 :param rules: Collection of RouteFilterRules contained within a route filter. 16283 :type rules: list[~azure.mgmt.network.v2019_12_01.models.RouteFilterRule] 16284 :ivar peerings: A collection of references to express route circuit peerings. 16285 :vartype peerings: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitPeering] 16286 :ivar ipv6_peerings: A collection of references to express route circuit ipv6 peerings. 16287 :vartype ipv6_peerings: list[~azure.mgmt.network.v2019_12_01.models.ExpressRouteCircuitPeering] 16288 :ivar provisioning_state: The provisioning state of the route filter resource. Possible values 16289 include: "Succeeded", "Updating", "Deleting", "Failed". 16290 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 16291 """ 16292 16293 _validation = { 16294 'name': {'readonly': True}, 16295 'type': {'readonly': True}, 16296 'etag': {'readonly': True}, 16297 'peerings': {'readonly': True}, 16298 'ipv6_peerings': {'readonly': True}, 16299 'provisioning_state': {'readonly': True}, 16300 } 16301 16302 _attribute_map = { 16303 'id': {'key': 'id', 'type': 'str'}, 16304 'name': {'key': 'name', 'type': 'str'}, 16305 'type': {'key': 'type', 'type': 'str'}, 16306 'location': {'key': 'location', 'type': 'str'}, 16307 'tags': {'key': 'tags', 'type': '{str}'}, 16308 'etag': {'key': 'etag', 'type': 'str'}, 16309 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, 16310 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, 16311 'ipv6_peerings': {'key': 'properties.ipv6Peerings', 'type': '[ExpressRouteCircuitPeering]'}, 16312 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 16313 } 16314 16315 def __init__( 16316 self, 16317 *, 16318 id: Optional[str] = None, 16319 location: Optional[str] = None, 16320 tags: Optional[Dict[str, str]] = None, 16321 rules: Optional[List["RouteFilterRule"]] = None, 16322 **kwargs 16323 ): 16324 super(RouteFilter, self).__init__(id=id, location=location, tags=tags, **kwargs) 16325 self.etag = None 16326 self.rules = rules 16327 self.peerings = None 16328 self.ipv6_peerings = None 16329 self.provisioning_state = None 16330 16331 16332class RouteFilterListResult(msrest.serialization.Model): 16333 """Response for the ListRouteFilters API service call. 16334 16335 :param value: A list of route filters in a resource group. 16336 :type value: list[~azure.mgmt.network.v2019_12_01.models.RouteFilter] 16337 :param next_link: The URL to get the next set of results. 16338 :type next_link: str 16339 """ 16340 16341 _attribute_map = { 16342 'value': {'key': 'value', 'type': '[RouteFilter]'}, 16343 'next_link': {'key': 'nextLink', 'type': 'str'}, 16344 } 16345 16346 def __init__( 16347 self, 16348 *, 16349 value: Optional[List["RouteFilter"]] = None, 16350 next_link: Optional[str] = None, 16351 **kwargs 16352 ): 16353 super(RouteFilterListResult, self).__init__(**kwargs) 16354 self.value = value 16355 self.next_link = next_link 16356 16357 16358class RouteFilterRule(SubResource): 16359 """Route Filter Rule Resource. 16360 16361 Variables are only populated by the server, and will be ignored when sending a request. 16362 16363 :param id: Resource ID. 16364 :type id: str 16365 :param name: The name of the resource that is unique within a resource group. This name can be 16366 used to access the resource. 16367 :type name: str 16368 :param location: Resource location. 16369 :type location: str 16370 :ivar etag: A unique read-only string that changes whenever the resource is updated. 16371 :vartype etag: str 16372 :param access: The access type of the rule. Possible values include: "Allow", "Deny". 16373 :type access: str or ~azure.mgmt.network.v2019_12_01.models.Access 16374 :param route_filter_rule_type: The rule type of the rule. Possible values include: "Community". 16375 :type route_filter_rule_type: str or ~azure.mgmt.network.v2019_12_01.models.RouteFilterRuleType 16376 :param communities: The collection for bgp community values to filter on. e.g. 16377 ['12076:5010','12076:5020']. 16378 :type communities: list[str] 16379 :ivar provisioning_state: The provisioning state of the route filter rule resource. Possible 16380 values include: "Succeeded", "Updating", "Deleting", "Failed". 16381 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 16382 """ 16383 16384 _validation = { 16385 'etag': {'readonly': True}, 16386 'provisioning_state': {'readonly': True}, 16387 } 16388 16389 _attribute_map = { 16390 'id': {'key': 'id', 'type': 'str'}, 16391 'name': {'key': 'name', 'type': 'str'}, 16392 'location': {'key': 'location', 'type': 'str'}, 16393 'etag': {'key': 'etag', 'type': 'str'}, 16394 'access': {'key': 'properties.access', 'type': 'str'}, 16395 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, 16396 'communities': {'key': 'properties.communities', 'type': '[str]'}, 16397 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 16398 } 16399 16400 def __init__( 16401 self, 16402 *, 16403 id: Optional[str] = None, 16404 name: Optional[str] = None, 16405 location: Optional[str] = None, 16406 access: Optional[Union[str, "Access"]] = None, 16407 route_filter_rule_type: Optional[Union[str, "RouteFilterRuleType"]] = None, 16408 communities: Optional[List[str]] = None, 16409 **kwargs 16410 ): 16411 super(RouteFilterRule, self).__init__(id=id, **kwargs) 16412 self.name = name 16413 self.location = location 16414 self.etag = None 16415 self.access = access 16416 self.route_filter_rule_type = route_filter_rule_type 16417 self.communities = communities 16418 self.provisioning_state = None 16419 16420 16421class RouteFilterRuleListResult(msrest.serialization.Model): 16422 """Response for the ListRouteFilterRules API service call. 16423 16424 :param value: A list of RouteFilterRules in a resource group. 16425 :type value: list[~azure.mgmt.network.v2019_12_01.models.RouteFilterRule] 16426 :param next_link: The URL to get the next set of results. 16427 :type next_link: str 16428 """ 16429 16430 _attribute_map = { 16431 'value': {'key': 'value', 'type': '[RouteFilterRule]'}, 16432 'next_link': {'key': 'nextLink', 'type': 'str'}, 16433 } 16434 16435 def __init__( 16436 self, 16437 *, 16438 value: Optional[List["RouteFilterRule"]] = None, 16439 next_link: Optional[str] = None, 16440 **kwargs 16441 ): 16442 super(RouteFilterRuleListResult, self).__init__(**kwargs) 16443 self.value = value 16444 self.next_link = next_link 16445 16446 16447class RouteListResult(msrest.serialization.Model): 16448 """Response for the ListRoute API service call. 16449 16450 :param value: A list of routes in a resource group. 16451 :type value: list[~azure.mgmt.network.v2019_12_01.models.Route] 16452 :param next_link: The URL to get the next set of results. 16453 :type next_link: str 16454 """ 16455 16456 _attribute_map = { 16457 'value': {'key': 'value', 'type': '[Route]'}, 16458 'next_link': {'key': 'nextLink', 'type': 'str'}, 16459 } 16460 16461 def __init__( 16462 self, 16463 *, 16464 value: Optional[List["Route"]] = None, 16465 next_link: Optional[str] = None, 16466 **kwargs 16467 ): 16468 super(RouteListResult, self).__init__(**kwargs) 16469 self.value = value 16470 self.next_link = next_link 16471 16472 16473class RouteTable(Resource): 16474 """Route table resource. 16475 16476 Variables are only populated by the server, and will be ignored when sending a request. 16477 16478 :param id: Resource ID. 16479 :type id: str 16480 :ivar name: Resource name. 16481 :vartype name: str 16482 :ivar type: Resource type. 16483 :vartype type: str 16484 :param location: Resource location. 16485 :type location: str 16486 :param tags: A set of tags. Resource tags. 16487 :type tags: dict[str, str] 16488 :ivar etag: A unique read-only string that changes whenever the resource is updated. 16489 :vartype etag: str 16490 :param routes: Collection of routes contained within a route table. 16491 :type routes: list[~azure.mgmt.network.v2019_12_01.models.Route] 16492 :ivar subnets: A collection of references to subnets. 16493 :vartype subnets: list[~azure.mgmt.network.v2019_12_01.models.Subnet] 16494 :param disable_bgp_route_propagation: Whether to disable the routes learned by BGP on that 16495 route table. True means disable. 16496 :type disable_bgp_route_propagation: bool 16497 :ivar provisioning_state: The provisioning state of the route table resource. Possible values 16498 include: "Succeeded", "Updating", "Deleting", "Failed". 16499 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 16500 """ 16501 16502 _validation = { 16503 'name': {'readonly': True}, 16504 'type': {'readonly': True}, 16505 'etag': {'readonly': True}, 16506 'subnets': {'readonly': True}, 16507 'provisioning_state': {'readonly': True}, 16508 } 16509 16510 _attribute_map = { 16511 'id': {'key': 'id', 'type': 'str'}, 16512 'name': {'key': 'name', 'type': 'str'}, 16513 'type': {'key': 'type', 'type': 'str'}, 16514 'location': {'key': 'location', 'type': 'str'}, 16515 'tags': {'key': 'tags', 'type': '{str}'}, 16516 'etag': {'key': 'etag', 'type': 'str'}, 16517 'routes': {'key': 'properties.routes', 'type': '[Route]'}, 16518 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 16519 'disable_bgp_route_propagation': {'key': 'properties.disableBgpRoutePropagation', 'type': 'bool'}, 16520 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 16521 } 16522 16523 def __init__( 16524 self, 16525 *, 16526 id: Optional[str] = None, 16527 location: Optional[str] = None, 16528 tags: Optional[Dict[str, str]] = None, 16529 routes: Optional[List["Route"]] = None, 16530 disable_bgp_route_propagation: Optional[bool] = None, 16531 **kwargs 16532 ): 16533 super(RouteTable, self).__init__(id=id, location=location, tags=tags, **kwargs) 16534 self.etag = None 16535 self.routes = routes 16536 self.subnets = None 16537 self.disable_bgp_route_propagation = disable_bgp_route_propagation 16538 self.provisioning_state = None 16539 16540 16541class RouteTableListResult(msrest.serialization.Model): 16542 """Response for the ListRouteTable API service call. 16543 16544 :param value: A list of route tables in a resource group. 16545 :type value: list[~azure.mgmt.network.v2019_12_01.models.RouteTable] 16546 :param next_link: The URL to get the next set of results. 16547 :type next_link: str 16548 """ 16549 16550 _attribute_map = { 16551 'value': {'key': 'value', 'type': '[RouteTable]'}, 16552 'next_link': {'key': 'nextLink', 'type': 'str'}, 16553 } 16554 16555 def __init__( 16556 self, 16557 *, 16558 value: Optional[List["RouteTable"]] = None, 16559 next_link: Optional[str] = None, 16560 **kwargs 16561 ): 16562 super(RouteTableListResult, self).__init__(**kwargs) 16563 self.value = value 16564 self.next_link = next_link 16565 16566 16567class SecurityGroupNetworkInterface(msrest.serialization.Model): 16568 """Network interface and all its associated security rules. 16569 16570 :param id: ID of the network interface. 16571 :type id: str 16572 :param security_rule_associations: All security rules associated with the network interface. 16573 :type security_rule_associations: 16574 ~azure.mgmt.network.v2019_12_01.models.SecurityRuleAssociations 16575 """ 16576 16577 _attribute_map = { 16578 'id': {'key': 'id', 'type': 'str'}, 16579 'security_rule_associations': {'key': 'securityRuleAssociations', 'type': 'SecurityRuleAssociations'}, 16580 } 16581 16582 def __init__( 16583 self, 16584 *, 16585 id: Optional[str] = None, 16586 security_rule_associations: Optional["SecurityRuleAssociations"] = None, 16587 **kwargs 16588 ): 16589 super(SecurityGroupNetworkInterface, self).__init__(**kwargs) 16590 self.id = id 16591 self.security_rule_associations = security_rule_associations 16592 16593 16594class SecurityGroupViewParameters(msrest.serialization.Model): 16595 """Parameters that define the VM to check security groups for. 16596 16597 All required parameters must be populated in order to send to Azure. 16598 16599 :param target_resource_id: Required. ID of the target VM. 16600 :type target_resource_id: str 16601 """ 16602 16603 _validation = { 16604 'target_resource_id': {'required': True}, 16605 } 16606 16607 _attribute_map = { 16608 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 16609 } 16610 16611 def __init__( 16612 self, 16613 *, 16614 target_resource_id: str, 16615 **kwargs 16616 ): 16617 super(SecurityGroupViewParameters, self).__init__(**kwargs) 16618 self.target_resource_id = target_resource_id 16619 16620 16621class SecurityGroupViewResult(msrest.serialization.Model): 16622 """The information about security rules applied to the specified VM. 16623 16624 :param network_interfaces: List of network interfaces on the specified VM. 16625 :type network_interfaces: 16626 list[~azure.mgmt.network.v2019_12_01.models.SecurityGroupNetworkInterface] 16627 """ 16628 16629 _attribute_map = { 16630 'network_interfaces': {'key': 'networkInterfaces', 'type': '[SecurityGroupNetworkInterface]'}, 16631 } 16632 16633 def __init__( 16634 self, 16635 *, 16636 network_interfaces: Optional[List["SecurityGroupNetworkInterface"]] = None, 16637 **kwargs 16638 ): 16639 super(SecurityGroupViewResult, self).__init__(**kwargs) 16640 self.network_interfaces = network_interfaces 16641 16642 16643class SecurityRule(SubResource): 16644 """Network security rule. 16645 16646 Variables are only populated by the server, and will be ignored when sending a request. 16647 16648 :param id: Resource ID. 16649 :type id: str 16650 :param name: The name of the resource that is unique within a resource group. This name can be 16651 used to access the resource. 16652 :type name: str 16653 :ivar etag: A unique read-only string that changes whenever the resource is updated. 16654 :vartype etag: str 16655 :param description: A description for this rule. Restricted to 140 chars. 16656 :type description: str 16657 :param protocol: Network protocol this rule applies to. Possible values include: "Tcp", "Udp", 16658 "Icmp", "Esp", "*", "Ah". 16659 :type protocol: str or ~azure.mgmt.network.v2019_12_01.models.SecurityRuleProtocol 16660 :param source_port_range: The source port or range. Integer or range between 0 and 65535. 16661 Asterisk '*' can also be used to match all ports. 16662 :type source_port_range: str 16663 :param destination_port_range: The destination port or range. Integer or range between 0 and 16664 65535. Asterisk '*' can also be used to match all ports. 16665 :type destination_port_range: str 16666 :param source_address_prefix: The CIDR or source IP range. Asterisk '*' can also be used to 16667 match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' 16668 can also be used. If this is an ingress rule, specifies where network traffic originates from. 16669 :type source_address_prefix: str 16670 :param source_address_prefixes: The CIDR or source IP ranges. 16671 :type source_address_prefixes: list[str] 16672 :param source_application_security_groups: The application security group specified as source. 16673 :type source_application_security_groups: 16674 list[~azure.mgmt.network.v2019_12_01.models.ApplicationSecurityGroup] 16675 :param destination_address_prefix: The destination address prefix. CIDR or destination IP 16676 range. Asterisk '*' can also be used to match all source IPs. Default tags such as 16677 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. 16678 :type destination_address_prefix: str 16679 :param destination_address_prefixes: The destination address prefixes. CIDR or destination IP 16680 ranges. 16681 :type destination_address_prefixes: list[str] 16682 :param destination_application_security_groups: The application security group specified as 16683 destination. 16684 :type destination_application_security_groups: 16685 list[~azure.mgmt.network.v2019_12_01.models.ApplicationSecurityGroup] 16686 :param source_port_ranges: The source port ranges. 16687 :type source_port_ranges: list[str] 16688 :param destination_port_ranges: The destination port ranges. 16689 :type destination_port_ranges: list[str] 16690 :param access: The network traffic is allowed or denied. Possible values include: "Allow", 16691 "Deny". 16692 :type access: str or ~azure.mgmt.network.v2019_12_01.models.SecurityRuleAccess 16693 :param priority: The priority of the rule. The value can be between 100 and 4096. The priority 16694 number must be unique for each rule in the collection. The lower the priority number, the 16695 higher the priority of the rule. 16696 :type priority: int 16697 :param direction: The direction of the rule. The direction specifies if rule will be evaluated 16698 on incoming or outgoing traffic. Possible values include: "Inbound", "Outbound". 16699 :type direction: str or ~azure.mgmt.network.v2019_12_01.models.SecurityRuleDirection 16700 :ivar provisioning_state: The provisioning state of the security rule resource. Possible values 16701 include: "Succeeded", "Updating", "Deleting", "Failed". 16702 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 16703 """ 16704 16705 _validation = { 16706 'etag': {'readonly': True}, 16707 'provisioning_state': {'readonly': True}, 16708 } 16709 16710 _attribute_map = { 16711 'id': {'key': 'id', 'type': 'str'}, 16712 'name': {'key': 'name', 'type': 'str'}, 16713 'etag': {'key': 'etag', 'type': 'str'}, 16714 'description': {'key': 'properties.description', 'type': 'str'}, 16715 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 16716 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, 16717 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, 16718 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, 16719 'source_address_prefixes': {'key': 'properties.sourceAddressPrefixes', 'type': '[str]'}, 16720 'source_application_security_groups': {'key': 'properties.sourceApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, 16721 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, 16722 'destination_address_prefixes': {'key': 'properties.destinationAddressPrefixes', 'type': '[str]'}, 16723 'destination_application_security_groups': {'key': 'properties.destinationApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, 16724 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, 16725 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, 16726 'access': {'key': 'properties.access', 'type': 'str'}, 16727 'priority': {'key': 'properties.priority', 'type': 'int'}, 16728 'direction': {'key': 'properties.direction', 'type': 'str'}, 16729 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 16730 } 16731 16732 def __init__( 16733 self, 16734 *, 16735 id: Optional[str] = None, 16736 name: Optional[str] = None, 16737 description: Optional[str] = None, 16738 protocol: Optional[Union[str, "SecurityRuleProtocol"]] = None, 16739 source_port_range: Optional[str] = None, 16740 destination_port_range: Optional[str] = None, 16741 source_address_prefix: Optional[str] = None, 16742 source_address_prefixes: Optional[List[str]] = None, 16743 source_application_security_groups: Optional[List["ApplicationSecurityGroup"]] = None, 16744 destination_address_prefix: Optional[str] = None, 16745 destination_address_prefixes: Optional[List[str]] = None, 16746 destination_application_security_groups: Optional[List["ApplicationSecurityGroup"]] = None, 16747 source_port_ranges: Optional[List[str]] = None, 16748 destination_port_ranges: Optional[List[str]] = None, 16749 access: Optional[Union[str, "SecurityRuleAccess"]] = None, 16750 priority: Optional[int] = None, 16751 direction: Optional[Union[str, "SecurityRuleDirection"]] = None, 16752 **kwargs 16753 ): 16754 super(SecurityRule, self).__init__(id=id, **kwargs) 16755 self.name = name 16756 self.etag = None 16757 self.description = description 16758 self.protocol = protocol 16759 self.source_port_range = source_port_range 16760 self.destination_port_range = destination_port_range 16761 self.source_address_prefix = source_address_prefix 16762 self.source_address_prefixes = source_address_prefixes 16763 self.source_application_security_groups = source_application_security_groups 16764 self.destination_address_prefix = destination_address_prefix 16765 self.destination_address_prefixes = destination_address_prefixes 16766 self.destination_application_security_groups = destination_application_security_groups 16767 self.source_port_ranges = source_port_ranges 16768 self.destination_port_ranges = destination_port_ranges 16769 self.access = access 16770 self.priority = priority 16771 self.direction = direction 16772 self.provisioning_state = None 16773 16774 16775class SecurityRuleAssociations(msrest.serialization.Model): 16776 """All security rules associated with the network interface. 16777 16778 :param network_interface_association: Network interface and it's custom security rules. 16779 :type network_interface_association: 16780 ~azure.mgmt.network.v2019_12_01.models.NetworkInterfaceAssociation 16781 :param subnet_association: Subnet and it's custom security rules. 16782 :type subnet_association: ~azure.mgmt.network.v2019_12_01.models.SubnetAssociation 16783 :param default_security_rules: Collection of default security rules of the network security 16784 group. 16785 :type default_security_rules: list[~azure.mgmt.network.v2019_12_01.models.SecurityRule] 16786 :param effective_security_rules: Collection of effective security rules. 16787 :type effective_security_rules: 16788 list[~azure.mgmt.network.v2019_12_01.models.EffectiveNetworkSecurityRule] 16789 """ 16790 16791 _attribute_map = { 16792 'network_interface_association': {'key': 'networkInterfaceAssociation', 'type': 'NetworkInterfaceAssociation'}, 16793 'subnet_association': {'key': 'subnetAssociation', 'type': 'SubnetAssociation'}, 16794 'default_security_rules': {'key': 'defaultSecurityRules', 'type': '[SecurityRule]'}, 16795 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, 16796 } 16797 16798 def __init__( 16799 self, 16800 *, 16801 network_interface_association: Optional["NetworkInterfaceAssociation"] = None, 16802 subnet_association: Optional["SubnetAssociation"] = None, 16803 default_security_rules: Optional[List["SecurityRule"]] = None, 16804 effective_security_rules: Optional[List["EffectiveNetworkSecurityRule"]] = None, 16805 **kwargs 16806 ): 16807 super(SecurityRuleAssociations, self).__init__(**kwargs) 16808 self.network_interface_association = network_interface_association 16809 self.subnet_association = subnet_association 16810 self.default_security_rules = default_security_rules 16811 self.effective_security_rules = effective_security_rules 16812 16813 16814class SecurityRuleListResult(msrest.serialization.Model): 16815 """Response for ListSecurityRule API service call. Retrieves all security rules that belongs to a network security group. 16816 16817 :param value: The security rules in a network security group. 16818 :type value: list[~azure.mgmt.network.v2019_12_01.models.SecurityRule] 16819 :param next_link: The URL to get the next set of results. 16820 :type next_link: str 16821 """ 16822 16823 _attribute_map = { 16824 'value': {'key': 'value', 'type': '[SecurityRule]'}, 16825 'next_link': {'key': 'nextLink', 'type': 'str'}, 16826 } 16827 16828 def __init__( 16829 self, 16830 *, 16831 value: Optional[List["SecurityRule"]] = None, 16832 next_link: Optional[str] = None, 16833 **kwargs 16834 ): 16835 super(SecurityRuleListResult, self).__init__(**kwargs) 16836 self.value = value 16837 self.next_link = next_link 16838 16839 16840class ServiceAssociationLink(SubResource): 16841 """ServiceAssociationLink resource. 16842 16843 Variables are only populated by the server, and will be ignored when sending a request. 16844 16845 :param id: Resource ID. 16846 :type id: str 16847 :param name: Name of the resource that is unique within a resource group. This name can be used 16848 to access the resource. 16849 :type name: str 16850 :ivar etag: A unique read-only string that changes whenever the resource is updated. 16851 :vartype etag: str 16852 :ivar type: Resource type. 16853 :vartype type: str 16854 :param linked_resource_type: Resource type of the linked resource. 16855 :type linked_resource_type: str 16856 :param link: Link to the external resource. 16857 :type link: str 16858 :ivar provisioning_state: The provisioning state of the service association link resource. 16859 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 16860 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 16861 :param allow_delete: If true, the resource can be deleted. 16862 :type allow_delete: bool 16863 :param locations: A list of locations. 16864 :type locations: list[str] 16865 """ 16866 16867 _validation = { 16868 'etag': {'readonly': True}, 16869 'type': {'readonly': True}, 16870 'provisioning_state': {'readonly': True}, 16871 } 16872 16873 _attribute_map = { 16874 'id': {'key': 'id', 'type': 'str'}, 16875 'name': {'key': 'name', 'type': 'str'}, 16876 'etag': {'key': 'etag', 'type': 'str'}, 16877 'type': {'key': 'type', 'type': 'str'}, 16878 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, 16879 'link': {'key': 'properties.link', 'type': 'str'}, 16880 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 16881 'allow_delete': {'key': 'properties.allowDelete', 'type': 'bool'}, 16882 'locations': {'key': 'properties.locations', 'type': '[str]'}, 16883 } 16884 16885 def __init__( 16886 self, 16887 *, 16888 id: Optional[str] = None, 16889 name: Optional[str] = None, 16890 linked_resource_type: Optional[str] = None, 16891 link: Optional[str] = None, 16892 allow_delete: Optional[bool] = None, 16893 locations: Optional[List[str]] = None, 16894 **kwargs 16895 ): 16896 super(ServiceAssociationLink, self).__init__(id=id, **kwargs) 16897 self.name = name 16898 self.etag = None 16899 self.type = None 16900 self.linked_resource_type = linked_resource_type 16901 self.link = link 16902 self.provisioning_state = None 16903 self.allow_delete = allow_delete 16904 self.locations = locations 16905 16906 16907class ServiceAssociationLinksListResult(msrest.serialization.Model): 16908 """Response for ServiceAssociationLinks_List operation. 16909 16910 Variables are only populated by the server, and will be ignored when sending a request. 16911 16912 :param value: The service association links in a subnet. 16913 :type value: list[~azure.mgmt.network.v2019_12_01.models.ServiceAssociationLink] 16914 :ivar next_link: The URL to get the next set of results. 16915 :vartype next_link: str 16916 """ 16917 16918 _validation = { 16919 'next_link': {'readonly': True}, 16920 } 16921 16922 _attribute_map = { 16923 'value': {'key': 'value', 'type': '[ServiceAssociationLink]'}, 16924 'next_link': {'key': 'nextLink', 'type': 'str'}, 16925 } 16926 16927 def __init__( 16928 self, 16929 *, 16930 value: Optional[List["ServiceAssociationLink"]] = None, 16931 **kwargs 16932 ): 16933 super(ServiceAssociationLinksListResult, self).__init__(**kwargs) 16934 self.value = value 16935 self.next_link = None 16936 16937 16938class ServiceEndpointPolicy(Resource): 16939 """Service End point policy resource. 16940 16941 Variables are only populated by the server, and will be ignored when sending a request. 16942 16943 :param id: Resource ID. 16944 :type id: str 16945 :ivar name: Resource name. 16946 :vartype name: str 16947 :ivar type: Resource type. 16948 :vartype type: str 16949 :param location: Resource location. 16950 :type location: str 16951 :param tags: A set of tags. Resource tags. 16952 :type tags: dict[str, str] 16953 :ivar etag: A unique read-only string that changes whenever the resource is updated. 16954 :vartype etag: str 16955 :param service_endpoint_policy_definitions: A collection of service endpoint policy definitions 16956 of the service endpoint policy. 16957 :type service_endpoint_policy_definitions: 16958 list[~azure.mgmt.network.v2019_12_01.models.ServiceEndpointPolicyDefinition] 16959 :ivar subnets: A collection of references to subnets. 16960 :vartype subnets: list[~azure.mgmt.network.v2019_12_01.models.Subnet] 16961 :ivar resource_guid: The resource GUID property of the service endpoint policy resource. 16962 :vartype resource_guid: str 16963 :ivar provisioning_state: The provisioning state of the service endpoint policy resource. 16964 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 16965 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 16966 """ 16967 16968 _validation = { 16969 'name': {'readonly': True}, 16970 'type': {'readonly': True}, 16971 'etag': {'readonly': True}, 16972 'subnets': {'readonly': True}, 16973 'resource_guid': {'readonly': True}, 16974 'provisioning_state': {'readonly': True}, 16975 } 16976 16977 _attribute_map = { 16978 'id': {'key': 'id', 'type': 'str'}, 16979 'name': {'key': 'name', 'type': 'str'}, 16980 'type': {'key': 'type', 'type': 'str'}, 16981 'location': {'key': 'location', 'type': 'str'}, 16982 'tags': {'key': 'tags', 'type': '{str}'}, 16983 'etag': {'key': 'etag', 'type': 'str'}, 16984 'service_endpoint_policy_definitions': {'key': 'properties.serviceEndpointPolicyDefinitions', 'type': '[ServiceEndpointPolicyDefinition]'}, 16985 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 16986 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 16987 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 16988 } 16989 16990 def __init__( 16991 self, 16992 *, 16993 id: Optional[str] = None, 16994 location: Optional[str] = None, 16995 tags: Optional[Dict[str, str]] = None, 16996 service_endpoint_policy_definitions: Optional[List["ServiceEndpointPolicyDefinition"]] = None, 16997 **kwargs 16998 ): 16999 super(ServiceEndpointPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) 17000 self.etag = None 17001 self.service_endpoint_policy_definitions = service_endpoint_policy_definitions 17002 self.subnets = None 17003 self.resource_guid = None 17004 self.provisioning_state = None 17005 17006 17007class ServiceEndpointPolicyDefinition(SubResource): 17008 """Service Endpoint policy definitions. 17009 17010 Variables are only populated by the server, and will be ignored when sending a request. 17011 17012 :param id: Resource ID. 17013 :type id: str 17014 :param name: The name of the resource that is unique within a resource group. This name can be 17015 used to access the resource. 17016 :type name: str 17017 :ivar etag: A unique read-only string that changes whenever the resource is updated. 17018 :vartype etag: str 17019 :param description: A description for this rule. Restricted to 140 chars. 17020 :type description: str 17021 :param service: Service endpoint name. 17022 :type service: str 17023 :param service_resources: A list of service resources. 17024 :type service_resources: list[str] 17025 :ivar provisioning_state: The provisioning state of the service endpoint policy definition 17026 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 17027 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 17028 """ 17029 17030 _validation = { 17031 'etag': {'readonly': True}, 17032 'provisioning_state': {'readonly': True}, 17033 } 17034 17035 _attribute_map = { 17036 'id': {'key': 'id', 'type': 'str'}, 17037 'name': {'key': 'name', 'type': 'str'}, 17038 'etag': {'key': 'etag', 'type': 'str'}, 17039 'description': {'key': 'properties.description', 'type': 'str'}, 17040 'service': {'key': 'properties.service', 'type': 'str'}, 17041 'service_resources': {'key': 'properties.serviceResources', 'type': '[str]'}, 17042 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 17043 } 17044 17045 def __init__( 17046 self, 17047 *, 17048 id: Optional[str] = None, 17049 name: Optional[str] = None, 17050 description: Optional[str] = None, 17051 service: Optional[str] = None, 17052 service_resources: Optional[List[str]] = None, 17053 **kwargs 17054 ): 17055 super(ServiceEndpointPolicyDefinition, self).__init__(id=id, **kwargs) 17056 self.name = name 17057 self.etag = None 17058 self.description = description 17059 self.service = service 17060 self.service_resources = service_resources 17061 self.provisioning_state = None 17062 17063 17064class ServiceEndpointPolicyDefinitionListResult(msrest.serialization.Model): 17065 """Response for ListServiceEndpointPolicyDefinition API service call. Retrieves all service endpoint policy definition that belongs to a service endpoint policy. 17066 17067 :param value: The service endpoint policy definition in a service endpoint policy. 17068 :type value: list[~azure.mgmt.network.v2019_12_01.models.ServiceEndpointPolicyDefinition] 17069 :param next_link: The URL to get the next set of results. 17070 :type next_link: str 17071 """ 17072 17073 _attribute_map = { 17074 'value': {'key': 'value', 'type': '[ServiceEndpointPolicyDefinition]'}, 17075 'next_link': {'key': 'nextLink', 'type': 'str'}, 17076 } 17077 17078 def __init__( 17079 self, 17080 *, 17081 value: Optional[List["ServiceEndpointPolicyDefinition"]] = None, 17082 next_link: Optional[str] = None, 17083 **kwargs 17084 ): 17085 super(ServiceEndpointPolicyDefinitionListResult, self).__init__(**kwargs) 17086 self.value = value 17087 self.next_link = next_link 17088 17089 17090class ServiceEndpointPolicyListResult(msrest.serialization.Model): 17091 """Response for ListServiceEndpointPolicies API service call. 17092 17093 Variables are only populated by the server, and will be ignored when sending a request. 17094 17095 :param value: A list of ServiceEndpointPolicy resources. 17096 :type value: list[~azure.mgmt.network.v2019_12_01.models.ServiceEndpointPolicy] 17097 :ivar next_link: The URL to get the next set of results. 17098 :vartype next_link: str 17099 """ 17100 17101 _validation = { 17102 'next_link': {'readonly': True}, 17103 } 17104 17105 _attribute_map = { 17106 'value': {'key': 'value', 'type': '[ServiceEndpointPolicy]'}, 17107 'next_link': {'key': 'nextLink', 'type': 'str'}, 17108 } 17109 17110 def __init__( 17111 self, 17112 *, 17113 value: Optional[List["ServiceEndpointPolicy"]] = None, 17114 **kwargs 17115 ): 17116 super(ServiceEndpointPolicyListResult, self).__init__(**kwargs) 17117 self.value = value 17118 self.next_link = None 17119 17120 17121class ServiceEndpointPropertiesFormat(msrest.serialization.Model): 17122 """The service endpoint properties. 17123 17124 Variables are only populated by the server, and will be ignored when sending a request. 17125 17126 :param service: The type of the endpoint service. 17127 :type service: str 17128 :param locations: A list of locations. 17129 :type locations: list[str] 17130 :ivar provisioning_state: The provisioning state of the service endpoint resource. Possible 17131 values include: "Succeeded", "Updating", "Deleting", "Failed". 17132 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 17133 """ 17134 17135 _validation = { 17136 'provisioning_state': {'readonly': True}, 17137 } 17138 17139 _attribute_map = { 17140 'service': {'key': 'service', 'type': 'str'}, 17141 'locations': {'key': 'locations', 'type': '[str]'}, 17142 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 17143 } 17144 17145 def __init__( 17146 self, 17147 *, 17148 service: Optional[str] = None, 17149 locations: Optional[List[str]] = None, 17150 **kwargs 17151 ): 17152 super(ServiceEndpointPropertiesFormat, self).__init__(**kwargs) 17153 self.service = service 17154 self.locations = locations 17155 self.provisioning_state = None 17156 17157 17158class ServiceTagInformation(msrest.serialization.Model): 17159 """The service tag information. 17160 17161 Variables are only populated by the server, and will be ignored when sending a request. 17162 17163 :ivar properties: Properties of the service tag information. 17164 :vartype properties: 17165 ~azure.mgmt.network.v2019_12_01.models.ServiceTagInformationPropertiesFormat 17166 :ivar name: The name of service tag. 17167 :vartype name: str 17168 :ivar id: The ID of service tag. 17169 :vartype id: str 17170 """ 17171 17172 _validation = { 17173 'properties': {'readonly': True}, 17174 'name': {'readonly': True}, 17175 'id': {'readonly': True}, 17176 } 17177 17178 _attribute_map = { 17179 'properties': {'key': 'properties', 'type': 'ServiceTagInformationPropertiesFormat'}, 17180 'name': {'key': 'name', 'type': 'str'}, 17181 'id': {'key': 'id', 'type': 'str'}, 17182 } 17183 17184 def __init__( 17185 self, 17186 **kwargs 17187 ): 17188 super(ServiceTagInformation, self).__init__(**kwargs) 17189 self.properties = None 17190 self.name = None 17191 self.id = None 17192 17193 17194class ServiceTagInformationPropertiesFormat(msrest.serialization.Model): 17195 """Properties of the service tag information. 17196 17197 Variables are only populated by the server, and will be ignored when sending a request. 17198 17199 :ivar change_number: The iteration number of service tag. 17200 :vartype change_number: str 17201 :ivar region: The region of service tag. 17202 :vartype region: str 17203 :ivar system_service: The name of system service. 17204 :vartype system_service: str 17205 :ivar address_prefixes: The list of IP address prefixes. 17206 :vartype address_prefixes: list[str] 17207 """ 17208 17209 _validation = { 17210 'change_number': {'readonly': True}, 17211 'region': {'readonly': True}, 17212 'system_service': {'readonly': True}, 17213 'address_prefixes': {'readonly': True}, 17214 } 17215 17216 _attribute_map = { 17217 'change_number': {'key': 'changeNumber', 'type': 'str'}, 17218 'region': {'key': 'region', 'type': 'str'}, 17219 'system_service': {'key': 'systemService', 'type': 'str'}, 17220 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, 17221 } 17222 17223 def __init__( 17224 self, 17225 **kwargs 17226 ): 17227 super(ServiceTagInformationPropertiesFormat, self).__init__(**kwargs) 17228 self.change_number = None 17229 self.region = None 17230 self.system_service = None 17231 self.address_prefixes = None 17232 17233 17234class ServiceTagsListResult(msrest.serialization.Model): 17235 """Response for the ListServiceTags API service call. 17236 17237 Variables are only populated by the server, and will be ignored when sending a request. 17238 17239 :ivar name: The name of the cloud. 17240 :vartype name: str 17241 :ivar id: The ID of the cloud. 17242 :vartype id: str 17243 :ivar type: The azure resource type. 17244 :vartype type: str 17245 :ivar change_number: The iteration number. 17246 :vartype change_number: str 17247 :ivar cloud: The name of the cloud. 17248 :vartype cloud: str 17249 :ivar values: The list of service tag information resources. 17250 :vartype values: list[~azure.mgmt.network.v2019_12_01.models.ServiceTagInformation] 17251 """ 17252 17253 _validation = { 17254 'name': {'readonly': True}, 17255 'id': {'readonly': True}, 17256 'type': {'readonly': True}, 17257 'change_number': {'readonly': True}, 17258 'cloud': {'readonly': True}, 17259 'values': {'readonly': True}, 17260 } 17261 17262 _attribute_map = { 17263 'name': {'key': 'name', 'type': 'str'}, 17264 'id': {'key': 'id', 'type': 'str'}, 17265 'type': {'key': 'type', 'type': 'str'}, 17266 'change_number': {'key': 'changeNumber', 'type': 'str'}, 17267 'cloud': {'key': 'cloud', 'type': 'str'}, 17268 'values': {'key': 'values', 'type': '[ServiceTagInformation]'}, 17269 } 17270 17271 def __init__( 17272 self, 17273 **kwargs 17274 ): 17275 super(ServiceTagsListResult, self).__init__(**kwargs) 17276 self.name = None 17277 self.id = None 17278 self.type = None 17279 self.change_number = None 17280 self.cloud = None 17281 self.values = None 17282 17283 17284class SessionIds(msrest.serialization.Model): 17285 """List of session IDs. 17286 17287 :param session_ids: List of session IDs. 17288 :type session_ids: list[str] 17289 """ 17290 17291 _attribute_map = { 17292 'session_ids': {'key': 'sessionIds', 'type': '[str]'}, 17293 } 17294 17295 def __init__( 17296 self, 17297 *, 17298 session_ids: Optional[List[str]] = None, 17299 **kwargs 17300 ): 17301 super(SessionIds, self).__init__(**kwargs) 17302 self.session_ids = session_ids 17303 17304 17305class Subnet(SubResource): 17306 """Subnet in a virtual network resource. 17307 17308 Variables are only populated by the server, and will be ignored when sending a request. 17309 17310 :param id: Resource ID. 17311 :type id: str 17312 :param name: The name of the resource that is unique within a resource group. This name can be 17313 used to access the resource. 17314 :type name: str 17315 :ivar etag: A unique read-only string that changes whenever the resource is updated. 17316 :vartype etag: str 17317 :param address_prefix: The address prefix for the subnet. 17318 :type address_prefix: str 17319 :param address_prefixes: List of address prefixes for the subnet. 17320 :type address_prefixes: list[str] 17321 :param network_security_group: The reference to the NetworkSecurityGroup resource. 17322 :type network_security_group: ~azure.mgmt.network.v2019_12_01.models.NetworkSecurityGroup 17323 :param route_table: The reference to the RouteTable resource. 17324 :type route_table: ~azure.mgmt.network.v2019_12_01.models.RouteTable 17325 :param nat_gateway: Nat gateway associated with this subnet. 17326 :type nat_gateway: ~azure.mgmt.network.v2019_12_01.models.SubResource 17327 :param service_endpoints: An array of service endpoints. 17328 :type service_endpoints: 17329 list[~azure.mgmt.network.v2019_12_01.models.ServiceEndpointPropertiesFormat] 17330 :param service_endpoint_policies: An array of service endpoint policies. 17331 :type service_endpoint_policies: 17332 list[~azure.mgmt.network.v2019_12_01.models.ServiceEndpointPolicy] 17333 :ivar private_endpoints: An array of references to private endpoints. 17334 :vartype private_endpoints: list[~azure.mgmt.network.v2019_12_01.models.PrivateEndpoint] 17335 :ivar ip_configurations: An array of references to the network interface IP configurations 17336 using subnet. 17337 :vartype ip_configurations: list[~azure.mgmt.network.v2019_12_01.models.IPConfiguration] 17338 :ivar ip_configuration_profiles: Array of IP configuration profiles which reference this 17339 subnet. 17340 :vartype ip_configuration_profiles: 17341 list[~azure.mgmt.network.v2019_12_01.models.IPConfigurationProfile] 17342 :ivar resource_navigation_links: An array of references to the external resources using subnet. 17343 :vartype resource_navigation_links: 17344 list[~azure.mgmt.network.v2019_12_01.models.ResourceNavigationLink] 17345 :ivar service_association_links: An array of references to services injecting into this subnet. 17346 :vartype service_association_links: 17347 list[~azure.mgmt.network.v2019_12_01.models.ServiceAssociationLink] 17348 :param delegations: An array of references to the delegations on the subnet. 17349 :type delegations: list[~azure.mgmt.network.v2019_12_01.models.Delegation] 17350 :ivar purpose: A read-only string identifying the intention of use for this subnet based on 17351 delegations and other user-defined properties. 17352 :vartype purpose: str 17353 :ivar provisioning_state: The provisioning state of the subnet resource. Possible values 17354 include: "Succeeded", "Updating", "Deleting", "Failed". 17355 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 17356 :param private_endpoint_network_policies: Enable or Disable apply network policies on private 17357 end point in the subnet. 17358 :type private_endpoint_network_policies: str 17359 :param private_link_service_network_policies: Enable or Disable apply network policies on 17360 private link service in the subnet. 17361 :type private_link_service_network_policies: str 17362 """ 17363 17364 _validation = { 17365 'etag': {'readonly': True}, 17366 'private_endpoints': {'readonly': True}, 17367 'ip_configurations': {'readonly': True}, 17368 'ip_configuration_profiles': {'readonly': True}, 17369 'resource_navigation_links': {'readonly': True}, 17370 'service_association_links': {'readonly': True}, 17371 'purpose': {'readonly': True}, 17372 'provisioning_state': {'readonly': True}, 17373 } 17374 17375 _attribute_map = { 17376 'id': {'key': 'id', 'type': 'str'}, 17377 'name': {'key': 'name', 'type': 'str'}, 17378 'etag': {'key': 'etag', 'type': 'str'}, 17379 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 17380 'address_prefixes': {'key': 'properties.addressPrefixes', 'type': '[str]'}, 17381 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, 17382 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, 17383 'nat_gateway': {'key': 'properties.natGateway', 'type': 'SubResource'}, 17384 'service_endpoints': {'key': 'properties.serviceEndpoints', 'type': '[ServiceEndpointPropertiesFormat]'}, 17385 'service_endpoint_policies': {'key': 'properties.serviceEndpointPolicies', 'type': '[ServiceEndpointPolicy]'}, 17386 'private_endpoints': {'key': 'properties.privateEndpoints', 'type': '[PrivateEndpoint]'}, 17387 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, 17388 'ip_configuration_profiles': {'key': 'properties.ipConfigurationProfiles', 'type': '[IPConfigurationProfile]'}, 17389 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, 17390 'service_association_links': {'key': 'properties.serviceAssociationLinks', 'type': '[ServiceAssociationLink]'}, 17391 'delegations': {'key': 'properties.delegations', 'type': '[Delegation]'}, 17392 'purpose': {'key': 'properties.purpose', 'type': 'str'}, 17393 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 17394 'private_endpoint_network_policies': {'key': 'properties.privateEndpointNetworkPolicies', 'type': 'str'}, 17395 'private_link_service_network_policies': {'key': 'properties.privateLinkServiceNetworkPolicies', 'type': 'str'}, 17396 } 17397 17398 def __init__( 17399 self, 17400 *, 17401 id: Optional[str] = None, 17402 name: Optional[str] = None, 17403 address_prefix: Optional[str] = None, 17404 address_prefixes: Optional[List[str]] = None, 17405 network_security_group: Optional["NetworkSecurityGroup"] = None, 17406 route_table: Optional["RouteTable"] = None, 17407 nat_gateway: Optional["SubResource"] = None, 17408 service_endpoints: Optional[List["ServiceEndpointPropertiesFormat"]] = None, 17409 service_endpoint_policies: Optional[List["ServiceEndpointPolicy"]] = None, 17410 delegations: Optional[List["Delegation"]] = None, 17411 private_endpoint_network_policies: Optional[str] = None, 17412 private_link_service_network_policies: Optional[str] = None, 17413 **kwargs 17414 ): 17415 super(Subnet, self).__init__(id=id, **kwargs) 17416 self.name = name 17417 self.etag = None 17418 self.address_prefix = address_prefix 17419 self.address_prefixes = address_prefixes 17420 self.network_security_group = network_security_group 17421 self.route_table = route_table 17422 self.nat_gateway = nat_gateway 17423 self.service_endpoints = service_endpoints 17424 self.service_endpoint_policies = service_endpoint_policies 17425 self.private_endpoints = None 17426 self.ip_configurations = None 17427 self.ip_configuration_profiles = None 17428 self.resource_navigation_links = None 17429 self.service_association_links = None 17430 self.delegations = delegations 17431 self.purpose = None 17432 self.provisioning_state = None 17433 self.private_endpoint_network_policies = private_endpoint_network_policies 17434 self.private_link_service_network_policies = private_link_service_network_policies 17435 17436 17437class SubnetAssociation(msrest.serialization.Model): 17438 """Subnet and it's custom security rules. 17439 17440 Variables are only populated by the server, and will be ignored when sending a request. 17441 17442 :ivar id: Subnet ID. 17443 :vartype id: str 17444 :param security_rules: Collection of custom security rules. 17445 :type security_rules: list[~azure.mgmt.network.v2019_12_01.models.SecurityRule] 17446 """ 17447 17448 _validation = { 17449 'id': {'readonly': True}, 17450 } 17451 17452 _attribute_map = { 17453 'id': {'key': 'id', 'type': 'str'}, 17454 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, 17455 } 17456 17457 def __init__( 17458 self, 17459 *, 17460 security_rules: Optional[List["SecurityRule"]] = None, 17461 **kwargs 17462 ): 17463 super(SubnetAssociation, self).__init__(**kwargs) 17464 self.id = None 17465 self.security_rules = security_rules 17466 17467 17468class SubnetListResult(msrest.serialization.Model): 17469 """Response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network. 17470 17471 :param value: The subnets in a virtual network. 17472 :type value: list[~azure.mgmt.network.v2019_12_01.models.Subnet] 17473 :param next_link: The URL to get the next set of results. 17474 :type next_link: str 17475 """ 17476 17477 _attribute_map = { 17478 'value': {'key': 'value', 'type': '[Subnet]'}, 17479 'next_link': {'key': 'nextLink', 'type': 'str'}, 17480 } 17481 17482 def __init__( 17483 self, 17484 *, 17485 value: Optional[List["Subnet"]] = None, 17486 next_link: Optional[str] = None, 17487 **kwargs 17488 ): 17489 super(SubnetListResult, self).__init__(**kwargs) 17490 self.value = value 17491 self.next_link = next_link 17492 17493 17494class TagsObject(msrest.serialization.Model): 17495 """Tags object for patch operations. 17496 17497 :param tags: A set of tags. Resource tags. 17498 :type tags: dict[str, str] 17499 """ 17500 17501 _attribute_map = { 17502 'tags': {'key': 'tags', 'type': '{str}'}, 17503 } 17504 17505 def __init__( 17506 self, 17507 *, 17508 tags: Optional[Dict[str, str]] = None, 17509 **kwargs 17510 ): 17511 super(TagsObject, self).__init__(**kwargs) 17512 self.tags = tags 17513 17514 17515class Topology(msrest.serialization.Model): 17516 """Topology of the specified resource group. 17517 17518 Variables are only populated by the server, and will be ignored when sending a request. 17519 17520 :ivar id: GUID representing the operation id. 17521 :vartype id: str 17522 :ivar created_date_time: The datetime when the topology was initially created for the resource 17523 group. 17524 :vartype created_date_time: ~datetime.datetime 17525 :ivar last_modified: The datetime when the topology was last modified. 17526 :vartype last_modified: ~datetime.datetime 17527 :param resources: A list of topology resources. 17528 :type resources: list[~azure.mgmt.network.v2019_12_01.models.TopologyResource] 17529 """ 17530 17531 _validation = { 17532 'id': {'readonly': True}, 17533 'created_date_time': {'readonly': True}, 17534 'last_modified': {'readonly': True}, 17535 } 17536 17537 _attribute_map = { 17538 'id': {'key': 'id', 'type': 'str'}, 17539 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, 17540 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, 17541 'resources': {'key': 'resources', 'type': '[TopologyResource]'}, 17542 } 17543 17544 def __init__( 17545 self, 17546 *, 17547 resources: Optional[List["TopologyResource"]] = None, 17548 **kwargs 17549 ): 17550 super(Topology, self).__init__(**kwargs) 17551 self.id = None 17552 self.created_date_time = None 17553 self.last_modified = None 17554 self.resources = resources 17555 17556 17557class TopologyAssociation(msrest.serialization.Model): 17558 """Resources that have an association with the parent resource. 17559 17560 :param name: The name of the resource that is associated with the parent resource. 17561 :type name: str 17562 :param resource_id: The ID of the resource that is associated with the parent resource. 17563 :type resource_id: str 17564 :param association_type: The association type of the child resource to the parent resource. 17565 Possible values include: "Associated", "Contains". 17566 :type association_type: str or ~azure.mgmt.network.v2019_12_01.models.AssociationType 17567 """ 17568 17569 _attribute_map = { 17570 'name': {'key': 'name', 'type': 'str'}, 17571 'resource_id': {'key': 'resourceId', 'type': 'str'}, 17572 'association_type': {'key': 'associationType', 'type': 'str'}, 17573 } 17574 17575 def __init__( 17576 self, 17577 *, 17578 name: Optional[str] = None, 17579 resource_id: Optional[str] = None, 17580 association_type: Optional[Union[str, "AssociationType"]] = None, 17581 **kwargs 17582 ): 17583 super(TopologyAssociation, self).__init__(**kwargs) 17584 self.name = name 17585 self.resource_id = resource_id 17586 self.association_type = association_type 17587 17588 17589class TopologyParameters(msrest.serialization.Model): 17590 """Parameters that define the representation of topology. 17591 17592 :param target_resource_group_name: The name of the target resource group to perform topology 17593 on. 17594 :type target_resource_group_name: str 17595 :param target_virtual_network: The reference to the Virtual Network resource. 17596 :type target_virtual_network: ~azure.mgmt.network.v2019_12_01.models.SubResource 17597 :param target_subnet: The reference to the Subnet resource. 17598 :type target_subnet: ~azure.mgmt.network.v2019_12_01.models.SubResource 17599 """ 17600 17601 _attribute_map = { 17602 'target_resource_group_name': {'key': 'targetResourceGroupName', 'type': 'str'}, 17603 'target_virtual_network': {'key': 'targetVirtualNetwork', 'type': 'SubResource'}, 17604 'target_subnet': {'key': 'targetSubnet', 'type': 'SubResource'}, 17605 } 17606 17607 def __init__( 17608 self, 17609 *, 17610 target_resource_group_name: Optional[str] = None, 17611 target_virtual_network: Optional["SubResource"] = None, 17612 target_subnet: Optional["SubResource"] = None, 17613 **kwargs 17614 ): 17615 super(TopologyParameters, self).__init__(**kwargs) 17616 self.target_resource_group_name = target_resource_group_name 17617 self.target_virtual_network = target_virtual_network 17618 self.target_subnet = target_subnet 17619 17620 17621class TopologyResource(msrest.serialization.Model): 17622 """The network resource topology information for the given resource group. 17623 17624 :param name: Name of the resource. 17625 :type name: str 17626 :param id: ID of the resource. 17627 :type id: str 17628 :param location: Resource location. 17629 :type location: str 17630 :param associations: Holds the associations the resource has with other resources in the 17631 resource group. 17632 :type associations: list[~azure.mgmt.network.v2019_12_01.models.TopologyAssociation] 17633 """ 17634 17635 _attribute_map = { 17636 'name': {'key': 'name', 'type': 'str'}, 17637 'id': {'key': 'id', 'type': 'str'}, 17638 'location': {'key': 'location', 'type': 'str'}, 17639 'associations': {'key': 'associations', 'type': '[TopologyAssociation]'}, 17640 } 17641 17642 def __init__( 17643 self, 17644 *, 17645 name: Optional[str] = None, 17646 id: Optional[str] = None, 17647 location: Optional[str] = None, 17648 associations: Optional[List["TopologyAssociation"]] = None, 17649 **kwargs 17650 ): 17651 super(TopologyResource, self).__init__(**kwargs) 17652 self.name = name 17653 self.id = id 17654 self.location = location 17655 self.associations = associations 17656 17657 17658class TrafficAnalyticsConfigurationProperties(msrest.serialization.Model): 17659 """Parameters that define the configuration of traffic analytics. 17660 17661 :param enabled: Flag to enable/disable traffic analytics. 17662 :type enabled: bool 17663 :param workspace_id: The resource guid of the attached workspace. 17664 :type workspace_id: str 17665 :param workspace_region: The location of the attached workspace. 17666 :type workspace_region: str 17667 :param workspace_resource_id: Resource Id of the attached workspace. 17668 :type workspace_resource_id: str 17669 :param traffic_analytics_interval: The interval in minutes which would decide how frequently TA 17670 service should do flow analytics. 17671 :type traffic_analytics_interval: int 17672 """ 17673 17674 _attribute_map = { 17675 'enabled': {'key': 'enabled', 'type': 'bool'}, 17676 'workspace_id': {'key': 'workspaceId', 'type': 'str'}, 17677 'workspace_region': {'key': 'workspaceRegion', 'type': 'str'}, 17678 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, 17679 'traffic_analytics_interval': {'key': 'trafficAnalyticsInterval', 'type': 'int'}, 17680 } 17681 17682 def __init__( 17683 self, 17684 *, 17685 enabled: Optional[bool] = None, 17686 workspace_id: Optional[str] = None, 17687 workspace_region: Optional[str] = None, 17688 workspace_resource_id: Optional[str] = None, 17689 traffic_analytics_interval: Optional[int] = None, 17690 **kwargs 17691 ): 17692 super(TrafficAnalyticsConfigurationProperties, self).__init__(**kwargs) 17693 self.enabled = enabled 17694 self.workspace_id = workspace_id 17695 self.workspace_region = workspace_region 17696 self.workspace_resource_id = workspace_resource_id 17697 self.traffic_analytics_interval = traffic_analytics_interval 17698 17699 17700class TrafficAnalyticsProperties(msrest.serialization.Model): 17701 """Parameters that define the configuration of traffic analytics. 17702 17703 :param network_watcher_flow_analytics_configuration: Parameters that define the configuration 17704 of traffic analytics. 17705 :type network_watcher_flow_analytics_configuration: 17706 ~azure.mgmt.network.v2019_12_01.models.TrafficAnalyticsConfigurationProperties 17707 """ 17708 17709 _attribute_map = { 17710 'network_watcher_flow_analytics_configuration': {'key': 'networkWatcherFlowAnalyticsConfiguration', 'type': 'TrafficAnalyticsConfigurationProperties'}, 17711 } 17712 17713 def __init__( 17714 self, 17715 *, 17716 network_watcher_flow_analytics_configuration: Optional["TrafficAnalyticsConfigurationProperties"] = None, 17717 **kwargs 17718 ): 17719 super(TrafficAnalyticsProperties, self).__init__(**kwargs) 17720 self.network_watcher_flow_analytics_configuration = network_watcher_flow_analytics_configuration 17721 17722 17723class TrafficSelectorPolicy(msrest.serialization.Model): 17724 """An traffic selector policy for a virtual network gateway connection. 17725 17726 All required parameters must be populated in order to send to Azure. 17727 17728 :param local_address_ranges: Required. A collection of local address spaces in CIDR format. 17729 :type local_address_ranges: list[str] 17730 :param remote_address_ranges: Required. A collection of remote address spaces in CIDR format. 17731 :type remote_address_ranges: list[str] 17732 """ 17733 17734 _validation = { 17735 'local_address_ranges': {'required': True}, 17736 'remote_address_ranges': {'required': True}, 17737 } 17738 17739 _attribute_map = { 17740 'local_address_ranges': {'key': 'localAddressRanges', 'type': '[str]'}, 17741 'remote_address_ranges': {'key': 'remoteAddressRanges', 'type': '[str]'}, 17742 } 17743 17744 def __init__( 17745 self, 17746 *, 17747 local_address_ranges: List[str], 17748 remote_address_ranges: List[str], 17749 **kwargs 17750 ): 17751 super(TrafficSelectorPolicy, self).__init__(**kwargs) 17752 self.local_address_ranges = local_address_ranges 17753 self.remote_address_ranges = remote_address_ranges 17754 17755 17756class TroubleshootingDetails(msrest.serialization.Model): 17757 """Information gained from troubleshooting of specified resource. 17758 17759 :param id: The id of the get troubleshoot operation. 17760 :type id: str 17761 :param reason_type: Reason type of failure. 17762 :type reason_type: str 17763 :param summary: A summary of troubleshooting. 17764 :type summary: str 17765 :param detail: Details on troubleshooting results. 17766 :type detail: str 17767 :param recommended_actions: List of recommended actions. 17768 :type recommended_actions: 17769 list[~azure.mgmt.network.v2019_12_01.models.TroubleshootingRecommendedActions] 17770 """ 17771 17772 _attribute_map = { 17773 'id': {'key': 'id', 'type': 'str'}, 17774 'reason_type': {'key': 'reasonType', 'type': 'str'}, 17775 'summary': {'key': 'summary', 'type': 'str'}, 17776 'detail': {'key': 'detail', 'type': 'str'}, 17777 'recommended_actions': {'key': 'recommendedActions', 'type': '[TroubleshootingRecommendedActions]'}, 17778 } 17779 17780 def __init__( 17781 self, 17782 *, 17783 id: Optional[str] = None, 17784 reason_type: Optional[str] = None, 17785 summary: Optional[str] = None, 17786 detail: Optional[str] = None, 17787 recommended_actions: Optional[List["TroubleshootingRecommendedActions"]] = None, 17788 **kwargs 17789 ): 17790 super(TroubleshootingDetails, self).__init__(**kwargs) 17791 self.id = id 17792 self.reason_type = reason_type 17793 self.summary = summary 17794 self.detail = detail 17795 self.recommended_actions = recommended_actions 17796 17797 17798class TroubleshootingParameters(msrest.serialization.Model): 17799 """Parameters that define the resource to troubleshoot. 17800 17801 All required parameters must be populated in order to send to Azure. 17802 17803 :param target_resource_id: Required. The target resource to troubleshoot. 17804 :type target_resource_id: str 17805 :param storage_id: Required. The ID for the storage account to save the troubleshoot result. 17806 :type storage_id: str 17807 :param storage_path: Required. The path to the blob to save the troubleshoot result in. 17808 :type storage_path: str 17809 """ 17810 17811 _validation = { 17812 'target_resource_id': {'required': True}, 17813 'storage_id': {'required': True}, 17814 'storage_path': {'required': True}, 17815 } 17816 17817 _attribute_map = { 17818 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 17819 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, 17820 'storage_path': {'key': 'properties.storagePath', 'type': 'str'}, 17821 } 17822 17823 def __init__( 17824 self, 17825 *, 17826 target_resource_id: str, 17827 storage_id: str, 17828 storage_path: str, 17829 **kwargs 17830 ): 17831 super(TroubleshootingParameters, self).__init__(**kwargs) 17832 self.target_resource_id = target_resource_id 17833 self.storage_id = storage_id 17834 self.storage_path = storage_path 17835 17836 17837class TroubleshootingRecommendedActions(msrest.serialization.Model): 17838 """Recommended actions based on discovered issues. 17839 17840 :param action_id: ID of the recommended action. 17841 :type action_id: str 17842 :param action_text: Description of recommended actions. 17843 :type action_text: str 17844 :param action_uri: The uri linking to a documentation for the recommended troubleshooting 17845 actions. 17846 :type action_uri: str 17847 :param action_uri_text: The information from the URI for the recommended troubleshooting 17848 actions. 17849 :type action_uri_text: str 17850 """ 17851 17852 _attribute_map = { 17853 'action_id': {'key': 'actionId', 'type': 'str'}, 17854 'action_text': {'key': 'actionText', 'type': 'str'}, 17855 'action_uri': {'key': 'actionUri', 'type': 'str'}, 17856 'action_uri_text': {'key': 'actionUriText', 'type': 'str'}, 17857 } 17858 17859 def __init__( 17860 self, 17861 *, 17862 action_id: Optional[str] = None, 17863 action_text: Optional[str] = None, 17864 action_uri: Optional[str] = None, 17865 action_uri_text: Optional[str] = None, 17866 **kwargs 17867 ): 17868 super(TroubleshootingRecommendedActions, self).__init__(**kwargs) 17869 self.action_id = action_id 17870 self.action_text = action_text 17871 self.action_uri = action_uri 17872 self.action_uri_text = action_uri_text 17873 17874 17875class TroubleshootingResult(msrest.serialization.Model): 17876 """Troubleshooting information gained from specified resource. 17877 17878 :param start_time: The start time of the troubleshooting. 17879 :type start_time: ~datetime.datetime 17880 :param end_time: The end time of the troubleshooting. 17881 :type end_time: ~datetime.datetime 17882 :param code: The result code of the troubleshooting. 17883 :type code: str 17884 :param results: Information from troubleshooting. 17885 :type results: list[~azure.mgmt.network.v2019_12_01.models.TroubleshootingDetails] 17886 """ 17887 17888 _attribute_map = { 17889 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 17890 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 17891 'code': {'key': 'code', 'type': 'str'}, 17892 'results': {'key': 'results', 'type': '[TroubleshootingDetails]'}, 17893 } 17894 17895 def __init__( 17896 self, 17897 *, 17898 start_time: Optional[datetime.datetime] = None, 17899 end_time: Optional[datetime.datetime] = None, 17900 code: Optional[str] = None, 17901 results: Optional[List["TroubleshootingDetails"]] = None, 17902 **kwargs 17903 ): 17904 super(TroubleshootingResult, self).__init__(**kwargs) 17905 self.start_time = start_time 17906 self.end_time = end_time 17907 self.code = code 17908 self.results = results 17909 17910 17911class TunnelConnectionHealth(msrest.serialization.Model): 17912 """VirtualNetworkGatewayConnection properties. 17913 17914 Variables are only populated by the server, and will be ignored when sending a request. 17915 17916 :ivar tunnel: Tunnel name. 17917 :vartype tunnel: str 17918 :ivar connection_status: Virtual Network Gateway connection status. Possible values include: 17919 "Unknown", "Connecting", "Connected", "NotConnected". 17920 :vartype connection_status: str or 17921 ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkGatewayConnectionStatus 17922 :ivar ingress_bytes_transferred: The Ingress Bytes Transferred in this connection. 17923 :vartype ingress_bytes_transferred: long 17924 :ivar egress_bytes_transferred: The Egress Bytes Transferred in this connection. 17925 :vartype egress_bytes_transferred: long 17926 :ivar last_connection_established_utc_time: The time at which connection was established in Utc 17927 format. 17928 :vartype last_connection_established_utc_time: str 17929 """ 17930 17931 _validation = { 17932 'tunnel': {'readonly': True}, 17933 'connection_status': {'readonly': True}, 17934 'ingress_bytes_transferred': {'readonly': True}, 17935 'egress_bytes_transferred': {'readonly': True}, 17936 'last_connection_established_utc_time': {'readonly': True}, 17937 } 17938 17939 _attribute_map = { 17940 'tunnel': {'key': 'tunnel', 'type': 'str'}, 17941 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, 17942 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, 17943 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, 17944 'last_connection_established_utc_time': {'key': 'lastConnectionEstablishedUtcTime', 'type': 'str'}, 17945 } 17946 17947 def __init__( 17948 self, 17949 **kwargs 17950 ): 17951 super(TunnelConnectionHealth, self).__init__(**kwargs) 17952 self.tunnel = None 17953 self.connection_status = None 17954 self.ingress_bytes_transferred = None 17955 self.egress_bytes_transferred = None 17956 self.last_connection_established_utc_time = None 17957 17958 17959class UnprepareNetworkPoliciesRequest(msrest.serialization.Model): 17960 """Details of UnprepareNetworkPolicies for Subnet. 17961 17962 :param service_name: The name of the service for which subnet is being unprepared for. 17963 :type service_name: str 17964 """ 17965 17966 _attribute_map = { 17967 'service_name': {'key': 'serviceName', 'type': 'str'}, 17968 } 17969 17970 def __init__( 17971 self, 17972 *, 17973 service_name: Optional[str] = None, 17974 **kwargs 17975 ): 17976 super(UnprepareNetworkPoliciesRequest, self).__init__(**kwargs) 17977 self.service_name = service_name 17978 17979 17980class Usage(msrest.serialization.Model): 17981 """The network resource usage. 17982 17983 Variables are only populated by the server, and will be ignored when sending a request. 17984 17985 All required parameters must be populated in order to send to Azure. 17986 17987 :ivar id: Resource identifier. 17988 :vartype id: str 17989 :param unit: Required. An enum describing the unit of measurement. Possible values include: 17990 "Count". 17991 :type unit: str or ~azure.mgmt.network.v2019_12_01.models.UsageUnit 17992 :param current_value: Required. The current value of the usage. 17993 :type current_value: long 17994 :param limit: Required. The limit of usage. 17995 :type limit: long 17996 :param name: Required. The name of the type of usage. 17997 :type name: ~azure.mgmt.network.v2019_12_01.models.UsageName 17998 """ 17999 18000 _validation = { 18001 'id': {'readonly': True}, 18002 'unit': {'required': True}, 18003 'current_value': {'required': True}, 18004 'limit': {'required': True}, 18005 'name': {'required': True}, 18006 } 18007 18008 _attribute_map = { 18009 'id': {'key': 'id', 'type': 'str'}, 18010 'unit': {'key': 'unit', 'type': 'str'}, 18011 'current_value': {'key': 'currentValue', 'type': 'long'}, 18012 'limit': {'key': 'limit', 'type': 'long'}, 18013 'name': {'key': 'name', 'type': 'UsageName'}, 18014 } 18015 18016 def __init__( 18017 self, 18018 *, 18019 unit: Union[str, "UsageUnit"], 18020 current_value: int, 18021 limit: int, 18022 name: "UsageName", 18023 **kwargs 18024 ): 18025 super(Usage, self).__init__(**kwargs) 18026 self.id = None 18027 self.unit = unit 18028 self.current_value = current_value 18029 self.limit = limit 18030 self.name = name 18031 18032 18033class UsageName(msrest.serialization.Model): 18034 """The usage names. 18035 18036 :param value: A string describing the resource name. 18037 :type value: str 18038 :param localized_value: A localized string describing the resource name. 18039 :type localized_value: str 18040 """ 18041 18042 _attribute_map = { 18043 'value': {'key': 'value', 'type': 'str'}, 18044 'localized_value': {'key': 'localizedValue', 'type': 'str'}, 18045 } 18046 18047 def __init__( 18048 self, 18049 *, 18050 value: Optional[str] = None, 18051 localized_value: Optional[str] = None, 18052 **kwargs 18053 ): 18054 super(UsageName, self).__init__(**kwargs) 18055 self.value = value 18056 self.localized_value = localized_value 18057 18058 18059class UsagesListResult(msrest.serialization.Model): 18060 """The list usages operation response. 18061 18062 :param value: The list network resource usages. 18063 :type value: list[~azure.mgmt.network.v2019_12_01.models.Usage] 18064 :param next_link: URL to get the next set of results. 18065 :type next_link: str 18066 """ 18067 18068 _attribute_map = { 18069 'value': {'key': 'value', 'type': '[Usage]'}, 18070 'next_link': {'key': 'nextLink', 'type': 'str'}, 18071 } 18072 18073 def __init__( 18074 self, 18075 *, 18076 value: Optional[List["Usage"]] = None, 18077 next_link: Optional[str] = None, 18078 **kwargs 18079 ): 18080 super(UsagesListResult, self).__init__(**kwargs) 18081 self.value = value 18082 self.next_link = next_link 18083 18084 18085class VerificationIPFlowParameters(msrest.serialization.Model): 18086 """Parameters that define the IP flow to be verified. 18087 18088 All required parameters must be populated in order to send to Azure. 18089 18090 :param target_resource_id: Required. The ID of the target resource to perform next-hop on. 18091 :type target_resource_id: str 18092 :param direction: Required. The direction of the packet represented as a 5-tuple. Possible 18093 values include: "Inbound", "Outbound". 18094 :type direction: str or ~azure.mgmt.network.v2019_12_01.models.Direction 18095 :param protocol: Required. Protocol to be verified on. Possible values include: "TCP", "UDP". 18096 :type protocol: str or ~azure.mgmt.network.v2019_12_01.models.IpFlowProtocol 18097 :param local_port: Required. The local port. Acceptable values are a single integer in the 18098 range (0-65535). Support for * for the source port, which depends on the direction. 18099 :type local_port: str 18100 :param remote_port: Required. The remote port. Acceptable values are a single integer in the 18101 range (0-65535). Support for * for the source port, which depends on the direction. 18102 :type remote_port: str 18103 :param local_ip_address: Required. The local IP address. Acceptable values are valid IPv4 18104 addresses. 18105 :type local_ip_address: str 18106 :param remote_ip_address: Required. The remote IP address. Acceptable values are valid IPv4 18107 addresses. 18108 :type remote_ip_address: str 18109 :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP forwarding is 18110 enabled on any of them, then this parameter must be specified. Otherwise optional). 18111 :type target_nic_resource_id: str 18112 """ 18113 18114 _validation = { 18115 'target_resource_id': {'required': True}, 18116 'direction': {'required': True}, 18117 'protocol': {'required': True}, 18118 'local_port': {'required': True}, 18119 'remote_port': {'required': True}, 18120 'local_ip_address': {'required': True}, 18121 'remote_ip_address': {'required': True}, 18122 } 18123 18124 _attribute_map = { 18125 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 18126 'direction': {'key': 'direction', 'type': 'str'}, 18127 'protocol': {'key': 'protocol', 'type': 'str'}, 18128 'local_port': {'key': 'localPort', 'type': 'str'}, 18129 'remote_port': {'key': 'remotePort', 'type': 'str'}, 18130 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, 18131 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, 18132 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, 18133 } 18134 18135 def __init__( 18136 self, 18137 *, 18138 target_resource_id: str, 18139 direction: Union[str, "Direction"], 18140 protocol: Union[str, "IpFlowProtocol"], 18141 local_port: str, 18142 remote_port: str, 18143 local_ip_address: str, 18144 remote_ip_address: str, 18145 target_nic_resource_id: Optional[str] = None, 18146 **kwargs 18147 ): 18148 super(VerificationIPFlowParameters, self).__init__(**kwargs) 18149 self.target_resource_id = target_resource_id 18150 self.direction = direction 18151 self.protocol = protocol 18152 self.local_port = local_port 18153 self.remote_port = remote_port 18154 self.local_ip_address = local_ip_address 18155 self.remote_ip_address = remote_ip_address 18156 self.target_nic_resource_id = target_nic_resource_id 18157 18158 18159class VerificationIPFlowResult(msrest.serialization.Model): 18160 """Results of IP flow verification on the target resource. 18161 18162 :param access: Indicates whether the traffic is allowed or denied. Possible values include: 18163 "Allow", "Deny". 18164 :type access: str or ~azure.mgmt.network.v2019_12_01.models.Access 18165 :param rule_name: Name of the rule. If input is not matched against any security rule, it is 18166 not displayed. 18167 :type rule_name: str 18168 """ 18169 18170 _attribute_map = { 18171 'access': {'key': 'access', 'type': 'str'}, 18172 'rule_name': {'key': 'ruleName', 'type': 'str'}, 18173 } 18174 18175 def __init__( 18176 self, 18177 *, 18178 access: Optional[Union[str, "Access"]] = None, 18179 rule_name: Optional[str] = None, 18180 **kwargs 18181 ): 18182 super(VerificationIPFlowResult, self).__init__(**kwargs) 18183 self.access = access 18184 self.rule_name = rule_name 18185 18186 18187class VirtualApplianceNicProperties(msrest.serialization.Model): 18188 """Network Virtual Appliance NIC properties. 18189 18190 Variables are only populated by the server, and will be ignored when sending a request. 18191 18192 :ivar name: NIC name. 18193 :vartype name: str 18194 :ivar public_ip_address: Public IP address. 18195 :vartype public_ip_address: str 18196 :ivar private_ip_address: Private IP address. 18197 :vartype private_ip_address: str 18198 """ 18199 18200 _validation = { 18201 'name': {'readonly': True}, 18202 'public_ip_address': {'readonly': True}, 18203 'private_ip_address': {'readonly': True}, 18204 } 18205 18206 _attribute_map = { 18207 'name': {'key': 'name', 'type': 'str'}, 18208 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'}, 18209 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, 18210 } 18211 18212 def __init__( 18213 self, 18214 **kwargs 18215 ): 18216 super(VirtualApplianceNicProperties, self).__init__(**kwargs) 18217 self.name = None 18218 self.public_ip_address = None 18219 self.private_ip_address = None 18220 18221 18222class VirtualApplianceSkuProperties(msrest.serialization.Model): 18223 """Network Virtual Appliance Sku Properties. 18224 18225 :param vendor: Virtual Appliance Vendor. 18226 :type vendor: str 18227 :param bundled_scale_unit: Virtual Appliance Scale Unit. 18228 :type bundled_scale_unit: str 18229 :param market_place_version: Virtual Appliance Version. 18230 :type market_place_version: str 18231 """ 18232 18233 _attribute_map = { 18234 'vendor': {'key': 'vendor', 'type': 'str'}, 18235 'bundled_scale_unit': {'key': 'bundledScaleUnit', 'type': 'str'}, 18236 'market_place_version': {'key': 'marketPlaceVersion', 'type': 'str'}, 18237 } 18238 18239 def __init__( 18240 self, 18241 *, 18242 vendor: Optional[str] = None, 18243 bundled_scale_unit: Optional[str] = None, 18244 market_place_version: Optional[str] = None, 18245 **kwargs 18246 ): 18247 super(VirtualApplianceSkuProperties, self).__init__(**kwargs) 18248 self.vendor = vendor 18249 self.bundled_scale_unit = bundled_scale_unit 18250 self.market_place_version = market_place_version 18251 18252 18253class VirtualHub(Resource): 18254 """VirtualHub Resource. 18255 18256 Variables are only populated by the server, and will be ignored when sending a request. 18257 18258 :param id: Resource ID. 18259 :type id: str 18260 :ivar name: Resource name. 18261 :vartype name: str 18262 :ivar type: Resource type. 18263 :vartype type: str 18264 :param location: Resource location. 18265 :type location: str 18266 :param tags: A set of tags. Resource tags. 18267 :type tags: dict[str, str] 18268 :ivar etag: A unique read-only string that changes whenever the resource is updated. 18269 :vartype etag: str 18270 :param virtual_wan: The VirtualWAN to which the VirtualHub belongs. 18271 :type virtual_wan: ~azure.mgmt.network.v2019_12_01.models.SubResource 18272 :param vpn_gateway: The VpnGateway associated with this VirtualHub. 18273 :type vpn_gateway: ~azure.mgmt.network.v2019_12_01.models.SubResource 18274 :param p2_s_vpn_gateway: The P2SVpnGateway associated with this VirtualHub. 18275 :type p2_s_vpn_gateway: ~azure.mgmt.network.v2019_12_01.models.SubResource 18276 :param express_route_gateway: The expressRouteGateway associated with this VirtualHub. 18277 :type express_route_gateway: ~azure.mgmt.network.v2019_12_01.models.SubResource 18278 :param azure_firewall: The azureFirewall associated with this VirtualHub. 18279 :type azure_firewall: ~azure.mgmt.network.v2019_12_01.models.SubResource 18280 :param virtual_network_connections: List of all vnet connections with this VirtualHub. 18281 :type virtual_network_connections: 18282 list[~azure.mgmt.network.v2019_12_01.models.HubVirtualNetworkConnection] 18283 :param address_prefix: Address-prefix for this VirtualHub. 18284 :type address_prefix: str 18285 :param route_table: The routeTable associated with this virtual hub. 18286 :type route_table: ~azure.mgmt.network.v2019_12_01.models.VirtualHubRouteTable 18287 :ivar provisioning_state: The provisioning state of the virtual hub resource. Possible values 18288 include: "Succeeded", "Updating", "Deleting", "Failed". 18289 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 18290 :param security_provider_name: The Security Provider name. 18291 :type security_provider_name: str 18292 :param virtual_hub_route_table_v2_s: List of all virtual hub route table v2s associated with 18293 this VirtualHub. 18294 :type virtual_hub_route_table_v2_s: 18295 list[~azure.mgmt.network.v2019_12_01.models.VirtualHubRouteTableV2] 18296 :param sku: The sku of this VirtualHub. 18297 :type sku: str 18298 """ 18299 18300 _validation = { 18301 'name': {'readonly': True}, 18302 'type': {'readonly': True}, 18303 'etag': {'readonly': True}, 18304 'provisioning_state': {'readonly': True}, 18305 } 18306 18307 _attribute_map = { 18308 'id': {'key': 'id', 'type': 'str'}, 18309 'name': {'key': 'name', 'type': 'str'}, 18310 'type': {'key': 'type', 'type': 'str'}, 18311 'location': {'key': 'location', 'type': 'str'}, 18312 'tags': {'key': 'tags', 'type': '{str}'}, 18313 'etag': {'key': 'etag', 'type': 'str'}, 18314 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, 18315 'vpn_gateway': {'key': 'properties.vpnGateway', 'type': 'SubResource'}, 18316 'p2_s_vpn_gateway': {'key': 'properties.p2SVpnGateway', 'type': 'SubResource'}, 18317 'express_route_gateway': {'key': 'properties.expressRouteGateway', 'type': 'SubResource'}, 18318 'azure_firewall': {'key': 'properties.azureFirewall', 'type': 'SubResource'}, 18319 'virtual_network_connections': {'key': 'properties.virtualNetworkConnections', 'type': '[HubVirtualNetworkConnection]'}, 18320 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 18321 'route_table': {'key': 'properties.routeTable', 'type': 'VirtualHubRouteTable'}, 18322 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 18323 'security_provider_name': {'key': 'properties.securityProviderName', 'type': 'str'}, 18324 'virtual_hub_route_table_v2_s': {'key': 'properties.virtualHubRouteTableV2s', 'type': '[VirtualHubRouteTableV2]'}, 18325 'sku': {'key': 'properties.sku', 'type': 'str'}, 18326 } 18327 18328 def __init__( 18329 self, 18330 *, 18331 id: Optional[str] = None, 18332 location: Optional[str] = None, 18333 tags: Optional[Dict[str, str]] = None, 18334 virtual_wan: Optional["SubResource"] = None, 18335 vpn_gateway: Optional["SubResource"] = None, 18336 p2_s_vpn_gateway: Optional["SubResource"] = None, 18337 express_route_gateway: Optional["SubResource"] = None, 18338 azure_firewall: Optional["SubResource"] = None, 18339 virtual_network_connections: Optional[List["HubVirtualNetworkConnection"]] = None, 18340 address_prefix: Optional[str] = None, 18341 route_table: Optional["VirtualHubRouteTable"] = None, 18342 security_provider_name: Optional[str] = None, 18343 virtual_hub_route_table_v2_s: Optional[List["VirtualHubRouteTableV2"]] = None, 18344 sku: Optional[str] = None, 18345 **kwargs 18346 ): 18347 super(VirtualHub, self).__init__(id=id, location=location, tags=tags, **kwargs) 18348 self.etag = None 18349 self.virtual_wan = virtual_wan 18350 self.vpn_gateway = vpn_gateway 18351 self.p2_s_vpn_gateway = p2_s_vpn_gateway 18352 self.express_route_gateway = express_route_gateway 18353 self.azure_firewall = azure_firewall 18354 self.virtual_network_connections = virtual_network_connections 18355 self.address_prefix = address_prefix 18356 self.route_table = route_table 18357 self.provisioning_state = None 18358 self.security_provider_name = security_provider_name 18359 self.virtual_hub_route_table_v2_s = virtual_hub_route_table_v2_s 18360 self.sku = sku 18361 18362 18363class VirtualHubId(msrest.serialization.Model): 18364 """Virtual Hub identifier. 18365 18366 :param id: The resource URI for the Virtual Hub where the ExpressRoute gateway is or will be 18367 deployed. The Virtual Hub resource and the ExpressRoute gateway resource reside in the same 18368 subscription. 18369 :type id: str 18370 """ 18371 18372 _attribute_map = { 18373 'id': {'key': 'id', 'type': 'str'}, 18374 } 18375 18376 def __init__( 18377 self, 18378 *, 18379 id: Optional[str] = None, 18380 **kwargs 18381 ): 18382 super(VirtualHubId, self).__init__(**kwargs) 18383 self.id = id 18384 18385 18386class VirtualHubRoute(msrest.serialization.Model): 18387 """VirtualHub route. 18388 18389 :param address_prefixes: List of all addressPrefixes. 18390 :type address_prefixes: list[str] 18391 :param next_hop_ip_address: NextHop ip address. 18392 :type next_hop_ip_address: str 18393 """ 18394 18395 _attribute_map = { 18396 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, 18397 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, 18398 } 18399 18400 def __init__( 18401 self, 18402 *, 18403 address_prefixes: Optional[List[str]] = None, 18404 next_hop_ip_address: Optional[str] = None, 18405 **kwargs 18406 ): 18407 super(VirtualHubRoute, self).__init__(**kwargs) 18408 self.address_prefixes = address_prefixes 18409 self.next_hop_ip_address = next_hop_ip_address 18410 18411 18412class VirtualHubRouteTable(msrest.serialization.Model): 18413 """VirtualHub route table. 18414 18415 :param routes: List of all routes. 18416 :type routes: list[~azure.mgmt.network.v2019_12_01.models.VirtualHubRoute] 18417 """ 18418 18419 _attribute_map = { 18420 'routes': {'key': 'routes', 'type': '[VirtualHubRoute]'}, 18421 } 18422 18423 def __init__( 18424 self, 18425 *, 18426 routes: Optional[List["VirtualHubRoute"]] = None, 18427 **kwargs 18428 ): 18429 super(VirtualHubRouteTable, self).__init__(**kwargs) 18430 self.routes = routes 18431 18432 18433class VirtualHubRouteTableV2(SubResource): 18434 """VirtualHubRouteTableV2 Resource. 18435 18436 Variables are only populated by the server, and will be ignored when sending a request. 18437 18438 :param id: Resource ID. 18439 :type id: str 18440 :param name: The name of the resource that is unique within a resource group. This name can be 18441 used to access the resource. 18442 :type name: str 18443 :ivar etag: A unique read-only string that changes whenever the resource is updated. 18444 :vartype etag: str 18445 :param routes: List of all routes. 18446 :type routes: list[~azure.mgmt.network.v2019_12_01.models.VirtualHubRouteV2] 18447 :param attached_connections: List of all connections attached to this route table v2. 18448 :type attached_connections: list[str] 18449 :ivar provisioning_state: The provisioning state of the virtual hub route table v2 resource. 18450 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 18451 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 18452 """ 18453 18454 _validation = { 18455 'etag': {'readonly': True}, 18456 'provisioning_state': {'readonly': True}, 18457 } 18458 18459 _attribute_map = { 18460 'id': {'key': 'id', 'type': 'str'}, 18461 'name': {'key': 'name', 'type': 'str'}, 18462 'etag': {'key': 'etag', 'type': 'str'}, 18463 'routes': {'key': 'properties.routes', 'type': '[VirtualHubRouteV2]'}, 18464 'attached_connections': {'key': 'properties.attachedConnections', 'type': '[str]'}, 18465 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 18466 } 18467 18468 def __init__( 18469 self, 18470 *, 18471 id: Optional[str] = None, 18472 name: Optional[str] = None, 18473 routes: Optional[List["VirtualHubRouteV2"]] = None, 18474 attached_connections: Optional[List[str]] = None, 18475 **kwargs 18476 ): 18477 super(VirtualHubRouteTableV2, self).__init__(id=id, **kwargs) 18478 self.name = name 18479 self.etag = None 18480 self.routes = routes 18481 self.attached_connections = attached_connections 18482 self.provisioning_state = None 18483 18484 18485class VirtualHubRouteV2(msrest.serialization.Model): 18486 """VirtualHubRouteTableV2 route. 18487 18488 :param destination_type: The type of destinations. 18489 :type destination_type: str 18490 :param destinations: List of all destinations. 18491 :type destinations: list[str] 18492 :param next_hop_type: The type of next hops. 18493 :type next_hop_type: str 18494 :param next_hops: NextHops ip address. 18495 :type next_hops: list[str] 18496 """ 18497 18498 _attribute_map = { 18499 'destination_type': {'key': 'destinationType', 'type': 'str'}, 18500 'destinations': {'key': 'destinations', 'type': '[str]'}, 18501 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, 18502 'next_hops': {'key': 'nextHops', 'type': '[str]'}, 18503 } 18504 18505 def __init__( 18506 self, 18507 *, 18508 destination_type: Optional[str] = None, 18509 destinations: Optional[List[str]] = None, 18510 next_hop_type: Optional[str] = None, 18511 next_hops: Optional[List[str]] = None, 18512 **kwargs 18513 ): 18514 super(VirtualHubRouteV2, self).__init__(**kwargs) 18515 self.destination_type = destination_type 18516 self.destinations = destinations 18517 self.next_hop_type = next_hop_type 18518 self.next_hops = next_hops 18519 18520 18521class VirtualNetwork(Resource): 18522 """Virtual Network resource. 18523 18524 Variables are only populated by the server, and will be ignored when sending a request. 18525 18526 :param id: Resource ID. 18527 :type id: str 18528 :ivar name: Resource name. 18529 :vartype name: str 18530 :ivar type: Resource type. 18531 :vartype type: str 18532 :param location: Resource location. 18533 :type location: str 18534 :param tags: A set of tags. Resource tags. 18535 :type tags: dict[str, str] 18536 :ivar etag: A unique read-only string that changes whenever the resource is updated. 18537 :vartype etag: str 18538 :param address_space: The AddressSpace that contains an array of IP address ranges that can be 18539 used by subnets. 18540 :type address_space: ~azure.mgmt.network.v2019_12_01.models.AddressSpace 18541 :param dhcp_options: The dhcpOptions that contains an array of DNS servers available to VMs 18542 deployed in the virtual network. 18543 :type dhcp_options: ~azure.mgmt.network.v2019_12_01.models.DhcpOptions 18544 :param subnets: A list of subnets in a Virtual Network. 18545 :type subnets: list[~azure.mgmt.network.v2019_12_01.models.Subnet] 18546 :param virtual_network_peerings: A list of peerings in a Virtual Network. 18547 :type virtual_network_peerings: 18548 list[~azure.mgmt.network.v2019_12_01.models.VirtualNetworkPeering] 18549 :ivar resource_guid: The resourceGuid property of the Virtual Network resource. 18550 :vartype resource_guid: str 18551 :ivar provisioning_state: The provisioning state of the virtual network resource. Possible 18552 values include: "Succeeded", "Updating", "Deleting", "Failed". 18553 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 18554 :param enable_ddos_protection: Indicates if DDoS protection is enabled for all the protected 18555 resources in the virtual network. It requires a DDoS protection plan associated with the 18556 resource. 18557 :type enable_ddos_protection: bool 18558 :param enable_vm_protection: Indicates if VM protection is enabled for all the subnets in the 18559 virtual network. 18560 :type enable_vm_protection: bool 18561 :param ddos_protection_plan: The DDoS protection plan associated with the virtual network. 18562 :type ddos_protection_plan: ~azure.mgmt.network.v2019_12_01.models.SubResource 18563 :param bgp_communities: Bgp Communities sent over ExpressRoute with each route corresponding to 18564 a prefix in this VNET. 18565 :type bgp_communities: ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkBgpCommunities 18566 """ 18567 18568 _validation = { 18569 'name': {'readonly': True}, 18570 'type': {'readonly': True}, 18571 'etag': {'readonly': True}, 18572 'resource_guid': {'readonly': True}, 18573 'provisioning_state': {'readonly': True}, 18574 } 18575 18576 _attribute_map = { 18577 'id': {'key': 'id', 'type': 'str'}, 18578 'name': {'key': 'name', 'type': 'str'}, 18579 'type': {'key': 'type', 'type': 'str'}, 18580 'location': {'key': 'location', 'type': 'str'}, 18581 'tags': {'key': 'tags', 'type': '{str}'}, 18582 'etag': {'key': 'etag', 'type': 'str'}, 18583 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, 18584 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, 18585 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 18586 'virtual_network_peerings': {'key': 'properties.virtualNetworkPeerings', 'type': '[VirtualNetworkPeering]'}, 18587 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 18588 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 18589 'enable_ddos_protection': {'key': 'properties.enableDdosProtection', 'type': 'bool'}, 18590 'enable_vm_protection': {'key': 'properties.enableVmProtection', 'type': 'bool'}, 18591 'ddos_protection_plan': {'key': 'properties.ddosProtectionPlan', 'type': 'SubResource'}, 18592 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': 'VirtualNetworkBgpCommunities'}, 18593 } 18594 18595 def __init__( 18596 self, 18597 *, 18598 id: Optional[str] = None, 18599 location: Optional[str] = None, 18600 tags: Optional[Dict[str, str]] = None, 18601 address_space: Optional["AddressSpace"] = None, 18602 dhcp_options: Optional["DhcpOptions"] = None, 18603 subnets: Optional[List["Subnet"]] = None, 18604 virtual_network_peerings: Optional[List["VirtualNetworkPeering"]] = None, 18605 enable_ddos_protection: Optional[bool] = False, 18606 enable_vm_protection: Optional[bool] = False, 18607 ddos_protection_plan: Optional["SubResource"] = None, 18608 bgp_communities: Optional["VirtualNetworkBgpCommunities"] = None, 18609 **kwargs 18610 ): 18611 super(VirtualNetwork, self).__init__(id=id, location=location, tags=tags, **kwargs) 18612 self.etag = None 18613 self.address_space = address_space 18614 self.dhcp_options = dhcp_options 18615 self.subnets = subnets 18616 self.virtual_network_peerings = virtual_network_peerings 18617 self.resource_guid = None 18618 self.provisioning_state = None 18619 self.enable_ddos_protection = enable_ddos_protection 18620 self.enable_vm_protection = enable_vm_protection 18621 self.ddos_protection_plan = ddos_protection_plan 18622 self.bgp_communities = bgp_communities 18623 18624 18625class VirtualNetworkBgpCommunities(msrest.serialization.Model): 18626 """Bgp Communities sent over ExpressRoute with each route corresponding to a prefix in this VNET. 18627 18628 Variables are only populated by the server, and will be ignored when sending a request. 18629 18630 All required parameters must be populated in order to send to Azure. 18631 18632 :param virtual_network_community: Required. The BGP community associated with the virtual 18633 network. 18634 :type virtual_network_community: str 18635 :ivar regional_community: The BGP community associated with the region of the virtual network. 18636 :vartype regional_community: str 18637 """ 18638 18639 _validation = { 18640 'virtual_network_community': {'required': True}, 18641 'regional_community': {'readonly': True}, 18642 } 18643 18644 _attribute_map = { 18645 'virtual_network_community': {'key': 'virtualNetworkCommunity', 'type': 'str'}, 18646 'regional_community': {'key': 'regionalCommunity', 'type': 'str'}, 18647 } 18648 18649 def __init__( 18650 self, 18651 *, 18652 virtual_network_community: str, 18653 **kwargs 18654 ): 18655 super(VirtualNetworkBgpCommunities, self).__init__(**kwargs) 18656 self.virtual_network_community = virtual_network_community 18657 self.regional_community = None 18658 18659 18660class VirtualNetworkConnectionGatewayReference(msrest.serialization.Model): 18661 """A reference to VirtualNetworkGateway or LocalNetworkGateway resource. 18662 18663 All required parameters must be populated in order to send to Azure. 18664 18665 :param id: Required. The ID of VirtualNetworkGateway or LocalNetworkGateway resource. 18666 :type id: str 18667 """ 18668 18669 _validation = { 18670 'id': {'required': True}, 18671 } 18672 18673 _attribute_map = { 18674 'id': {'key': 'id', 'type': 'str'}, 18675 } 18676 18677 def __init__( 18678 self, 18679 *, 18680 id: str, 18681 **kwargs 18682 ): 18683 super(VirtualNetworkConnectionGatewayReference, self).__init__(**kwargs) 18684 self.id = id 18685 18686 18687class VirtualNetworkGateway(Resource): 18688 """A common class for general resource information. 18689 18690 Variables are only populated by the server, and will be ignored when sending a request. 18691 18692 :param id: Resource ID. 18693 :type id: str 18694 :ivar name: Resource name. 18695 :vartype name: str 18696 :ivar type: Resource type. 18697 :vartype type: str 18698 :param location: Resource location. 18699 :type location: str 18700 :param tags: A set of tags. Resource tags. 18701 :type tags: dict[str, str] 18702 :ivar etag: A unique read-only string that changes whenever the resource is updated. 18703 :vartype etag: str 18704 :param ip_configurations: IP configurations for virtual network gateway. 18705 :type ip_configurations: 18706 list[~azure.mgmt.network.v2019_12_01.models.VirtualNetworkGatewayIPConfiguration] 18707 :param gateway_type: The type of this virtual network gateway. Possible values include: "Vpn", 18708 "ExpressRoute". 18709 :type gateway_type: str or ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkGatewayType 18710 :param vpn_type: The type of this virtual network gateway. Possible values include: 18711 "PolicyBased", "RouteBased". 18712 :type vpn_type: str or ~azure.mgmt.network.v2019_12_01.models.VpnType 18713 :param vpn_gateway_generation: The generation for this VirtualNetworkGateway. Must be None if 18714 gatewayType is not VPN. Possible values include: "None", "Generation1", "Generation2". 18715 :type vpn_gateway_generation: str or 18716 ~azure.mgmt.network.v2019_12_01.models.VpnGatewayGeneration 18717 :param enable_bgp: Whether BGP is enabled for this virtual network gateway or not. 18718 :type enable_bgp: bool 18719 :param enable_private_ip_address: Whether private IP needs to be enabled on this gateway for 18720 connections or not. 18721 :type enable_private_ip_address: bool 18722 :param active: ActiveActive flag. 18723 :type active: bool 18724 :param gateway_default_site: The reference to the LocalNetworkGateway resource which represents 18725 local network site having default routes. Assign Null value in case of removing existing 18726 default site setting. 18727 :type gateway_default_site: ~azure.mgmt.network.v2019_12_01.models.SubResource 18728 :param sku: The reference to the VirtualNetworkGatewaySku resource which represents the SKU 18729 selected for Virtual network gateway. 18730 :type sku: ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkGatewaySku 18731 :param vpn_client_configuration: The reference to the VpnClientConfiguration resource which 18732 represents the P2S VpnClient configurations. 18733 :type vpn_client_configuration: ~azure.mgmt.network.v2019_12_01.models.VpnClientConfiguration 18734 :param bgp_settings: Virtual network gateway's BGP speaker settings. 18735 :type bgp_settings: ~azure.mgmt.network.v2019_12_01.models.BgpSettings 18736 :param custom_routes: The reference to the address space resource which represents the custom 18737 routes address space specified by the customer for virtual network gateway and VpnClient. 18738 :type custom_routes: ~azure.mgmt.network.v2019_12_01.models.AddressSpace 18739 :ivar resource_guid: The resource GUID property of the virtual network gateway resource. 18740 :vartype resource_guid: str 18741 :ivar provisioning_state: The provisioning state of the virtual network gateway resource. 18742 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 18743 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 18744 :param enable_dns_forwarding: Whether dns forwarding is enabled or not. 18745 :type enable_dns_forwarding: bool 18746 :ivar inbound_dns_forwarding_endpoint: The IP address allocated by the gateway to which dns 18747 requests can be sent. 18748 :vartype inbound_dns_forwarding_endpoint: str 18749 """ 18750 18751 _validation = { 18752 'name': {'readonly': True}, 18753 'type': {'readonly': True}, 18754 'etag': {'readonly': True}, 18755 'resource_guid': {'readonly': True}, 18756 'provisioning_state': {'readonly': True}, 18757 'inbound_dns_forwarding_endpoint': {'readonly': True}, 18758 } 18759 18760 _attribute_map = { 18761 'id': {'key': 'id', 'type': 'str'}, 18762 'name': {'key': 'name', 'type': 'str'}, 18763 'type': {'key': 'type', 'type': 'str'}, 18764 'location': {'key': 'location', 'type': 'str'}, 18765 'tags': {'key': 'tags', 'type': '{str}'}, 18766 'etag': {'key': 'etag', 'type': 'str'}, 18767 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, 18768 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, 18769 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, 18770 'vpn_gateway_generation': {'key': 'properties.vpnGatewayGeneration', 'type': 'str'}, 18771 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 18772 'enable_private_ip_address': {'key': 'properties.enablePrivateIpAddress', 'type': 'bool'}, 18773 'active': {'key': 'properties.activeActive', 'type': 'bool'}, 18774 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, 18775 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, 18776 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, 18777 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, 18778 'custom_routes': {'key': 'properties.customRoutes', 'type': 'AddressSpace'}, 18779 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 18780 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 18781 'enable_dns_forwarding': {'key': 'properties.enableDnsForwarding', 'type': 'bool'}, 18782 'inbound_dns_forwarding_endpoint': {'key': 'properties.inboundDnsForwardingEndpoint', 'type': 'str'}, 18783 } 18784 18785 def __init__( 18786 self, 18787 *, 18788 id: Optional[str] = None, 18789 location: Optional[str] = None, 18790 tags: Optional[Dict[str, str]] = None, 18791 ip_configurations: Optional[List["VirtualNetworkGatewayIPConfiguration"]] = None, 18792 gateway_type: Optional[Union[str, "VirtualNetworkGatewayType"]] = None, 18793 vpn_type: Optional[Union[str, "VpnType"]] = None, 18794 vpn_gateway_generation: Optional[Union[str, "VpnGatewayGeneration"]] = None, 18795 enable_bgp: Optional[bool] = None, 18796 enable_private_ip_address: Optional[bool] = None, 18797 active: Optional[bool] = None, 18798 gateway_default_site: Optional["SubResource"] = None, 18799 sku: Optional["VirtualNetworkGatewaySku"] = None, 18800 vpn_client_configuration: Optional["VpnClientConfiguration"] = None, 18801 bgp_settings: Optional["BgpSettings"] = None, 18802 custom_routes: Optional["AddressSpace"] = None, 18803 enable_dns_forwarding: Optional[bool] = None, 18804 **kwargs 18805 ): 18806 super(VirtualNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 18807 self.etag = None 18808 self.ip_configurations = ip_configurations 18809 self.gateway_type = gateway_type 18810 self.vpn_type = vpn_type 18811 self.vpn_gateway_generation = vpn_gateway_generation 18812 self.enable_bgp = enable_bgp 18813 self.enable_private_ip_address = enable_private_ip_address 18814 self.active = active 18815 self.gateway_default_site = gateway_default_site 18816 self.sku = sku 18817 self.vpn_client_configuration = vpn_client_configuration 18818 self.bgp_settings = bgp_settings 18819 self.custom_routes = custom_routes 18820 self.resource_guid = None 18821 self.provisioning_state = None 18822 self.enable_dns_forwarding = enable_dns_forwarding 18823 self.inbound_dns_forwarding_endpoint = None 18824 18825 18826class VirtualNetworkGatewayConnection(Resource): 18827 """A common class for general resource information. 18828 18829 Variables are only populated by the server, and will be ignored when sending a request. 18830 18831 All required parameters must be populated in order to send to Azure. 18832 18833 :param id: Resource ID. 18834 :type id: str 18835 :ivar name: Resource name. 18836 :vartype name: str 18837 :ivar type: Resource type. 18838 :vartype type: str 18839 :param location: Resource location. 18840 :type location: str 18841 :param tags: A set of tags. Resource tags. 18842 :type tags: dict[str, str] 18843 :ivar etag: A unique read-only string that changes whenever the resource is updated. 18844 :vartype etag: str 18845 :param authorization_key: The authorizationKey. 18846 :type authorization_key: str 18847 :param virtual_network_gateway1: Required. The reference to virtual network gateway resource. 18848 :type virtual_network_gateway1: ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkGateway 18849 :param virtual_network_gateway2: The reference to virtual network gateway resource. 18850 :type virtual_network_gateway2: ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkGateway 18851 :param local_network_gateway2: The reference to local network gateway resource. 18852 :type local_network_gateway2: ~azure.mgmt.network.v2019_12_01.models.LocalNetworkGateway 18853 :param connection_type: Required. Gateway connection type. Possible values include: "IPsec", 18854 "Vnet2Vnet", "ExpressRoute", "VPNClient". 18855 :type connection_type: str or 18856 ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkGatewayConnectionType 18857 :param connection_protocol: Connection protocol used for this connection. Possible values 18858 include: "IKEv2", "IKEv1". 18859 :type connection_protocol: str or 18860 ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkGatewayConnectionProtocol 18861 :param routing_weight: The routing weight. 18862 :type routing_weight: int 18863 :param shared_key: The IPSec shared key. 18864 :type shared_key: str 18865 :ivar connection_status: Virtual Network Gateway connection status. Possible values include: 18866 "Unknown", "Connecting", "Connected", "NotConnected". 18867 :vartype connection_status: str or 18868 ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkGatewayConnectionStatus 18869 :ivar tunnel_connection_status: Collection of all tunnels' connection health status. 18870 :vartype tunnel_connection_status: 18871 list[~azure.mgmt.network.v2019_12_01.models.TunnelConnectionHealth] 18872 :ivar egress_bytes_transferred: The egress bytes transferred in this connection. 18873 :vartype egress_bytes_transferred: long 18874 :ivar ingress_bytes_transferred: The ingress bytes transferred in this connection. 18875 :vartype ingress_bytes_transferred: long 18876 :param peer: The reference to peerings resource. 18877 :type peer: ~azure.mgmt.network.v2019_12_01.models.SubResource 18878 :param enable_bgp: EnableBgp flag. 18879 :type enable_bgp: bool 18880 :param use_local_azure_ip_address: Use private local Azure IP for the connection. 18881 :type use_local_azure_ip_address: bool 18882 :param use_policy_based_traffic_selectors: Enable policy-based traffic selectors. 18883 :type use_policy_based_traffic_selectors: bool 18884 :param ipsec_policies: The IPSec Policies to be considered by this connection. 18885 :type ipsec_policies: list[~azure.mgmt.network.v2019_12_01.models.IpsecPolicy] 18886 :param traffic_selector_policies: The Traffic Selector Policies to be considered by this 18887 connection. 18888 :type traffic_selector_policies: 18889 list[~azure.mgmt.network.v2019_12_01.models.TrafficSelectorPolicy] 18890 :ivar resource_guid: The resource GUID property of the virtual network gateway connection 18891 resource. 18892 :vartype resource_guid: str 18893 :ivar provisioning_state: The provisioning state of the virtual network gateway connection 18894 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 18895 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 18896 :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data forwarding. 18897 :type express_route_gateway_bypass: bool 18898 """ 18899 18900 _validation = { 18901 'name': {'readonly': True}, 18902 'type': {'readonly': True}, 18903 'etag': {'readonly': True}, 18904 'virtual_network_gateway1': {'required': True}, 18905 'connection_type': {'required': True}, 18906 'connection_status': {'readonly': True}, 18907 'tunnel_connection_status': {'readonly': True}, 18908 'egress_bytes_transferred': {'readonly': True}, 18909 'ingress_bytes_transferred': {'readonly': True}, 18910 'resource_guid': {'readonly': True}, 18911 'provisioning_state': {'readonly': True}, 18912 } 18913 18914 _attribute_map = { 18915 'id': {'key': 'id', 'type': 'str'}, 18916 'name': {'key': 'name', 'type': 'str'}, 18917 'type': {'key': 'type', 'type': 'str'}, 18918 'location': {'key': 'location', 'type': 'str'}, 18919 'tags': {'key': 'tags', 'type': '{str}'}, 18920 'etag': {'key': 'etag', 'type': 'str'}, 18921 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 18922 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, 18923 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, 18924 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, 18925 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, 18926 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, 18927 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, 18928 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 18929 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, 18930 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, 18931 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, 18932 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, 18933 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, 18934 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 18935 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, 18936 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, 18937 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, 18938 'traffic_selector_policies': {'key': 'properties.trafficSelectorPolicies', 'type': '[TrafficSelectorPolicy]'}, 18939 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 18940 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 18941 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, 18942 } 18943 18944 def __init__( 18945 self, 18946 *, 18947 virtual_network_gateway1: "VirtualNetworkGateway", 18948 connection_type: Union[str, "VirtualNetworkGatewayConnectionType"], 18949 id: Optional[str] = None, 18950 location: Optional[str] = None, 18951 tags: Optional[Dict[str, str]] = None, 18952 authorization_key: Optional[str] = None, 18953 virtual_network_gateway2: Optional["VirtualNetworkGateway"] = None, 18954 local_network_gateway2: Optional["LocalNetworkGateway"] = None, 18955 connection_protocol: Optional[Union[str, "VirtualNetworkGatewayConnectionProtocol"]] = None, 18956 routing_weight: Optional[int] = None, 18957 shared_key: Optional[str] = None, 18958 peer: Optional["SubResource"] = None, 18959 enable_bgp: Optional[bool] = None, 18960 use_local_azure_ip_address: Optional[bool] = None, 18961 use_policy_based_traffic_selectors: Optional[bool] = None, 18962 ipsec_policies: Optional[List["IpsecPolicy"]] = None, 18963 traffic_selector_policies: Optional[List["TrafficSelectorPolicy"]] = None, 18964 express_route_gateway_bypass: Optional[bool] = None, 18965 **kwargs 18966 ): 18967 super(VirtualNetworkGatewayConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) 18968 self.etag = None 18969 self.authorization_key = authorization_key 18970 self.virtual_network_gateway1 = virtual_network_gateway1 18971 self.virtual_network_gateway2 = virtual_network_gateway2 18972 self.local_network_gateway2 = local_network_gateway2 18973 self.connection_type = connection_type 18974 self.connection_protocol = connection_protocol 18975 self.routing_weight = routing_weight 18976 self.shared_key = shared_key 18977 self.connection_status = None 18978 self.tunnel_connection_status = None 18979 self.egress_bytes_transferred = None 18980 self.ingress_bytes_transferred = None 18981 self.peer = peer 18982 self.enable_bgp = enable_bgp 18983 self.use_local_azure_ip_address = use_local_azure_ip_address 18984 self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors 18985 self.ipsec_policies = ipsec_policies 18986 self.traffic_selector_policies = traffic_selector_policies 18987 self.resource_guid = None 18988 self.provisioning_state = None 18989 self.express_route_gateway_bypass = express_route_gateway_bypass 18990 18991 18992class VirtualNetworkGatewayConnectionListEntity(Resource): 18993 """A common class for general resource information. 18994 18995 Variables are only populated by the server, and will be ignored when sending a request. 18996 18997 All required parameters must be populated in order to send to Azure. 18998 18999 :param id: Resource ID. 19000 :type id: str 19001 :ivar name: Resource name. 19002 :vartype name: str 19003 :ivar type: Resource type. 19004 :vartype type: str 19005 :param location: Resource location. 19006 :type location: str 19007 :param tags: A set of tags. Resource tags. 19008 :type tags: dict[str, str] 19009 :ivar etag: A unique read-only string that changes whenever the resource is updated. 19010 :vartype etag: str 19011 :param authorization_key: The authorizationKey. 19012 :type authorization_key: str 19013 :param virtual_network_gateway1: Required. The reference to virtual network gateway resource. 19014 :type virtual_network_gateway1: 19015 ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkConnectionGatewayReference 19016 :param virtual_network_gateway2: The reference to virtual network gateway resource. 19017 :type virtual_network_gateway2: 19018 ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkConnectionGatewayReference 19019 :param local_network_gateway2: The reference to local network gateway resource. 19020 :type local_network_gateway2: 19021 ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkConnectionGatewayReference 19022 :param connection_type: Required. Gateway connection type. Possible values include: "IPsec", 19023 "Vnet2Vnet", "ExpressRoute", "VPNClient". 19024 :type connection_type: str or 19025 ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkGatewayConnectionType 19026 :param connection_protocol: Connection protocol used for this connection. Possible values 19027 include: "IKEv2", "IKEv1". 19028 :type connection_protocol: str or 19029 ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkGatewayConnectionProtocol 19030 :param routing_weight: The routing weight. 19031 :type routing_weight: int 19032 :param shared_key: The IPSec shared key. 19033 :type shared_key: str 19034 :ivar connection_status: Virtual Network Gateway connection status. Possible values include: 19035 "Unknown", "Connecting", "Connected", "NotConnected". 19036 :vartype connection_status: str or 19037 ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkGatewayConnectionStatus 19038 :ivar tunnel_connection_status: Collection of all tunnels' connection health status. 19039 :vartype tunnel_connection_status: 19040 list[~azure.mgmt.network.v2019_12_01.models.TunnelConnectionHealth] 19041 :ivar egress_bytes_transferred: The egress bytes transferred in this connection. 19042 :vartype egress_bytes_transferred: long 19043 :ivar ingress_bytes_transferred: The ingress bytes transferred in this connection. 19044 :vartype ingress_bytes_transferred: long 19045 :param peer: The reference to peerings resource. 19046 :type peer: ~azure.mgmt.network.v2019_12_01.models.SubResource 19047 :param enable_bgp: EnableBgp flag. 19048 :type enable_bgp: bool 19049 :param use_policy_based_traffic_selectors: Enable policy-based traffic selectors. 19050 :type use_policy_based_traffic_selectors: bool 19051 :param ipsec_policies: The IPSec Policies to be considered by this connection. 19052 :type ipsec_policies: list[~azure.mgmt.network.v2019_12_01.models.IpsecPolicy] 19053 :param traffic_selector_policies: The Traffic Selector Policies to be considered by this 19054 connection. 19055 :type traffic_selector_policies: 19056 list[~azure.mgmt.network.v2019_12_01.models.TrafficSelectorPolicy] 19057 :ivar resource_guid: The resource GUID property of the virtual network gateway connection 19058 resource. 19059 :vartype resource_guid: str 19060 :ivar provisioning_state: The provisioning state of the virtual network gateway connection 19061 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 19062 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 19063 :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data forwarding. 19064 :type express_route_gateway_bypass: bool 19065 """ 19066 19067 _validation = { 19068 'name': {'readonly': True}, 19069 'type': {'readonly': True}, 19070 'etag': {'readonly': True}, 19071 'virtual_network_gateway1': {'required': True}, 19072 'connection_type': {'required': True}, 19073 'connection_status': {'readonly': True}, 19074 'tunnel_connection_status': {'readonly': True}, 19075 'egress_bytes_transferred': {'readonly': True}, 19076 'ingress_bytes_transferred': {'readonly': True}, 19077 'resource_guid': {'readonly': True}, 19078 'provisioning_state': {'readonly': True}, 19079 } 19080 19081 _attribute_map = { 19082 'id': {'key': 'id', 'type': 'str'}, 19083 'name': {'key': 'name', 'type': 'str'}, 19084 'type': {'key': 'type', 'type': 'str'}, 19085 'location': {'key': 'location', 'type': 'str'}, 19086 'tags': {'key': 'tags', 'type': '{str}'}, 19087 'etag': {'key': 'etag', 'type': 'str'}, 19088 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 19089 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkConnectionGatewayReference'}, 19090 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, 19091 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, 19092 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, 19093 'connection_protocol': {'key': 'properties.connectionProtocol', 'type': 'str'}, 19094 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, 19095 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 19096 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, 19097 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, 19098 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, 19099 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, 19100 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, 19101 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 19102 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, 19103 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, 19104 'traffic_selector_policies': {'key': 'properties.trafficSelectorPolicies', 'type': '[TrafficSelectorPolicy]'}, 19105 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 19106 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 19107 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, 19108 } 19109 19110 def __init__( 19111 self, 19112 *, 19113 virtual_network_gateway1: "VirtualNetworkConnectionGatewayReference", 19114 connection_type: Union[str, "VirtualNetworkGatewayConnectionType"], 19115 id: Optional[str] = None, 19116 location: Optional[str] = None, 19117 tags: Optional[Dict[str, str]] = None, 19118 authorization_key: Optional[str] = None, 19119 virtual_network_gateway2: Optional["VirtualNetworkConnectionGatewayReference"] = None, 19120 local_network_gateway2: Optional["VirtualNetworkConnectionGatewayReference"] = None, 19121 connection_protocol: Optional[Union[str, "VirtualNetworkGatewayConnectionProtocol"]] = None, 19122 routing_weight: Optional[int] = None, 19123 shared_key: Optional[str] = None, 19124 peer: Optional["SubResource"] = None, 19125 enable_bgp: Optional[bool] = None, 19126 use_policy_based_traffic_selectors: Optional[bool] = None, 19127 ipsec_policies: Optional[List["IpsecPolicy"]] = None, 19128 traffic_selector_policies: Optional[List["TrafficSelectorPolicy"]] = None, 19129 express_route_gateway_bypass: Optional[bool] = None, 19130 **kwargs 19131 ): 19132 super(VirtualNetworkGatewayConnectionListEntity, self).__init__(id=id, location=location, tags=tags, **kwargs) 19133 self.etag = None 19134 self.authorization_key = authorization_key 19135 self.virtual_network_gateway1 = virtual_network_gateway1 19136 self.virtual_network_gateway2 = virtual_network_gateway2 19137 self.local_network_gateway2 = local_network_gateway2 19138 self.connection_type = connection_type 19139 self.connection_protocol = connection_protocol 19140 self.routing_weight = routing_weight 19141 self.shared_key = shared_key 19142 self.connection_status = None 19143 self.tunnel_connection_status = None 19144 self.egress_bytes_transferred = None 19145 self.ingress_bytes_transferred = None 19146 self.peer = peer 19147 self.enable_bgp = enable_bgp 19148 self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors 19149 self.ipsec_policies = ipsec_policies 19150 self.traffic_selector_policies = traffic_selector_policies 19151 self.resource_guid = None 19152 self.provisioning_state = None 19153 self.express_route_gateway_bypass = express_route_gateway_bypass 19154 19155 19156class VirtualNetworkGatewayConnectionListResult(msrest.serialization.Model): 19157 """Response for the ListVirtualNetworkGatewayConnections API service call. 19158 19159 Variables are only populated by the server, and will be ignored when sending a request. 19160 19161 :param value: A list of VirtualNetworkGatewayConnection resources that exists in a resource 19162 group. 19163 :type value: list[~azure.mgmt.network.v2019_12_01.models.VirtualNetworkGatewayConnection] 19164 :ivar next_link: The URL to get the next set of results. 19165 :vartype next_link: str 19166 """ 19167 19168 _validation = { 19169 'next_link': {'readonly': True}, 19170 } 19171 19172 _attribute_map = { 19173 'value': {'key': 'value', 'type': '[VirtualNetworkGatewayConnection]'}, 19174 'next_link': {'key': 'nextLink', 'type': 'str'}, 19175 } 19176 19177 def __init__( 19178 self, 19179 *, 19180 value: Optional[List["VirtualNetworkGatewayConnection"]] = None, 19181 **kwargs 19182 ): 19183 super(VirtualNetworkGatewayConnectionListResult, self).__init__(**kwargs) 19184 self.value = value 19185 self.next_link = None 19186 19187 19188class VirtualNetworkGatewayIPConfiguration(SubResource): 19189 """IP configuration for virtual network gateway. 19190 19191 Variables are only populated by the server, and will be ignored when sending a request. 19192 19193 :param id: Resource ID. 19194 :type id: str 19195 :param name: The name of the resource that is unique within a resource group. This name can be 19196 used to access the resource. 19197 :type name: str 19198 :ivar etag: A unique read-only string that changes whenever the resource is updated. 19199 :vartype etag: str 19200 :param private_ip_allocation_method: The private IP address allocation method. Possible values 19201 include: "Static", "Dynamic". 19202 :type private_ip_allocation_method: str or 19203 ~azure.mgmt.network.v2019_12_01.models.IPAllocationMethod 19204 :param subnet: The reference to the subnet resource. 19205 :type subnet: ~azure.mgmt.network.v2019_12_01.models.SubResource 19206 :param public_ip_address: The reference to the public IP resource. 19207 :type public_ip_address: ~azure.mgmt.network.v2019_12_01.models.SubResource 19208 :ivar private_ip_address: Private IP Address for this gateway. 19209 :vartype private_ip_address: str 19210 :ivar provisioning_state: The provisioning state of the virtual network gateway IP 19211 configuration resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 19212 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 19213 """ 19214 19215 _validation = { 19216 'etag': {'readonly': True}, 19217 'private_ip_address': {'readonly': True}, 19218 'provisioning_state': {'readonly': True}, 19219 } 19220 19221 _attribute_map = { 19222 'id': {'key': 'id', 'type': 'str'}, 19223 'name': {'key': 'name', 'type': 'str'}, 19224 'etag': {'key': 'etag', 'type': 'str'}, 19225 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 19226 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 19227 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, 19228 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 19229 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 19230 } 19231 19232 def __init__( 19233 self, 19234 *, 19235 id: Optional[str] = None, 19236 name: Optional[str] = None, 19237 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 19238 subnet: Optional["SubResource"] = None, 19239 public_ip_address: Optional["SubResource"] = None, 19240 **kwargs 19241 ): 19242 super(VirtualNetworkGatewayIPConfiguration, self).__init__(id=id, **kwargs) 19243 self.name = name 19244 self.etag = None 19245 self.private_ip_allocation_method = private_ip_allocation_method 19246 self.subnet = subnet 19247 self.public_ip_address = public_ip_address 19248 self.private_ip_address = None 19249 self.provisioning_state = None 19250 19251 19252class VirtualNetworkGatewayListConnectionsResult(msrest.serialization.Model): 19253 """Response for the VirtualNetworkGatewayListConnections API service call. 19254 19255 Variables are only populated by the server, and will be ignored when sending a request. 19256 19257 :param value: A list of VirtualNetworkGatewayConnection resources that exists in a resource 19258 group. 19259 :type value: 19260 list[~azure.mgmt.network.v2019_12_01.models.VirtualNetworkGatewayConnectionListEntity] 19261 :ivar next_link: The URL to get the next set of results. 19262 :vartype next_link: str 19263 """ 19264 19265 _validation = { 19266 'next_link': {'readonly': True}, 19267 } 19268 19269 _attribute_map = { 19270 'value': {'key': 'value', 'type': '[VirtualNetworkGatewayConnectionListEntity]'}, 19271 'next_link': {'key': 'nextLink', 'type': 'str'}, 19272 } 19273 19274 def __init__( 19275 self, 19276 *, 19277 value: Optional[List["VirtualNetworkGatewayConnectionListEntity"]] = None, 19278 **kwargs 19279 ): 19280 super(VirtualNetworkGatewayListConnectionsResult, self).__init__(**kwargs) 19281 self.value = value 19282 self.next_link = None 19283 19284 19285class VirtualNetworkGatewayListResult(msrest.serialization.Model): 19286 """Response for the ListVirtualNetworkGateways API service call. 19287 19288 Variables are only populated by the server, and will be ignored when sending a request. 19289 19290 :param value: A list of VirtualNetworkGateway resources that exists in a resource group. 19291 :type value: list[~azure.mgmt.network.v2019_12_01.models.VirtualNetworkGateway] 19292 :ivar next_link: The URL to get the next set of results. 19293 :vartype next_link: str 19294 """ 19295 19296 _validation = { 19297 'next_link': {'readonly': True}, 19298 } 19299 19300 _attribute_map = { 19301 'value': {'key': 'value', 'type': '[VirtualNetworkGateway]'}, 19302 'next_link': {'key': 'nextLink', 'type': 'str'}, 19303 } 19304 19305 def __init__( 19306 self, 19307 *, 19308 value: Optional[List["VirtualNetworkGateway"]] = None, 19309 **kwargs 19310 ): 19311 super(VirtualNetworkGatewayListResult, self).__init__(**kwargs) 19312 self.value = value 19313 self.next_link = None 19314 19315 19316class VirtualNetworkGatewaySku(msrest.serialization.Model): 19317 """VirtualNetworkGatewaySku details. 19318 19319 Variables are only populated by the server, and will be ignored when sending a request. 19320 19321 :param name: Gateway SKU name. Possible values include: "Basic", "HighPerformance", "Standard", 19322 "UltraPerformance", "VpnGw1", "VpnGw2", "VpnGw3", "VpnGw4", "VpnGw5", "VpnGw1AZ", "VpnGw2AZ", 19323 "VpnGw3AZ", "VpnGw4AZ", "VpnGw5AZ", "ErGw1AZ", "ErGw2AZ", "ErGw3AZ". 19324 :type name: str or ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkGatewaySkuName 19325 :param tier: Gateway SKU tier. Possible values include: "Basic", "HighPerformance", "Standard", 19326 "UltraPerformance", "VpnGw1", "VpnGw2", "VpnGw3", "VpnGw4", "VpnGw5", "VpnGw1AZ", "VpnGw2AZ", 19327 "VpnGw3AZ", "VpnGw4AZ", "VpnGw5AZ", "ErGw1AZ", "ErGw2AZ", "ErGw3AZ". 19328 :type tier: str or ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkGatewaySkuTier 19329 :ivar capacity: The capacity. 19330 :vartype capacity: int 19331 """ 19332 19333 _validation = { 19334 'capacity': {'readonly': True}, 19335 } 19336 19337 _attribute_map = { 19338 'name': {'key': 'name', 'type': 'str'}, 19339 'tier': {'key': 'tier', 'type': 'str'}, 19340 'capacity': {'key': 'capacity', 'type': 'int'}, 19341 } 19342 19343 def __init__( 19344 self, 19345 *, 19346 name: Optional[Union[str, "VirtualNetworkGatewaySkuName"]] = None, 19347 tier: Optional[Union[str, "VirtualNetworkGatewaySkuTier"]] = None, 19348 **kwargs 19349 ): 19350 super(VirtualNetworkGatewaySku, self).__init__(**kwargs) 19351 self.name = name 19352 self.tier = tier 19353 self.capacity = None 19354 19355 19356class VirtualNetworkListResult(msrest.serialization.Model): 19357 """Response for the ListVirtualNetworks API service call. 19358 19359 :param value: A list of VirtualNetwork resources in a resource group. 19360 :type value: list[~azure.mgmt.network.v2019_12_01.models.VirtualNetwork] 19361 :param next_link: The URL to get the next set of results. 19362 :type next_link: str 19363 """ 19364 19365 _attribute_map = { 19366 'value': {'key': 'value', 'type': '[VirtualNetwork]'}, 19367 'next_link': {'key': 'nextLink', 'type': 'str'}, 19368 } 19369 19370 def __init__( 19371 self, 19372 *, 19373 value: Optional[List["VirtualNetwork"]] = None, 19374 next_link: Optional[str] = None, 19375 **kwargs 19376 ): 19377 super(VirtualNetworkListResult, self).__init__(**kwargs) 19378 self.value = value 19379 self.next_link = next_link 19380 19381 19382class VirtualNetworkListUsageResult(msrest.serialization.Model): 19383 """Response for the virtual networks GetUsage API service call. 19384 19385 Variables are only populated by the server, and will be ignored when sending a request. 19386 19387 :ivar value: VirtualNetwork usage stats. 19388 :vartype value: list[~azure.mgmt.network.v2019_12_01.models.VirtualNetworkUsage] 19389 :param next_link: The URL to get the next set of results. 19390 :type next_link: str 19391 """ 19392 19393 _validation = { 19394 'value': {'readonly': True}, 19395 } 19396 19397 _attribute_map = { 19398 'value': {'key': 'value', 'type': '[VirtualNetworkUsage]'}, 19399 'next_link': {'key': 'nextLink', 'type': 'str'}, 19400 } 19401 19402 def __init__( 19403 self, 19404 *, 19405 next_link: Optional[str] = None, 19406 **kwargs 19407 ): 19408 super(VirtualNetworkListUsageResult, self).__init__(**kwargs) 19409 self.value = None 19410 self.next_link = next_link 19411 19412 19413class VirtualNetworkPeering(SubResource): 19414 """Peerings in a virtual network resource. 19415 19416 Variables are only populated by the server, and will be ignored when sending a request. 19417 19418 :param id: Resource ID. 19419 :type id: str 19420 :param name: The name of the resource that is unique within a resource group. This name can be 19421 used to access the resource. 19422 :type name: str 19423 :ivar etag: A unique read-only string that changes whenever the resource is updated. 19424 :vartype etag: str 19425 :param allow_virtual_network_access: Whether the VMs in the local virtual network space would 19426 be able to access the VMs in remote virtual network space. 19427 :type allow_virtual_network_access: bool 19428 :param allow_forwarded_traffic: Whether the forwarded traffic from the VMs in the local virtual 19429 network will be allowed/disallowed in remote virtual network. 19430 :type allow_forwarded_traffic: bool 19431 :param allow_gateway_transit: If gateway links can be used in remote virtual networking to link 19432 to this virtual network. 19433 :type allow_gateway_transit: bool 19434 :param use_remote_gateways: If remote gateways can be used on this virtual network. If the flag 19435 is set to true, and allowGatewayTransit on remote peering is also true, virtual network will 19436 use gateways of remote virtual network for transit. Only one peering can have this flag set to 19437 true. This flag cannot be set if virtual network already has a gateway. 19438 :type use_remote_gateways: bool 19439 :param remote_virtual_network: The reference to the remote virtual network. The remote virtual 19440 network can be in the same or different region (preview). See here to register for the preview 19441 and learn more 19442 (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). 19443 :type remote_virtual_network: ~azure.mgmt.network.v2019_12_01.models.SubResource 19444 :param remote_address_space: The reference to the remote virtual network address space. 19445 :type remote_address_space: ~azure.mgmt.network.v2019_12_01.models.AddressSpace 19446 :param peering_state: The status of the virtual network peering. Possible values include: 19447 "Initiated", "Connected", "Disconnected". 19448 :type peering_state: str or ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkPeeringState 19449 :ivar provisioning_state: The provisioning state of the virtual network peering resource. 19450 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 19451 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 19452 """ 19453 19454 _validation = { 19455 'etag': {'readonly': True}, 19456 'provisioning_state': {'readonly': True}, 19457 } 19458 19459 _attribute_map = { 19460 'id': {'key': 'id', 'type': 'str'}, 19461 'name': {'key': 'name', 'type': 'str'}, 19462 'etag': {'key': 'etag', 'type': 'str'}, 19463 'allow_virtual_network_access': {'key': 'properties.allowVirtualNetworkAccess', 'type': 'bool'}, 19464 'allow_forwarded_traffic': {'key': 'properties.allowForwardedTraffic', 'type': 'bool'}, 19465 'allow_gateway_transit': {'key': 'properties.allowGatewayTransit', 'type': 'bool'}, 19466 'use_remote_gateways': {'key': 'properties.useRemoteGateways', 'type': 'bool'}, 19467 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, 19468 'remote_address_space': {'key': 'properties.remoteAddressSpace', 'type': 'AddressSpace'}, 19469 'peering_state': {'key': 'properties.peeringState', 'type': 'str'}, 19470 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 19471 } 19472 19473 def __init__( 19474 self, 19475 *, 19476 id: Optional[str] = None, 19477 name: Optional[str] = None, 19478 allow_virtual_network_access: Optional[bool] = None, 19479 allow_forwarded_traffic: Optional[bool] = None, 19480 allow_gateway_transit: Optional[bool] = None, 19481 use_remote_gateways: Optional[bool] = None, 19482 remote_virtual_network: Optional["SubResource"] = None, 19483 remote_address_space: Optional["AddressSpace"] = None, 19484 peering_state: Optional[Union[str, "VirtualNetworkPeeringState"]] = None, 19485 **kwargs 19486 ): 19487 super(VirtualNetworkPeering, self).__init__(id=id, **kwargs) 19488 self.name = name 19489 self.etag = None 19490 self.allow_virtual_network_access = allow_virtual_network_access 19491 self.allow_forwarded_traffic = allow_forwarded_traffic 19492 self.allow_gateway_transit = allow_gateway_transit 19493 self.use_remote_gateways = use_remote_gateways 19494 self.remote_virtual_network = remote_virtual_network 19495 self.remote_address_space = remote_address_space 19496 self.peering_state = peering_state 19497 self.provisioning_state = None 19498 19499 19500class VirtualNetworkPeeringListResult(msrest.serialization.Model): 19501 """Response for ListSubnets API service call. Retrieves all subnets that belong to a virtual network. 19502 19503 :param value: The peerings in a virtual network. 19504 :type value: list[~azure.mgmt.network.v2019_12_01.models.VirtualNetworkPeering] 19505 :param next_link: The URL to get the next set of results. 19506 :type next_link: str 19507 """ 19508 19509 _attribute_map = { 19510 'value': {'key': 'value', 'type': '[VirtualNetworkPeering]'}, 19511 'next_link': {'key': 'nextLink', 'type': 'str'}, 19512 } 19513 19514 def __init__( 19515 self, 19516 *, 19517 value: Optional[List["VirtualNetworkPeering"]] = None, 19518 next_link: Optional[str] = None, 19519 **kwargs 19520 ): 19521 super(VirtualNetworkPeeringListResult, self).__init__(**kwargs) 19522 self.value = value 19523 self.next_link = next_link 19524 19525 19526class VirtualNetworkTap(Resource): 19527 """Virtual Network Tap resource. 19528 19529 Variables are only populated by the server, and will be ignored when sending a request. 19530 19531 :param id: Resource ID. 19532 :type id: str 19533 :ivar name: Resource name. 19534 :vartype name: str 19535 :ivar type: Resource type. 19536 :vartype type: str 19537 :param location: Resource location. 19538 :type location: str 19539 :param tags: A set of tags. Resource tags. 19540 :type tags: dict[str, str] 19541 :ivar etag: A unique read-only string that changes whenever the resource is updated. 19542 :vartype etag: str 19543 :ivar network_interface_tap_configurations: Specifies the list of resource IDs for the network 19544 interface IP configuration that needs to be tapped. 19545 :vartype network_interface_tap_configurations: 19546 list[~azure.mgmt.network.v2019_12_01.models.NetworkInterfaceTapConfiguration] 19547 :ivar resource_guid: The resource GUID property of the virtual network tap resource. 19548 :vartype resource_guid: str 19549 :ivar provisioning_state: The provisioning state of the virtual network tap resource. Possible 19550 values include: "Succeeded", "Updating", "Deleting", "Failed". 19551 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 19552 :param destination_network_interface_ip_configuration: The reference to the private IP Address 19553 of the collector nic that will receive the tap. 19554 :type destination_network_interface_ip_configuration: 19555 ~azure.mgmt.network.v2019_12_01.models.NetworkInterfaceIPConfiguration 19556 :param destination_load_balancer_front_end_ip_configuration: The reference to the private IP 19557 address on the internal Load Balancer that will receive the tap. 19558 :type destination_load_balancer_front_end_ip_configuration: 19559 ~azure.mgmt.network.v2019_12_01.models.FrontendIPConfiguration 19560 :param destination_port: The VXLAN destination port that will receive the tapped traffic. 19561 :type destination_port: int 19562 """ 19563 19564 _validation = { 19565 'name': {'readonly': True}, 19566 'type': {'readonly': True}, 19567 'etag': {'readonly': True}, 19568 'network_interface_tap_configurations': {'readonly': True}, 19569 'resource_guid': {'readonly': True}, 19570 'provisioning_state': {'readonly': True}, 19571 } 19572 19573 _attribute_map = { 19574 'id': {'key': 'id', 'type': 'str'}, 19575 'name': {'key': 'name', 'type': 'str'}, 19576 'type': {'key': 'type', 'type': 'str'}, 19577 'location': {'key': 'location', 'type': 'str'}, 19578 'tags': {'key': 'tags', 'type': '{str}'}, 19579 'etag': {'key': 'etag', 'type': 'str'}, 19580 'network_interface_tap_configurations': {'key': 'properties.networkInterfaceTapConfigurations', 'type': '[NetworkInterfaceTapConfiguration]'}, 19581 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 19582 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 19583 'destination_network_interface_ip_configuration': {'key': 'properties.destinationNetworkInterfaceIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, 19584 'destination_load_balancer_front_end_ip_configuration': {'key': 'properties.destinationLoadBalancerFrontEndIPConfiguration', 'type': 'FrontendIPConfiguration'}, 19585 'destination_port': {'key': 'properties.destinationPort', 'type': 'int'}, 19586 } 19587 19588 def __init__( 19589 self, 19590 *, 19591 id: Optional[str] = None, 19592 location: Optional[str] = None, 19593 tags: Optional[Dict[str, str]] = None, 19594 destination_network_interface_ip_configuration: Optional["NetworkInterfaceIPConfiguration"] = None, 19595 destination_load_balancer_front_end_ip_configuration: Optional["FrontendIPConfiguration"] = None, 19596 destination_port: Optional[int] = None, 19597 **kwargs 19598 ): 19599 super(VirtualNetworkTap, self).__init__(id=id, location=location, tags=tags, **kwargs) 19600 self.etag = None 19601 self.network_interface_tap_configurations = None 19602 self.resource_guid = None 19603 self.provisioning_state = None 19604 self.destination_network_interface_ip_configuration = destination_network_interface_ip_configuration 19605 self.destination_load_balancer_front_end_ip_configuration = destination_load_balancer_front_end_ip_configuration 19606 self.destination_port = destination_port 19607 19608 19609class VirtualNetworkTapListResult(msrest.serialization.Model): 19610 """Response for ListVirtualNetworkTap API service call. 19611 19612 :param value: A list of VirtualNetworkTaps in a resource group. 19613 :type value: list[~azure.mgmt.network.v2019_12_01.models.VirtualNetworkTap] 19614 :param next_link: The URL to get the next set of results. 19615 :type next_link: str 19616 """ 19617 19618 _attribute_map = { 19619 'value': {'key': 'value', 'type': '[VirtualNetworkTap]'}, 19620 'next_link': {'key': 'nextLink', 'type': 'str'}, 19621 } 19622 19623 def __init__( 19624 self, 19625 *, 19626 value: Optional[List["VirtualNetworkTap"]] = None, 19627 next_link: Optional[str] = None, 19628 **kwargs 19629 ): 19630 super(VirtualNetworkTapListResult, self).__init__(**kwargs) 19631 self.value = value 19632 self.next_link = next_link 19633 19634 19635class VirtualNetworkUsage(msrest.serialization.Model): 19636 """Usage details for subnet. 19637 19638 Variables are only populated by the server, and will be ignored when sending a request. 19639 19640 :ivar current_value: Indicates number of IPs used from the Subnet. 19641 :vartype current_value: float 19642 :ivar id: Subnet identifier. 19643 :vartype id: str 19644 :ivar limit: Indicates the size of the subnet. 19645 :vartype limit: float 19646 :ivar name: The name containing common and localized value for usage. 19647 :vartype name: ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkUsageName 19648 :ivar unit: Usage units. Returns 'Count'. 19649 :vartype unit: str 19650 """ 19651 19652 _validation = { 19653 'current_value': {'readonly': True}, 19654 'id': {'readonly': True}, 19655 'limit': {'readonly': True}, 19656 'name': {'readonly': True}, 19657 'unit': {'readonly': True}, 19658 } 19659 19660 _attribute_map = { 19661 'current_value': {'key': 'currentValue', 'type': 'float'}, 19662 'id': {'key': 'id', 'type': 'str'}, 19663 'limit': {'key': 'limit', 'type': 'float'}, 19664 'name': {'key': 'name', 'type': 'VirtualNetworkUsageName'}, 19665 'unit': {'key': 'unit', 'type': 'str'}, 19666 } 19667 19668 def __init__( 19669 self, 19670 **kwargs 19671 ): 19672 super(VirtualNetworkUsage, self).__init__(**kwargs) 19673 self.current_value = None 19674 self.id = None 19675 self.limit = None 19676 self.name = None 19677 self.unit = None 19678 19679 19680class VirtualNetworkUsageName(msrest.serialization.Model): 19681 """Usage strings container. 19682 19683 Variables are only populated by the server, and will be ignored when sending a request. 19684 19685 :ivar localized_value: Localized subnet size and usage string. 19686 :vartype localized_value: str 19687 :ivar value: Subnet size and usage string. 19688 :vartype value: str 19689 """ 19690 19691 _validation = { 19692 'localized_value': {'readonly': True}, 19693 'value': {'readonly': True}, 19694 } 19695 19696 _attribute_map = { 19697 'localized_value': {'key': 'localizedValue', 'type': 'str'}, 19698 'value': {'key': 'value', 'type': 'str'}, 19699 } 19700 19701 def __init__( 19702 self, 19703 **kwargs 19704 ): 19705 super(VirtualNetworkUsageName, self).__init__(**kwargs) 19706 self.localized_value = None 19707 self.value = None 19708 19709 19710class VirtualRouter(Resource): 19711 """VirtualRouter Resource. 19712 19713 Variables are only populated by the server, and will be ignored when sending a request. 19714 19715 :param id: Resource ID. 19716 :type id: str 19717 :ivar name: Resource name. 19718 :vartype name: str 19719 :ivar type: Resource type. 19720 :vartype type: str 19721 :param location: Resource location. 19722 :type location: str 19723 :param tags: A set of tags. Resource tags. 19724 :type tags: dict[str, str] 19725 :ivar etag: A unique read-only string that changes whenever the resource is updated. 19726 :vartype etag: str 19727 :param virtual_router_asn: VirtualRouter ASN. 19728 :type virtual_router_asn: long 19729 :param virtual_router_ips: VirtualRouter IPs. 19730 :type virtual_router_ips: list[str] 19731 :param hosted_subnet: The Subnet on which VirtualRouter is hosted. 19732 :type hosted_subnet: ~azure.mgmt.network.v2019_12_01.models.SubResource 19733 :param hosted_gateway: The Gateway on which VirtualRouter is hosted. 19734 :type hosted_gateway: ~azure.mgmt.network.v2019_12_01.models.SubResource 19735 :ivar peerings: List of references to VirtualRouterPeerings. 19736 :vartype peerings: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 19737 :ivar provisioning_state: The provisioning state of the resource. Possible values include: 19738 "Succeeded", "Updating", "Deleting", "Failed". 19739 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 19740 """ 19741 19742 _validation = { 19743 'name': {'readonly': True}, 19744 'type': {'readonly': True}, 19745 'etag': {'readonly': True}, 19746 'virtual_router_asn': {'maximum': 4294967295, 'minimum': 0}, 19747 'peerings': {'readonly': True}, 19748 'provisioning_state': {'readonly': True}, 19749 } 19750 19751 _attribute_map = { 19752 'id': {'key': 'id', 'type': 'str'}, 19753 'name': {'key': 'name', 'type': 'str'}, 19754 'type': {'key': 'type', 'type': 'str'}, 19755 'location': {'key': 'location', 'type': 'str'}, 19756 'tags': {'key': 'tags', 'type': '{str}'}, 19757 'etag': {'key': 'etag', 'type': 'str'}, 19758 'virtual_router_asn': {'key': 'properties.virtualRouterAsn', 'type': 'long'}, 19759 'virtual_router_ips': {'key': 'properties.virtualRouterIps', 'type': '[str]'}, 19760 'hosted_subnet': {'key': 'properties.hostedSubnet', 'type': 'SubResource'}, 19761 'hosted_gateway': {'key': 'properties.hostedGateway', 'type': 'SubResource'}, 19762 'peerings': {'key': 'properties.peerings', 'type': '[SubResource]'}, 19763 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 19764 } 19765 19766 def __init__( 19767 self, 19768 *, 19769 id: Optional[str] = None, 19770 location: Optional[str] = None, 19771 tags: Optional[Dict[str, str]] = None, 19772 virtual_router_asn: Optional[int] = None, 19773 virtual_router_ips: Optional[List[str]] = None, 19774 hosted_subnet: Optional["SubResource"] = None, 19775 hosted_gateway: Optional["SubResource"] = None, 19776 **kwargs 19777 ): 19778 super(VirtualRouter, self).__init__(id=id, location=location, tags=tags, **kwargs) 19779 self.etag = None 19780 self.virtual_router_asn = virtual_router_asn 19781 self.virtual_router_ips = virtual_router_ips 19782 self.hosted_subnet = hosted_subnet 19783 self.hosted_gateway = hosted_gateway 19784 self.peerings = None 19785 self.provisioning_state = None 19786 19787 19788class VirtualRouterListResult(msrest.serialization.Model): 19789 """Response for ListVirtualRouters API service call. 19790 19791 :param value: List of Virtual Routers. 19792 :type value: list[~azure.mgmt.network.v2019_12_01.models.VirtualRouter] 19793 :param next_link: URL to get the next set of results. 19794 :type next_link: str 19795 """ 19796 19797 _attribute_map = { 19798 'value': {'key': 'value', 'type': '[VirtualRouter]'}, 19799 'next_link': {'key': 'nextLink', 'type': 'str'}, 19800 } 19801 19802 def __init__( 19803 self, 19804 *, 19805 value: Optional[List["VirtualRouter"]] = None, 19806 next_link: Optional[str] = None, 19807 **kwargs 19808 ): 19809 super(VirtualRouterListResult, self).__init__(**kwargs) 19810 self.value = value 19811 self.next_link = next_link 19812 19813 19814class VirtualRouterPeering(SubResource): 19815 """Virtual Router Peering resource. 19816 19817 Variables are only populated by the server, and will be ignored when sending a request. 19818 19819 :param id: Resource ID. 19820 :type id: str 19821 :param name: Name of the virtual router peering that is unique within a virtual router. 19822 :type name: str 19823 :ivar etag: A unique read-only string that changes whenever the resource is updated. 19824 :vartype etag: str 19825 :ivar type: Peering type. 19826 :vartype type: str 19827 :param peer_asn: Peer ASN. 19828 :type peer_asn: long 19829 :param peer_ip: Peer IP. 19830 :type peer_ip: str 19831 :ivar provisioning_state: The provisioning state of the resource. Possible values include: 19832 "Succeeded", "Updating", "Deleting", "Failed". 19833 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 19834 """ 19835 19836 _validation = { 19837 'etag': {'readonly': True}, 19838 'type': {'readonly': True}, 19839 'peer_asn': {'maximum': 4294967295, 'minimum': 0}, 19840 'provisioning_state': {'readonly': True}, 19841 } 19842 19843 _attribute_map = { 19844 'id': {'key': 'id', 'type': 'str'}, 19845 'name': {'key': 'name', 'type': 'str'}, 19846 'etag': {'key': 'etag', 'type': 'str'}, 19847 'type': {'key': 'type', 'type': 'str'}, 19848 'peer_asn': {'key': 'properties.peerAsn', 'type': 'long'}, 19849 'peer_ip': {'key': 'properties.peerIp', 'type': 'str'}, 19850 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 19851 } 19852 19853 def __init__( 19854 self, 19855 *, 19856 id: Optional[str] = None, 19857 name: Optional[str] = None, 19858 peer_asn: Optional[int] = None, 19859 peer_ip: Optional[str] = None, 19860 **kwargs 19861 ): 19862 super(VirtualRouterPeering, self).__init__(id=id, **kwargs) 19863 self.name = name 19864 self.etag = None 19865 self.type = None 19866 self.peer_asn = peer_asn 19867 self.peer_ip = peer_ip 19868 self.provisioning_state = None 19869 19870 19871class VirtualRouterPeeringListResult(msrest.serialization.Model): 19872 """Response for ListVirtualRouterPeerings API service call. 19873 19874 :param value: List of VirtualRouterPeerings in a VirtualRouter. 19875 :type value: list[~azure.mgmt.network.v2019_12_01.models.VirtualRouterPeering] 19876 :param next_link: URL to get the next set of results. 19877 :type next_link: str 19878 """ 19879 19880 _attribute_map = { 19881 'value': {'key': 'value', 'type': '[VirtualRouterPeering]'}, 19882 'next_link': {'key': 'nextLink', 'type': 'str'}, 19883 } 19884 19885 def __init__( 19886 self, 19887 *, 19888 value: Optional[List["VirtualRouterPeering"]] = None, 19889 next_link: Optional[str] = None, 19890 **kwargs 19891 ): 19892 super(VirtualRouterPeeringListResult, self).__init__(**kwargs) 19893 self.value = value 19894 self.next_link = next_link 19895 19896 19897class VirtualWAN(Resource): 19898 """VirtualWAN Resource. 19899 19900 Variables are only populated by the server, and will be ignored when sending a request. 19901 19902 :param id: Resource ID. 19903 :type id: str 19904 :ivar name: Resource name. 19905 :vartype name: str 19906 :ivar type: Resource type. 19907 :vartype type: str 19908 :param location: Resource location. 19909 :type location: str 19910 :param tags: A set of tags. Resource tags. 19911 :type tags: dict[str, str] 19912 :ivar etag: A unique read-only string that changes whenever the resource is updated. 19913 :vartype etag: str 19914 :param disable_vpn_encryption: Vpn encryption to be disabled or not. 19915 :type disable_vpn_encryption: bool 19916 :ivar virtual_hubs: List of VirtualHubs in the VirtualWAN. 19917 :vartype virtual_hubs: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 19918 :ivar vpn_sites: List of VpnSites in the VirtualWAN. 19919 :vartype vpn_sites: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 19920 :param allow_branch_to_branch_traffic: True if branch to branch traffic is allowed. 19921 :type allow_branch_to_branch_traffic: bool 19922 :param allow_vnet_to_vnet_traffic: True if Vnet to Vnet traffic is allowed. 19923 :type allow_vnet_to_vnet_traffic: bool 19924 :ivar office365_local_breakout_category: The office local breakout category. Possible values 19925 include: "Optimize", "OptimizeAndAllow", "All", "None". 19926 :vartype office365_local_breakout_category: str or 19927 ~azure.mgmt.network.v2019_12_01.models.OfficeTrafficCategory 19928 :ivar provisioning_state: The provisioning state of the virtual WAN resource. Possible values 19929 include: "Succeeded", "Updating", "Deleting", "Failed". 19930 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 19931 :param type_properties_type: The type of the VirtualWAN. 19932 :type type_properties_type: str 19933 """ 19934 19935 _validation = { 19936 'name': {'readonly': True}, 19937 'type': {'readonly': True}, 19938 'etag': {'readonly': True}, 19939 'virtual_hubs': {'readonly': True}, 19940 'vpn_sites': {'readonly': True}, 19941 'office365_local_breakout_category': {'readonly': True}, 19942 'provisioning_state': {'readonly': True}, 19943 } 19944 19945 _attribute_map = { 19946 'id': {'key': 'id', 'type': 'str'}, 19947 'name': {'key': 'name', 'type': 'str'}, 19948 'type': {'key': 'type', 'type': 'str'}, 19949 'location': {'key': 'location', 'type': 'str'}, 19950 'tags': {'key': 'tags', 'type': '{str}'}, 19951 'etag': {'key': 'etag', 'type': 'str'}, 19952 'disable_vpn_encryption': {'key': 'properties.disableVpnEncryption', 'type': 'bool'}, 19953 'virtual_hubs': {'key': 'properties.virtualHubs', 'type': '[SubResource]'}, 19954 'vpn_sites': {'key': 'properties.vpnSites', 'type': '[SubResource]'}, 19955 'allow_branch_to_branch_traffic': {'key': 'properties.allowBranchToBranchTraffic', 'type': 'bool'}, 19956 'allow_vnet_to_vnet_traffic': {'key': 'properties.allowVnetToVnetTraffic', 'type': 'bool'}, 19957 'office365_local_breakout_category': {'key': 'properties.office365LocalBreakoutCategory', 'type': 'str'}, 19958 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 19959 'type_properties_type': {'key': 'properties.type', 'type': 'str'}, 19960 } 19961 19962 def __init__( 19963 self, 19964 *, 19965 id: Optional[str] = None, 19966 location: Optional[str] = None, 19967 tags: Optional[Dict[str, str]] = None, 19968 disable_vpn_encryption: Optional[bool] = None, 19969 allow_branch_to_branch_traffic: Optional[bool] = None, 19970 allow_vnet_to_vnet_traffic: Optional[bool] = None, 19971 type_properties_type: Optional[str] = None, 19972 **kwargs 19973 ): 19974 super(VirtualWAN, self).__init__(id=id, location=location, tags=tags, **kwargs) 19975 self.etag = None 19976 self.disable_vpn_encryption = disable_vpn_encryption 19977 self.virtual_hubs = None 19978 self.vpn_sites = None 19979 self.allow_branch_to_branch_traffic = allow_branch_to_branch_traffic 19980 self.allow_vnet_to_vnet_traffic = allow_vnet_to_vnet_traffic 19981 self.office365_local_breakout_category = None 19982 self.provisioning_state = None 19983 self.type_properties_type = type_properties_type 19984 19985 19986class VirtualWanSecurityProvider(msrest.serialization.Model): 19987 """Collection of SecurityProviders. 19988 19989 Variables are only populated by the server, and will be ignored when sending a request. 19990 19991 :param name: Name of the security provider. 19992 :type name: str 19993 :param url: Url of the security provider. 19994 :type url: str 19995 :ivar type: Name of the security provider. Possible values include: "External", "Native". 19996 :vartype type: str or ~azure.mgmt.network.v2019_12_01.models.VirtualWanSecurityProviderType 19997 """ 19998 19999 _validation = { 20000 'type': {'readonly': True}, 20001 } 20002 20003 _attribute_map = { 20004 'name': {'key': 'name', 'type': 'str'}, 20005 'url': {'key': 'url', 'type': 'str'}, 20006 'type': {'key': 'type', 'type': 'str'}, 20007 } 20008 20009 def __init__( 20010 self, 20011 *, 20012 name: Optional[str] = None, 20013 url: Optional[str] = None, 20014 **kwargs 20015 ): 20016 super(VirtualWanSecurityProvider, self).__init__(**kwargs) 20017 self.name = name 20018 self.url = url 20019 self.type = None 20020 20021 20022class VirtualWanSecurityProviders(msrest.serialization.Model): 20023 """Collection of SecurityProviders. 20024 20025 :param supported_providers: List of VirtualWAN security providers. 20026 :type supported_providers: 20027 list[~azure.mgmt.network.v2019_12_01.models.VirtualWanSecurityProvider] 20028 """ 20029 20030 _attribute_map = { 20031 'supported_providers': {'key': 'supportedProviders', 'type': '[VirtualWanSecurityProvider]'}, 20032 } 20033 20034 def __init__( 20035 self, 20036 *, 20037 supported_providers: Optional[List["VirtualWanSecurityProvider"]] = None, 20038 **kwargs 20039 ): 20040 super(VirtualWanSecurityProviders, self).__init__(**kwargs) 20041 self.supported_providers = supported_providers 20042 20043 20044class VirtualWanVpnProfileParameters(msrest.serialization.Model): 20045 """Virtual Wan Vpn profile parameters Vpn profile generation. 20046 20047 :param vpn_server_configuration_resource_id: VpnServerConfiguration partial resource uri with 20048 which VirtualWan is associated to. 20049 :type vpn_server_configuration_resource_id: str 20050 :param authentication_method: VPN client authentication method. Possible values include: 20051 "EAPTLS", "EAPMSCHAPv2". 20052 :type authentication_method: str or ~azure.mgmt.network.v2019_12_01.models.AuthenticationMethod 20053 """ 20054 20055 _attribute_map = { 20056 'vpn_server_configuration_resource_id': {'key': 'vpnServerConfigurationResourceId', 'type': 'str'}, 20057 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, 20058 } 20059 20060 def __init__( 20061 self, 20062 *, 20063 vpn_server_configuration_resource_id: Optional[str] = None, 20064 authentication_method: Optional[Union[str, "AuthenticationMethod"]] = None, 20065 **kwargs 20066 ): 20067 super(VirtualWanVpnProfileParameters, self).__init__(**kwargs) 20068 self.vpn_server_configuration_resource_id = vpn_server_configuration_resource_id 20069 self.authentication_method = authentication_method 20070 20071 20072class VM(Resource): 20073 """Describes a Virtual Machine. 20074 20075 Variables are only populated by the server, and will be ignored when sending a request. 20076 20077 :param id: Resource ID. 20078 :type id: str 20079 :ivar name: Resource name. 20080 :vartype name: str 20081 :ivar type: Resource type. 20082 :vartype type: str 20083 :param location: Resource location. 20084 :type location: str 20085 :param tags: A set of tags. Resource tags. 20086 :type tags: dict[str, str] 20087 """ 20088 20089 _validation = { 20090 'name': {'readonly': True}, 20091 'type': {'readonly': True}, 20092 } 20093 20094 _attribute_map = { 20095 'id': {'key': 'id', 'type': 'str'}, 20096 'name': {'key': 'name', 'type': 'str'}, 20097 'type': {'key': 'type', 'type': 'str'}, 20098 'location': {'key': 'location', 'type': 'str'}, 20099 'tags': {'key': 'tags', 'type': '{str}'}, 20100 } 20101 20102 def __init__( 20103 self, 20104 *, 20105 id: Optional[str] = None, 20106 location: Optional[str] = None, 20107 tags: Optional[Dict[str, str]] = None, 20108 **kwargs 20109 ): 20110 super(VM, self).__init__(id=id, location=location, tags=tags, **kwargs) 20111 20112 20113class VpnClientConfiguration(msrest.serialization.Model): 20114 """VpnClientConfiguration for P2S client. 20115 20116 :param vpn_client_address_pool: The reference to the address space resource which represents 20117 Address space for P2S VpnClient. 20118 :type vpn_client_address_pool: ~azure.mgmt.network.v2019_12_01.models.AddressSpace 20119 :param vpn_client_root_certificates: VpnClientRootCertificate for virtual network gateway. 20120 :type vpn_client_root_certificates: 20121 list[~azure.mgmt.network.v2019_12_01.models.VpnClientRootCertificate] 20122 :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for Virtual network 20123 gateway. 20124 :type vpn_client_revoked_certificates: 20125 list[~azure.mgmt.network.v2019_12_01.models.VpnClientRevokedCertificate] 20126 :param vpn_client_protocols: VpnClientProtocols for Virtual network gateway. 20127 :type vpn_client_protocols: list[str or 20128 ~azure.mgmt.network.v2019_12_01.models.VpnClientProtocol] 20129 :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for virtual network gateway P2S 20130 client. 20131 :type vpn_client_ipsec_policies: list[~azure.mgmt.network.v2019_12_01.models.IpsecPolicy] 20132 :param radius_server_address: The radius server address property of the VirtualNetworkGateway 20133 resource for vpn client connection. 20134 :type radius_server_address: str 20135 :param radius_server_secret: The radius secret property of the VirtualNetworkGateway resource 20136 for vpn client connection. 20137 :type radius_server_secret: str 20138 :param aad_tenant: The AADTenant property of the VirtualNetworkGateway resource for vpn client 20139 connection used for AAD authentication. 20140 :type aad_tenant: str 20141 :param aad_audience: The AADAudience property of the VirtualNetworkGateway resource for vpn 20142 client connection used for AAD authentication. 20143 :type aad_audience: str 20144 :param aad_issuer: The AADIssuer property of the VirtualNetworkGateway resource for vpn client 20145 connection used for AAD authentication. 20146 :type aad_issuer: str 20147 """ 20148 20149 _attribute_map = { 20150 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, 20151 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, 20152 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, 20153 'vpn_client_protocols': {'key': 'vpnClientProtocols', 'type': '[str]'}, 20154 'vpn_client_ipsec_policies': {'key': 'vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, 20155 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, 20156 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, 20157 'aad_tenant': {'key': 'aadTenant', 'type': 'str'}, 20158 'aad_audience': {'key': 'aadAudience', 'type': 'str'}, 20159 'aad_issuer': {'key': 'aadIssuer', 'type': 'str'}, 20160 } 20161 20162 def __init__( 20163 self, 20164 *, 20165 vpn_client_address_pool: Optional["AddressSpace"] = None, 20166 vpn_client_root_certificates: Optional[List["VpnClientRootCertificate"]] = None, 20167 vpn_client_revoked_certificates: Optional[List["VpnClientRevokedCertificate"]] = None, 20168 vpn_client_protocols: Optional[List[Union[str, "VpnClientProtocol"]]] = None, 20169 vpn_client_ipsec_policies: Optional[List["IpsecPolicy"]] = None, 20170 radius_server_address: Optional[str] = None, 20171 radius_server_secret: Optional[str] = None, 20172 aad_tenant: Optional[str] = None, 20173 aad_audience: Optional[str] = None, 20174 aad_issuer: Optional[str] = None, 20175 **kwargs 20176 ): 20177 super(VpnClientConfiguration, self).__init__(**kwargs) 20178 self.vpn_client_address_pool = vpn_client_address_pool 20179 self.vpn_client_root_certificates = vpn_client_root_certificates 20180 self.vpn_client_revoked_certificates = vpn_client_revoked_certificates 20181 self.vpn_client_protocols = vpn_client_protocols 20182 self.vpn_client_ipsec_policies = vpn_client_ipsec_policies 20183 self.radius_server_address = radius_server_address 20184 self.radius_server_secret = radius_server_secret 20185 self.aad_tenant = aad_tenant 20186 self.aad_audience = aad_audience 20187 self.aad_issuer = aad_issuer 20188 20189 20190class VpnClientConnectionHealth(msrest.serialization.Model): 20191 """VpnClientConnectionHealth properties. 20192 20193 Variables are only populated by the server, and will be ignored when sending a request. 20194 20195 :ivar total_ingress_bytes_transferred: Total of the Ingress Bytes Transferred in this P2S Vpn 20196 connection. 20197 :vartype total_ingress_bytes_transferred: long 20198 :ivar total_egress_bytes_transferred: Total of the Egress Bytes Transferred in this connection. 20199 :vartype total_egress_bytes_transferred: long 20200 :param vpn_client_connections_count: The total of p2s vpn clients connected at this time to 20201 this P2SVpnGateway. 20202 :type vpn_client_connections_count: int 20203 :param allocated_ip_addresses: List of allocated ip addresses to the connected p2s vpn clients. 20204 :type allocated_ip_addresses: list[str] 20205 """ 20206 20207 _validation = { 20208 'total_ingress_bytes_transferred': {'readonly': True}, 20209 'total_egress_bytes_transferred': {'readonly': True}, 20210 } 20211 20212 _attribute_map = { 20213 'total_ingress_bytes_transferred': {'key': 'totalIngressBytesTransferred', 'type': 'long'}, 20214 'total_egress_bytes_transferred': {'key': 'totalEgressBytesTransferred', 'type': 'long'}, 20215 'vpn_client_connections_count': {'key': 'vpnClientConnectionsCount', 'type': 'int'}, 20216 'allocated_ip_addresses': {'key': 'allocatedIpAddresses', 'type': '[str]'}, 20217 } 20218 20219 def __init__( 20220 self, 20221 *, 20222 vpn_client_connections_count: Optional[int] = None, 20223 allocated_ip_addresses: Optional[List[str]] = None, 20224 **kwargs 20225 ): 20226 super(VpnClientConnectionHealth, self).__init__(**kwargs) 20227 self.total_ingress_bytes_transferred = None 20228 self.total_egress_bytes_transferred = None 20229 self.vpn_client_connections_count = vpn_client_connections_count 20230 self.allocated_ip_addresses = allocated_ip_addresses 20231 20232 20233class VpnClientConnectionHealthDetail(msrest.serialization.Model): 20234 """VPN client connection health detail. 20235 20236 Variables are only populated by the server, and will be ignored when sending a request. 20237 20238 :ivar vpn_connection_id: The vpn client Id. 20239 :vartype vpn_connection_id: str 20240 :ivar vpn_connection_duration: The duration time of a connected vpn client. 20241 :vartype vpn_connection_duration: long 20242 :ivar vpn_connection_time: The start time of a connected vpn client. 20243 :vartype vpn_connection_time: str 20244 :ivar public_ip_address: The public Ip of a connected vpn client. 20245 :vartype public_ip_address: str 20246 :ivar private_ip_address: The assigned private Ip of a connected vpn client. 20247 :vartype private_ip_address: str 20248 :ivar vpn_user_name: The user name of a connected vpn client. 20249 :vartype vpn_user_name: str 20250 :ivar max_bandwidth: The max band width. 20251 :vartype max_bandwidth: long 20252 :ivar egress_packets_transferred: The egress packets per second. 20253 :vartype egress_packets_transferred: long 20254 :ivar egress_bytes_transferred: The egress bytes per second. 20255 :vartype egress_bytes_transferred: long 20256 :ivar ingress_packets_transferred: The ingress packets per second. 20257 :vartype ingress_packets_transferred: long 20258 :ivar ingress_bytes_transferred: The ingress bytes per second. 20259 :vartype ingress_bytes_transferred: long 20260 :ivar max_packets_per_second: The max packets transferred per second. 20261 :vartype max_packets_per_second: long 20262 """ 20263 20264 _validation = { 20265 'vpn_connection_id': {'readonly': True}, 20266 'vpn_connection_duration': {'readonly': True}, 20267 'vpn_connection_time': {'readonly': True}, 20268 'public_ip_address': {'readonly': True}, 20269 'private_ip_address': {'readonly': True}, 20270 'vpn_user_name': {'readonly': True}, 20271 'max_bandwidth': {'readonly': True}, 20272 'egress_packets_transferred': {'readonly': True}, 20273 'egress_bytes_transferred': {'readonly': True}, 20274 'ingress_packets_transferred': {'readonly': True}, 20275 'ingress_bytes_transferred': {'readonly': True}, 20276 'max_packets_per_second': {'readonly': True}, 20277 } 20278 20279 _attribute_map = { 20280 'vpn_connection_id': {'key': 'vpnConnectionId', 'type': 'str'}, 20281 'vpn_connection_duration': {'key': 'vpnConnectionDuration', 'type': 'long'}, 20282 'vpn_connection_time': {'key': 'vpnConnectionTime', 'type': 'str'}, 20283 'public_ip_address': {'key': 'publicIpAddress', 'type': 'str'}, 20284 'private_ip_address': {'key': 'privateIpAddress', 'type': 'str'}, 20285 'vpn_user_name': {'key': 'vpnUserName', 'type': 'str'}, 20286 'max_bandwidth': {'key': 'maxBandwidth', 'type': 'long'}, 20287 'egress_packets_transferred': {'key': 'egressPacketsTransferred', 'type': 'long'}, 20288 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, 20289 'ingress_packets_transferred': {'key': 'ingressPacketsTransferred', 'type': 'long'}, 20290 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, 20291 'max_packets_per_second': {'key': 'maxPacketsPerSecond', 'type': 'long'}, 20292 } 20293 20294 def __init__( 20295 self, 20296 **kwargs 20297 ): 20298 super(VpnClientConnectionHealthDetail, self).__init__(**kwargs) 20299 self.vpn_connection_id = None 20300 self.vpn_connection_duration = None 20301 self.vpn_connection_time = None 20302 self.public_ip_address = None 20303 self.private_ip_address = None 20304 self.vpn_user_name = None 20305 self.max_bandwidth = None 20306 self.egress_packets_transferred = None 20307 self.egress_bytes_transferred = None 20308 self.ingress_packets_transferred = None 20309 self.ingress_bytes_transferred = None 20310 self.max_packets_per_second = None 20311 20312 20313class VpnClientConnectionHealthDetailListResult(msrest.serialization.Model): 20314 """List of virtual network gateway vpn client connection health. 20315 20316 :param value: List of vpn client connection health. 20317 :type value: list[~azure.mgmt.network.v2019_12_01.models.VpnClientConnectionHealthDetail] 20318 """ 20319 20320 _attribute_map = { 20321 'value': {'key': 'value', 'type': '[VpnClientConnectionHealthDetail]'}, 20322 } 20323 20324 def __init__( 20325 self, 20326 *, 20327 value: Optional[List["VpnClientConnectionHealthDetail"]] = None, 20328 **kwargs 20329 ): 20330 super(VpnClientConnectionHealthDetailListResult, self).__init__(**kwargs) 20331 self.value = value 20332 20333 20334class VpnClientIPsecParameters(msrest.serialization.Model): 20335 """An IPSec parameters for a virtual network gateway P2S connection. 20336 20337 All required parameters must be populated in order to send to Azure. 20338 20339 :param sa_life_time_seconds: Required. The IPSec Security Association (also called Quick Mode 20340 or Phase 2 SA) lifetime in seconds for P2S client. 20341 :type sa_life_time_seconds: int 20342 :param sa_data_size_kilobytes: Required. The IPSec Security Association (also called Quick Mode 20343 or Phase 2 SA) payload size in KB for P2S client.. 20344 :type sa_data_size_kilobytes: int 20345 :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE phase 1). Possible 20346 values include: "None", "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES128", "GCMAES192", 20347 "GCMAES256". 20348 :type ipsec_encryption: str or ~azure.mgmt.network.v2019_12_01.models.IpsecEncryption 20349 :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase 1). Possible values 20350 include: "MD5", "SHA1", "SHA256", "GCMAES128", "GCMAES192", "GCMAES256". 20351 :type ipsec_integrity: str or ~azure.mgmt.network.v2019_12_01.models.IpsecIntegrity 20352 :param ike_encryption: Required. The IKE encryption algorithm (IKE phase 2). Possible values 20353 include: "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES256", "GCMAES128". 20354 :type ike_encryption: str or ~azure.mgmt.network.v2019_12_01.models.IkeEncryption 20355 :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). Possible values 20356 include: "MD5", "SHA1", "SHA256", "SHA384", "GCMAES256", "GCMAES128". 20357 :type ike_integrity: str or ~azure.mgmt.network.v2019_12_01.models.IkeIntegrity 20358 :param dh_group: Required. The DH Group used in IKE Phase 1 for initial SA. Possible values 20359 include: "None", "DHGroup1", "DHGroup2", "DHGroup14", "DHGroup2048", "ECP256", "ECP384", 20360 "DHGroup24". 20361 :type dh_group: str or ~azure.mgmt.network.v2019_12_01.models.DhGroup 20362 :param pfs_group: Required. The Pfs Group used in IKE Phase 2 for new child SA. Possible values 20363 include: "None", "PFS1", "PFS2", "PFS2048", "ECP256", "ECP384", "PFS24", "PFS14", "PFSMM". 20364 :type pfs_group: str or ~azure.mgmt.network.v2019_12_01.models.PfsGroup 20365 """ 20366 20367 _validation = { 20368 'sa_life_time_seconds': {'required': True}, 20369 'sa_data_size_kilobytes': {'required': True}, 20370 'ipsec_encryption': {'required': True}, 20371 'ipsec_integrity': {'required': True}, 20372 'ike_encryption': {'required': True}, 20373 'ike_integrity': {'required': True}, 20374 'dh_group': {'required': True}, 20375 'pfs_group': {'required': True}, 20376 } 20377 20378 _attribute_map = { 20379 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, 20380 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, 20381 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, 20382 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, 20383 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, 20384 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, 20385 'dh_group': {'key': 'dhGroup', 'type': 'str'}, 20386 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, 20387 } 20388 20389 def __init__( 20390 self, 20391 *, 20392 sa_life_time_seconds: int, 20393 sa_data_size_kilobytes: int, 20394 ipsec_encryption: Union[str, "IpsecEncryption"], 20395 ipsec_integrity: Union[str, "IpsecIntegrity"], 20396 ike_encryption: Union[str, "IkeEncryption"], 20397 ike_integrity: Union[str, "IkeIntegrity"], 20398 dh_group: Union[str, "DhGroup"], 20399 pfs_group: Union[str, "PfsGroup"], 20400 **kwargs 20401 ): 20402 super(VpnClientIPsecParameters, self).__init__(**kwargs) 20403 self.sa_life_time_seconds = sa_life_time_seconds 20404 self.sa_data_size_kilobytes = sa_data_size_kilobytes 20405 self.ipsec_encryption = ipsec_encryption 20406 self.ipsec_integrity = ipsec_integrity 20407 self.ike_encryption = ike_encryption 20408 self.ike_integrity = ike_integrity 20409 self.dh_group = dh_group 20410 self.pfs_group = pfs_group 20411 20412 20413class VpnClientParameters(msrest.serialization.Model): 20414 """Vpn Client Parameters for package generation. 20415 20416 :param processor_architecture: VPN client Processor Architecture. Possible values include: 20417 "Amd64", "X86". 20418 :type processor_architecture: str or 20419 ~azure.mgmt.network.v2019_12_01.models.ProcessorArchitecture 20420 :param authentication_method: VPN client authentication method. Possible values include: 20421 "EAPTLS", "EAPMSCHAPv2". 20422 :type authentication_method: str or ~azure.mgmt.network.v2019_12_01.models.AuthenticationMethod 20423 :param radius_server_auth_certificate: The public certificate data for the radius server 20424 authentication certificate as a Base-64 encoded string. Required only if external radius 20425 authentication has been configured with EAPTLS authentication. 20426 :type radius_server_auth_certificate: str 20427 :param client_root_certificates: A list of client root certificates public certificate data 20428 encoded as Base-64 strings. Optional parameter for external radius based authentication with 20429 EAPTLS. 20430 :type client_root_certificates: list[str] 20431 """ 20432 20433 _attribute_map = { 20434 'processor_architecture': {'key': 'processorArchitecture', 'type': 'str'}, 20435 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, 20436 'radius_server_auth_certificate': {'key': 'radiusServerAuthCertificate', 'type': 'str'}, 20437 'client_root_certificates': {'key': 'clientRootCertificates', 'type': '[str]'}, 20438 } 20439 20440 def __init__( 20441 self, 20442 *, 20443 processor_architecture: Optional[Union[str, "ProcessorArchitecture"]] = None, 20444 authentication_method: Optional[Union[str, "AuthenticationMethod"]] = None, 20445 radius_server_auth_certificate: Optional[str] = None, 20446 client_root_certificates: Optional[List[str]] = None, 20447 **kwargs 20448 ): 20449 super(VpnClientParameters, self).__init__(**kwargs) 20450 self.processor_architecture = processor_architecture 20451 self.authentication_method = authentication_method 20452 self.radius_server_auth_certificate = radius_server_auth_certificate 20453 self.client_root_certificates = client_root_certificates 20454 20455 20456class VpnClientRevokedCertificate(SubResource): 20457 """VPN client revoked certificate of virtual network gateway. 20458 20459 Variables are only populated by the server, and will be ignored when sending a request. 20460 20461 :param id: Resource ID. 20462 :type id: str 20463 :param name: The name of the resource that is unique within a resource group. This name can be 20464 used to access the resource. 20465 :type name: str 20466 :ivar etag: A unique read-only string that changes whenever the resource is updated. 20467 :vartype etag: str 20468 :param thumbprint: The revoked VPN client certificate thumbprint. 20469 :type thumbprint: str 20470 :ivar provisioning_state: The provisioning state of the VPN client revoked certificate 20471 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 20472 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 20473 """ 20474 20475 _validation = { 20476 'etag': {'readonly': True}, 20477 'provisioning_state': {'readonly': True}, 20478 } 20479 20480 _attribute_map = { 20481 'id': {'key': 'id', 'type': 'str'}, 20482 'name': {'key': 'name', 'type': 'str'}, 20483 'etag': {'key': 'etag', 'type': 'str'}, 20484 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, 20485 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 20486 } 20487 20488 def __init__( 20489 self, 20490 *, 20491 id: Optional[str] = None, 20492 name: Optional[str] = None, 20493 thumbprint: Optional[str] = None, 20494 **kwargs 20495 ): 20496 super(VpnClientRevokedCertificate, self).__init__(id=id, **kwargs) 20497 self.name = name 20498 self.etag = None 20499 self.thumbprint = thumbprint 20500 self.provisioning_state = None 20501 20502 20503class VpnClientRootCertificate(SubResource): 20504 """VPN client root certificate of virtual network gateway. 20505 20506 Variables are only populated by the server, and will be ignored when sending a request. 20507 20508 All required parameters must be populated in order to send to Azure. 20509 20510 :param id: Resource ID. 20511 :type id: str 20512 :param name: The name of the resource that is unique within a resource group. This name can be 20513 used to access the resource. 20514 :type name: str 20515 :ivar etag: A unique read-only string that changes whenever the resource is updated. 20516 :vartype etag: str 20517 :param public_cert_data: Required. The certificate public data. 20518 :type public_cert_data: str 20519 :ivar provisioning_state: The provisioning state of the VPN client root certificate resource. 20520 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 20521 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 20522 """ 20523 20524 _validation = { 20525 'etag': {'readonly': True}, 20526 'public_cert_data': {'required': True}, 20527 'provisioning_state': {'readonly': True}, 20528 } 20529 20530 _attribute_map = { 20531 'id': {'key': 'id', 'type': 'str'}, 20532 'name': {'key': 'name', 'type': 'str'}, 20533 'etag': {'key': 'etag', 'type': 'str'}, 20534 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, 20535 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 20536 } 20537 20538 def __init__( 20539 self, 20540 *, 20541 public_cert_data: str, 20542 id: Optional[str] = None, 20543 name: Optional[str] = None, 20544 **kwargs 20545 ): 20546 super(VpnClientRootCertificate, self).__init__(id=id, **kwargs) 20547 self.name = name 20548 self.etag = None 20549 self.public_cert_data = public_cert_data 20550 self.provisioning_state = None 20551 20552 20553class VpnConnection(SubResource): 20554 """VpnConnection Resource. 20555 20556 Variables are only populated by the server, and will be ignored when sending a request. 20557 20558 :param id: Resource ID. 20559 :type id: str 20560 :param name: The name of the resource that is unique within a resource group. This name can be 20561 used to access the resource. 20562 :type name: str 20563 :ivar etag: A unique read-only string that changes whenever the resource is updated. 20564 :vartype etag: str 20565 :param remote_vpn_site: Id of the connected vpn site. 20566 :type remote_vpn_site: ~azure.mgmt.network.v2019_12_01.models.SubResource 20567 :param routing_weight: Routing weight for vpn connection. 20568 :type routing_weight: int 20569 :ivar connection_status: The connection status. Possible values include: "Unknown", 20570 "Connecting", "Connected", "NotConnected". 20571 :vartype connection_status: str or ~azure.mgmt.network.v2019_12_01.models.VpnConnectionStatus 20572 :param vpn_connection_protocol_type: Connection protocol used for this connection. Possible 20573 values include: "IKEv2", "IKEv1". 20574 :type vpn_connection_protocol_type: str or 20575 ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkGatewayConnectionProtocol 20576 :ivar ingress_bytes_transferred: Ingress bytes transferred. 20577 :vartype ingress_bytes_transferred: long 20578 :ivar egress_bytes_transferred: Egress bytes transferred. 20579 :vartype egress_bytes_transferred: long 20580 :param connection_bandwidth: Expected bandwidth in MBPS. 20581 :type connection_bandwidth: int 20582 :param shared_key: SharedKey for the vpn connection. 20583 :type shared_key: str 20584 :param enable_bgp: EnableBgp flag. 20585 :type enable_bgp: bool 20586 :param use_policy_based_traffic_selectors: Enable policy-based traffic selectors. 20587 :type use_policy_based_traffic_selectors: bool 20588 :param ipsec_policies: The IPSec Policies to be considered by this connection. 20589 :type ipsec_policies: list[~azure.mgmt.network.v2019_12_01.models.IpsecPolicy] 20590 :param enable_rate_limiting: EnableBgp flag. 20591 :type enable_rate_limiting: bool 20592 :param enable_internet_security: Enable internet security. 20593 :type enable_internet_security: bool 20594 :param use_local_azure_ip_address: Use local azure ip to initiate connection. 20595 :type use_local_azure_ip_address: bool 20596 :ivar provisioning_state: The provisioning state of the VPN connection resource. Possible 20597 values include: "Succeeded", "Updating", "Deleting", "Failed". 20598 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 20599 :param vpn_link_connections: List of all vpn site link connections to the gateway. 20600 :type vpn_link_connections: list[~azure.mgmt.network.v2019_12_01.models.VpnSiteLinkConnection] 20601 """ 20602 20603 _validation = { 20604 'etag': {'readonly': True}, 20605 'connection_status': {'readonly': True}, 20606 'ingress_bytes_transferred': {'readonly': True}, 20607 'egress_bytes_transferred': {'readonly': True}, 20608 'provisioning_state': {'readonly': True}, 20609 } 20610 20611 _attribute_map = { 20612 'id': {'key': 'id', 'type': 'str'}, 20613 'name': {'key': 'name', 'type': 'str'}, 20614 'etag': {'key': 'etag', 'type': 'str'}, 20615 'remote_vpn_site': {'key': 'properties.remoteVpnSite', 'type': 'SubResource'}, 20616 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, 20617 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, 20618 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, 20619 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, 20620 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, 20621 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, 20622 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 20623 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 20624 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, 20625 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, 20626 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, 20627 'enable_internet_security': {'key': 'properties.enableInternetSecurity', 'type': 'bool'}, 20628 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, 20629 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 20630 'vpn_link_connections': {'key': 'properties.vpnLinkConnections', 'type': '[VpnSiteLinkConnection]'}, 20631 } 20632 20633 def __init__( 20634 self, 20635 *, 20636 id: Optional[str] = None, 20637 name: Optional[str] = None, 20638 remote_vpn_site: Optional["SubResource"] = None, 20639 routing_weight: Optional[int] = None, 20640 vpn_connection_protocol_type: Optional[Union[str, "VirtualNetworkGatewayConnectionProtocol"]] = None, 20641 connection_bandwidth: Optional[int] = None, 20642 shared_key: Optional[str] = None, 20643 enable_bgp: Optional[bool] = None, 20644 use_policy_based_traffic_selectors: Optional[bool] = None, 20645 ipsec_policies: Optional[List["IpsecPolicy"]] = None, 20646 enable_rate_limiting: Optional[bool] = None, 20647 enable_internet_security: Optional[bool] = None, 20648 use_local_azure_ip_address: Optional[bool] = None, 20649 vpn_link_connections: Optional[List["VpnSiteLinkConnection"]] = None, 20650 **kwargs 20651 ): 20652 super(VpnConnection, self).__init__(id=id, **kwargs) 20653 self.name = name 20654 self.etag = None 20655 self.remote_vpn_site = remote_vpn_site 20656 self.routing_weight = routing_weight 20657 self.connection_status = None 20658 self.vpn_connection_protocol_type = vpn_connection_protocol_type 20659 self.ingress_bytes_transferred = None 20660 self.egress_bytes_transferred = None 20661 self.connection_bandwidth = connection_bandwidth 20662 self.shared_key = shared_key 20663 self.enable_bgp = enable_bgp 20664 self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors 20665 self.ipsec_policies = ipsec_policies 20666 self.enable_rate_limiting = enable_rate_limiting 20667 self.enable_internet_security = enable_internet_security 20668 self.use_local_azure_ip_address = use_local_azure_ip_address 20669 self.provisioning_state = None 20670 self.vpn_link_connections = vpn_link_connections 20671 20672 20673class VpnDeviceScriptParameters(msrest.serialization.Model): 20674 """Vpn device configuration script generation parameters. 20675 20676 :param vendor: The vendor for the vpn device. 20677 :type vendor: str 20678 :param device_family: The device family for the vpn device. 20679 :type device_family: str 20680 :param firmware_version: The firmware version for the vpn device. 20681 :type firmware_version: str 20682 """ 20683 20684 _attribute_map = { 20685 'vendor': {'key': 'vendor', 'type': 'str'}, 20686 'device_family': {'key': 'deviceFamily', 'type': 'str'}, 20687 'firmware_version': {'key': 'firmwareVersion', 'type': 'str'}, 20688 } 20689 20690 def __init__( 20691 self, 20692 *, 20693 vendor: Optional[str] = None, 20694 device_family: Optional[str] = None, 20695 firmware_version: Optional[str] = None, 20696 **kwargs 20697 ): 20698 super(VpnDeviceScriptParameters, self).__init__(**kwargs) 20699 self.vendor = vendor 20700 self.device_family = device_family 20701 self.firmware_version = firmware_version 20702 20703 20704class VpnGateway(Resource): 20705 """VpnGateway Resource. 20706 20707 Variables are only populated by the server, and will be ignored when sending a request. 20708 20709 :param id: Resource ID. 20710 :type id: str 20711 :ivar name: Resource name. 20712 :vartype name: str 20713 :ivar type: Resource type. 20714 :vartype type: str 20715 :param location: Resource location. 20716 :type location: str 20717 :param tags: A set of tags. Resource tags. 20718 :type tags: dict[str, str] 20719 :ivar etag: A unique read-only string that changes whenever the resource is updated. 20720 :vartype etag: str 20721 :param virtual_hub: The VirtualHub to which the gateway belongs. 20722 :type virtual_hub: ~azure.mgmt.network.v2019_12_01.models.SubResource 20723 :param connections: List of all vpn connections to the gateway. 20724 :type connections: list[~azure.mgmt.network.v2019_12_01.models.VpnConnection] 20725 :param bgp_settings: Local network gateway's BGP speaker settings. 20726 :type bgp_settings: ~azure.mgmt.network.v2019_12_01.models.BgpSettings 20727 :ivar provisioning_state: The provisioning state of the VPN gateway resource. Possible values 20728 include: "Succeeded", "Updating", "Deleting", "Failed". 20729 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 20730 :param vpn_gateway_scale_unit: The scale unit for this vpn gateway. 20731 :type vpn_gateway_scale_unit: int 20732 """ 20733 20734 _validation = { 20735 'name': {'readonly': True}, 20736 'type': {'readonly': True}, 20737 'etag': {'readonly': True}, 20738 'provisioning_state': {'readonly': True}, 20739 } 20740 20741 _attribute_map = { 20742 'id': {'key': 'id', 'type': 'str'}, 20743 'name': {'key': 'name', 'type': 'str'}, 20744 'type': {'key': 'type', 'type': 'str'}, 20745 'location': {'key': 'location', 'type': 'str'}, 20746 'tags': {'key': 'tags', 'type': '{str}'}, 20747 'etag': {'key': 'etag', 'type': 'str'}, 20748 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, 20749 'connections': {'key': 'properties.connections', 'type': '[VpnConnection]'}, 20750 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, 20751 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 20752 'vpn_gateway_scale_unit': {'key': 'properties.vpnGatewayScaleUnit', 'type': 'int'}, 20753 } 20754 20755 def __init__( 20756 self, 20757 *, 20758 id: Optional[str] = None, 20759 location: Optional[str] = None, 20760 tags: Optional[Dict[str, str]] = None, 20761 virtual_hub: Optional["SubResource"] = None, 20762 connections: Optional[List["VpnConnection"]] = None, 20763 bgp_settings: Optional["BgpSettings"] = None, 20764 vpn_gateway_scale_unit: Optional[int] = None, 20765 **kwargs 20766 ): 20767 super(VpnGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 20768 self.etag = None 20769 self.virtual_hub = virtual_hub 20770 self.connections = connections 20771 self.bgp_settings = bgp_settings 20772 self.provisioning_state = None 20773 self.vpn_gateway_scale_unit = vpn_gateway_scale_unit 20774 20775 20776class VpnLinkBgpSettings(msrest.serialization.Model): 20777 """BGP settings details for a link. 20778 20779 :param asn: The BGP speaker's ASN. 20780 :type asn: long 20781 :param bgp_peering_address: The BGP peering address and BGP identifier of this BGP speaker. 20782 :type bgp_peering_address: str 20783 """ 20784 20785 _attribute_map = { 20786 'asn': {'key': 'asn', 'type': 'long'}, 20787 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, 20788 } 20789 20790 def __init__( 20791 self, 20792 *, 20793 asn: Optional[int] = None, 20794 bgp_peering_address: Optional[str] = None, 20795 **kwargs 20796 ): 20797 super(VpnLinkBgpSettings, self).__init__(**kwargs) 20798 self.asn = asn 20799 self.bgp_peering_address = bgp_peering_address 20800 20801 20802class VpnLinkProviderProperties(msrest.serialization.Model): 20803 """List of properties of a link provider. 20804 20805 :param link_provider_name: Name of the link provider. 20806 :type link_provider_name: str 20807 :param link_speed_in_mbps: Link speed. 20808 :type link_speed_in_mbps: int 20809 """ 20810 20811 _attribute_map = { 20812 'link_provider_name': {'key': 'linkProviderName', 'type': 'str'}, 20813 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, 20814 } 20815 20816 def __init__( 20817 self, 20818 *, 20819 link_provider_name: Optional[str] = None, 20820 link_speed_in_mbps: Optional[int] = None, 20821 **kwargs 20822 ): 20823 super(VpnLinkProviderProperties, self).__init__(**kwargs) 20824 self.link_provider_name = link_provider_name 20825 self.link_speed_in_mbps = link_speed_in_mbps 20826 20827 20828class VpnPacketCaptureStartParameters(msrest.serialization.Model): 20829 """Start packet capture parameters on virtual network gateway. 20830 20831 :param filter_data: Start Packet capture parameters. 20832 :type filter_data: str 20833 """ 20834 20835 _attribute_map = { 20836 'filter_data': {'key': 'filterData', 'type': 'str'}, 20837 } 20838 20839 def __init__( 20840 self, 20841 *, 20842 filter_data: Optional[str] = None, 20843 **kwargs 20844 ): 20845 super(VpnPacketCaptureStartParameters, self).__init__(**kwargs) 20846 self.filter_data = filter_data 20847 20848 20849class VpnPacketCaptureStopParameters(msrest.serialization.Model): 20850 """Stop packet capture parameters. 20851 20852 :param sas_url: SAS url for packet capture on virtual network gateway. 20853 :type sas_url: str 20854 """ 20855 20856 _attribute_map = { 20857 'sas_url': {'key': 'sasUrl', 'type': 'str'}, 20858 } 20859 20860 def __init__( 20861 self, 20862 *, 20863 sas_url: Optional[str] = None, 20864 **kwargs 20865 ): 20866 super(VpnPacketCaptureStopParameters, self).__init__(**kwargs) 20867 self.sas_url = sas_url 20868 20869 20870class VpnProfileResponse(msrest.serialization.Model): 20871 """Vpn Profile Response for package generation. 20872 20873 :param profile_url: URL to the VPN profile. 20874 :type profile_url: str 20875 """ 20876 20877 _attribute_map = { 20878 'profile_url': {'key': 'profileUrl', 'type': 'str'}, 20879 } 20880 20881 def __init__( 20882 self, 20883 *, 20884 profile_url: Optional[str] = None, 20885 **kwargs 20886 ): 20887 super(VpnProfileResponse, self).__init__(**kwargs) 20888 self.profile_url = profile_url 20889 20890 20891class VpnServerConfigRadiusClientRootCertificate(msrest.serialization.Model): 20892 """Properties of the Radius client root certificate of VpnServerConfiguration. 20893 20894 :param name: The certificate name. 20895 :type name: str 20896 :param thumbprint: The Radius client root certificate thumbprint. 20897 :type thumbprint: str 20898 """ 20899 20900 _attribute_map = { 20901 'name': {'key': 'name', 'type': 'str'}, 20902 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, 20903 } 20904 20905 def __init__( 20906 self, 20907 *, 20908 name: Optional[str] = None, 20909 thumbprint: Optional[str] = None, 20910 **kwargs 20911 ): 20912 super(VpnServerConfigRadiusClientRootCertificate, self).__init__(**kwargs) 20913 self.name = name 20914 self.thumbprint = thumbprint 20915 20916 20917class VpnServerConfigRadiusServerRootCertificate(msrest.serialization.Model): 20918 """Properties of Radius Server root certificate of VpnServerConfiguration. 20919 20920 :param name: The certificate name. 20921 :type name: str 20922 :param public_cert_data: The certificate public data. 20923 :type public_cert_data: str 20924 """ 20925 20926 _attribute_map = { 20927 'name': {'key': 'name', 'type': 'str'}, 20928 'public_cert_data': {'key': 'publicCertData', 'type': 'str'}, 20929 } 20930 20931 def __init__( 20932 self, 20933 *, 20934 name: Optional[str] = None, 20935 public_cert_data: Optional[str] = None, 20936 **kwargs 20937 ): 20938 super(VpnServerConfigRadiusServerRootCertificate, self).__init__(**kwargs) 20939 self.name = name 20940 self.public_cert_data = public_cert_data 20941 20942 20943class VpnServerConfiguration(Resource): 20944 """VpnServerConfiguration Resource. 20945 20946 Variables are only populated by the server, and will be ignored when sending a request. 20947 20948 :param id: Resource ID. 20949 :type id: str 20950 :ivar name: Resource name. 20951 :vartype name: str 20952 :ivar type: Resource type. 20953 :vartype type: str 20954 :param location: Resource location. 20955 :type location: str 20956 :param tags: A set of tags. Resource tags. 20957 :type tags: dict[str, str] 20958 :ivar etag: A unique read-only string that changes whenever the resource is updated. 20959 :vartype etag: str 20960 :param name_properties_name: The name of the VpnServerConfiguration that is unique within a 20961 resource group. 20962 :type name_properties_name: str 20963 :param vpn_protocols: VPN protocols for the VpnServerConfiguration. 20964 :type vpn_protocols: list[str or 20965 ~azure.mgmt.network.v2019_12_01.models.VpnGatewayTunnelingProtocol] 20966 :param vpn_authentication_types: VPN authentication types for the VpnServerConfiguration. 20967 :type vpn_authentication_types: list[str or 20968 ~azure.mgmt.network.v2019_12_01.models.VpnAuthenticationType] 20969 :param vpn_client_root_certificates: VPN client root certificate of VpnServerConfiguration. 20970 :type vpn_client_root_certificates: 20971 list[~azure.mgmt.network.v2019_12_01.models.VpnServerConfigVpnClientRootCertificate] 20972 :param vpn_client_revoked_certificates: VPN client revoked certificate of 20973 VpnServerConfiguration. 20974 :type vpn_client_revoked_certificates: 20975 list[~azure.mgmt.network.v2019_12_01.models.VpnServerConfigVpnClientRevokedCertificate] 20976 :param radius_server_root_certificates: Radius Server root certificate of 20977 VpnServerConfiguration. 20978 :type radius_server_root_certificates: 20979 list[~azure.mgmt.network.v2019_12_01.models.VpnServerConfigRadiusServerRootCertificate] 20980 :param radius_client_root_certificates: Radius client root certificate of 20981 VpnServerConfiguration. 20982 :type radius_client_root_certificates: 20983 list[~azure.mgmt.network.v2019_12_01.models.VpnServerConfigRadiusClientRootCertificate] 20984 :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for VpnServerConfiguration. 20985 :type vpn_client_ipsec_policies: list[~azure.mgmt.network.v2019_12_01.models.IpsecPolicy] 20986 :param radius_server_address: The radius server address property of the VpnServerConfiguration 20987 resource for point to site client connection. 20988 :type radius_server_address: str 20989 :param radius_server_secret: The radius secret property of the VpnServerConfiguration resource 20990 for point to site client connection. 20991 :type radius_server_secret: str 20992 :param aad_authentication_parameters: The set of aad vpn authentication parameters. 20993 :type aad_authentication_parameters: 20994 ~azure.mgmt.network.v2019_12_01.models.AadAuthenticationParameters 20995 :ivar provisioning_state: The provisioning state of the VpnServerConfiguration resource. 20996 Possible values are: 'Updating', 'Deleting', and 'Failed'. 20997 :vartype provisioning_state: str 20998 :ivar p2_s_vpn_gateways: List of references to P2SVpnGateways. 20999 :vartype p2_s_vpn_gateways: list[~azure.mgmt.network.v2019_12_01.models.P2SVpnGateway] 21000 :ivar etag_properties_etag: A unique read-only string that changes whenever the resource is 21001 updated. 21002 :vartype etag_properties_etag: str 21003 """ 21004 21005 _validation = { 21006 'name': {'readonly': True}, 21007 'type': {'readonly': True}, 21008 'etag': {'readonly': True}, 21009 'provisioning_state': {'readonly': True}, 21010 'p2_s_vpn_gateways': {'readonly': True}, 21011 'etag_properties_etag': {'readonly': True}, 21012 } 21013 21014 _attribute_map = { 21015 'id': {'key': 'id', 'type': 'str'}, 21016 'name': {'key': 'name', 'type': 'str'}, 21017 'type': {'key': 'type', 'type': 'str'}, 21018 'location': {'key': 'location', 'type': 'str'}, 21019 'tags': {'key': 'tags', 'type': '{str}'}, 21020 'etag': {'key': 'etag', 'type': 'str'}, 21021 'name_properties_name': {'key': 'properties.name', 'type': 'str'}, 21022 'vpn_protocols': {'key': 'properties.vpnProtocols', 'type': '[str]'}, 21023 'vpn_authentication_types': {'key': 'properties.vpnAuthenticationTypes', 'type': '[str]'}, 21024 'vpn_client_root_certificates': {'key': 'properties.vpnClientRootCertificates', 'type': '[VpnServerConfigVpnClientRootCertificate]'}, 21025 'vpn_client_revoked_certificates': {'key': 'properties.vpnClientRevokedCertificates', 'type': '[VpnServerConfigVpnClientRevokedCertificate]'}, 21026 'radius_server_root_certificates': {'key': 'properties.radiusServerRootCertificates', 'type': '[VpnServerConfigRadiusServerRootCertificate]'}, 21027 'radius_client_root_certificates': {'key': 'properties.radiusClientRootCertificates', 'type': '[VpnServerConfigRadiusClientRootCertificate]'}, 21028 'vpn_client_ipsec_policies': {'key': 'properties.vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, 21029 'radius_server_address': {'key': 'properties.radiusServerAddress', 'type': 'str'}, 21030 'radius_server_secret': {'key': 'properties.radiusServerSecret', 'type': 'str'}, 21031 'aad_authentication_parameters': {'key': 'properties.aadAuthenticationParameters', 'type': 'AadAuthenticationParameters'}, 21032 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 21033 'p2_s_vpn_gateways': {'key': 'properties.p2SVpnGateways', 'type': '[P2SVpnGateway]'}, 21034 'etag_properties_etag': {'key': 'properties.etag', 'type': 'str'}, 21035 } 21036 21037 def __init__( 21038 self, 21039 *, 21040 id: Optional[str] = None, 21041 location: Optional[str] = None, 21042 tags: Optional[Dict[str, str]] = None, 21043 name_properties_name: Optional[str] = None, 21044 vpn_protocols: Optional[List[Union[str, "VpnGatewayTunnelingProtocol"]]] = None, 21045 vpn_authentication_types: Optional[List[Union[str, "VpnAuthenticationType"]]] = None, 21046 vpn_client_root_certificates: Optional[List["VpnServerConfigVpnClientRootCertificate"]] = None, 21047 vpn_client_revoked_certificates: Optional[List["VpnServerConfigVpnClientRevokedCertificate"]] = None, 21048 radius_server_root_certificates: Optional[List["VpnServerConfigRadiusServerRootCertificate"]] = None, 21049 radius_client_root_certificates: Optional[List["VpnServerConfigRadiusClientRootCertificate"]] = None, 21050 vpn_client_ipsec_policies: Optional[List["IpsecPolicy"]] = None, 21051 radius_server_address: Optional[str] = None, 21052 radius_server_secret: Optional[str] = None, 21053 aad_authentication_parameters: Optional["AadAuthenticationParameters"] = None, 21054 **kwargs 21055 ): 21056 super(VpnServerConfiguration, self).__init__(id=id, location=location, tags=tags, **kwargs) 21057 self.etag = None 21058 self.name_properties_name = name_properties_name 21059 self.vpn_protocols = vpn_protocols 21060 self.vpn_authentication_types = vpn_authentication_types 21061 self.vpn_client_root_certificates = vpn_client_root_certificates 21062 self.vpn_client_revoked_certificates = vpn_client_revoked_certificates 21063 self.radius_server_root_certificates = radius_server_root_certificates 21064 self.radius_client_root_certificates = radius_client_root_certificates 21065 self.vpn_client_ipsec_policies = vpn_client_ipsec_policies 21066 self.radius_server_address = radius_server_address 21067 self.radius_server_secret = radius_server_secret 21068 self.aad_authentication_parameters = aad_authentication_parameters 21069 self.provisioning_state = None 21070 self.p2_s_vpn_gateways = None 21071 self.etag_properties_etag = None 21072 21073 21074class VpnServerConfigurationsResponse(msrest.serialization.Model): 21075 """VpnServerConfigurations list associated with VirtualWan Response. 21076 21077 :param vpn_server_configuration_resource_ids: List of VpnServerConfigurations associated with 21078 VirtualWan. 21079 :type vpn_server_configuration_resource_ids: list[str] 21080 """ 21081 21082 _attribute_map = { 21083 'vpn_server_configuration_resource_ids': {'key': 'vpnServerConfigurationResourceIds', 'type': '[str]'}, 21084 } 21085 21086 def __init__( 21087 self, 21088 *, 21089 vpn_server_configuration_resource_ids: Optional[List[str]] = None, 21090 **kwargs 21091 ): 21092 super(VpnServerConfigurationsResponse, self).__init__(**kwargs) 21093 self.vpn_server_configuration_resource_ids = vpn_server_configuration_resource_ids 21094 21095 21096class VpnServerConfigVpnClientRevokedCertificate(msrest.serialization.Model): 21097 """Properties of the revoked VPN client certificate of VpnServerConfiguration. 21098 21099 :param name: The certificate name. 21100 :type name: str 21101 :param thumbprint: The revoked VPN client certificate thumbprint. 21102 :type thumbprint: str 21103 """ 21104 21105 _attribute_map = { 21106 'name': {'key': 'name', 'type': 'str'}, 21107 'thumbprint': {'key': 'thumbprint', 'type': 'str'}, 21108 } 21109 21110 def __init__( 21111 self, 21112 *, 21113 name: Optional[str] = None, 21114 thumbprint: Optional[str] = None, 21115 **kwargs 21116 ): 21117 super(VpnServerConfigVpnClientRevokedCertificate, self).__init__(**kwargs) 21118 self.name = name 21119 self.thumbprint = thumbprint 21120 21121 21122class VpnServerConfigVpnClientRootCertificate(msrest.serialization.Model): 21123 """Properties of VPN client root certificate of VpnServerConfiguration. 21124 21125 :param name: The certificate name. 21126 :type name: str 21127 :param public_cert_data: The certificate public data. 21128 :type public_cert_data: str 21129 """ 21130 21131 _attribute_map = { 21132 'name': {'key': 'name', 'type': 'str'}, 21133 'public_cert_data': {'key': 'publicCertData', 'type': 'str'}, 21134 } 21135 21136 def __init__( 21137 self, 21138 *, 21139 name: Optional[str] = None, 21140 public_cert_data: Optional[str] = None, 21141 **kwargs 21142 ): 21143 super(VpnServerConfigVpnClientRootCertificate, self).__init__(**kwargs) 21144 self.name = name 21145 self.public_cert_data = public_cert_data 21146 21147 21148class VpnSite(Resource): 21149 """VpnSite Resource. 21150 21151 Variables are only populated by the server, and will be ignored when sending a request. 21152 21153 :param id: Resource ID. 21154 :type id: str 21155 :ivar name: Resource name. 21156 :vartype name: str 21157 :ivar type: Resource type. 21158 :vartype type: str 21159 :param location: Resource location. 21160 :type location: str 21161 :param tags: A set of tags. Resource tags. 21162 :type tags: dict[str, str] 21163 :ivar etag: A unique read-only string that changes whenever the resource is updated. 21164 :vartype etag: str 21165 :param virtual_wan: The VirtualWAN to which the vpnSite belongs. 21166 :type virtual_wan: ~azure.mgmt.network.v2019_12_01.models.SubResource 21167 :param device_properties: The device properties. 21168 :type device_properties: ~azure.mgmt.network.v2019_12_01.models.DeviceProperties 21169 :param ip_address: The ip-address for the vpn-site. 21170 :type ip_address: str 21171 :param site_key: The key for vpn-site that can be used for connections. 21172 :type site_key: str 21173 :param address_space: The AddressSpace that contains an array of IP address ranges. 21174 :type address_space: ~azure.mgmt.network.v2019_12_01.models.AddressSpace 21175 :param bgp_properties: The set of bgp properties. 21176 :type bgp_properties: ~azure.mgmt.network.v2019_12_01.models.BgpSettings 21177 :ivar provisioning_state: The provisioning state of the VPN site resource. Possible values 21178 include: "Succeeded", "Updating", "Deleting", "Failed". 21179 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 21180 :param is_security_site: IsSecuritySite flag. 21181 :type is_security_site: bool 21182 :param vpn_site_links: List of all vpn site links. 21183 :type vpn_site_links: list[~azure.mgmt.network.v2019_12_01.models.VpnSiteLink] 21184 """ 21185 21186 _validation = { 21187 'name': {'readonly': True}, 21188 'type': {'readonly': True}, 21189 'etag': {'readonly': True}, 21190 'provisioning_state': {'readonly': True}, 21191 } 21192 21193 _attribute_map = { 21194 'id': {'key': 'id', 'type': 'str'}, 21195 'name': {'key': 'name', 'type': 'str'}, 21196 'type': {'key': 'type', 'type': 'str'}, 21197 'location': {'key': 'location', 'type': 'str'}, 21198 'tags': {'key': 'tags', 'type': '{str}'}, 21199 'etag': {'key': 'etag', 'type': 'str'}, 21200 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, 21201 'device_properties': {'key': 'properties.deviceProperties', 'type': 'DeviceProperties'}, 21202 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, 21203 'site_key': {'key': 'properties.siteKey', 'type': 'str'}, 21204 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, 21205 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'BgpSettings'}, 21206 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 21207 'is_security_site': {'key': 'properties.isSecuritySite', 'type': 'bool'}, 21208 'vpn_site_links': {'key': 'properties.vpnSiteLinks', 'type': '[VpnSiteLink]'}, 21209 } 21210 21211 def __init__( 21212 self, 21213 *, 21214 id: Optional[str] = None, 21215 location: Optional[str] = None, 21216 tags: Optional[Dict[str, str]] = None, 21217 virtual_wan: Optional["SubResource"] = None, 21218 device_properties: Optional["DeviceProperties"] = None, 21219 ip_address: Optional[str] = None, 21220 site_key: Optional[str] = None, 21221 address_space: Optional["AddressSpace"] = None, 21222 bgp_properties: Optional["BgpSettings"] = None, 21223 is_security_site: Optional[bool] = None, 21224 vpn_site_links: Optional[List["VpnSiteLink"]] = None, 21225 **kwargs 21226 ): 21227 super(VpnSite, self).__init__(id=id, location=location, tags=tags, **kwargs) 21228 self.etag = None 21229 self.virtual_wan = virtual_wan 21230 self.device_properties = device_properties 21231 self.ip_address = ip_address 21232 self.site_key = site_key 21233 self.address_space = address_space 21234 self.bgp_properties = bgp_properties 21235 self.provisioning_state = None 21236 self.is_security_site = is_security_site 21237 self.vpn_site_links = vpn_site_links 21238 21239 21240class VpnSiteId(msrest.serialization.Model): 21241 """VpnSite Resource. 21242 21243 Variables are only populated by the server, and will be ignored when sending a request. 21244 21245 :ivar vpn_site: The resource-uri of the vpn-site for which config is to be fetched. 21246 :vartype vpn_site: str 21247 """ 21248 21249 _validation = { 21250 'vpn_site': {'readonly': True}, 21251 } 21252 21253 _attribute_map = { 21254 'vpn_site': {'key': 'vpnSite', 'type': 'str'}, 21255 } 21256 21257 def __init__( 21258 self, 21259 **kwargs 21260 ): 21261 super(VpnSiteId, self).__init__(**kwargs) 21262 self.vpn_site = None 21263 21264 21265class VpnSiteLink(SubResource): 21266 """VpnSiteLink Resource. 21267 21268 Variables are only populated by the server, and will be ignored when sending a request. 21269 21270 :param id: Resource ID. 21271 :type id: str 21272 :ivar etag: A unique read-only string that changes whenever the resource is updated. 21273 :vartype etag: str 21274 :param name: The name of the resource that is unique within a resource group. This name can be 21275 used to access the resource. 21276 :type name: str 21277 :ivar type: Resource type. 21278 :vartype type: str 21279 :param link_properties: The link provider properties. 21280 :type link_properties: ~azure.mgmt.network.v2019_12_01.models.VpnLinkProviderProperties 21281 :param ip_address: The ip-address for the vpn-site-link. 21282 :type ip_address: str 21283 :param fqdn: FQDN of vpn-site-link. 21284 :type fqdn: str 21285 :param bgp_properties: The set of bgp properties. 21286 :type bgp_properties: ~azure.mgmt.network.v2019_12_01.models.VpnLinkBgpSettings 21287 :ivar provisioning_state: The provisioning state of the VPN site link resource. Possible values 21288 include: "Succeeded", "Updating", "Deleting", "Failed". 21289 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 21290 """ 21291 21292 _validation = { 21293 'etag': {'readonly': True}, 21294 'type': {'readonly': True}, 21295 'provisioning_state': {'readonly': True}, 21296 } 21297 21298 _attribute_map = { 21299 'id': {'key': 'id', 'type': 'str'}, 21300 'etag': {'key': 'etag', 'type': 'str'}, 21301 'name': {'key': 'name', 'type': 'str'}, 21302 'type': {'key': 'type', 'type': 'str'}, 21303 'link_properties': {'key': 'properties.linkProperties', 'type': 'VpnLinkProviderProperties'}, 21304 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, 21305 'fqdn': {'key': 'properties.fqdn', 'type': 'str'}, 21306 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'VpnLinkBgpSettings'}, 21307 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 21308 } 21309 21310 def __init__( 21311 self, 21312 *, 21313 id: Optional[str] = None, 21314 name: Optional[str] = None, 21315 link_properties: Optional["VpnLinkProviderProperties"] = None, 21316 ip_address: Optional[str] = None, 21317 fqdn: Optional[str] = None, 21318 bgp_properties: Optional["VpnLinkBgpSettings"] = None, 21319 **kwargs 21320 ): 21321 super(VpnSiteLink, self).__init__(id=id, **kwargs) 21322 self.etag = None 21323 self.name = name 21324 self.type = None 21325 self.link_properties = link_properties 21326 self.ip_address = ip_address 21327 self.fqdn = fqdn 21328 self.bgp_properties = bgp_properties 21329 self.provisioning_state = None 21330 21331 21332class VpnSiteLinkConnection(SubResource): 21333 """VpnSiteLinkConnection Resource. 21334 21335 Variables are only populated by the server, and will be ignored when sending a request. 21336 21337 :param id: Resource ID. 21338 :type id: str 21339 :param name: The name of the resource that is unique within a resource group. This name can be 21340 used to access the resource. 21341 :type name: str 21342 :ivar etag: A unique read-only string that changes whenever the resource is updated. 21343 :vartype etag: str 21344 :ivar type: Resource type. 21345 :vartype type: str 21346 :param vpn_site_link: Id of the connected vpn site link. 21347 :type vpn_site_link: ~azure.mgmt.network.v2019_12_01.models.SubResource 21348 :param routing_weight: Routing weight for vpn connection. 21349 :type routing_weight: int 21350 :ivar connection_status: The connection status. Possible values include: "Unknown", 21351 "Connecting", "Connected", "NotConnected". 21352 :vartype connection_status: str or ~azure.mgmt.network.v2019_12_01.models.VpnConnectionStatus 21353 :param vpn_connection_protocol_type: Connection protocol used for this connection. Possible 21354 values include: "IKEv2", "IKEv1". 21355 :type vpn_connection_protocol_type: str or 21356 ~azure.mgmt.network.v2019_12_01.models.VirtualNetworkGatewayConnectionProtocol 21357 :ivar ingress_bytes_transferred: Ingress bytes transferred. 21358 :vartype ingress_bytes_transferred: long 21359 :ivar egress_bytes_transferred: Egress bytes transferred. 21360 :vartype egress_bytes_transferred: long 21361 :param connection_bandwidth: Expected bandwidth in MBPS. 21362 :type connection_bandwidth: int 21363 :param shared_key: SharedKey for the vpn connection. 21364 :type shared_key: str 21365 :param enable_bgp: EnableBgp flag. 21366 :type enable_bgp: bool 21367 :param use_policy_based_traffic_selectors: Enable policy-based traffic selectors. 21368 :type use_policy_based_traffic_selectors: bool 21369 :param ipsec_policies: The IPSec Policies to be considered by this connection. 21370 :type ipsec_policies: list[~azure.mgmt.network.v2019_12_01.models.IpsecPolicy] 21371 :param enable_rate_limiting: EnableBgp flag. 21372 :type enable_rate_limiting: bool 21373 :param use_local_azure_ip_address: Use local azure ip to initiate connection. 21374 :type use_local_azure_ip_address: bool 21375 :ivar provisioning_state: The provisioning state of the VPN site link connection resource. 21376 Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 21377 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 21378 """ 21379 21380 _validation = { 21381 'etag': {'readonly': True}, 21382 'type': {'readonly': True}, 21383 'connection_status': {'readonly': True}, 21384 'ingress_bytes_transferred': {'readonly': True}, 21385 'egress_bytes_transferred': {'readonly': True}, 21386 'provisioning_state': {'readonly': True}, 21387 } 21388 21389 _attribute_map = { 21390 'id': {'key': 'id', 'type': 'str'}, 21391 'name': {'key': 'name', 'type': 'str'}, 21392 'etag': {'key': 'etag', 'type': 'str'}, 21393 'type': {'key': 'type', 'type': 'str'}, 21394 'vpn_site_link': {'key': 'properties.vpnSiteLink', 'type': 'SubResource'}, 21395 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, 21396 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, 21397 'vpn_connection_protocol_type': {'key': 'properties.vpnConnectionProtocolType', 'type': 'str'}, 21398 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, 21399 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, 21400 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, 21401 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 21402 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 21403 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, 21404 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, 21405 'enable_rate_limiting': {'key': 'properties.enableRateLimiting', 'type': 'bool'}, 21406 'use_local_azure_ip_address': {'key': 'properties.useLocalAzureIpAddress', 'type': 'bool'}, 21407 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 21408 } 21409 21410 def __init__( 21411 self, 21412 *, 21413 id: Optional[str] = None, 21414 name: Optional[str] = None, 21415 vpn_site_link: Optional["SubResource"] = None, 21416 routing_weight: Optional[int] = None, 21417 vpn_connection_protocol_type: Optional[Union[str, "VirtualNetworkGatewayConnectionProtocol"]] = None, 21418 connection_bandwidth: Optional[int] = None, 21419 shared_key: Optional[str] = None, 21420 enable_bgp: Optional[bool] = None, 21421 use_policy_based_traffic_selectors: Optional[bool] = None, 21422 ipsec_policies: Optional[List["IpsecPolicy"]] = None, 21423 enable_rate_limiting: Optional[bool] = None, 21424 use_local_azure_ip_address: Optional[bool] = None, 21425 **kwargs 21426 ): 21427 super(VpnSiteLinkConnection, self).__init__(id=id, **kwargs) 21428 self.name = name 21429 self.etag = None 21430 self.type = None 21431 self.vpn_site_link = vpn_site_link 21432 self.routing_weight = routing_weight 21433 self.connection_status = None 21434 self.vpn_connection_protocol_type = vpn_connection_protocol_type 21435 self.ingress_bytes_transferred = None 21436 self.egress_bytes_transferred = None 21437 self.connection_bandwidth = connection_bandwidth 21438 self.shared_key = shared_key 21439 self.enable_bgp = enable_bgp 21440 self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors 21441 self.ipsec_policies = ipsec_policies 21442 self.enable_rate_limiting = enable_rate_limiting 21443 self.use_local_azure_ip_address = use_local_azure_ip_address 21444 self.provisioning_state = None 21445 21446 21447class WebApplicationFirewallCustomRule(msrest.serialization.Model): 21448 """Defines contents of a web application rule. 21449 21450 Variables are only populated by the server, and will be ignored when sending a request. 21451 21452 All required parameters must be populated in order to send to Azure. 21453 21454 :param name: The name of the resource that is unique within a policy. This name can be used to 21455 access the resource. 21456 :type name: str 21457 :ivar etag: A unique read-only string that changes whenever the resource is updated. 21458 :vartype etag: str 21459 :param priority: Required. Priority of the rule. Rules with a lower value will be evaluated 21460 before rules with a higher value. 21461 :type priority: int 21462 :param rule_type: Required. The rule type. Possible values include: "MatchRule", "Invalid". 21463 :type rule_type: str or ~azure.mgmt.network.v2019_12_01.models.WebApplicationFirewallRuleType 21464 :param match_conditions: Required. List of match conditions. 21465 :type match_conditions: list[~azure.mgmt.network.v2019_12_01.models.MatchCondition] 21466 :param action: Required. Type of Actions. Possible values include: "Allow", "Block", "Log". 21467 :type action: str or ~azure.mgmt.network.v2019_12_01.models.WebApplicationFirewallAction 21468 """ 21469 21470 _validation = { 21471 'name': {'max_length': 128, 'min_length': 0}, 21472 'etag': {'readonly': True}, 21473 'priority': {'required': True}, 21474 'rule_type': {'required': True}, 21475 'match_conditions': {'required': True}, 21476 'action': {'required': True}, 21477 } 21478 21479 _attribute_map = { 21480 'name': {'key': 'name', 'type': 'str'}, 21481 'etag': {'key': 'etag', 'type': 'str'}, 21482 'priority': {'key': 'priority', 'type': 'int'}, 21483 'rule_type': {'key': 'ruleType', 'type': 'str'}, 21484 'match_conditions': {'key': 'matchConditions', 'type': '[MatchCondition]'}, 21485 'action': {'key': 'action', 'type': 'str'}, 21486 } 21487 21488 def __init__( 21489 self, 21490 *, 21491 priority: int, 21492 rule_type: Union[str, "WebApplicationFirewallRuleType"], 21493 match_conditions: List["MatchCondition"], 21494 action: Union[str, "WebApplicationFirewallAction"], 21495 name: Optional[str] = None, 21496 **kwargs 21497 ): 21498 super(WebApplicationFirewallCustomRule, self).__init__(**kwargs) 21499 self.name = name 21500 self.etag = None 21501 self.priority = priority 21502 self.rule_type = rule_type 21503 self.match_conditions = match_conditions 21504 self.action = action 21505 21506 21507class WebApplicationFirewallPolicy(Resource): 21508 """Defines web application firewall policy. 21509 21510 Variables are only populated by the server, and will be ignored when sending a request. 21511 21512 :param id: Resource ID. 21513 :type id: str 21514 :ivar name: Resource name. 21515 :vartype name: str 21516 :ivar type: Resource type. 21517 :vartype type: str 21518 :param location: Resource location. 21519 :type location: str 21520 :param tags: A set of tags. Resource tags. 21521 :type tags: dict[str, str] 21522 :ivar etag: A unique read-only string that changes whenever the resource is updated. 21523 :vartype etag: str 21524 :param policy_settings: The PolicySettings for policy. 21525 :type policy_settings: ~azure.mgmt.network.v2019_12_01.models.PolicySettings 21526 :param custom_rules: The custom rules inside the policy. 21527 :type custom_rules: 21528 list[~azure.mgmt.network.v2019_12_01.models.WebApplicationFirewallCustomRule] 21529 :ivar application_gateways: A collection of references to application gateways. 21530 :vartype application_gateways: list[~azure.mgmt.network.v2019_12_01.models.ApplicationGateway] 21531 :ivar provisioning_state: The provisioning state of the web application firewall policy 21532 resource. Possible values include: "Succeeded", "Updating", "Deleting", "Failed". 21533 :vartype provisioning_state: str or ~azure.mgmt.network.v2019_12_01.models.ProvisioningState 21534 :ivar resource_state: Resource status of the policy. Possible values include: "Creating", 21535 "Enabling", "Enabled", "Disabling", "Disabled", "Deleting". 21536 :vartype resource_state: str or 21537 ~azure.mgmt.network.v2019_12_01.models.WebApplicationFirewallPolicyResourceState 21538 :param managed_rules: Describes the managedRules structure. 21539 :type managed_rules: ~azure.mgmt.network.v2019_12_01.models.ManagedRulesDefinition 21540 :ivar http_listeners: A collection of references to application gateway http listeners. 21541 :vartype http_listeners: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 21542 :ivar path_based_rules: A collection of references to application gateway path rules. 21543 :vartype path_based_rules: list[~azure.mgmt.network.v2019_12_01.models.SubResource] 21544 """ 21545 21546 _validation = { 21547 'name': {'readonly': True}, 21548 'type': {'readonly': True}, 21549 'etag': {'readonly': True}, 21550 'application_gateways': {'readonly': True}, 21551 'provisioning_state': {'readonly': True}, 21552 'resource_state': {'readonly': True}, 21553 'http_listeners': {'readonly': True}, 21554 'path_based_rules': {'readonly': True}, 21555 } 21556 21557 _attribute_map = { 21558 'id': {'key': 'id', 'type': 'str'}, 21559 'name': {'key': 'name', 'type': 'str'}, 21560 'type': {'key': 'type', 'type': 'str'}, 21561 'location': {'key': 'location', 'type': 'str'}, 21562 'tags': {'key': 'tags', 'type': '{str}'}, 21563 'etag': {'key': 'etag', 'type': 'str'}, 21564 'policy_settings': {'key': 'properties.policySettings', 'type': 'PolicySettings'}, 21565 'custom_rules': {'key': 'properties.customRules', 'type': '[WebApplicationFirewallCustomRule]'}, 21566 'application_gateways': {'key': 'properties.applicationGateways', 'type': '[ApplicationGateway]'}, 21567 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 21568 'resource_state': {'key': 'properties.resourceState', 'type': 'str'}, 21569 'managed_rules': {'key': 'properties.managedRules', 'type': 'ManagedRulesDefinition'}, 21570 'http_listeners': {'key': 'properties.httpListeners', 'type': '[SubResource]'}, 21571 'path_based_rules': {'key': 'properties.pathBasedRules', 'type': '[SubResource]'}, 21572 } 21573 21574 def __init__( 21575 self, 21576 *, 21577 id: Optional[str] = None, 21578 location: Optional[str] = None, 21579 tags: Optional[Dict[str, str]] = None, 21580 policy_settings: Optional["PolicySettings"] = None, 21581 custom_rules: Optional[List["WebApplicationFirewallCustomRule"]] = None, 21582 managed_rules: Optional["ManagedRulesDefinition"] = None, 21583 **kwargs 21584 ): 21585 super(WebApplicationFirewallPolicy, self).__init__(id=id, location=location, tags=tags, **kwargs) 21586 self.etag = None 21587 self.policy_settings = policy_settings 21588 self.custom_rules = custom_rules 21589 self.application_gateways = None 21590 self.provisioning_state = None 21591 self.resource_state = None 21592 self.managed_rules = managed_rules 21593 self.http_listeners = None 21594 self.path_based_rules = None 21595 21596 21597class WebApplicationFirewallPolicyListResult(msrest.serialization.Model): 21598 """Result of the request to list WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results. 21599 21600 Variables are only populated by the server, and will be ignored when sending a request. 21601 21602 :ivar value: List of WebApplicationFirewallPolicies within a resource group. 21603 :vartype value: list[~azure.mgmt.network.v2019_12_01.models.WebApplicationFirewallPolicy] 21604 :ivar next_link: URL to get the next set of WebApplicationFirewallPolicy objects if there are 21605 any. 21606 :vartype next_link: str 21607 """ 21608 21609 _validation = { 21610 'value': {'readonly': True}, 21611 'next_link': {'readonly': True}, 21612 } 21613 21614 _attribute_map = { 21615 'value': {'key': 'value', 'type': '[WebApplicationFirewallPolicy]'}, 21616 'next_link': {'key': 'nextLink', 'type': 'str'}, 21617 } 21618 21619 def __init__( 21620 self, 21621 **kwargs 21622 ): 21623 super(WebApplicationFirewallPolicyListResult, self).__init__(**kwargs) 21624 self.value = None 21625 self.next_link = None 21626