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 AddressSpace(msrest.serialization.Model): 19 """AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. 20 21 :param address_prefixes: A list of address blocks reserved for this virtual network in CIDR 22 notation. 23 :type address_prefixes: list[str] 24 """ 25 26 _attribute_map = { 27 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, 28 } 29 30 def __init__( 31 self, 32 *, 33 address_prefixes: Optional[List[str]] = None, 34 **kwargs 35 ): 36 super(AddressSpace, self).__init__(**kwargs) 37 self.address_prefixes = address_prefixes 38 39 40class Resource(msrest.serialization.Model): 41 """Common resource representation. 42 43 Variables are only populated by the server, and will be ignored when sending a request. 44 45 :param id: Resource ID. 46 :type id: str 47 :ivar name: Resource name. 48 :vartype name: str 49 :ivar type: Resource type. 50 :vartype type: str 51 :param location: Resource location. 52 :type location: str 53 :param tags: A set of tags. Resource tags. 54 :type tags: dict[str, str] 55 """ 56 57 _validation = { 58 'name': {'readonly': True}, 59 'type': {'readonly': True}, 60 } 61 62 _attribute_map = { 63 'id': {'key': 'id', 'type': 'str'}, 64 'name': {'key': 'name', 'type': 'str'}, 65 'type': {'key': 'type', 'type': 'str'}, 66 'location': {'key': 'location', 'type': 'str'}, 67 'tags': {'key': 'tags', 'type': '{str}'}, 68 } 69 70 def __init__( 71 self, 72 *, 73 id: Optional[str] = None, 74 location: Optional[str] = None, 75 tags: Optional[Dict[str, str]] = None, 76 **kwargs 77 ): 78 super(Resource, self).__init__(**kwargs) 79 self.id = id 80 self.name = None 81 self.type = None 82 self.location = location 83 self.tags = tags 84 85 86class ApplicationGateway(Resource): 87 """Application gateway resource. 88 89 Variables are only populated by the server, and will be ignored when sending a request. 90 91 :param id: Resource ID. 92 :type id: str 93 :ivar name: Resource name. 94 :vartype name: str 95 :ivar type: Resource type. 96 :vartype type: str 97 :param location: Resource location. 98 :type location: str 99 :param tags: A set of tags. Resource tags. 100 :type tags: dict[str, str] 101 :param etag: A unique read-only string that changes whenever the resource is updated. 102 :type etag: str 103 :param zones: A list of availability zones denoting where the resource needs to come from. 104 :type zones: list[str] 105 :param sku: SKU of the application gateway resource. 106 :type sku: ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySku 107 :param ssl_policy: SSL policy of the application gateway resource. 108 :type ssl_policy: ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslPolicy 109 :ivar operational_state: Operational state of the application gateway resource. Possible values 110 include: "Stopped", "Starting", "Running", "Stopping". 111 :vartype operational_state: str or 112 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayOperationalState 113 :param gateway_ip_configurations: Subnets of application the gateway resource. 114 :type gateway_ip_configurations: 115 list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayIPConfiguration] 116 :param authentication_certificates: Authentication certificates of the application gateway 117 resource. 118 :type authentication_certificates: 119 list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayAuthenticationCertificate] 120 :param ssl_certificates: SSL certificates of the application gateway resource. 121 :type ssl_certificates: 122 list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslCertificate] 123 :param frontend_ip_configurations: Frontend IP addresses of the application gateway resource. 124 :type frontend_ip_configurations: 125 list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFrontendIPConfiguration] 126 :param frontend_ports: Frontend ports of the application gateway resource. 127 :type frontend_ports: 128 list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFrontendPort] 129 :param probes: Probes of the application gateway resource. 130 :type probes: list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayProbe] 131 :param backend_address_pools: Backend address pool of the application gateway resource. 132 :type backend_address_pools: 133 list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendAddressPool] 134 :param backend_http_settings_collection: Backend http settings of the application gateway 135 resource. 136 :type backend_http_settings_collection: 137 list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendHttpSettings] 138 :param http_listeners: Http listeners of the application gateway resource. 139 :type http_listeners: 140 list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayHttpListener] 141 :param url_path_maps: URL path map of the application gateway resource. 142 :type url_path_maps: list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayUrlPathMap] 143 :param request_routing_rules: Request routing rules of the application gateway resource. 144 :type request_routing_rules: 145 list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayRequestRoutingRule] 146 :param redirect_configurations: Redirect configurations of the application gateway resource. 147 :type redirect_configurations: 148 list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayRedirectConfiguration] 149 :param web_application_firewall_configuration: Web application firewall configuration. 150 :type web_application_firewall_configuration: 151 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayWebApplicationFirewallConfiguration 152 :param enable_http2: Whether HTTP2 is enabled on the application gateway resource. 153 :type enable_http2: bool 154 :param enable_fips: Whether FIPS is enabled on the application gateway resource. 155 :type enable_fips: bool 156 :param autoscale_configuration: Autoscale Configuration. 157 :type autoscale_configuration: 158 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayAutoscaleConfiguration 159 :param resource_guid: Resource GUID property of the application gateway resource. 160 :type resource_guid: str 161 :param provisioning_state: Provisioning state of the application gateway resource. Possible 162 values are: 'Updating', 'Deleting', and 'Failed'. 163 :type provisioning_state: str 164 """ 165 166 _validation = { 167 'name': {'readonly': True}, 168 'type': {'readonly': True}, 169 'operational_state': {'readonly': True}, 170 } 171 172 _attribute_map = { 173 'id': {'key': 'id', 'type': 'str'}, 174 'name': {'key': 'name', 'type': 'str'}, 175 'type': {'key': 'type', 'type': 'str'}, 176 'location': {'key': 'location', 'type': 'str'}, 177 'tags': {'key': 'tags', 'type': '{str}'}, 178 'etag': {'key': 'etag', 'type': 'str'}, 179 'zones': {'key': 'zones', 'type': '[str]'}, 180 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, 181 'ssl_policy': {'key': 'properties.sslPolicy', 'type': 'ApplicationGatewaySslPolicy'}, 182 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, 183 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, 184 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[ApplicationGatewayAuthenticationCertificate]'}, 185 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, 186 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, 187 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, 188 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, 189 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, 190 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, 191 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, 192 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, 193 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, 194 'redirect_configurations': {'key': 'properties.redirectConfigurations', 'type': '[ApplicationGatewayRedirectConfiguration]'}, 195 'web_application_firewall_configuration': {'key': 'properties.webApplicationFirewallConfiguration', 'type': 'ApplicationGatewayWebApplicationFirewallConfiguration'}, 196 'enable_http2': {'key': 'properties.enableHttp2', 'type': 'bool'}, 197 'enable_fips': {'key': 'properties.enableFips', 'type': 'bool'}, 198 'autoscale_configuration': {'key': 'properties.autoscaleConfiguration', 'type': 'ApplicationGatewayAutoscaleConfiguration'}, 199 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 200 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 201 } 202 203 def __init__( 204 self, 205 *, 206 id: Optional[str] = None, 207 location: Optional[str] = None, 208 tags: Optional[Dict[str, str]] = None, 209 etag: Optional[str] = None, 210 zones: Optional[List[str]] = None, 211 sku: Optional["ApplicationGatewaySku"] = None, 212 ssl_policy: Optional["ApplicationGatewaySslPolicy"] = None, 213 gateway_ip_configurations: Optional[List["ApplicationGatewayIPConfiguration"]] = None, 214 authentication_certificates: Optional[List["ApplicationGatewayAuthenticationCertificate"]] = None, 215 ssl_certificates: Optional[List["ApplicationGatewaySslCertificate"]] = None, 216 frontend_ip_configurations: Optional[List["ApplicationGatewayFrontendIPConfiguration"]] = None, 217 frontend_ports: Optional[List["ApplicationGatewayFrontendPort"]] = None, 218 probes: Optional[List["ApplicationGatewayProbe"]] = None, 219 backend_address_pools: Optional[List["ApplicationGatewayBackendAddressPool"]] = None, 220 backend_http_settings_collection: Optional[List["ApplicationGatewayBackendHttpSettings"]] = None, 221 http_listeners: Optional[List["ApplicationGatewayHttpListener"]] = None, 222 url_path_maps: Optional[List["ApplicationGatewayUrlPathMap"]] = None, 223 request_routing_rules: Optional[List["ApplicationGatewayRequestRoutingRule"]] = None, 224 redirect_configurations: Optional[List["ApplicationGatewayRedirectConfiguration"]] = None, 225 web_application_firewall_configuration: Optional["ApplicationGatewayWebApplicationFirewallConfiguration"] = None, 226 enable_http2: Optional[bool] = None, 227 enable_fips: Optional[bool] = None, 228 autoscale_configuration: Optional["ApplicationGatewayAutoscaleConfiguration"] = None, 229 resource_guid: Optional[str] = None, 230 provisioning_state: Optional[str] = None, 231 **kwargs 232 ): 233 super(ApplicationGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 234 self.etag = etag 235 self.zones = zones 236 self.sku = sku 237 self.ssl_policy = ssl_policy 238 self.operational_state = None 239 self.gateway_ip_configurations = gateway_ip_configurations 240 self.authentication_certificates = authentication_certificates 241 self.ssl_certificates = ssl_certificates 242 self.frontend_ip_configurations = frontend_ip_configurations 243 self.frontend_ports = frontend_ports 244 self.probes = probes 245 self.backend_address_pools = backend_address_pools 246 self.backend_http_settings_collection = backend_http_settings_collection 247 self.http_listeners = http_listeners 248 self.url_path_maps = url_path_maps 249 self.request_routing_rules = request_routing_rules 250 self.redirect_configurations = redirect_configurations 251 self.web_application_firewall_configuration = web_application_firewall_configuration 252 self.enable_http2 = enable_http2 253 self.enable_fips = enable_fips 254 self.autoscale_configuration = autoscale_configuration 255 self.resource_guid = resource_guid 256 self.provisioning_state = provisioning_state 257 258 259class SubResource(msrest.serialization.Model): 260 """Reference to another subresource. 261 262 :param id: Resource ID. 263 :type id: str 264 """ 265 266 _attribute_map = { 267 'id': {'key': 'id', 'type': 'str'}, 268 } 269 270 def __init__( 271 self, 272 *, 273 id: Optional[str] = None, 274 **kwargs 275 ): 276 super(SubResource, self).__init__(**kwargs) 277 self.id = id 278 279 280class ApplicationGatewayAuthenticationCertificate(SubResource): 281 """Authentication certificates of an application gateway. 282 283 :param id: Resource ID. 284 :type id: str 285 :param name: Name of the authentication certificate that is unique within an Application 286 Gateway. 287 :type name: str 288 :param etag: A unique read-only string that changes whenever the resource is updated. 289 :type etag: str 290 :param type: Type of the resource. 291 :type type: str 292 :param data: Certificate public data. 293 :type data: str 294 :param provisioning_state: Provisioning state of the authentication certificate resource. 295 Possible values are: 'Updating', 'Deleting', and 'Failed'. 296 :type provisioning_state: str 297 """ 298 299 _attribute_map = { 300 'id': {'key': 'id', 'type': 'str'}, 301 'name': {'key': 'name', 'type': 'str'}, 302 'etag': {'key': 'etag', 'type': 'str'}, 303 'type': {'key': 'type', 'type': 'str'}, 304 'data': {'key': 'properties.data', 'type': 'str'}, 305 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 306 } 307 308 def __init__( 309 self, 310 *, 311 id: Optional[str] = None, 312 name: Optional[str] = None, 313 etag: Optional[str] = None, 314 type: Optional[str] = None, 315 data: Optional[str] = None, 316 provisioning_state: Optional[str] = None, 317 **kwargs 318 ): 319 super(ApplicationGatewayAuthenticationCertificate, self).__init__(id=id, **kwargs) 320 self.name = name 321 self.etag = etag 322 self.type = type 323 self.data = data 324 self.provisioning_state = provisioning_state 325 326 327class ApplicationGatewayAutoscaleBounds(msrest.serialization.Model): 328 """Application Gateway autoscale bounds on number of Application Gateway instance. 329 330 All required parameters must be populated in order to send to Azure. 331 332 :param min: Required. Lower bound on number of Application Gateway instances. 333 :type min: int 334 :param max: Required. Upper bound on number of Application Gateway instances. 335 :type max: int 336 """ 337 338 _validation = { 339 'min': {'required': True}, 340 'max': {'required': True}, 341 } 342 343 _attribute_map = { 344 'min': {'key': 'min', 'type': 'int'}, 345 'max': {'key': 'max', 'type': 'int'}, 346 } 347 348 def __init__( 349 self, 350 *, 351 min: int, 352 max: int, 353 **kwargs 354 ): 355 super(ApplicationGatewayAutoscaleBounds, self).__init__(**kwargs) 356 self.min = min 357 self.max = max 358 359 360class ApplicationGatewayAutoscaleConfiguration(msrest.serialization.Model): 361 """Application Gateway autoscale configuration. 362 363 All required parameters must be populated in order to send to Azure. 364 365 :param bounds: Required. Autoscale bounds. 366 :type bounds: ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayAutoscaleBounds 367 """ 368 369 _validation = { 370 'bounds': {'required': True}, 371 } 372 373 _attribute_map = { 374 'bounds': {'key': 'bounds', 'type': 'ApplicationGatewayAutoscaleBounds'}, 375 } 376 377 def __init__( 378 self, 379 *, 380 bounds: "ApplicationGatewayAutoscaleBounds", 381 **kwargs 382 ): 383 super(ApplicationGatewayAutoscaleConfiguration, self).__init__(**kwargs) 384 self.bounds = bounds 385 386 387class ApplicationGatewayAvailableSslOptions(Resource): 388 """Response for ApplicationGatewayAvailableSslOptions API service call. 389 390 Variables are only populated by the server, and will be ignored when sending a request. 391 392 :param id: Resource ID. 393 :type id: str 394 :ivar name: Resource name. 395 :vartype name: str 396 :ivar type: Resource type. 397 :vartype type: str 398 :param location: Resource location. 399 :type location: str 400 :param tags: A set of tags. Resource tags. 401 :type tags: dict[str, str] 402 :param predefined_policies: List of available Ssl predefined policy. 403 :type predefined_policies: list[~azure.mgmt.network.v2018_04_01.models.SubResource] 404 :param default_policy: Name of the Ssl predefined policy applied by default to application 405 gateway. Possible values include: "AppGwSslPolicy20150501", "AppGwSslPolicy20170401", 406 "AppGwSslPolicy20170401S". 407 :type default_policy: str or 408 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslPolicyName 409 :param available_cipher_suites: List of available Ssl cipher suites. 410 :type available_cipher_suites: list[str or 411 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslCipherSuite] 412 :param available_protocols: List of available Ssl protocols. 413 :type available_protocols: list[str or 414 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslProtocol] 415 """ 416 417 _validation = { 418 'name': {'readonly': True}, 419 'type': {'readonly': True}, 420 } 421 422 _attribute_map = { 423 'id': {'key': 'id', 'type': 'str'}, 424 'name': {'key': 'name', 'type': 'str'}, 425 'type': {'key': 'type', 'type': 'str'}, 426 'location': {'key': 'location', 'type': 'str'}, 427 'tags': {'key': 'tags', 'type': '{str}'}, 428 'predefined_policies': {'key': 'properties.predefinedPolicies', 'type': '[SubResource]'}, 429 'default_policy': {'key': 'properties.defaultPolicy', 'type': 'str'}, 430 'available_cipher_suites': {'key': 'properties.availableCipherSuites', 'type': '[str]'}, 431 'available_protocols': {'key': 'properties.availableProtocols', 'type': '[str]'}, 432 } 433 434 def __init__( 435 self, 436 *, 437 id: Optional[str] = None, 438 location: Optional[str] = None, 439 tags: Optional[Dict[str, str]] = None, 440 predefined_policies: Optional[List["SubResource"]] = None, 441 default_policy: Optional[Union[str, "ApplicationGatewaySslPolicyName"]] = None, 442 available_cipher_suites: Optional[List[Union[str, "ApplicationGatewaySslCipherSuite"]]] = None, 443 available_protocols: Optional[List[Union[str, "ApplicationGatewaySslProtocol"]]] = None, 444 **kwargs 445 ): 446 super(ApplicationGatewayAvailableSslOptions, self).__init__(id=id, location=location, tags=tags, **kwargs) 447 self.predefined_policies = predefined_policies 448 self.default_policy = default_policy 449 self.available_cipher_suites = available_cipher_suites 450 self.available_protocols = available_protocols 451 452 453class ApplicationGatewayAvailableSslPredefinedPolicies(msrest.serialization.Model): 454 """Response for ApplicationGatewayAvailableSslOptions API service call. 455 456 :param value: List of available Ssl predefined policy. 457 :type value: list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslPredefinedPolicy] 458 :param next_link: URL to get the next set of results. 459 :type next_link: str 460 """ 461 462 _attribute_map = { 463 'value': {'key': 'value', 'type': '[ApplicationGatewaySslPredefinedPolicy]'}, 464 'next_link': {'key': 'nextLink', 'type': 'str'}, 465 } 466 467 def __init__( 468 self, 469 *, 470 value: Optional[List["ApplicationGatewaySslPredefinedPolicy"]] = None, 471 next_link: Optional[str] = None, 472 **kwargs 473 ): 474 super(ApplicationGatewayAvailableSslPredefinedPolicies, self).__init__(**kwargs) 475 self.value = value 476 self.next_link = next_link 477 478 479class ApplicationGatewayAvailableWafRuleSetsResult(msrest.serialization.Model): 480 """Response for ApplicationGatewayAvailableWafRuleSets API service call. 481 482 :param value: The list of application gateway rule sets. 483 :type value: list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFirewallRuleSet] 484 """ 485 486 _attribute_map = { 487 'value': {'key': 'value', 'type': '[ApplicationGatewayFirewallRuleSet]'}, 488 } 489 490 def __init__( 491 self, 492 *, 493 value: Optional[List["ApplicationGatewayFirewallRuleSet"]] = None, 494 **kwargs 495 ): 496 super(ApplicationGatewayAvailableWafRuleSetsResult, self).__init__(**kwargs) 497 self.value = value 498 499 500class ApplicationGatewayBackendAddress(msrest.serialization.Model): 501 """Backend address of an application gateway. 502 503 :param fqdn: Fully qualified domain name (FQDN). 504 :type fqdn: str 505 :param ip_address: IP address. 506 :type ip_address: str 507 """ 508 509 _attribute_map = { 510 'fqdn': {'key': 'fqdn', 'type': 'str'}, 511 'ip_address': {'key': 'ipAddress', 'type': 'str'}, 512 } 513 514 def __init__( 515 self, 516 *, 517 fqdn: Optional[str] = None, 518 ip_address: Optional[str] = None, 519 **kwargs 520 ): 521 super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) 522 self.fqdn = fqdn 523 self.ip_address = ip_address 524 525 526class ApplicationGatewayBackendAddressPool(SubResource): 527 """Backend Address Pool of an application gateway. 528 529 :param id: Resource ID. 530 :type id: str 531 :param name: Name of the backend address pool that is unique within an Application Gateway. 532 :type name: str 533 :param etag: A unique read-only string that changes whenever the resource is updated. 534 :type etag: str 535 :param type: Type of the resource. 536 :type type: str 537 :param backend_ip_configurations: Collection of references to IPs defined in network 538 interfaces. 539 :type backend_ip_configurations: 540 list[~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfiguration] 541 :param backend_addresses: Backend addresses. 542 :type backend_addresses: 543 list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendAddress] 544 :param provisioning_state: Provisioning state of the backend address pool resource. Possible 545 values are: 'Updating', 'Deleting', and 'Failed'. 546 :type provisioning_state: str 547 """ 548 549 _attribute_map = { 550 'id': {'key': 'id', 'type': 'str'}, 551 'name': {'key': 'name', 'type': 'str'}, 552 'etag': {'key': 'etag', 'type': 'str'}, 553 'type': {'key': 'type', 'type': 'str'}, 554 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 555 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, 556 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 557 } 558 559 def __init__( 560 self, 561 *, 562 id: Optional[str] = None, 563 name: Optional[str] = None, 564 etag: Optional[str] = None, 565 type: Optional[str] = None, 566 backend_ip_configurations: Optional[List["NetworkInterfaceIPConfiguration"]] = None, 567 backend_addresses: Optional[List["ApplicationGatewayBackendAddress"]] = None, 568 provisioning_state: Optional[str] = None, 569 **kwargs 570 ): 571 super(ApplicationGatewayBackendAddressPool, self).__init__(id=id, **kwargs) 572 self.name = name 573 self.etag = etag 574 self.type = type 575 self.backend_ip_configurations = backend_ip_configurations 576 self.backend_addresses = backend_addresses 577 self.provisioning_state = provisioning_state 578 579 580class ApplicationGatewayBackendHealth(msrest.serialization.Model): 581 """List of ApplicationGatewayBackendHealthPool resources. 582 583 :param backend_address_pools: 584 :type backend_address_pools: 585 list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendHealthPool] 586 """ 587 588 _attribute_map = { 589 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[ApplicationGatewayBackendHealthPool]'}, 590 } 591 592 def __init__( 593 self, 594 *, 595 backend_address_pools: Optional[List["ApplicationGatewayBackendHealthPool"]] = None, 596 **kwargs 597 ): 598 super(ApplicationGatewayBackendHealth, self).__init__(**kwargs) 599 self.backend_address_pools = backend_address_pools 600 601 602class ApplicationGatewayBackendHealthHttpSettings(msrest.serialization.Model): 603 """Application gateway BackendHealthHttp settings. 604 605 :param backend_http_settings: Reference of an ApplicationGatewayBackendHttpSettings resource. 606 :type backend_http_settings: 607 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendHttpSettings 608 :param servers: List of ApplicationGatewayBackendHealthServer resources. 609 :type servers: 610 list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendHealthServer] 611 """ 612 613 _attribute_map = { 614 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'ApplicationGatewayBackendHttpSettings'}, 615 'servers': {'key': 'servers', 'type': '[ApplicationGatewayBackendHealthServer]'}, 616 } 617 618 def __init__( 619 self, 620 *, 621 backend_http_settings: Optional["ApplicationGatewayBackendHttpSettings"] = None, 622 servers: Optional[List["ApplicationGatewayBackendHealthServer"]] = None, 623 **kwargs 624 ): 625 super(ApplicationGatewayBackendHealthHttpSettings, self).__init__(**kwargs) 626 self.backend_http_settings = backend_http_settings 627 self.servers = servers 628 629 630class ApplicationGatewayBackendHealthPool(msrest.serialization.Model): 631 """Application gateway BackendHealth pool. 632 633 :param backend_address_pool: Reference of an ApplicationGatewayBackendAddressPool resource. 634 :type backend_address_pool: 635 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendAddressPool 636 :param backend_http_settings_collection: List of ApplicationGatewayBackendHealthHttpSettings 637 resources. 638 :type backend_http_settings_collection: 639 list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendHealthHttpSettings] 640 """ 641 642 _attribute_map = { 643 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, 644 'backend_http_settings_collection': {'key': 'backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHealthHttpSettings]'}, 645 } 646 647 def __init__( 648 self, 649 *, 650 backend_address_pool: Optional["ApplicationGatewayBackendAddressPool"] = None, 651 backend_http_settings_collection: Optional[List["ApplicationGatewayBackendHealthHttpSettings"]] = None, 652 **kwargs 653 ): 654 super(ApplicationGatewayBackendHealthPool, self).__init__(**kwargs) 655 self.backend_address_pool = backend_address_pool 656 self.backend_http_settings_collection = backend_http_settings_collection 657 658 659class ApplicationGatewayBackendHealthServer(msrest.serialization.Model): 660 """Application gateway backendhealth http settings. 661 662 :param address: IP address or FQDN of backend server. 663 :type address: str 664 :param ip_configuration: Reference of IP configuration of backend server. 665 :type ip_configuration: ~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfiguration 666 :param health: Health of backend server. Possible values include: "Unknown", "Up", "Down", 667 "Partial", "Draining". 668 :type health: str or 669 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendHealthServerHealth 670 """ 671 672 _attribute_map = { 673 'address': {'key': 'address', 'type': 'str'}, 674 'ip_configuration': {'key': 'ipConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, 675 'health': {'key': 'health', 'type': 'str'}, 676 } 677 678 def __init__( 679 self, 680 *, 681 address: Optional[str] = None, 682 ip_configuration: Optional["NetworkInterfaceIPConfiguration"] = None, 683 health: Optional[Union[str, "ApplicationGatewayBackendHealthServerHealth"]] = None, 684 **kwargs 685 ): 686 super(ApplicationGatewayBackendHealthServer, self).__init__(**kwargs) 687 self.address = address 688 self.ip_configuration = ip_configuration 689 self.health = health 690 691 692class ApplicationGatewayBackendHttpSettings(SubResource): 693 """Backend address pool settings of an application gateway. 694 695 :param id: Resource ID. 696 :type id: str 697 :param name: Name of the backend http settings that is unique within an Application Gateway. 698 :type name: str 699 :param etag: A unique read-only string that changes whenever the resource is updated. 700 :type etag: str 701 :param type: Type of the resource. 702 :type type: str 703 :param port: The destination port on the backend. 704 :type port: int 705 :param protocol: The protocol used to communicate with the backend. Possible values are 'Http' 706 and 'Https'. Possible values include: "Http", "Https". 707 :type protocol: str or ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayProtocol 708 :param cookie_based_affinity: Cookie based affinity. Possible values include: "Enabled", 709 "Disabled". 710 :type cookie_based_affinity: str or 711 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayCookieBasedAffinity 712 :param request_timeout: Request timeout in seconds. Application Gateway will fail the request 713 if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 714 seconds. 715 :type request_timeout: int 716 :param probe: Probe resource of an application gateway. 717 :type probe: ~azure.mgmt.network.v2018_04_01.models.SubResource 718 :param authentication_certificates: Array of references to application gateway authentication 719 certificates. 720 :type authentication_certificates: list[~azure.mgmt.network.v2018_04_01.models.SubResource] 721 :param connection_draining: Connection draining of the backend http settings resource. 722 :type connection_draining: 723 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayConnectionDraining 724 :param host_name: Host header to be sent to the backend servers. 725 :type host_name: str 726 :param pick_host_name_from_backend_address: Whether to pick host header should be picked from 727 the host name of the backend server. Default value is false. 728 :type pick_host_name_from_backend_address: bool 729 :param affinity_cookie_name: Cookie name to use for the affinity cookie. 730 :type affinity_cookie_name: str 731 :param probe_enabled: Whether the probe is enabled. Default value is false. 732 :type probe_enabled: bool 733 :param path: Path which should be used as a prefix for all HTTP requests. Null means no path 734 will be prefixed. Default value is null. 735 :type path: str 736 :param provisioning_state: Provisioning state of the backend http settings resource. Possible 737 values are: 'Updating', 'Deleting', and 'Failed'. 738 :type provisioning_state: str 739 """ 740 741 _attribute_map = { 742 'id': {'key': 'id', 'type': 'str'}, 743 'name': {'key': 'name', 'type': 'str'}, 744 'etag': {'key': 'etag', 'type': 'str'}, 745 'type': {'key': 'type', 'type': 'str'}, 746 'port': {'key': 'properties.port', 'type': 'int'}, 747 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 748 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, 749 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, 750 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, 751 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[SubResource]'}, 752 'connection_draining': {'key': 'properties.connectionDraining', 'type': 'ApplicationGatewayConnectionDraining'}, 753 'host_name': {'key': 'properties.hostName', 'type': 'str'}, 754 'pick_host_name_from_backend_address': {'key': 'properties.pickHostNameFromBackendAddress', 'type': 'bool'}, 755 'affinity_cookie_name': {'key': 'properties.affinityCookieName', 'type': 'str'}, 756 'probe_enabled': {'key': 'properties.probeEnabled', 'type': 'bool'}, 757 'path': {'key': 'properties.path', 'type': 'str'}, 758 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 759 } 760 761 def __init__( 762 self, 763 *, 764 id: Optional[str] = None, 765 name: Optional[str] = None, 766 etag: Optional[str] = None, 767 type: Optional[str] = None, 768 port: Optional[int] = None, 769 protocol: Optional[Union[str, "ApplicationGatewayProtocol"]] = None, 770 cookie_based_affinity: Optional[Union[str, "ApplicationGatewayCookieBasedAffinity"]] = None, 771 request_timeout: Optional[int] = None, 772 probe: Optional["SubResource"] = None, 773 authentication_certificates: Optional[List["SubResource"]] = None, 774 connection_draining: Optional["ApplicationGatewayConnectionDraining"] = None, 775 host_name: Optional[str] = None, 776 pick_host_name_from_backend_address: Optional[bool] = None, 777 affinity_cookie_name: Optional[str] = None, 778 probe_enabled: Optional[bool] = None, 779 path: Optional[str] = None, 780 provisioning_state: Optional[str] = None, 781 **kwargs 782 ): 783 super(ApplicationGatewayBackendHttpSettings, self).__init__(id=id, **kwargs) 784 self.name = name 785 self.etag = etag 786 self.type = type 787 self.port = port 788 self.protocol = protocol 789 self.cookie_based_affinity = cookie_based_affinity 790 self.request_timeout = request_timeout 791 self.probe = probe 792 self.authentication_certificates = authentication_certificates 793 self.connection_draining = connection_draining 794 self.host_name = host_name 795 self.pick_host_name_from_backend_address = pick_host_name_from_backend_address 796 self.affinity_cookie_name = affinity_cookie_name 797 self.probe_enabled = probe_enabled 798 self.path = path 799 self.provisioning_state = provisioning_state 800 801 802class ApplicationGatewayConnectionDraining(msrest.serialization.Model): 803 """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. 804 805 All required parameters must be populated in order to send to Azure. 806 807 :param enabled: Required. Whether connection draining is enabled or not. 808 :type enabled: bool 809 :param drain_timeout_in_sec: Required. The number of seconds connection draining is active. 810 Acceptable values are from 1 second to 3600 seconds. 811 :type drain_timeout_in_sec: int 812 """ 813 814 _validation = { 815 'enabled': {'required': True}, 816 'drain_timeout_in_sec': {'required': True, 'maximum': 3600, 'minimum': 1}, 817 } 818 819 _attribute_map = { 820 'enabled': {'key': 'enabled', 'type': 'bool'}, 821 'drain_timeout_in_sec': {'key': 'drainTimeoutInSec', 'type': 'int'}, 822 } 823 824 def __init__( 825 self, 826 *, 827 enabled: bool, 828 drain_timeout_in_sec: int, 829 **kwargs 830 ): 831 super(ApplicationGatewayConnectionDraining, self).__init__(**kwargs) 832 self.enabled = enabled 833 self.drain_timeout_in_sec = drain_timeout_in_sec 834 835 836class ApplicationGatewayFirewallDisabledRuleGroup(msrest.serialization.Model): 837 """Allows to disable rules within a rule group or an entire rule group. 838 839 All required parameters must be populated in order to send to Azure. 840 841 :param rule_group_name: Required. The name of the rule group that will be disabled. 842 :type rule_group_name: str 843 :param rules: The list of rules that will be disabled. If null, all rules of the rule group 844 will be disabled. 845 :type rules: list[int] 846 """ 847 848 _validation = { 849 'rule_group_name': {'required': True}, 850 } 851 852 _attribute_map = { 853 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, 854 'rules': {'key': 'rules', 'type': '[int]'}, 855 } 856 857 def __init__( 858 self, 859 *, 860 rule_group_name: str, 861 rules: Optional[List[int]] = None, 862 **kwargs 863 ): 864 super(ApplicationGatewayFirewallDisabledRuleGroup, self).__init__(**kwargs) 865 self.rule_group_name = rule_group_name 866 self.rules = rules 867 868 869class ApplicationGatewayFirewallRule(msrest.serialization.Model): 870 """A web application firewall rule. 871 872 All required parameters must be populated in order to send to Azure. 873 874 :param rule_id: Required. The identifier of the web application firewall rule. 875 :type rule_id: int 876 :param description: The description of the web application firewall rule. 877 :type description: str 878 """ 879 880 _validation = { 881 'rule_id': {'required': True}, 882 } 883 884 _attribute_map = { 885 'rule_id': {'key': 'ruleId', 'type': 'int'}, 886 'description': {'key': 'description', 'type': 'str'}, 887 } 888 889 def __init__( 890 self, 891 *, 892 rule_id: int, 893 description: Optional[str] = None, 894 **kwargs 895 ): 896 super(ApplicationGatewayFirewallRule, self).__init__(**kwargs) 897 self.rule_id = rule_id 898 self.description = description 899 900 901class ApplicationGatewayFirewallRuleGroup(msrest.serialization.Model): 902 """A web application firewall rule group. 903 904 All required parameters must be populated in order to send to Azure. 905 906 :param rule_group_name: Required. The name of the web application firewall rule group. 907 :type rule_group_name: str 908 :param description: The description of the web application firewall rule group. 909 :type description: str 910 :param rules: Required. The rules of the web application firewall rule group. 911 :type rules: list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFirewallRule] 912 """ 913 914 _validation = { 915 'rule_group_name': {'required': True}, 916 'rules': {'required': True}, 917 } 918 919 _attribute_map = { 920 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, 921 'description': {'key': 'description', 'type': 'str'}, 922 'rules': {'key': 'rules', 'type': '[ApplicationGatewayFirewallRule]'}, 923 } 924 925 def __init__( 926 self, 927 *, 928 rule_group_name: str, 929 rules: List["ApplicationGatewayFirewallRule"], 930 description: Optional[str] = None, 931 **kwargs 932 ): 933 super(ApplicationGatewayFirewallRuleGroup, self).__init__(**kwargs) 934 self.rule_group_name = rule_group_name 935 self.description = description 936 self.rules = rules 937 938 939class ApplicationGatewayFirewallRuleSet(Resource): 940 """A web application firewall rule set. 941 942 Variables are only populated by the server, and will be ignored when sending a request. 943 944 :param id: Resource ID. 945 :type id: str 946 :ivar name: Resource name. 947 :vartype name: str 948 :ivar type: Resource type. 949 :vartype type: str 950 :param location: Resource location. 951 :type location: str 952 :param tags: A set of tags. Resource tags. 953 :type tags: dict[str, str] 954 :param provisioning_state: The provisioning state of the web application firewall rule set. 955 :type provisioning_state: str 956 :param rule_set_type: The type of the web application firewall rule set. 957 :type rule_set_type: str 958 :param rule_set_version: The version of the web application firewall rule set type. 959 :type rule_set_version: str 960 :param rule_groups: The rule groups of the web application firewall rule set. 961 :type rule_groups: 962 list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFirewallRuleGroup] 963 """ 964 965 _validation = { 966 'name': {'readonly': True}, 967 'type': {'readonly': True}, 968 } 969 970 _attribute_map = { 971 'id': {'key': 'id', 'type': 'str'}, 972 'name': {'key': 'name', 'type': 'str'}, 973 'type': {'key': 'type', 'type': 'str'}, 974 'location': {'key': 'location', 'type': 'str'}, 975 'tags': {'key': 'tags', 'type': '{str}'}, 976 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 977 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, 978 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, 979 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ApplicationGatewayFirewallRuleGroup]'}, 980 } 981 982 def __init__( 983 self, 984 *, 985 id: Optional[str] = None, 986 location: Optional[str] = None, 987 tags: Optional[Dict[str, str]] = None, 988 provisioning_state: Optional[str] = None, 989 rule_set_type: Optional[str] = None, 990 rule_set_version: Optional[str] = None, 991 rule_groups: Optional[List["ApplicationGatewayFirewallRuleGroup"]] = None, 992 **kwargs 993 ): 994 super(ApplicationGatewayFirewallRuleSet, self).__init__(id=id, location=location, tags=tags, **kwargs) 995 self.provisioning_state = provisioning_state 996 self.rule_set_type = rule_set_type 997 self.rule_set_version = rule_set_version 998 self.rule_groups = rule_groups 999 1000 1001class ApplicationGatewayFrontendIPConfiguration(SubResource): 1002 """Frontend IP configuration of an application gateway. 1003 1004 :param id: Resource ID. 1005 :type id: str 1006 :param name: Name of the frontend IP configuration that is unique within an Application 1007 Gateway. 1008 :type name: str 1009 :param etag: A unique read-only string that changes whenever the resource is updated. 1010 :type etag: str 1011 :param type: Type of the resource. 1012 :type type: str 1013 :param private_ip_address: PrivateIPAddress of the network interface IP Configuration. 1014 :type private_ip_address: str 1015 :param private_ip_allocation_method: PrivateIP allocation method. Possible values include: 1016 "Static", "Dynamic". 1017 :type private_ip_allocation_method: str or 1018 ~azure.mgmt.network.v2018_04_01.models.IPAllocationMethod 1019 :param subnet: Reference of the subnet resource. 1020 :type subnet: ~azure.mgmt.network.v2018_04_01.models.SubResource 1021 :param public_ip_address: Reference of the PublicIP resource. 1022 :type public_ip_address: ~azure.mgmt.network.v2018_04_01.models.SubResource 1023 :param provisioning_state: Provisioning state of the public IP resource. Possible values are: 1024 'Updating', 'Deleting', and 'Failed'. 1025 :type provisioning_state: str 1026 """ 1027 1028 _attribute_map = { 1029 'id': {'key': 'id', 'type': 'str'}, 1030 'name': {'key': 'name', 'type': 'str'}, 1031 'etag': {'key': 'etag', 'type': 'str'}, 1032 'type': {'key': 'type', 'type': 'str'}, 1033 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 1034 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 1035 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 1036 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, 1037 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1038 } 1039 1040 def __init__( 1041 self, 1042 *, 1043 id: Optional[str] = None, 1044 name: Optional[str] = None, 1045 etag: Optional[str] = None, 1046 type: Optional[str] = None, 1047 private_ip_address: Optional[str] = None, 1048 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 1049 subnet: Optional["SubResource"] = None, 1050 public_ip_address: Optional["SubResource"] = None, 1051 provisioning_state: Optional[str] = None, 1052 **kwargs 1053 ): 1054 super(ApplicationGatewayFrontendIPConfiguration, self).__init__(id=id, **kwargs) 1055 self.name = name 1056 self.etag = etag 1057 self.type = type 1058 self.private_ip_address = private_ip_address 1059 self.private_ip_allocation_method = private_ip_allocation_method 1060 self.subnet = subnet 1061 self.public_ip_address = public_ip_address 1062 self.provisioning_state = provisioning_state 1063 1064 1065class ApplicationGatewayFrontendPort(SubResource): 1066 """Frontend port of an application gateway. 1067 1068 :param id: Resource ID. 1069 :type id: str 1070 :param name: Name of the frontend port that is unique within an Application Gateway. 1071 :type name: str 1072 :param etag: A unique read-only string that changes whenever the resource is updated. 1073 :type etag: str 1074 :param type: Type of the resource. 1075 :type type: str 1076 :param port: Frontend port. 1077 :type port: int 1078 :param provisioning_state: Provisioning state of the frontend port resource. Possible values 1079 are: 'Updating', 'Deleting', and 'Failed'. 1080 :type provisioning_state: str 1081 """ 1082 1083 _attribute_map = { 1084 'id': {'key': 'id', 'type': 'str'}, 1085 'name': {'key': 'name', 'type': 'str'}, 1086 'etag': {'key': 'etag', 'type': 'str'}, 1087 'type': {'key': 'type', 'type': 'str'}, 1088 'port': {'key': 'properties.port', 'type': 'int'}, 1089 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1090 } 1091 1092 def __init__( 1093 self, 1094 *, 1095 id: Optional[str] = None, 1096 name: Optional[str] = None, 1097 etag: Optional[str] = None, 1098 type: Optional[str] = None, 1099 port: Optional[int] = None, 1100 provisioning_state: Optional[str] = None, 1101 **kwargs 1102 ): 1103 super(ApplicationGatewayFrontendPort, self).__init__(id=id, **kwargs) 1104 self.name = name 1105 self.etag = etag 1106 self.type = type 1107 self.port = port 1108 self.provisioning_state = provisioning_state 1109 1110 1111class ApplicationGatewayHttpListener(SubResource): 1112 """Http listener of an application gateway. 1113 1114 :param id: Resource ID. 1115 :type id: str 1116 :param name: Name of the HTTP listener that is unique within an Application Gateway. 1117 :type name: str 1118 :param etag: A unique read-only string that changes whenever the resource is updated. 1119 :type etag: str 1120 :param type: Type of the resource. 1121 :type type: str 1122 :param frontend_ip_configuration: Frontend IP configuration resource of an application gateway. 1123 :type frontend_ip_configuration: ~azure.mgmt.network.v2018_04_01.models.SubResource 1124 :param frontend_port: Frontend port resource of an application gateway. 1125 :type frontend_port: ~azure.mgmt.network.v2018_04_01.models.SubResource 1126 :param protocol: Protocol of the HTTP listener. Possible values are 'Http' and 'Https'. 1127 Possible values include: "Http", "Https". 1128 :type protocol: str or ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayProtocol 1129 :param host_name: Host name of HTTP listener. 1130 :type host_name: str 1131 :param ssl_certificate: SSL certificate resource of an application gateway. 1132 :type ssl_certificate: ~azure.mgmt.network.v2018_04_01.models.SubResource 1133 :param require_server_name_indication: Applicable only if protocol is https. Enables SNI for 1134 multi-hosting. 1135 :type require_server_name_indication: bool 1136 :param provisioning_state: Provisioning state of the HTTP listener resource. Possible values 1137 are: 'Updating', 'Deleting', and 'Failed'. 1138 :type provisioning_state: str 1139 """ 1140 1141 _attribute_map = { 1142 'id': {'key': 'id', 'type': 'str'}, 1143 'name': {'key': 'name', 'type': 'str'}, 1144 'etag': {'key': 'etag', 'type': 'str'}, 1145 'type': {'key': 'type', 'type': 'str'}, 1146 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 1147 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, 1148 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 1149 'host_name': {'key': 'properties.hostName', 'type': 'str'}, 1150 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, 1151 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, 1152 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1153 } 1154 1155 def __init__( 1156 self, 1157 *, 1158 id: Optional[str] = None, 1159 name: Optional[str] = None, 1160 etag: Optional[str] = None, 1161 type: Optional[str] = None, 1162 frontend_ip_configuration: Optional["SubResource"] = None, 1163 frontend_port: Optional["SubResource"] = None, 1164 protocol: Optional[Union[str, "ApplicationGatewayProtocol"]] = None, 1165 host_name: Optional[str] = None, 1166 ssl_certificate: Optional["SubResource"] = None, 1167 require_server_name_indication: Optional[bool] = None, 1168 provisioning_state: Optional[str] = None, 1169 **kwargs 1170 ): 1171 super(ApplicationGatewayHttpListener, self).__init__(id=id, **kwargs) 1172 self.name = name 1173 self.etag = etag 1174 self.type = type 1175 self.frontend_ip_configuration = frontend_ip_configuration 1176 self.frontend_port = frontend_port 1177 self.protocol = protocol 1178 self.host_name = host_name 1179 self.ssl_certificate = ssl_certificate 1180 self.require_server_name_indication = require_server_name_indication 1181 self.provisioning_state = provisioning_state 1182 1183 1184class ApplicationGatewayIPConfiguration(SubResource): 1185 """IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. 1186 1187 :param id: Resource ID. 1188 :type id: str 1189 :param name: Name of the IP configuration that is unique within an Application Gateway. 1190 :type name: str 1191 :param etag: A unique read-only string that changes whenever the resource is updated. 1192 :type etag: str 1193 :param type: Type of the resource. 1194 :type type: str 1195 :param subnet: Reference of the subnet resource. A subnet from where application gateway gets 1196 its private address. 1197 :type subnet: ~azure.mgmt.network.v2018_04_01.models.SubResource 1198 :param provisioning_state: Provisioning state of the application gateway subnet resource. 1199 Possible values are: 'Updating', 'Deleting', and 'Failed'. 1200 :type provisioning_state: str 1201 """ 1202 1203 _attribute_map = { 1204 'id': {'key': 'id', 'type': 'str'}, 1205 'name': {'key': 'name', 'type': 'str'}, 1206 'etag': {'key': 'etag', 'type': 'str'}, 1207 'type': {'key': 'type', 'type': 'str'}, 1208 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 1209 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1210 } 1211 1212 def __init__( 1213 self, 1214 *, 1215 id: Optional[str] = None, 1216 name: Optional[str] = None, 1217 etag: Optional[str] = None, 1218 type: Optional[str] = None, 1219 subnet: Optional["SubResource"] = None, 1220 provisioning_state: Optional[str] = None, 1221 **kwargs 1222 ): 1223 super(ApplicationGatewayIPConfiguration, self).__init__(id=id, **kwargs) 1224 self.name = name 1225 self.etag = etag 1226 self.type = type 1227 self.subnet = subnet 1228 self.provisioning_state = provisioning_state 1229 1230 1231class ApplicationGatewayListResult(msrest.serialization.Model): 1232 """Response for ListApplicationGateways API service call. 1233 1234 :param value: List of an application gateways in a resource group. 1235 :type value: list[~azure.mgmt.network.v2018_04_01.models.ApplicationGateway] 1236 :param next_link: URL to get the next set of results. 1237 :type next_link: str 1238 """ 1239 1240 _attribute_map = { 1241 'value': {'key': 'value', 'type': '[ApplicationGateway]'}, 1242 'next_link': {'key': 'nextLink', 'type': 'str'}, 1243 } 1244 1245 def __init__( 1246 self, 1247 *, 1248 value: Optional[List["ApplicationGateway"]] = None, 1249 next_link: Optional[str] = None, 1250 **kwargs 1251 ): 1252 super(ApplicationGatewayListResult, self).__init__(**kwargs) 1253 self.value = value 1254 self.next_link = next_link 1255 1256 1257class ApplicationGatewayPathRule(SubResource): 1258 """Path rule of URL path map of an application gateway. 1259 1260 :param id: Resource ID. 1261 :type id: str 1262 :param name: Name of the path rule that is unique within an Application Gateway. 1263 :type name: str 1264 :param etag: A unique read-only string that changes whenever the resource is updated. 1265 :type etag: str 1266 :param type: Type of the resource. 1267 :type type: str 1268 :param paths: Path rules of URL path map. 1269 :type paths: list[str] 1270 :param backend_address_pool: Backend address pool resource of URL path map path rule. 1271 :type backend_address_pool: ~azure.mgmt.network.v2018_04_01.models.SubResource 1272 :param backend_http_settings: Backend http settings resource of URL path map path rule. 1273 :type backend_http_settings: ~azure.mgmt.network.v2018_04_01.models.SubResource 1274 :param redirect_configuration: Redirect configuration resource of URL path map path rule. 1275 :type redirect_configuration: ~azure.mgmt.network.v2018_04_01.models.SubResource 1276 :param provisioning_state: Path rule of URL path map resource. Possible values are: 'Updating', 1277 'Deleting', and 'Failed'. 1278 :type provisioning_state: str 1279 """ 1280 1281 _attribute_map = { 1282 'id': {'key': 'id', 'type': 'str'}, 1283 'name': {'key': 'name', 'type': 'str'}, 1284 'etag': {'key': 'etag', 'type': 'str'}, 1285 'type': {'key': 'type', 'type': 'str'}, 1286 'paths': {'key': 'properties.paths', 'type': '[str]'}, 1287 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 1288 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, 1289 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, 1290 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1291 } 1292 1293 def __init__( 1294 self, 1295 *, 1296 id: Optional[str] = None, 1297 name: Optional[str] = None, 1298 etag: Optional[str] = None, 1299 type: Optional[str] = None, 1300 paths: Optional[List[str]] = None, 1301 backend_address_pool: Optional["SubResource"] = None, 1302 backend_http_settings: Optional["SubResource"] = None, 1303 redirect_configuration: Optional["SubResource"] = None, 1304 provisioning_state: Optional[str] = None, 1305 **kwargs 1306 ): 1307 super(ApplicationGatewayPathRule, self).__init__(id=id, **kwargs) 1308 self.name = name 1309 self.etag = etag 1310 self.type = type 1311 self.paths = paths 1312 self.backend_address_pool = backend_address_pool 1313 self.backend_http_settings = backend_http_settings 1314 self.redirect_configuration = redirect_configuration 1315 self.provisioning_state = provisioning_state 1316 1317 1318class ApplicationGatewayProbe(SubResource): 1319 """Probe of the application gateway. 1320 1321 :param id: Resource ID. 1322 :type id: str 1323 :param name: Name of the probe that is unique within an Application Gateway. 1324 :type name: str 1325 :param etag: A unique read-only string that changes whenever the resource is updated. 1326 :type etag: str 1327 :param type: Type of the resource. 1328 :type type: str 1329 :param protocol: The protocol used for the probe. Possible values are 'Http' and 'Https'. 1330 Possible values include: "Http", "Https". 1331 :type protocol: str or ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayProtocol 1332 :param host: Host name to send the probe to. 1333 :type host: str 1334 :param path: Relative path of probe. Valid path starts from '/'. Probe is sent to 1335 :code:`<Protocol>`://:code:`<host>`::code:`<port>`:code:`<path>`. 1336 :type path: str 1337 :param interval: The probing interval in seconds. This is the time interval between two 1338 consecutive probes. Acceptable values are from 1 second to 86400 seconds. 1339 :type interval: int 1340 :param timeout: the probe timeout in seconds. Probe marked as failed if valid response is not 1341 received with this timeout period. Acceptable values are from 1 second to 86400 seconds. 1342 :type timeout: int 1343 :param unhealthy_threshold: The probe retry count. Backend server is marked down after 1344 consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second 1345 to 20. 1346 :type unhealthy_threshold: int 1347 :param pick_host_name_from_backend_http_settings: Whether the host header should be picked from 1348 the backend http settings. Default value is false. 1349 :type pick_host_name_from_backend_http_settings: bool 1350 :param min_servers: Minimum number of servers that are always marked healthy. Default value is 1351 0. 1352 :type min_servers: int 1353 :param match: Criterion for classifying a healthy probe response. 1354 :type match: ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayProbeHealthResponseMatch 1355 :param provisioning_state: Provisioning state of the backend http settings resource. Possible 1356 values are: 'Updating', 'Deleting', and 'Failed'. 1357 :type provisioning_state: str 1358 """ 1359 1360 _attribute_map = { 1361 'id': {'key': 'id', 'type': 'str'}, 1362 'name': {'key': 'name', 'type': 'str'}, 1363 'etag': {'key': 'etag', 'type': 'str'}, 1364 'type': {'key': 'type', 'type': 'str'}, 1365 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 1366 'host': {'key': 'properties.host', 'type': 'str'}, 1367 'path': {'key': 'properties.path', 'type': 'str'}, 1368 'interval': {'key': 'properties.interval', 'type': 'int'}, 1369 'timeout': {'key': 'properties.timeout', 'type': 'int'}, 1370 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, 1371 'pick_host_name_from_backend_http_settings': {'key': 'properties.pickHostNameFromBackendHttpSettings', 'type': 'bool'}, 1372 'min_servers': {'key': 'properties.minServers', 'type': 'int'}, 1373 'match': {'key': 'properties.match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, 1374 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1375 } 1376 1377 def __init__( 1378 self, 1379 *, 1380 id: Optional[str] = None, 1381 name: Optional[str] = None, 1382 etag: Optional[str] = None, 1383 type: Optional[str] = None, 1384 protocol: Optional[Union[str, "ApplicationGatewayProtocol"]] = None, 1385 host: Optional[str] = None, 1386 path: Optional[str] = None, 1387 interval: Optional[int] = None, 1388 timeout: Optional[int] = None, 1389 unhealthy_threshold: Optional[int] = None, 1390 pick_host_name_from_backend_http_settings: Optional[bool] = None, 1391 min_servers: Optional[int] = None, 1392 match: Optional["ApplicationGatewayProbeHealthResponseMatch"] = None, 1393 provisioning_state: Optional[str] = None, 1394 **kwargs 1395 ): 1396 super(ApplicationGatewayProbe, self).__init__(id=id, **kwargs) 1397 self.name = name 1398 self.etag = etag 1399 self.type = type 1400 self.protocol = protocol 1401 self.host = host 1402 self.path = path 1403 self.interval = interval 1404 self.timeout = timeout 1405 self.unhealthy_threshold = unhealthy_threshold 1406 self.pick_host_name_from_backend_http_settings = pick_host_name_from_backend_http_settings 1407 self.min_servers = min_servers 1408 self.match = match 1409 self.provisioning_state = provisioning_state 1410 1411 1412class ApplicationGatewayProbeHealthResponseMatch(msrest.serialization.Model): 1413 """Application gateway probe health response match. 1414 1415 :param body: Body that must be contained in the health response. Default value is empty. 1416 :type body: str 1417 :param status_codes: Allowed ranges of healthy status codes. Default range of healthy status 1418 codes is 200-399. 1419 :type status_codes: list[str] 1420 """ 1421 1422 _attribute_map = { 1423 'body': {'key': 'body', 'type': 'str'}, 1424 'status_codes': {'key': 'statusCodes', 'type': '[str]'}, 1425 } 1426 1427 def __init__( 1428 self, 1429 *, 1430 body: Optional[str] = None, 1431 status_codes: Optional[List[str]] = None, 1432 **kwargs 1433 ): 1434 super(ApplicationGatewayProbeHealthResponseMatch, self).__init__(**kwargs) 1435 self.body = body 1436 self.status_codes = status_codes 1437 1438 1439class ApplicationGatewayRedirectConfiguration(SubResource): 1440 """Redirect configuration of an application gateway. 1441 1442 :param id: Resource ID. 1443 :type id: str 1444 :param name: Name of the redirect configuration that is unique within an Application Gateway. 1445 :type name: str 1446 :param etag: A unique read-only string that changes whenever the resource is updated. 1447 :type etag: str 1448 :param type: Type of the resource. 1449 :type type: str 1450 :param redirect_type: Supported http redirection types - Permanent, Temporary, Found, SeeOther. 1451 Possible values include: "Permanent", "Found", "SeeOther", "Temporary". 1452 :type redirect_type: str or 1453 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayRedirectType 1454 :param target_listener: Reference to a listener to redirect the request to. 1455 :type target_listener: ~azure.mgmt.network.v2018_04_01.models.SubResource 1456 :param target_url: Url to redirect the request to. 1457 :type target_url: str 1458 :param include_path: Include path in the redirected url. 1459 :type include_path: bool 1460 :param include_query_string: Include query string in the redirected url. 1461 :type include_query_string: bool 1462 :param request_routing_rules: Request routing specifying redirect configuration. 1463 :type request_routing_rules: list[~azure.mgmt.network.v2018_04_01.models.SubResource] 1464 :param url_path_maps: Url path maps specifying default redirect configuration. 1465 :type url_path_maps: list[~azure.mgmt.network.v2018_04_01.models.SubResource] 1466 :param path_rules: Path rules specifying redirect configuration. 1467 :type path_rules: list[~azure.mgmt.network.v2018_04_01.models.SubResource] 1468 """ 1469 1470 _attribute_map = { 1471 'id': {'key': 'id', 'type': 'str'}, 1472 'name': {'key': 'name', 'type': 'str'}, 1473 'etag': {'key': 'etag', 'type': 'str'}, 1474 'type': {'key': 'type', 'type': 'str'}, 1475 'redirect_type': {'key': 'properties.redirectType', 'type': 'str'}, 1476 'target_listener': {'key': 'properties.targetListener', 'type': 'SubResource'}, 1477 'target_url': {'key': 'properties.targetUrl', 'type': 'str'}, 1478 'include_path': {'key': 'properties.includePath', 'type': 'bool'}, 1479 'include_query_string': {'key': 'properties.includeQueryString', 'type': 'bool'}, 1480 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[SubResource]'}, 1481 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[SubResource]'}, 1482 'path_rules': {'key': 'properties.pathRules', 'type': '[SubResource]'}, 1483 } 1484 1485 def __init__( 1486 self, 1487 *, 1488 id: Optional[str] = None, 1489 name: Optional[str] = None, 1490 etag: Optional[str] = None, 1491 type: Optional[str] = None, 1492 redirect_type: Optional[Union[str, "ApplicationGatewayRedirectType"]] = None, 1493 target_listener: Optional["SubResource"] = None, 1494 target_url: Optional[str] = None, 1495 include_path: Optional[bool] = None, 1496 include_query_string: Optional[bool] = None, 1497 request_routing_rules: Optional[List["SubResource"]] = None, 1498 url_path_maps: Optional[List["SubResource"]] = None, 1499 path_rules: Optional[List["SubResource"]] = None, 1500 **kwargs 1501 ): 1502 super(ApplicationGatewayRedirectConfiguration, self).__init__(id=id, **kwargs) 1503 self.name = name 1504 self.etag = etag 1505 self.type = type 1506 self.redirect_type = redirect_type 1507 self.target_listener = target_listener 1508 self.target_url = target_url 1509 self.include_path = include_path 1510 self.include_query_string = include_query_string 1511 self.request_routing_rules = request_routing_rules 1512 self.url_path_maps = url_path_maps 1513 self.path_rules = path_rules 1514 1515 1516class ApplicationGatewayRequestRoutingRule(SubResource): 1517 """Request routing rule of an application gateway. 1518 1519 :param id: Resource ID. 1520 :type id: str 1521 :param name: Name of the request routing rule that is unique within an Application Gateway. 1522 :type name: str 1523 :param etag: A unique read-only string that changes whenever the resource is updated. 1524 :type etag: str 1525 :param type: Type of the resource. 1526 :type type: str 1527 :param rule_type: Rule type. Possible values include: "Basic", "PathBasedRouting". 1528 :type rule_type: str or 1529 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayRequestRoutingRuleType 1530 :param backend_address_pool: Backend address pool resource of the application gateway. 1531 :type backend_address_pool: ~azure.mgmt.network.v2018_04_01.models.SubResource 1532 :param backend_http_settings: Backend http settings resource of the application gateway. 1533 :type backend_http_settings: ~azure.mgmt.network.v2018_04_01.models.SubResource 1534 :param http_listener: Http listener resource of the application gateway. 1535 :type http_listener: ~azure.mgmt.network.v2018_04_01.models.SubResource 1536 :param url_path_map: URL path map resource of the application gateway. 1537 :type url_path_map: ~azure.mgmt.network.v2018_04_01.models.SubResource 1538 :param redirect_configuration: Redirect configuration resource of the application gateway. 1539 :type redirect_configuration: ~azure.mgmt.network.v2018_04_01.models.SubResource 1540 :param provisioning_state: Provisioning state of the request routing rule resource. Possible 1541 values are: 'Updating', 'Deleting', and 'Failed'. 1542 :type provisioning_state: str 1543 """ 1544 1545 _attribute_map = { 1546 'id': {'key': 'id', 'type': 'str'}, 1547 'name': {'key': 'name', 'type': 'str'}, 1548 'etag': {'key': 'etag', 'type': 'str'}, 1549 'type': {'key': 'type', 'type': 'str'}, 1550 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, 1551 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 1552 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, 1553 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, 1554 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, 1555 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, 1556 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1557 } 1558 1559 def __init__( 1560 self, 1561 *, 1562 id: Optional[str] = None, 1563 name: Optional[str] = None, 1564 etag: Optional[str] = None, 1565 type: Optional[str] = None, 1566 rule_type: Optional[Union[str, "ApplicationGatewayRequestRoutingRuleType"]] = None, 1567 backend_address_pool: Optional["SubResource"] = None, 1568 backend_http_settings: Optional["SubResource"] = None, 1569 http_listener: Optional["SubResource"] = None, 1570 url_path_map: Optional["SubResource"] = None, 1571 redirect_configuration: Optional["SubResource"] = None, 1572 provisioning_state: Optional[str] = None, 1573 **kwargs 1574 ): 1575 super(ApplicationGatewayRequestRoutingRule, self).__init__(id=id, **kwargs) 1576 self.name = name 1577 self.etag = etag 1578 self.type = type 1579 self.rule_type = rule_type 1580 self.backend_address_pool = backend_address_pool 1581 self.backend_http_settings = backend_http_settings 1582 self.http_listener = http_listener 1583 self.url_path_map = url_path_map 1584 self.redirect_configuration = redirect_configuration 1585 self.provisioning_state = provisioning_state 1586 1587 1588class ApplicationGatewaySku(msrest.serialization.Model): 1589 """SKU of an application gateway. 1590 1591 :param name: Name of an application gateway SKU. Possible values include: "Standard_Small", 1592 "Standard_Medium", "Standard_Large", "WAF_Medium", "WAF_Large", "Standard_v2", "WAF_v2". 1593 :type name: str or ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySkuName 1594 :param tier: Tier of an application gateway. Possible values include: "Standard", "WAF", 1595 "Standard_v2", "WAF_v2". 1596 :type tier: str or ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayTier 1597 :param capacity: Capacity (instance count) of an application gateway. 1598 :type capacity: int 1599 """ 1600 1601 _attribute_map = { 1602 'name': {'key': 'name', 'type': 'str'}, 1603 'tier': {'key': 'tier', 'type': 'str'}, 1604 'capacity': {'key': 'capacity', 'type': 'int'}, 1605 } 1606 1607 def __init__( 1608 self, 1609 *, 1610 name: Optional[Union[str, "ApplicationGatewaySkuName"]] = None, 1611 tier: Optional[Union[str, "ApplicationGatewayTier"]] = None, 1612 capacity: Optional[int] = None, 1613 **kwargs 1614 ): 1615 super(ApplicationGatewaySku, self).__init__(**kwargs) 1616 self.name = name 1617 self.tier = tier 1618 self.capacity = capacity 1619 1620 1621class ApplicationGatewaySslCertificate(SubResource): 1622 """SSL certificates of an application gateway. 1623 1624 :param id: Resource ID. 1625 :type id: str 1626 :param name: Name of the SSL certificate that is unique within an Application Gateway. 1627 :type name: str 1628 :param etag: A unique read-only string that changes whenever the resource is updated. 1629 :type etag: str 1630 :param type: Type of the resource. 1631 :type type: str 1632 :param data: Base-64 encoded pfx certificate. Only applicable in PUT Request. 1633 :type data: str 1634 :param password: Password for the pfx file specified in data. Only applicable in PUT request. 1635 :type password: str 1636 :param public_cert_data: Base-64 encoded Public cert data corresponding to pfx specified in 1637 data. Only applicable in GET request. 1638 :type public_cert_data: str 1639 :param provisioning_state: Provisioning state of the SSL certificate resource Possible values 1640 are: 'Updating', 'Deleting', and 'Failed'. 1641 :type provisioning_state: str 1642 """ 1643 1644 _attribute_map = { 1645 'id': {'key': 'id', 'type': 'str'}, 1646 'name': {'key': 'name', 'type': 'str'}, 1647 'etag': {'key': 'etag', 'type': 'str'}, 1648 'type': {'key': 'type', 'type': 'str'}, 1649 'data': {'key': 'properties.data', 'type': 'str'}, 1650 'password': {'key': 'properties.password', 'type': 'str'}, 1651 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, 1652 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1653 } 1654 1655 def __init__( 1656 self, 1657 *, 1658 id: Optional[str] = None, 1659 name: Optional[str] = None, 1660 etag: Optional[str] = None, 1661 type: Optional[str] = None, 1662 data: Optional[str] = None, 1663 password: Optional[str] = None, 1664 public_cert_data: Optional[str] = None, 1665 provisioning_state: Optional[str] = None, 1666 **kwargs 1667 ): 1668 super(ApplicationGatewaySslCertificate, self).__init__(id=id, **kwargs) 1669 self.name = name 1670 self.etag = etag 1671 self.type = type 1672 self.data = data 1673 self.password = password 1674 self.public_cert_data = public_cert_data 1675 self.provisioning_state = provisioning_state 1676 1677 1678class ApplicationGatewaySslPolicy(msrest.serialization.Model): 1679 """Application Gateway Ssl policy. 1680 1681 :param disabled_ssl_protocols: Ssl protocols to be disabled on application gateway. 1682 :type disabled_ssl_protocols: list[str or 1683 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslProtocol] 1684 :param policy_type: Type of Ssl Policy. Possible values include: "Predefined", "Custom". 1685 :type policy_type: str or 1686 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslPolicyType 1687 :param policy_name: Name of Ssl predefined policy. Possible values include: 1688 "AppGwSslPolicy20150501", "AppGwSslPolicy20170401", "AppGwSslPolicy20170401S". 1689 :type policy_name: str or 1690 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslPolicyName 1691 :param cipher_suites: Ssl cipher suites to be enabled in the specified order to application 1692 gateway. 1693 :type cipher_suites: list[str or 1694 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslCipherSuite] 1695 :param min_protocol_version: Minimum version of Ssl protocol to be supported on application 1696 gateway. Possible values include: "TLSv1_0", "TLSv1_1", "TLSv1_2". 1697 :type min_protocol_version: str or 1698 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslProtocol 1699 """ 1700 1701 _attribute_map = { 1702 'disabled_ssl_protocols': {'key': 'disabledSslProtocols', 'type': '[str]'}, 1703 'policy_type': {'key': 'policyType', 'type': 'str'}, 1704 'policy_name': {'key': 'policyName', 'type': 'str'}, 1705 'cipher_suites': {'key': 'cipherSuites', 'type': '[str]'}, 1706 'min_protocol_version': {'key': 'minProtocolVersion', 'type': 'str'}, 1707 } 1708 1709 def __init__( 1710 self, 1711 *, 1712 disabled_ssl_protocols: Optional[List[Union[str, "ApplicationGatewaySslProtocol"]]] = None, 1713 policy_type: Optional[Union[str, "ApplicationGatewaySslPolicyType"]] = None, 1714 policy_name: Optional[Union[str, "ApplicationGatewaySslPolicyName"]] = None, 1715 cipher_suites: Optional[List[Union[str, "ApplicationGatewaySslCipherSuite"]]] = None, 1716 min_protocol_version: Optional[Union[str, "ApplicationGatewaySslProtocol"]] = None, 1717 **kwargs 1718 ): 1719 super(ApplicationGatewaySslPolicy, self).__init__(**kwargs) 1720 self.disabled_ssl_protocols = disabled_ssl_protocols 1721 self.policy_type = policy_type 1722 self.policy_name = policy_name 1723 self.cipher_suites = cipher_suites 1724 self.min_protocol_version = min_protocol_version 1725 1726 1727class ApplicationGatewaySslPredefinedPolicy(SubResource): 1728 """An Ssl predefined policy. 1729 1730 :param id: Resource ID. 1731 :type id: str 1732 :param name: Name of the Ssl predefined policy. 1733 :type name: str 1734 :param cipher_suites: Ssl cipher suites to be enabled in the specified order for application 1735 gateway. 1736 :type cipher_suites: list[str or 1737 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslCipherSuite] 1738 :param min_protocol_version: Minimum version of Ssl protocol to be supported on application 1739 gateway. Possible values include: "TLSv1_0", "TLSv1_1", "TLSv1_2". 1740 :type min_protocol_version: str or 1741 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewaySslProtocol 1742 """ 1743 1744 _attribute_map = { 1745 'id': {'key': 'id', 'type': 'str'}, 1746 'name': {'key': 'name', 'type': 'str'}, 1747 'cipher_suites': {'key': 'properties.cipherSuites', 'type': '[str]'}, 1748 'min_protocol_version': {'key': 'properties.minProtocolVersion', 'type': 'str'}, 1749 } 1750 1751 def __init__( 1752 self, 1753 *, 1754 id: Optional[str] = None, 1755 name: Optional[str] = None, 1756 cipher_suites: Optional[List[Union[str, "ApplicationGatewaySslCipherSuite"]]] = None, 1757 min_protocol_version: Optional[Union[str, "ApplicationGatewaySslProtocol"]] = None, 1758 **kwargs 1759 ): 1760 super(ApplicationGatewaySslPredefinedPolicy, self).__init__(id=id, **kwargs) 1761 self.name = name 1762 self.cipher_suites = cipher_suites 1763 self.min_protocol_version = min_protocol_version 1764 1765 1766class ApplicationGatewayUrlPathMap(SubResource): 1767 """UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. 1768 1769 :param id: Resource ID. 1770 :type id: str 1771 :param name: Name of the URL path map that is unique within an Application Gateway. 1772 :type name: str 1773 :param etag: A unique read-only string that changes whenever the resource is updated. 1774 :type etag: str 1775 :param type: Type of the resource. 1776 :type type: str 1777 :param default_backend_address_pool: Default backend address pool resource of URL path map. 1778 :type default_backend_address_pool: ~azure.mgmt.network.v2018_04_01.models.SubResource 1779 :param default_backend_http_settings: Default backend http settings resource of URL path map. 1780 :type default_backend_http_settings: ~azure.mgmt.network.v2018_04_01.models.SubResource 1781 :param default_redirect_configuration: Default redirect configuration resource of URL path map. 1782 :type default_redirect_configuration: ~azure.mgmt.network.v2018_04_01.models.SubResource 1783 :param path_rules: Path rule of URL path map resource. 1784 :type path_rules: list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayPathRule] 1785 :param provisioning_state: Provisioning state of the backend http settings resource. Possible 1786 values are: 'Updating', 'Deleting', and 'Failed'. 1787 :type provisioning_state: str 1788 """ 1789 1790 _attribute_map = { 1791 'id': {'key': 'id', 'type': 'str'}, 1792 'name': {'key': 'name', 'type': 'str'}, 1793 'etag': {'key': 'etag', 'type': 'str'}, 1794 'type': {'key': 'type', 'type': 'str'}, 1795 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, 1796 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, 1797 'default_redirect_configuration': {'key': 'properties.defaultRedirectConfiguration', 'type': 'SubResource'}, 1798 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, 1799 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1800 } 1801 1802 def __init__( 1803 self, 1804 *, 1805 id: Optional[str] = None, 1806 name: Optional[str] = None, 1807 etag: Optional[str] = None, 1808 type: Optional[str] = None, 1809 default_backend_address_pool: Optional["SubResource"] = None, 1810 default_backend_http_settings: Optional["SubResource"] = None, 1811 default_redirect_configuration: Optional["SubResource"] = None, 1812 path_rules: Optional[List["ApplicationGatewayPathRule"]] = None, 1813 provisioning_state: Optional[str] = None, 1814 **kwargs 1815 ): 1816 super(ApplicationGatewayUrlPathMap, self).__init__(id=id, **kwargs) 1817 self.name = name 1818 self.etag = etag 1819 self.type = type 1820 self.default_backend_address_pool = default_backend_address_pool 1821 self.default_backend_http_settings = default_backend_http_settings 1822 self.default_redirect_configuration = default_redirect_configuration 1823 self.path_rules = path_rules 1824 self.provisioning_state = provisioning_state 1825 1826 1827class ApplicationGatewayWebApplicationFirewallConfiguration(msrest.serialization.Model): 1828 """Application gateway web application firewall configuration. 1829 1830 All required parameters must be populated in order to send to Azure. 1831 1832 :param enabled: Required. Whether the web application firewall is enabled or not. 1833 :type enabled: bool 1834 :param firewall_mode: Required. Web application firewall mode. Possible values include: 1835 "Detection", "Prevention". 1836 :type firewall_mode: str or 1837 ~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFirewallMode 1838 :param rule_set_type: Required. The type of the web application firewall rule set. Possible 1839 values are: 'OWASP'. 1840 :type rule_set_type: str 1841 :param rule_set_version: Required. The version of the rule set type. 1842 :type rule_set_version: str 1843 :param disabled_rule_groups: The disabled rule groups. 1844 :type disabled_rule_groups: 1845 list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayFirewallDisabledRuleGroup] 1846 :param request_body_check: Whether allow WAF to check request Body. 1847 :type request_body_check: bool 1848 :param max_request_body_size: Maximum request body size for WAF. 1849 :type max_request_body_size: int 1850 """ 1851 1852 _validation = { 1853 'enabled': {'required': True}, 1854 'firewall_mode': {'required': True}, 1855 'rule_set_type': {'required': True}, 1856 'rule_set_version': {'required': True}, 1857 'max_request_body_size': {'maximum': 128, 'minimum': 8}, 1858 } 1859 1860 _attribute_map = { 1861 'enabled': {'key': 'enabled', 'type': 'bool'}, 1862 'firewall_mode': {'key': 'firewallMode', 'type': 'str'}, 1863 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, 1864 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, 1865 'disabled_rule_groups': {'key': 'disabledRuleGroups', 'type': '[ApplicationGatewayFirewallDisabledRuleGroup]'}, 1866 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, 1867 'max_request_body_size': {'key': 'maxRequestBodySize', 'type': 'int'}, 1868 } 1869 1870 def __init__( 1871 self, 1872 *, 1873 enabled: bool, 1874 firewall_mode: Union[str, "ApplicationGatewayFirewallMode"], 1875 rule_set_type: str, 1876 rule_set_version: str, 1877 disabled_rule_groups: Optional[List["ApplicationGatewayFirewallDisabledRuleGroup"]] = None, 1878 request_body_check: Optional[bool] = None, 1879 max_request_body_size: Optional[int] = None, 1880 **kwargs 1881 ): 1882 super(ApplicationGatewayWebApplicationFirewallConfiguration, self).__init__(**kwargs) 1883 self.enabled = enabled 1884 self.firewall_mode = firewall_mode 1885 self.rule_set_type = rule_set_type 1886 self.rule_set_version = rule_set_version 1887 self.disabled_rule_groups = disabled_rule_groups 1888 self.request_body_check = request_body_check 1889 self.max_request_body_size = max_request_body_size 1890 1891 1892class ApplicationSecurityGroup(Resource): 1893 """An application security group in a resource group. 1894 1895 Variables are only populated by the server, and will be ignored when sending a request. 1896 1897 :param id: Resource ID. 1898 :type id: str 1899 :ivar name: Resource name. 1900 :vartype name: str 1901 :ivar type: Resource type. 1902 :vartype type: str 1903 :param location: Resource location. 1904 :type location: str 1905 :param tags: A set of tags. Resource tags. 1906 :type tags: dict[str, str] 1907 :ivar etag: A unique read-only string that changes whenever the resource is updated. 1908 :vartype etag: str 1909 :ivar resource_guid: The resource GUID property of the application security group resource. It 1910 uniquely identifies a resource, even if the user changes its name or migrate the resource 1911 across subscriptions or resource groups. 1912 :vartype resource_guid: str 1913 :ivar provisioning_state: The provisioning state of the application security group resource. 1914 Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'. 1915 :vartype provisioning_state: str 1916 """ 1917 1918 _validation = { 1919 'name': {'readonly': True}, 1920 'type': {'readonly': True}, 1921 'etag': {'readonly': True}, 1922 'resource_guid': {'readonly': True}, 1923 'provisioning_state': {'readonly': True}, 1924 } 1925 1926 _attribute_map = { 1927 'id': {'key': 'id', 'type': 'str'}, 1928 'name': {'key': 'name', 'type': 'str'}, 1929 'type': {'key': 'type', 'type': 'str'}, 1930 'location': {'key': 'location', 'type': 'str'}, 1931 'tags': {'key': 'tags', 'type': '{str}'}, 1932 'etag': {'key': 'etag', 'type': 'str'}, 1933 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 1934 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1935 } 1936 1937 def __init__( 1938 self, 1939 *, 1940 id: Optional[str] = None, 1941 location: Optional[str] = None, 1942 tags: Optional[Dict[str, str]] = None, 1943 **kwargs 1944 ): 1945 super(ApplicationSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) 1946 self.etag = None 1947 self.resource_guid = None 1948 self.provisioning_state = None 1949 1950 1951class ApplicationSecurityGroupListResult(msrest.serialization.Model): 1952 """A list of application security groups. 1953 1954 Variables are only populated by the server, and will be ignored when sending a request. 1955 1956 :param value: A list of application security groups. 1957 :type value: list[~azure.mgmt.network.v2018_04_01.models.ApplicationSecurityGroup] 1958 :ivar next_link: The URL to get the next set of results. 1959 :vartype next_link: str 1960 """ 1961 1962 _validation = { 1963 'next_link': {'readonly': True}, 1964 } 1965 1966 _attribute_map = { 1967 'value': {'key': 'value', 'type': '[ApplicationSecurityGroup]'}, 1968 'next_link': {'key': 'nextLink', 'type': 'str'}, 1969 } 1970 1971 def __init__( 1972 self, 1973 *, 1974 value: Optional[List["ApplicationSecurityGroup"]] = None, 1975 **kwargs 1976 ): 1977 super(ApplicationSecurityGroupListResult, self).__init__(**kwargs) 1978 self.value = value 1979 self.next_link = None 1980 1981 1982class AuthorizationListResult(msrest.serialization.Model): 1983 """Response for ListAuthorizations API service call retrieves all authorizations that belongs to an ExpressRouteCircuit. 1984 1985 :param value: The authorizations in an ExpressRoute Circuit. 1986 :type value: list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitAuthorization] 1987 :param next_link: The URL to get the next set of results. 1988 :type next_link: str 1989 """ 1990 1991 _attribute_map = { 1992 'value': {'key': 'value', 'type': '[ExpressRouteCircuitAuthorization]'}, 1993 'next_link': {'key': 'nextLink', 'type': 'str'}, 1994 } 1995 1996 def __init__( 1997 self, 1998 *, 1999 value: Optional[List["ExpressRouteCircuitAuthorization"]] = None, 2000 next_link: Optional[str] = None, 2001 **kwargs 2002 ): 2003 super(AuthorizationListResult, self).__init__(**kwargs) 2004 self.value = value 2005 self.next_link = next_link 2006 2007 2008class Availability(msrest.serialization.Model): 2009 """Availability of the metric. 2010 2011 :param time_grain: The time grain of the availability. 2012 :type time_grain: str 2013 :param retention: The retention of the availability. 2014 :type retention: str 2015 :param blob_duration: Duration of the availability blob. 2016 :type blob_duration: str 2017 """ 2018 2019 _attribute_map = { 2020 'time_grain': {'key': 'timeGrain', 'type': 'str'}, 2021 'retention': {'key': 'retention', 'type': 'str'}, 2022 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, 2023 } 2024 2025 def __init__( 2026 self, 2027 *, 2028 time_grain: Optional[str] = None, 2029 retention: Optional[str] = None, 2030 blob_duration: Optional[str] = None, 2031 **kwargs 2032 ): 2033 super(Availability, self).__init__(**kwargs) 2034 self.time_grain = time_grain 2035 self.retention = retention 2036 self.blob_duration = blob_duration 2037 2038 2039class AvailableProvidersList(msrest.serialization.Model): 2040 """List of available countries with details. 2041 2042 All required parameters must be populated in order to send to Azure. 2043 2044 :param countries: Required. List of available countries. 2045 :type countries: list[~azure.mgmt.network.v2018_04_01.models.AvailableProvidersListCountry] 2046 """ 2047 2048 _validation = { 2049 'countries': {'required': True}, 2050 } 2051 2052 _attribute_map = { 2053 'countries': {'key': 'countries', 'type': '[AvailableProvidersListCountry]'}, 2054 } 2055 2056 def __init__( 2057 self, 2058 *, 2059 countries: List["AvailableProvidersListCountry"], 2060 **kwargs 2061 ): 2062 super(AvailableProvidersList, self).__init__(**kwargs) 2063 self.countries = countries 2064 2065 2066class AvailableProvidersListCity(msrest.serialization.Model): 2067 """City or town details. 2068 2069 :param city_name: The city or town name. 2070 :type city_name: str 2071 :param providers: A list of Internet service providers. 2072 :type providers: list[str] 2073 """ 2074 2075 _attribute_map = { 2076 'city_name': {'key': 'cityName', 'type': 'str'}, 2077 'providers': {'key': 'providers', 'type': '[str]'}, 2078 } 2079 2080 def __init__( 2081 self, 2082 *, 2083 city_name: Optional[str] = None, 2084 providers: Optional[List[str]] = None, 2085 **kwargs 2086 ): 2087 super(AvailableProvidersListCity, self).__init__(**kwargs) 2088 self.city_name = city_name 2089 self.providers = providers 2090 2091 2092class AvailableProvidersListCountry(msrest.serialization.Model): 2093 """Country details. 2094 2095 :param country_name: The country name. 2096 :type country_name: str 2097 :param providers: A list of Internet service providers. 2098 :type providers: list[str] 2099 :param states: List of available states in the country. 2100 :type states: list[~azure.mgmt.network.v2018_04_01.models.AvailableProvidersListState] 2101 """ 2102 2103 _attribute_map = { 2104 'country_name': {'key': 'countryName', 'type': 'str'}, 2105 'providers': {'key': 'providers', 'type': '[str]'}, 2106 'states': {'key': 'states', 'type': '[AvailableProvidersListState]'}, 2107 } 2108 2109 def __init__( 2110 self, 2111 *, 2112 country_name: Optional[str] = None, 2113 providers: Optional[List[str]] = None, 2114 states: Optional[List["AvailableProvidersListState"]] = None, 2115 **kwargs 2116 ): 2117 super(AvailableProvidersListCountry, self).__init__(**kwargs) 2118 self.country_name = country_name 2119 self.providers = providers 2120 self.states = states 2121 2122 2123class AvailableProvidersListParameters(msrest.serialization.Model): 2124 """Constraints that determine the list of available Internet service providers. 2125 2126 :param azure_locations: A list of Azure regions. 2127 :type azure_locations: list[str] 2128 :param country: The country for available providers list. 2129 :type country: str 2130 :param state: The state for available providers list. 2131 :type state: str 2132 :param city: The city or town for available providers list. 2133 :type city: str 2134 """ 2135 2136 _attribute_map = { 2137 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, 2138 'country': {'key': 'country', 'type': 'str'}, 2139 'state': {'key': 'state', 'type': 'str'}, 2140 'city': {'key': 'city', 'type': 'str'}, 2141 } 2142 2143 def __init__( 2144 self, 2145 *, 2146 azure_locations: Optional[List[str]] = None, 2147 country: Optional[str] = None, 2148 state: Optional[str] = None, 2149 city: Optional[str] = None, 2150 **kwargs 2151 ): 2152 super(AvailableProvidersListParameters, self).__init__(**kwargs) 2153 self.azure_locations = azure_locations 2154 self.country = country 2155 self.state = state 2156 self.city = city 2157 2158 2159class AvailableProvidersListState(msrest.serialization.Model): 2160 """State details. 2161 2162 :param state_name: The state name. 2163 :type state_name: str 2164 :param providers: A list of Internet service providers. 2165 :type providers: list[str] 2166 :param cities: List of available cities or towns in the state. 2167 :type cities: list[~azure.mgmt.network.v2018_04_01.models.AvailableProvidersListCity] 2168 """ 2169 2170 _attribute_map = { 2171 'state_name': {'key': 'stateName', 'type': 'str'}, 2172 'providers': {'key': 'providers', 'type': '[str]'}, 2173 'cities': {'key': 'cities', 'type': '[AvailableProvidersListCity]'}, 2174 } 2175 2176 def __init__( 2177 self, 2178 *, 2179 state_name: Optional[str] = None, 2180 providers: Optional[List[str]] = None, 2181 cities: Optional[List["AvailableProvidersListCity"]] = None, 2182 **kwargs 2183 ): 2184 super(AvailableProvidersListState, self).__init__(**kwargs) 2185 self.state_name = state_name 2186 self.providers = providers 2187 self.cities = cities 2188 2189 2190class AzureAsyncOperationResult(msrest.serialization.Model): 2191 """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. 2192 2193 :param status: Status of the Azure async operation. Possible values are: 'InProgress', 2194 'Succeeded', and 'Failed'. Possible values include: "InProgress", "Succeeded", "Failed". 2195 :type status: str or ~azure.mgmt.network.v2018_04_01.models.NetworkOperationStatus 2196 :param error: 2197 :type error: ~azure.mgmt.network.v2018_04_01.models.Error 2198 """ 2199 2200 _attribute_map = { 2201 'status': {'key': 'status', 'type': 'str'}, 2202 'error': {'key': 'error', 'type': 'Error'}, 2203 } 2204 2205 def __init__( 2206 self, 2207 *, 2208 status: Optional[Union[str, "NetworkOperationStatus"]] = None, 2209 error: Optional["Error"] = None, 2210 **kwargs 2211 ): 2212 super(AzureAsyncOperationResult, self).__init__(**kwargs) 2213 self.status = status 2214 self.error = error 2215 2216 2217class AzureFirewall(Resource): 2218 """Azure Firewall resource. 2219 2220 Variables are only populated by the server, and will be ignored when sending a request. 2221 2222 :param id: Resource ID. 2223 :type id: str 2224 :ivar name: Resource name. 2225 :vartype name: str 2226 :ivar type: Resource type. 2227 :vartype type: str 2228 :param location: Resource location. 2229 :type location: str 2230 :param tags: A set of tags. Resource tags. 2231 :type tags: dict[str, str] 2232 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 2233 :vartype etag: str 2234 :param application_rule_collections: Collection of application rule collections used by a Azure 2235 Firewall. 2236 :type application_rule_collections: 2237 list[~azure.mgmt.network.v2018_04_01.models.AzureFirewallApplicationRuleCollection] 2238 :param network_rule_collections: Collection of network rule collections used by a Azure 2239 Firewall. 2240 :type network_rule_collections: 2241 list[~azure.mgmt.network.v2018_04_01.models.AzureFirewallNetworkRuleCollection] 2242 :param ip_configurations: IP configuration of the Azure Firewall resource. 2243 :type ip_configurations: 2244 list[~azure.mgmt.network.v2018_04_01.models.AzureFirewallIPConfiguration] 2245 :param provisioning_state: The provisioning state of the resource. Possible values include: 2246 "Succeeded", "Updating", "Deleting", "Failed". 2247 :type provisioning_state: str or ~azure.mgmt.network.v2018_04_01.models.ProvisioningState 2248 """ 2249 2250 _validation = { 2251 'name': {'readonly': True}, 2252 'type': {'readonly': True}, 2253 'etag': {'readonly': True}, 2254 } 2255 2256 _attribute_map = { 2257 'id': {'key': 'id', 'type': 'str'}, 2258 'name': {'key': 'name', 'type': 'str'}, 2259 'type': {'key': 'type', 'type': 'str'}, 2260 'location': {'key': 'location', 'type': 'str'}, 2261 'tags': {'key': 'tags', 'type': '{str}'}, 2262 'etag': {'key': 'etag', 'type': 'str'}, 2263 'application_rule_collections': {'key': 'properties.applicationRuleCollections', 'type': '[AzureFirewallApplicationRuleCollection]'}, 2264 'network_rule_collections': {'key': 'properties.networkRuleCollections', 'type': '[AzureFirewallNetworkRuleCollection]'}, 2265 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[AzureFirewallIPConfiguration]'}, 2266 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2267 } 2268 2269 def __init__( 2270 self, 2271 *, 2272 id: Optional[str] = None, 2273 location: Optional[str] = None, 2274 tags: Optional[Dict[str, str]] = None, 2275 application_rule_collections: Optional[List["AzureFirewallApplicationRuleCollection"]] = None, 2276 network_rule_collections: Optional[List["AzureFirewallNetworkRuleCollection"]] = None, 2277 ip_configurations: Optional[List["AzureFirewallIPConfiguration"]] = None, 2278 provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, 2279 **kwargs 2280 ): 2281 super(AzureFirewall, self).__init__(id=id, location=location, tags=tags, **kwargs) 2282 self.etag = None 2283 self.application_rule_collections = application_rule_collections 2284 self.network_rule_collections = network_rule_collections 2285 self.ip_configurations = ip_configurations 2286 self.provisioning_state = provisioning_state 2287 2288 2289class AzureFirewallApplicationRule(msrest.serialization.Model): 2290 """Properties of an application rule. 2291 2292 :param name: Name of the application rule. 2293 :type name: str 2294 :param description: Description of the rule. 2295 :type description: str 2296 :param source_addresses: List of source IP addresses for this rule. 2297 :type source_addresses: list[str] 2298 :param protocols: Array of ApplicationRuleProtocols. 2299 :type protocols: 2300 list[~azure.mgmt.network.v2018_04_01.models.AzureFirewallApplicationRuleProtocol] 2301 :param target_urls: List of URLs for this rule. 2302 :type target_urls: list[str] 2303 """ 2304 2305 _attribute_map = { 2306 'name': {'key': 'name', 'type': 'str'}, 2307 'description': {'key': 'description', 'type': 'str'}, 2308 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, 2309 'protocols': {'key': 'protocols', 'type': '[AzureFirewallApplicationRuleProtocol]'}, 2310 'target_urls': {'key': 'targetUrls', 'type': '[str]'}, 2311 } 2312 2313 def __init__( 2314 self, 2315 *, 2316 name: Optional[str] = None, 2317 description: Optional[str] = None, 2318 source_addresses: Optional[List[str]] = None, 2319 protocols: Optional[List["AzureFirewallApplicationRuleProtocol"]] = None, 2320 target_urls: Optional[List[str]] = None, 2321 **kwargs 2322 ): 2323 super(AzureFirewallApplicationRule, self).__init__(**kwargs) 2324 self.name = name 2325 self.description = description 2326 self.source_addresses = source_addresses 2327 self.protocols = protocols 2328 self.target_urls = target_urls 2329 2330 2331class AzureFirewallApplicationRuleCollection(SubResource): 2332 """Application rule collection resource. 2333 2334 Variables are only populated by the server, and will be ignored when sending a request. 2335 2336 :param id: Resource ID. 2337 :type id: str 2338 :param name: Gets name of the resource that is unique within a resource group. This name can be 2339 used to access the resource. 2340 :type name: str 2341 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 2342 :vartype etag: str 2343 :param priority: Priority of the application rule collection resource. 2344 :type priority: int 2345 :param action: The action type of a rule collection. 2346 :type action: ~azure.mgmt.network.v2018_04_01.models.AzureFirewallRCAction 2347 :param rules: Collection of rules used by a application rule collection. 2348 :type rules: list[~azure.mgmt.network.v2018_04_01.models.AzureFirewallApplicationRule] 2349 :param provisioning_state: The provisioning state of the resource. Possible values include: 2350 "Succeeded", "Updating", "Deleting", "Failed". 2351 :type provisioning_state: str or ~azure.mgmt.network.v2018_04_01.models.ProvisioningState 2352 """ 2353 2354 _validation = { 2355 'etag': {'readonly': True}, 2356 'priority': {'maximum': 65000, 'minimum': 100}, 2357 } 2358 2359 _attribute_map = { 2360 'id': {'key': 'id', 'type': 'str'}, 2361 'name': {'key': 'name', 'type': 'str'}, 2362 'etag': {'key': 'etag', 'type': 'str'}, 2363 'priority': {'key': 'properties.priority', 'type': 'int'}, 2364 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, 2365 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallApplicationRule]'}, 2366 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2367 } 2368 2369 def __init__( 2370 self, 2371 *, 2372 id: Optional[str] = None, 2373 name: Optional[str] = None, 2374 priority: Optional[int] = None, 2375 action: Optional["AzureFirewallRCAction"] = None, 2376 rules: Optional[List["AzureFirewallApplicationRule"]] = None, 2377 provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, 2378 **kwargs 2379 ): 2380 super(AzureFirewallApplicationRuleCollection, self).__init__(id=id, **kwargs) 2381 self.name = name 2382 self.etag = None 2383 self.priority = priority 2384 self.action = action 2385 self.rules = rules 2386 self.provisioning_state = provisioning_state 2387 2388 2389class AzureFirewallApplicationRuleProtocol(msrest.serialization.Model): 2390 """Properties of the application rule protocol. 2391 2392 :param protocol_type: Protocol type. Possible values include: "Http", "Https". 2393 :type protocol_type: str or 2394 ~azure.mgmt.network.v2018_04_01.models.AzureFirewallApplicationRuleProtocolType 2395 :param port: Port number for the protocol, cannot be greater than 64000. This field is 2396 optional. 2397 :type port: int 2398 """ 2399 2400 _validation = { 2401 'port': {'maximum': 64000, 'minimum': 0}, 2402 } 2403 2404 _attribute_map = { 2405 'protocol_type': {'key': 'protocolType', 'type': 'str'}, 2406 'port': {'key': 'port', 'type': 'int'}, 2407 } 2408 2409 def __init__( 2410 self, 2411 *, 2412 protocol_type: Optional[Union[str, "AzureFirewallApplicationRuleProtocolType"]] = None, 2413 port: Optional[int] = None, 2414 **kwargs 2415 ): 2416 super(AzureFirewallApplicationRuleProtocol, self).__init__(**kwargs) 2417 self.protocol_type = protocol_type 2418 self.port = port 2419 2420 2421class AzureFirewallIPConfiguration(SubResource): 2422 """IP configuration of an Azure Firewall. 2423 2424 :param id: Resource ID. 2425 :type id: str 2426 :param name: Name of the resource that is unique within a resource group. This name can be used 2427 to access the resource. 2428 :type name: str 2429 :param etag: A unique read-only string that changes whenever the resource is updated. 2430 :type etag: str 2431 :param private_ip_address: The Firewall Internal Load Balancer IP to be used as the next hop in 2432 User Defined Routes. 2433 :type private_ip_address: str 2434 :param subnet: Reference of the subnet resource. This resource must be named 2435 'AzureFirewallSubnet'. 2436 :type subnet: ~azure.mgmt.network.v2018_04_01.models.SubResource 2437 :param internal_public_ip_address: Reference of the PublicIP resource. This field is a 2438 mandatory input. 2439 :type internal_public_ip_address: ~azure.mgmt.network.v2018_04_01.models.SubResource 2440 :param public_ip_address: Reference of the PublicIP resource. This field is populated in the 2441 output. 2442 :type public_ip_address: ~azure.mgmt.network.v2018_04_01.models.SubResource 2443 :param provisioning_state: The provisioning state of the resource. Possible values include: 2444 "Succeeded", "Updating", "Deleting", "Failed". 2445 :type provisioning_state: str or ~azure.mgmt.network.v2018_04_01.models.ProvisioningState 2446 """ 2447 2448 _attribute_map = { 2449 'id': {'key': 'id', 'type': 'str'}, 2450 'name': {'key': 'name', 'type': 'str'}, 2451 'etag': {'key': 'etag', 'type': 'str'}, 2452 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 2453 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 2454 'internal_public_ip_address': {'key': 'properties.internalPublicIpAddress', 'type': 'SubResource'}, 2455 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, 2456 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2457 } 2458 2459 def __init__( 2460 self, 2461 *, 2462 id: Optional[str] = None, 2463 name: Optional[str] = None, 2464 etag: Optional[str] = None, 2465 private_ip_address: Optional[str] = None, 2466 subnet: Optional["SubResource"] = None, 2467 internal_public_ip_address: Optional["SubResource"] = None, 2468 public_ip_address: Optional["SubResource"] = None, 2469 provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, 2470 **kwargs 2471 ): 2472 super(AzureFirewallIPConfiguration, self).__init__(id=id, **kwargs) 2473 self.name = name 2474 self.etag = etag 2475 self.private_ip_address = private_ip_address 2476 self.subnet = subnet 2477 self.internal_public_ip_address = internal_public_ip_address 2478 self.public_ip_address = public_ip_address 2479 self.provisioning_state = provisioning_state 2480 2481 2482class AzureFirewallListResult(msrest.serialization.Model): 2483 """Response for ListAzureFirewalls API service call. 2484 2485 :param value: List of a Azure Firewalls in a resource group. 2486 :type value: list[~azure.mgmt.network.v2018_04_01.models.AzureFirewall] 2487 :param next_link: URL to get the next set of results. 2488 :type next_link: str 2489 """ 2490 2491 _attribute_map = { 2492 'value': {'key': 'value', 'type': '[AzureFirewall]'}, 2493 'next_link': {'key': 'nextLink', 'type': 'str'}, 2494 } 2495 2496 def __init__( 2497 self, 2498 *, 2499 value: Optional[List["AzureFirewall"]] = None, 2500 next_link: Optional[str] = None, 2501 **kwargs 2502 ): 2503 super(AzureFirewallListResult, self).__init__(**kwargs) 2504 self.value = value 2505 self.next_link = next_link 2506 2507 2508class AzureFirewallNetworkRule(msrest.serialization.Model): 2509 """Properties of the network rule. 2510 2511 :param name: Name of the network rule. 2512 :type name: str 2513 :param description: Description of the rule. 2514 :type description: str 2515 :param protocols: Array of AzureFirewallNetworkRuleProtocols. 2516 :type protocols: list[str or 2517 ~azure.mgmt.network.v2018_04_01.models.AzureFirewallNetworkRuleProtocol] 2518 :param source_addresses: List of source IP addresses for this rule. 2519 :type source_addresses: list[str] 2520 :param destination_addresses: List of destination IP addresses. 2521 :type destination_addresses: list[str] 2522 :param destination_ports: List of destination ports. 2523 :type destination_ports: list[str] 2524 """ 2525 2526 _attribute_map = { 2527 'name': {'key': 'name', 'type': 'str'}, 2528 'description': {'key': 'description', 'type': 'str'}, 2529 'protocols': {'key': 'protocols', 'type': '[str]'}, 2530 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, 2531 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, 2532 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, 2533 } 2534 2535 def __init__( 2536 self, 2537 *, 2538 name: Optional[str] = None, 2539 description: Optional[str] = None, 2540 protocols: Optional[List[Union[str, "AzureFirewallNetworkRuleProtocol"]]] = None, 2541 source_addresses: Optional[List[str]] = None, 2542 destination_addresses: Optional[List[str]] = None, 2543 destination_ports: Optional[List[str]] = None, 2544 **kwargs 2545 ): 2546 super(AzureFirewallNetworkRule, self).__init__(**kwargs) 2547 self.name = name 2548 self.description = description 2549 self.protocols = protocols 2550 self.source_addresses = source_addresses 2551 self.destination_addresses = destination_addresses 2552 self.destination_ports = destination_ports 2553 2554 2555class AzureFirewallNetworkRuleCollection(SubResource): 2556 """Network rule collection resource. 2557 2558 Variables are only populated by the server, and will be ignored when sending a request. 2559 2560 :param id: Resource ID. 2561 :type id: str 2562 :param name: Gets name of the resource that is unique within a resource group. This name can be 2563 used to access the resource. 2564 :type name: str 2565 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 2566 :vartype etag: str 2567 :param priority: Priority of the network rule collection resource. 2568 :type priority: int 2569 :param action: The action type of a rule collection. 2570 :type action: ~azure.mgmt.network.v2018_04_01.models.AzureFirewallRCAction 2571 :param rules: Collection of rules used by a network rule collection. 2572 :type rules: list[~azure.mgmt.network.v2018_04_01.models.AzureFirewallNetworkRule] 2573 :param provisioning_state: The provisioning state of the resource. Possible values include: 2574 "Succeeded", "Updating", "Deleting", "Failed". 2575 :type provisioning_state: str or ~azure.mgmt.network.v2018_04_01.models.ProvisioningState 2576 """ 2577 2578 _validation = { 2579 'etag': {'readonly': True}, 2580 'priority': {'maximum': 65000, 'minimum': 100}, 2581 } 2582 2583 _attribute_map = { 2584 'id': {'key': 'id', 'type': 'str'}, 2585 'name': {'key': 'name', 'type': 'str'}, 2586 'etag': {'key': 'etag', 'type': 'str'}, 2587 'priority': {'key': 'properties.priority', 'type': 'int'}, 2588 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, 2589 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNetworkRule]'}, 2590 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2591 } 2592 2593 def __init__( 2594 self, 2595 *, 2596 id: Optional[str] = None, 2597 name: Optional[str] = None, 2598 priority: Optional[int] = None, 2599 action: Optional["AzureFirewallRCAction"] = None, 2600 rules: Optional[List["AzureFirewallNetworkRule"]] = None, 2601 provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, 2602 **kwargs 2603 ): 2604 super(AzureFirewallNetworkRuleCollection, self).__init__(id=id, **kwargs) 2605 self.name = name 2606 self.etag = None 2607 self.priority = priority 2608 self.action = action 2609 self.rules = rules 2610 self.provisioning_state = provisioning_state 2611 2612 2613class AzureFirewallRCAction(msrest.serialization.Model): 2614 """Properties of the AzureFirewallRCAction. 2615 2616 :param type: The type of action. Possible values include: "Allow", "Deny". 2617 :type type: str or ~azure.mgmt.network.v2018_04_01.models.AzureFirewallRCActionType 2618 """ 2619 2620 _attribute_map = { 2621 'type': {'key': 'type', 'type': 'str'}, 2622 } 2623 2624 def __init__( 2625 self, 2626 *, 2627 type: Optional[Union[str, "AzureFirewallRCActionType"]] = None, 2628 **kwargs 2629 ): 2630 super(AzureFirewallRCAction, self).__init__(**kwargs) 2631 self.type = type 2632 2633 2634class AzureReachabilityReport(msrest.serialization.Model): 2635 """Azure reachability report details. 2636 2637 All required parameters must be populated in order to send to Azure. 2638 2639 :param aggregation_level: Required. The aggregation level of Azure reachability report. Can be 2640 Country, State or City. 2641 :type aggregation_level: str 2642 :param provider_location: Required. Parameters that define a geographic location. 2643 :type provider_location: ~azure.mgmt.network.v2018_04_01.models.AzureReachabilityReportLocation 2644 :param reachability_report: Required. List of Azure reachability report items. 2645 :type reachability_report: 2646 list[~azure.mgmt.network.v2018_04_01.models.AzureReachabilityReportItem] 2647 """ 2648 2649 _validation = { 2650 'aggregation_level': {'required': True}, 2651 'provider_location': {'required': True}, 2652 'reachability_report': {'required': True}, 2653 } 2654 2655 _attribute_map = { 2656 'aggregation_level': {'key': 'aggregationLevel', 'type': 'str'}, 2657 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, 2658 'reachability_report': {'key': 'reachabilityReport', 'type': '[AzureReachabilityReportItem]'}, 2659 } 2660 2661 def __init__( 2662 self, 2663 *, 2664 aggregation_level: str, 2665 provider_location: "AzureReachabilityReportLocation", 2666 reachability_report: List["AzureReachabilityReportItem"], 2667 **kwargs 2668 ): 2669 super(AzureReachabilityReport, self).__init__(**kwargs) 2670 self.aggregation_level = aggregation_level 2671 self.provider_location = provider_location 2672 self.reachability_report = reachability_report 2673 2674 2675class AzureReachabilityReportItem(msrest.serialization.Model): 2676 """Azure reachability report details for a given provider location. 2677 2678 :param provider: The Internet service provider. 2679 :type provider: str 2680 :param azure_location: The Azure region. 2681 :type azure_location: str 2682 :param latencies: List of latency details for each of the time series. 2683 :type latencies: 2684 list[~azure.mgmt.network.v2018_04_01.models.AzureReachabilityReportLatencyInfo] 2685 """ 2686 2687 _attribute_map = { 2688 'provider': {'key': 'provider', 'type': 'str'}, 2689 'azure_location': {'key': 'azureLocation', 'type': 'str'}, 2690 'latencies': {'key': 'latencies', 'type': '[AzureReachabilityReportLatencyInfo]'}, 2691 } 2692 2693 def __init__( 2694 self, 2695 *, 2696 provider: Optional[str] = None, 2697 azure_location: Optional[str] = None, 2698 latencies: Optional[List["AzureReachabilityReportLatencyInfo"]] = None, 2699 **kwargs 2700 ): 2701 super(AzureReachabilityReportItem, self).__init__(**kwargs) 2702 self.provider = provider 2703 self.azure_location = azure_location 2704 self.latencies = latencies 2705 2706 2707class AzureReachabilityReportLatencyInfo(msrest.serialization.Model): 2708 """Details on latency for a time series. 2709 2710 :param time_stamp: The time stamp. 2711 :type time_stamp: ~datetime.datetime 2712 :param score: The relative latency score between 1 and 100, higher values indicating a faster 2713 connection. 2714 :type score: int 2715 """ 2716 2717 _validation = { 2718 'score': {'maximum': 100, 'minimum': 1}, 2719 } 2720 2721 _attribute_map = { 2722 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, 2723 'score': {'key': 'score', 'type': 'int'}, 2724 } 2725 2726 def __init__( 2727 self, 2728 *, 2729 time_stamp: Optional[datetime.datetime] = None, 2730 score: Optional[int] = None, 2731 **kwargs 2732 ): 2733 super(AzureReachabilityReportLatencyInfo, self).__init__(**kwargs) 2734 self.time_stamp = time_stamp 2735 self.score = score 2736 2737 2738class AzureReachabilityReportLocation(msrest.serialization.Model): 2739 """Parameters that define a geographic location. 2740 2741 All required parameters must be populated in order to send to Azure. 2742 2743 :param country: Required. The name of the country. 2744 :type country: str 2745 :param state: The name of the state. 2746 :type state: str 2747 :param city: The name of the city or town. 2748 :type city: str 2749 """ 2750 2751 _validation = { 2752 'country': {'required': True}, 2753 } 2754 2755 _attribute_map = { 2756 'country': {'key': 'country', 'type': 'str'}, 2757 'state': {'key': 'state', 'type': 'str'}, 2758 'city': {'key': 'city', 'type': 'str'}, 2759 } 2760 2761 def __init__( 2762 self, 2763 *, 2764 country: str, 2765 state: Optional[str] = None, 2766 city: Optional[str] = None, 2767 **kwargs 2768 ): 2769 super(AzureReachabilityReportLocation, self).__init__(**kwargs) 2770 self.country = country 2771 self.state = state 2772 self.city = city 2773 2774 2775class AzureReachabilityReportParameters(msrest.serialization.Model): 2776 """Geographic and time constraints for Azure reachability report. 2777 2778 All required parameters must be populated in order to send to Azure. 2779 2780 :param provider_location: Required. Parameters that define a geographic location. 2781 :type provider_location: ~azure.mgmt.network.v2018_04_01.models.AzureReachabilityReportLocation 2782 :param providers: List of Internet service providers. 2783 :type providers: list[str] 2784 :param azure_locations: Optional Azure regions to scope the query to. 2785 :type azure_locations: list[str] 2786 :param start_time: Required. The start time for the Azure reachability report. 2787 :type start_time: ~datetime.datetime 2788 :param end_time: Required. The end time for the Azure reachability report. 2789 :type end_time: ~datetime.datetime 2790 """ 2791 2792 _validation = { 2793 'provider_location': {'required': True}, 2794 'start_time': {'required': True}, 2795 'end_time': {'required': True}, 2796 } 2797 2798 _attribute_map = { 2799 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, 2800 'providers': {'key': 'providers', 'type': '[str]'}, 2801 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, 2802 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 2803 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 2804 } 2805 2806 def __init__( 2807 self, 2808 *, 2809 provider_location: "AzureReachabilityReportLocation", 2810 start_time: datetime.datetime, 2811 end_time: datetime.datetime, 2812 providers: Optional[List[str]] = None, 2813 azure_locations: Optional[List[str]] = None, 2814 **kwargs 2815 ): 2816 super(AzureReachabilityReportParameters, self).__init__(**kwargs) 2817 self.provider_location = provider_location 2818 self.providers = providers 2819 self.azure_locations = azure_locations 2820 self.start_time = start_time 2821 self.end_time = end_time 2822 2823 2824class BackendAddressPool(SubResource): 2825 """Pool of backend IP addresses. 2826 2827 Variables are only populated by the server, and will be ignored when sending a request. 2828 2829 :param id: Resource ID. 2830 :type id: str 2831 :param name: Gets name of the resource that is unique within a resource group. This name can be 2832 used to access the resource. 2833 :type name: str 2834 :param etag: A unique read-only string that changes whenever the resource is updated. 2835 :type etag: str 2836 :ivar backend_ip_configurations: Gets collection of references to IP addresses defined in 2837 network interfaces. 2838 :vartype backend_ip_configurations: 2839 list[~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfiguration] 2840 :ivar load_balancing_rules: Gets load balancing rules that use this backend address pool. 2841 :vartype load_balancing_rules: list[~azure.mgmt.network.v2018_04_01.models.SubResource] 2842 :ivar outbound_nat_rule: Gets outbound rules that use this backend address pool. 2843 :vartype outbound_nat_rule: ~azure.mgmt.network.v2018_04_01.models.SubResource 2844 :param provisioning_state: Get provisioning state of the public IP resource. Possible values 2845 are: 'Updating', 'Deleting', and 'Failed'. 2846 :type provisioning_state: str 2847 """ 2848 2849 _validation = { 2850 'backend_ip_configurations': {'readonly': True}, 2851 'load_balancing_rules': {'readonly': True}, 2852 'outbound_nat_rule': {'readonly': True}, 2853 } 2854 2855 _attribute_map = { 2856 'id': {'key': 'id', 'type': 'str'}, 2857 'name': {'key': 'name', 'type': 'str'}, 2858 'etag': {'key': 'etag', 'type': 'str'}, 2859 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 2860 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 2861 'outbound_nat_rule': {'key': 'properties.outboundNatRule', 'type': 'SubResource'}, 2862 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2863 } 2864 2865 def __init__( 2866 self, 2867 *, 2868 id: Optional[str] = None, 2869 name: Optional[str] = None, 2870 etag: Optional[str] = None, 2871 provisioning_state: Optional[str] = None, 2872 **kwargs 2873 ): 2874 super(BackendAddressPool, self).__init__(id=id, **kwargs) 2875 self.name = name 2876 self.etag = etag 2877 self.backend_ip_configurations = None 2878 self.load_balancing_rules = None 2879 self.outbound_nat_rule = None 2880 self.provisioning_state = provisioning_state 2881 2882 2883class BGPCommunity(msrest.serialization.Model): 2884 """Contains bgp community information offered in Service Community resources. 2885 2886 :param service_supported_region: The region which the service support. e.g. For O365, region is 2887 Global. 2888 :type service_supported_region: str 2889 :param community_name: The name of the bgp community. e.g. Skype. 2890 :type community_name: str 2891 :param community_value: The value of the bgp community. For more information: 2892 https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. 2893 :type community_value: str 2894 :param community_prefixes: The prefixes that the bgp community contains. 2895 :type community_prefixes: list[str] 2896 :param is_authorized_to_use: Customer is authorized to use bgp community or not. 2897 :type is_authorized_to_use: bool 2898 :param service_group: The service group of the bgp community contains. 2899 :type service_group: str 2900 """ 2901 2902 _attribute_map = { 2903 'service_supported_region': {'key': 'serviceSupportedRegion', 'type': 'str'}, 2904 'community_name': {'key': 'communityName', 'type': 'str'}, 2905 'community_value': {'key': 'communityValue', 'type': 'str'}, 2906 'community_prefixes': {'key': 'communityPrefixes', 'type': '[str]'}, 2907 'is_authorized_to_use': {'key': 'isAuthorizedToUse', 'type': 'bool'}, 2908 'service_group': {'key': 'serviceGroup', 'type': 'str'}, 2909 } 2910 2911 def __init__( 2912 self, 2913 *, 2914 service_supported_region: Optional[str] = None, 2915 community_name: Optional[str] = None, 2916 community_value: Optional[str] = None, 2917 community_prefixes: Optional[List[str]] = None, 2918 is_authorized_to_use: Optional[bool] = None, 2919 service_group: Optional[str] = None, 2920 **kwargs 2921 ): 2922 super(BGPCommunity, self).__init__(**kwargs) 2923 self.service_supported_region = service_supported_region 2924 self.community_name = community_name 2925 self.community_value = community_value 2926 self.community_prefixes = community_prefixes 2927 self.is_authorized_to_use = is_authorized_to_use 2928 self.service_group = service_group 2929 2930 2931class BgpPeerStatus(msrest.serialization.Model): 2932 """BGP peer status details. 2933 2934 Variables are only populated by the server, and will be ignored when sending a request. 2935 2936 :ivar local_address: The virtual network gateway's local address. 2937 :vartype local_address: str 2938 :ivar neighbor: The remote BGP peer. 2939 :vartype neighbor: str 2940 :ivar asn: The autonomous system number of the remote BGP peer. 2941 :vartype asn: int 2942 :ivar state: The BGP peer state. Possible values include: "Unknown", "Stopped", "Idle", 2943 "Connecting", "Connected". 2944 :vartype state: str or ~azure.mgmt.network.v2018_04_01.models.BgpPeerState 2945 :ivar connected_duration: For how long the peering has been up. 2946 :vartype connected_duration: str 2947 :ivar routes_received: The number of routes learned from this peer. 2948 :vartype routes_received: long 2949 :ivar messages_sent: The number of BGP messages sent. 2950 :vartype messages_sent: long 2951 :ivar messages_received: The number of BGP messages received. 2952 :vartype messages_received: long 2953 """ 2954 2955 _validation = { 2956 'local_address': {'readonly': True}, 2957 'neighbor': {'readonly': True}, 2958 'asn': {'readonly': True}, 2959 'state': {'readonly': True}, 2960 'connected_duration': {'readonly': True}, 2961 'routes_received': {'readonly': True}, 2962 'messages_sent': {'readonly': True}, 2963 'messages_received': {'readonly': True}, 2964 } 2965 2966 _attribute_map = { 2967 'local_address': {'key': 'localAddress', 'type': 'str'}, 2968 'neighbor': {'key': 'neighbor', 'type': 'str'}, 2969 'asn': {'key': 'asn', 'type': 'int'}, 2970 'state': {'key': 'state', 'type': 'str'}, 2971 'connected_duration': {'key': 'connectedDuration', 'type': 'str'}, 2972 'routes_received': {'key': 'routesReceived', 'type': 'long'}, 2973 'messages_sent': {'key': 'messagesSent', 'type': 'long'}, 2974 'messages_received': {'key': 'messagesReceived', 'type': 'long'}, 2975 } 2976 2977 def __init__( 2978 self, 2979 **kwargs 2980 ): 2981 super(BgpPeerStatus, self).__init__(**kwargs) 2982 self.local_address = None 2983 self.neighbor = None 2984 self.asn = None 2985 self.state = None 2986 self.connected_duration = None 2987 self.routes_received = None 2988 self.messages_sent = None 2989 self.messages_received = None 2990 2991 2992class BgpPeerStatusListResult(msrest.serialization.Model): 2993 """Response for list BGP peer status API service call. 2994 2995 :param value: List of BGP peers. 2996 :type value: list[~azure.mgmt.network.v2018_04_01.models.BgpPeerStatus] 2997 """ 2998 2999 _attribute_map = { 3000 'value': {'key': 'value', 'type': '[BgpPeerStatus]'}, 3001 } 3002 3003 def __init__( 3004 self, 3005 *, 3006 value: Optional[List["BgpPeerStatus"]] = None, 3007 **kwargs 3008 ): 3009 super(BgpPeerStatusListResult, self).__init__(**kwargs) 3010 self.value = value 3011 3012 3013class BgpServiceCommunity(Resource): 3014 """Service Community Properties. 3015 3016 Variables are only populated by the server, and will be ignored when sending a request. 3017 3018 :param id: Resource ID. 3019 :type id: str 3020 :ivar name: Resource name. 3021 :vartype name: str 3022 :ivar type: Resource type. 3023 :vartype type: str 3024 :param location: Resource location. 3025 :type location: str 3026 :param tags: A set of tags. Resource tags. 3027 :type tags: dict[str, str] 3028 :param service_name: The name of the bgp community. e.g. Skype. 3029 :type service_name: str 3030 :param bgp_communities: Get a list of bgp communities. 3031 :type bgp_communities: list[~azure.mgmt.network.v2018_04_01.models.BGPCommunity] 3032 """ 3033 3034 _validation = { 3035 'name': {'readonly': True}, 3036 'type': {'readonly': True}, 3037 } 3038 3039 _attribute_map = { 3040 'id': {'key': 'id', 'type': 'str'}, 3041 'name': {'key': 'name', 'type': 'str'}, 3042 'type': {'key': 'type', 'type': 'str'}, 3043 'location': {'key': 'location', 'type': 'str'}, 3044 'tags': {'key': 'tags', 'type': '{str}'}, 3045 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, 3046 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': '[BGPCommunity]'}, 3047 } 3048 3049 def __init__( 3050 self, 3051 *, 3052 id: Optional[str] = None, 3053 location: Optional[str] = None, 3054 tags: Optional[Dict[str, str]] = None, 3055 service_name: Optional[str] = None, 3056 bgp_communities: Optional[List["BGPCommunity"]] = None, 3057 **kwargs 3058 ): 3059 super(BgpServiceCommunity, self).__init__(id=id, location=location, tags=tags, **kwargs) 3060 self.service_name = service_name 3061 self.bgp_communities = bgp_communities 3062 3063 3064class BgpServiceCommunityListResult(msrest.serialization.Model): 3065 """Response for the ListServiceCommunity API service call. 3066 3067 :param value: A list of service community resources. 3068 :type value: list[~azure.mgmt.network.v2018_04_01.models.BgpServiceCommunity] 3069 :param next_link: The URL to get the next set of results. 3070 :type next_link: str 3071 """ 3072 3073 _attribute_map = { 3074 'value': {'key': 'value', 'type': '[BgpServiceCommunity]'}, 3075 'next_link': {'key': 'nextLink', 'type': 'str'}, 3076 } 3077 3078 def __init__( 3079 self, 3080 *, 3081 value: Optional[List["BgpServiceCommunity"]] = None, 3082 next_link: Optional[str] = None, 3083 **kwargs 3084 ): 3085 super(BgpServiceCommunityListResult, self).__init__(**kwargs) 3086 self.value = value 3087 self.next_link = next_link 3088 3089 3090class BgpSettings(msrest.serialization.Model): 3091 """BGP settings details. 3092 3093 :param asn: The BGP speaker's ASN. 3094 :type asn: long 3095 :param bgp_peering_address: The BGP peering address and BGP identifier of this BGP speaker. 3096 :type bgp_peering_address: str 3097 :param peer_weight: The weight added to routes learned from this BGP speaker. 3098 :type peer_weight: int 3099 """ 3100 3101 _attribute_map = { 3102 'asn': {'key': 'asn', 'type': 'long'}, 3103 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, 3104 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, 3105 } 3106 3107 def __init__( 3108 self, 3109 *, 3110 asn: Optional[int] = None, 3111 bgp_peering_address: Optional[str] = None, 3112 peer_weight: Optional[int] = None, 3113 **kwargs 3114 ): 3115 super(BgpSettings, self).__init__(**kwargs) 3116 self.asn = asn 3117 self.bgp_peering_address = bgp_peering_address 3118 self.peer_weight = peer_weight 3119 3120 3121class ConnectionMonitor(msrest.serialization.Model): 3122 """Parameters that define the operation to create a connection monitor. 3123 3124 All required parameters must be populated in order to send to Azure. 3125 3126 :param location: Connection monitor location. 3127 :type location: str 3128 :param tags: A set of tags. Connection monitor tags. 3129 :type tags: dict[str, str] 3130 :param source: Required. Describes the source of connection monitor. 3131 :type source: ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorSource 3132 :param destination: Required. Describes the destination of connection monitor. 3133 :type destination: ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorDestination 3134 :param auto_start: Determines if the connection monitor will start automatically once created. 3135 :type auto_start: bool 3136 :param monitoring_interval_in_seconds: Monitoring interval in seconds. 3137 :type monitoring_interval_in_seconds: int 3138 """ 3139 3140 _validation = { 3141 'source': {'required': True}, 3142 'destination': {'required': True}, 3143 } 3144 3145 _attribute_map = { 3146 'location': {'key': 'location', 'type': 'str'}, 3147 'tags': {'key': 'tags', 'type': '{str}'}, 3148 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, 3149 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, 3150 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, 3151 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, 3152 } 3153 3154 def __init__( 3155 self, 3156 *, 3157 source: "ConnectionMonitorSource", 3158 destination: "ConnectionMonitorDestination", 3159 location: Optional[str] = None, 3160 tags: Optional[Dict[str, str]] = None, 3161 auto_start: Optional[bool] = True, 3162 monitoring_interval_in_seconds: Optional[int] = 60, 3163 **kwargs 3164 ): 3165 super(ConnectionMonitor, self).__init__(**kwargs) 3166 self.location = location 3167 self.tags = tags 3168 self.source = source 3169 self.destination = destination 3170 self.auto_start = auto_start 3171 self.monitoring_interval_in_seconds = monitoring_interval_in_seconds 3172 3173 3174class ConnectionMonitorDestination(msrest.serialization.Model): 3175 """Describes the destination of connection monitor. 3176 3177 :param resource_id: The ID of the resource used as the destination by connection monitor. 3178 :type resource_id: str 3179 :param address: Address of the connection monitor destination (IP or domain name). 3180 :type address: str 3181 :param port: The destination port used by connection monitor. 3182 :type port: int 3183 """ 3184 3185 _attribute_map = { 3186 'resource_id': {'key': 'resourceId', 'type': 'str'}, 3187 'address': {'key': 'address', 'type': 'str'}, 3188 'port': {'key': 'port', 'type': 'int'}, 3189 } 3190 3191 def __init__( 3192 self, 3193 *, 3194 resource_id: Optional[str] = None, 3195 address: Optional[str] = None, 3196 port: Optional[int] = None, 3197 **kwargs 3198 ): 3199 super(ConnectionMonitorDestination, self).__init__(**kwargs) 3200 self.resource_id = resource_id 3201 self.address = address 3202 self.port = port 3203 3204 3205class ConnectionMonitorListResult(msrest.serialization.Model): 3206 """List of connection monitors. 3207 3208 :param value: Information about connection monitors. 3209 :type value: list[~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorResult] 3210 """ 3211 3212 _attribute_map = { 3213 'value': {'key': 'value', 'type': '[ConnectionMonitorResult]'}, 3214 } 3215 3216 def __init__( 3217 self, 3218 *, 3219 value: Optional[List["ConnectionMonitorResult"]] = None, 3220 **kwargs 3221 ): 3222 super(ConnectionMonitorListResult, self).__init__(**kwargs) 3223 self.value = value 3224 3225 3226class ConnectionMonitorParameters(msrest.serialization.Model): 3227 """Parameters that define the operation to create a connection monitor. 3228 3229 All required parameters must be populated in order to send to Azure. 3230 3231 :param source: Required. Describes the source of connection monitor. 3232 :type source: ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorSource 3233 :param destination: Required. Describes the destination of connection monitor. 3234 :type destination: ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorDestination 3235 :param auto_start: Determines if the connection monitor will start automatically once created. 3236 :type auto_start: bool 3237 :param monitoring_interval_in_seconds: Monitoring interval in seconds. 3238 :type monitoring_interval_in_seconds: int 3239 """ 3240 3241 _validation = { 3242 'source': {'required': True}, 3243 'destination': {'required': True}, 3244 } 3245 3246 _attribute_map = { 3247 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, 3248 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, 3249 'auto_start': {'key': 'autoStart', 'type': 'bool'}, 3250 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, 3251 } 3252 3253 def __init__( 3254 self, 3255 *, 3256 source: "ConnectionMonitorSource", 3257 destination: "ConnectionMonitorDestination", 3258 auto_start: Optional[bool] = True, 3259 monitoring_interval_in_seconds: Optional[int] = 60, 3260 **kwargs 3261 ): 3262 super(ConnectionMonitorParameters, self).__init__(**kwargs) 3263 self.source = source 3264 self.destination = destination 3265 self.auto_start = auto_start 3266 self.monitoring_interval_in_seconds = monitoring_interval_in_seconds 3267 3268 3269class ConnectionMonitorQueryResult(msrest.serialization.Model): 3270 """List of connection states snapshots. 3271 3272 :param source_status: Status of connection monitor source. Possible values include: "Uknown", 3273 "Active", "Inactive". 3274 :type source_status: str or 3275 ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorSourceStatus 3276 :param states: Information about connection states. 3277 :type states: list[~azure.mgmt.network.v2018_04_01.models.ConnectionStateSnapshot] 3278 """ 3279 3280 _attribute_map = { 3281 'source_status': {'key': 'sourceStatus', 'type': 'str'}, 3282 'states': {'key': 'states', 'type': '[ConnectionStateSnapshot]'}, 3283 } 3284 3285 def __init__( 3286 self, 3287 *, 3288 source_status: Optional[Union[str, "ConnectionMonitorSourceStatus"]] = None, 3289 states: Optional[List["ConnectionStateSnapshot"]] = None, 3290 **kwargs 3291 ): 3292 super(ConnectionMonitorQueryResult, self).__init__(**kwargs) 3293 self.source_status = source_status 3294 self.states = states 3295 3296 3297class ConnectionMonitorResult(msrest.serialization.Model): 3298 """Information about the connection monitor. 3299 3300 Variables are only populated by the server, and will be ignored when sending a request. 3301 3302 :ivar name: Name of the connection monitor. 3303 :vartype name: str 3304 :ivar id: ID of the connection monitor. 3305 :vartype id: str 3306 :param etag: 3307 :type etag: str 3308 :ivar type: Connection monitor type. 3309 :vartype type: str 3310 :param location: Connection monitor location. 3311 :type location: str 3312 :param tags: A set of tags. Connection monitor tags. 3313 :type tags: dict[str, str] 3314 :param source: Describes the source of connection monitor. 3315 :type source: ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorSource 3316 :param destination: Describes the destination of connection monitor. 3317 :type destination: ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorDestination 3318 :param auto_start: Determines if the connection monitor will start automatically once created. 3319 :type auto_start: bool 3320 :param monitoring_interval_in_seconds: Monitoring interval in seconds. 3321 :type monitoring_interval_in_seconds: int 3322 :param provisioning_state: The provisioning state of the connection monitor. Possible values 3323 include: "Succeeded", "Updating", "Deleting", "Failed". 3324 :type provisioning_state: str or ~azure.mgmt.network.v2018_04_01.models.ProvisioningState 3325 :param start_time: The date and time when the connection monitor was started. 3326 :type start_time: ~datetime.datetime 3327 :param monitoring_status: The monitoring status of the connection monitor. 3328 :type monitoring_status: str 3329 """ 3330 3331 _validation = { 3332 'name': {'readonly': True}, 3333 'id': {'readonly': True}, 3334 'type': {'readonly': True}, 3335 } 3336 3337 _attribute_map = { 3338 'name': {'key': 'name', 'type': 'str'}, 3339 'id': {'key': 'id', 'type': 'str'}, 3340 'etag': {'key': 'etag', 'type': 'str'}, 3341 'type': {'key': 'type', 'type': 'str'}, 3342 'location': {'key': 'location', 'type': 'str'}, 3343 'tags': {'key': 'tags', 'type': '{str}'}, 3344 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, 3345 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, 3346 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, 3347 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, 3348 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3349 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, 3350 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, 3351 } 3352 3353 def __init__( 3354 self, 3355 *, 3356 etag: Optional[str] = "A unique read-only string that changes whenever the resource is updated.", 3357 location: Optional[str] = None, 3358 tags: Optional[Dict[str, str]] = None, 3359 source: Optional["ConnectionMonitorSource"] = None, 3360 destination: Optional["ConnectionMonitorDestination"] = None, 3361 auto_start: Optional[bool] = True, 3362 monitoring_interval_in_seconds: Optional[int] = 60, 3363 provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, 3364 start_time: Optional[datetime.datetime] = None, 3365 monitoring_status: Optional[str] = None, 3366 **kwargs 3367 ): 3368 super(ConnectionMonitorResult, self).__init__(**kwargs) 3369 self.name = None 3370 self.id = None 3371 self.etag = etag 3372 self.type = None 3373 self.location = location 3374 self.tags = tags 3375 self.source = source 3376 self.destination = destination 3377 self.auto_start = auto_start 3378 self.monitoring_interval_in_seconds = monitoring_interval_in_seconds 3379 self.provisioning_state = provisioning_state 3380 self.start_time = start_time 3381 self.monitoring_status = monitoring_status 3382 3383 3384class ConnectionMonitorResultProperties(ConnectionMonitorParameters): 3385 """Describes the properties of a connection monitor. 3386 3387 All required parameters must be populated in order to send to Azure. 3388 3389 :param source: Required. Describes the source of connection monitor. 3390 :type source: ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorSource 3391 :param destination: Required. Describes the destination of connection monitor. 3392 :type destination: ~azure.mgmt.network.v2018_04_01.models.ConnectionMonitorDestination 3393 :param auto_start: Determines if the connection monitor will start automatically once created. 3394 :type auto_start: bool 3395 :param monitoring_interval_in_seconds: Monitoring interval in seconds. 3396 :type monitoring_interval_in_seconds: int 3397 :param provisioning_state: The provisioning state of the connection monitor. Possible values 3398 include: "Succeeded", "Updating", "Deleting", "Failed". 3399 :type provisioning_state: str or ~azure.mgmt.network.v2018_04_01.models.ProvisioningState 3400 :param start_time: The date and time when the connection monitor was started. 3401 :type start_time: ~datetime.datetime 3402 :param monitoring_status: The monitoring status of the connection monitor. 3403 :type monitoring_status: str 3404 """ 3405 3406 _validation = { 3407 'source': {'required': True}, 3408 'destination': {'required': True}, 3409 } 3410 3411 _attribute_map = { 3412 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, 3413 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, 3414 'auto_start': {'key': 'autoStart', 'type': 'bool'}, 3415 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, 3416 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 3417 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 3418 'monitoring_status': {'key': 'monitoringStatus', 'type': 'str'}, 3419 } 3420 3421 def __init__( 3422 self, 3423 *, 3424 source: "ConnectionMonitorSource", 3425 destination: "ConnectionMonitorDestination", 3426 auto_start: Optional[bool] = True, 3427 monitoring_interval_in_seconds: Optional[int] = 60, 3428 provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, 3429 start_time: Optional[datetime.datetime] = None, 3430 monitoring_status: Optional[str] = None, 3431 **kwargs 3432 ): 3433 super(ConnectionMonitorResultProperties, self).__init__(source=source, destination=destination, auto_start=auto_start, monitoring_interval_in_seconds=monitoring_interval_in_seconds, **kwargs) 3434 self.provisioning_state = provisioning_state 3435 self.start_time = start_time 3436 self.monitoring_status = monitoring_status 3437 3438 3439class ConnectionMonitorSource(msrest.serialization.Model): 3440 """Describes the source of connection monitor. 3441 3442 All required parameters must be populated in order to send to Azure. 3443 3444 :param resource_id: Required. The ID of the resource used as the source by connection monitor. 3445 :type resource_id: str 3446 :param port: The source port used by connection monitor. 3447 :type port: int 3448 """ 3449 3450 _validation = { 3451 'resource_id': {'required': True}, 3452 } 3453 3454 _attribute_map = { 3455 'resource_id': {'key': 'resourceId', 'type': 'str'}, 3456 'port': {'key': 'port', 'type': 'int'}, 3457 } 3458 3459 def __init__( 3460 self, 3461 *, 3462 resource_id: str, 3463 port: Optional[int] = None, 3464 **kwargs 3465 ): 3466 super(ConnectionMonitorSource, self).__init__(**kwargs) 3467 self.resource_id = resource_id 3468 self.port = port 3469 3470 3471class ConnectionResetSharedKey(msrest.serialization.Model): 3472 """The virtual network connection reset shared key. 3473 3474 All required parameters must be populated in order to send to Azure. 3475 3476 :param key_length: Required. The virtual network connection reset shared key length, should 3477 between 1 and 128. 3478 :type key_length: int 3479 """ 3480 3481 _validation = { 3482 'key_length': {'required': True, 'maximum': 128, 'minimum': 1}, 3483 } 3484 3485 _attribute_map = { 3486 'key_length': {'key': 'keyLength', 'type': 'int'}, 3487 } 3488 3489 def __init__( 3490 self, 3491 *, 3492 key_length: int, 3493 **kwargs 3494 ): 3495 super(ConnectionResetSharedKey, self).__init__(**kwargs) 3496 self.key_length = key_length 3497 3498 3499class ConnectionSharedKey(SubResource): 3500 """Response for GetConnectionSharedKey API service call. 3501 3502 All required parameters must be populated in order to send to Azure. 3503 3504 :param id: Resource ID. 3505 :type id: str 3506 :param value: Required. The virtual network connection shared key value. 3507 :type value: str 3508 """ 3509 3510 _validation = { 3511 'value': {'required': True}, 3512 } 3513 3514 _attribute_map = { 3515 'id': {'key': 'id', 'type': 'str'}, 3516 'value': {'key': 'value', 'type': 'str'}, 3517 } 3518 3519 def __init__( 3520 self, 3521 *, 3522 value: str, 3523 id: Optional[str] = None, 3524 **kwargs 3525 ): 3526 super(ConnectionSharedKey, self).__init__(id=id, **kwargs) 3527 self.value = value 3528 3529 3530class ConnectionStateSnapshot(msrest.serialization.Model): 3531 """Connection state snapshot. 3532 3533 Variables are only populated by the server, and will be ignored when sending a request. 3534 3535 :param connection_state: The connection state. Possible values include: "Reachable", 3536 "Unreachable", "Unknown". 3537 :type connection_state: str or ~azure.mgmt.network.v2018_04_01.models.ConnectionState 3538 :param start_time: The start time of the connection snapshot. 3539 :type start_time: ~datetime.datetime 3540 :param end_time: The end time of the connection snapshot. 3541 :type end_time: ~datetime.datetime 3542 :param evaluation_state: Connectivity analysis evaluation state. Possible values include: 3543 "NotStarted", "InProgress", "Completed". 3544 :type evaluation_state: str or ~azure.mgmt.network.v2018_04_01.models.EvaluationState 3545 :ivar hops: List of hops between the source and the destination. 3546 :vartype hops: list[~azure.mgmt.network.v2018_04_01.models.ConnectivityHop] 3547 """ 3548 3549 _validation = { 3550 'hops': {'readonly': True}, 3551 } 3552 3553 _attribute_map = { 3554 'connection_state': {'key': 'connectionState', 'type': 'str'}, 3555 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 3556 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 3557 'evaluation_state': {'key': 'evaluationState', 'type': 'str'}, 3558 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, 3559 } 3560 3561 def __init__( 3562 self, 3563 *, 3564 connection_state: Optional[Union[str, "ConnectionState"]] = None, 3565 start_time: Optional[datetime.datetime] = None, 3566 end_time: Optional[datetime.datetime] = None, 3567 evaluation_state: Optional[Union[str, "EvaluationState"]] = None, 3568 **kwargs 3569 ): 3570 super(ConnectionStateSnapshot, self).__init__(**kwargs) 3571 self.connection_state = connection_state 3572 self.start_time = start_time 3573 self.end_time = end_time 3574 self.evaluation_state = evaluation_state 3575 self.hops = None 3576 3577 3578class ConnectivityDestination(msrest.serialization.Model): 3579 """Parameters that define destination of connection. 3580 3581 :param resource_id: The ID of the resource to which a connection attempt will be made. 3582 :type resource_id: str 3583 :param address: The IP address or URI the resource to which a connection attempt will be made. 3584 :type address: str 3585 :param port: Port on which check connectivity will be performed. 3586 :type port: int 3587 """ 3588 3589 _attribute_map = { 3590 'resource_id': {'key': 'resourceId', 'type': 'str'}, 3591 'address': {'key': 'address', 'type': 'str'}, 3592 'port': {'key': 'port', 'type': 'int'}, 3593 } 3594 3595 def __init__( 3596 self, 3597 *, 3598 resource_id: Optional[str] = None, 3599 address: Optional[str] = None, 3600 port: Optional[int] = None, 3601 **kwargs 3602 ): 3603 super(ConnectivityDestination, self).__init__(**kwargs) 3604 self.resource_id = resource_id 3605 self.address = address 3606 self.port = port 3607 3608 3609class ConnectivityHop(msrest.serialization.Model): 3610 """Information about a hop between the source and the destination. 3611 3612 Variables are only populated by the server, and will be ignored when sending a request. 3613 3614 :ivar type: The type of the hop. 3615 :vartype type: str 3616 :ivar id: The ID of the hop. 3617 :vartype id: str 3618 :ivar address: The IP address of the hop. 3619 :vartype address: str 3620 :ivar resource_id: The ID of the resource corresponding to this hop. 3621 :vartype resource_id: str 3622 :ivar next_hop_ids: List of next hop identifiers. 3623 :vartype next_hop_ids: list[str] 3624 :ivar issues: List of issues. 3625 :vartype issues: list[~azure.mgmt.network.v2018_04_01.models.ConnectivityIssue] 3626 """ 3627 3628 _validation = { 3629 'type': {'readonly': True}, 3630 'id': {'readonly': True}, 3631 'address': {'readonly': True}, 3632 'resource_id': {'readonly': True}, 3633 'next_hop_ids': {'readonly': True}, 3634 'issues': {'readonly': True}, 3635 } 3636 3637 _attribute_map = { 3638 'type': {'key': 'type', 'type': 'str'}, 3639 'id': {'key': 'id', 'type': 'str'}, 3640 'address': {'key': 'address', 'type': 'str'}, 3641 'resource_id': {'key': 'resourceId', 'type': 'str'}, 3642 'next_hop_ids': {'key': 'nextHopIds', 'type': '[str]'}, 3643 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, 3644 } 3645 3646 def __init__( 3647 self, 3648 **kwargs 3649 ): 3650 super(ConnectivityHop, self).__init__(**kwargs) 3651 self.type = None 3652 self.id = None 3653 self.address = None 3654 self.resource_id = None 3655 self.next_hop_ids = None 3656 self.issues = None 3657 3658 3659class ConnectivityInformation(msrest.serialization.Model): 3660 """Information on the connectivity status. 3661 3662 Variables are only populated by the server, and will be ignored when sending a request. 3663 3664 :ivar hops: List of hops between the source and the destination. 3665 :vartype hops: list[~azure.mgmt.network.v2018_04_01.models.ConnectivityHop] 3666 :ivar connection_status: The connection status. Possible values include: "Unknown", 3667 "Connected", "Disconnected", "Degraded". 3668 :vartype connection_status: str or ~azure.mgmt.network.v2018_04_01.models.ConnectionStatus 3669 :ivar avg_latency_in_ms: Average latency in milliseconds. 3670 :vartype avg_latency_in_ms: int 3671 :ivar min_latency_in_ms: Minimum latency in milliseconds. 3672 :vartype min_latency_in_ms: int 3673 :ivar max_latency_in_ms: Maximum latency in milliseconds. 3674 :vartype max_latency_in_ms: int 3675 :ivar probes_sent: Total number of probes sent. 3676 :vartype probes_sent: int 3677 :ivar probes_failed: Number of failed probes. 3678 :vartype probes_failed: int 3679 """ 3680 3681 _validation = { 3682 'hops': {'readonly': True}, 3683 'connection_status': {'readonly': True}, 3684 'avg_latency_in_ms': {'readonly': True}, 3685 'min_latency_in_ms': {'readonly': True}, 3686 'max_latency_in_ms': {'readonly': True}, 3687 'probes_sent': {'readonly': True}, 3688 'probes_failed': {'readonly': True}, 3689 } 3690 3691 _attribute_map = { 3692 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, 3693 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, 3694 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, 3695 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, 3696 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, 3697 'probes_sent': {'key': 'probesSent', 'type': 'int'}, 3698 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, 3699 } 3700 3701 def __init__( 3702 self, 3703 **kwargs 3704 ): 3705 super(ConnectivityInformation, self).__init__(**kwargs) 3706 self.hops = None 3707 self.connection_status = None 3708 self.avg_latency_in_ms = None 3709 self.min_latency_in_ms = None 3710 self.max_latency_in_ms = None 3711 self.probes_sent = None 3712 self.probes_failed = None 3713 3714 3715class ConnectivityIssue(msrest.serialization.Model): 3716 """Information about an issue encountered in the process of checking for connectivity. 3717 3718 Variables are only populated by the server, and will be ignored when sending a request. 3719 3720 :ivar origin: The origin of the issue. Possible values include: "Local", "Inbound", "Outbound". 3721 :vartype origin: str or ~azure.mgmt.network.v2018_04_01.models.Origin 3722 :ivar severity: The severity of the issue. Possible values include: "Error", "Warning". 3723 :vartype severity: str or ~azure.mgmt.network.v2018_04_01.models.Severity 3724 :ivar type: The type of issue. Possible values include: "Unknown", "AgentStopped", 3725 "GuestFirewall", "DnsResolution", "SocketBind", "NetworkSecurityRule", "UserDefinedRoute", 3726 "PortThrottled", "Platform". 3727 :vartype type: str or ~azure.mgmt.network.v2018_04_01.models.IssueType 3728 :ivar context: Provides additional context on the issue. 3729 :vartype context: list[dict[str, str]] 3730 """ 3731 3732 _validation = { 3733 'origin': {'readonly': True}, 3734 'severity': {'readonly': True}, 3735 'type': {'readonly': True}, 3736 'context': {'readonly': True}, 3737 } 3738 3739 _attribute_map = { 3740 'origin': {'key': 'origin', 'type': 'str'}, 3741 'severity': {'key': 'severity', 'type': 'str'}, 3742 'type': {'key': 'type', 'type': 'str'}, 3743 'context': {'key': 'context', 'type': '[{str}]'}, 3744 } 3745 3746 def __init__( 3747 self, 3748 **kwargs 3749 ): 3750 super(ConnectivityIssue, self).__init__(**kwargs) 3751 self.origin = None 3752 self.severity = None 3753 self.type = None 3754 self.context = None 3755 3756 3757class ConnectivityParameters(msrest.serialization.Model): 3758 """Parameters that determine how the connectivity check will be performed. 3759 3760 All required parameters must be populated in order to send to Azure. 3761 3762 :param source: Required. Parameters that define the source of the connection. 3763 :type source: ~azure.mgmt.network.v2018_04_01.models.ConnectivitySource 3764 :param destination: Required. Parameters that define destination of connection. 3765 :type destination: ~azure.mgmt.network.v2018_04_01.models.ConnectivityDestination 3766 :param protocol: Network protocol. Possible values include: "Tcp", "Http", "Https", "Icmp". 3767 :type protocol: str or ~azure.mgmt.network.v2018_04_01.models.Protocol 3768 :param protocol_configuration: Configuration of the protocol. 3769 :type protocol_configuration: ~azure.mgmt.network.v2018_04_01.models.ProtocolConfiguration 3770 """ 3771 3772 _validation = { 3773 'source': {'required': True}, 3774 'destination': {'required': True}, 3775 } 3776 3777 _attribute_map = { 3778 'source': {'key': 'source', 'type': 'ConnectivitySource'}, 3779 'destination': {'key': 'destination', 'type': 'ConnectivityDestination'}, 3780 'protocol': {'key': 'protocol', 'type': 'str'}, 3781 'protocol_configuration': {'key': 'protocolConfiguration', 'type': 'ProtocolConfiguration'}, 3782 } 3783 3784 def __init__( 3785 self, 3786 *, 3787 source: "ConnectivitySource", 3788 destination: "ConnectivityDestination", 3789 protocol: Optional[Union[str, "Protocol"]] = None, 3790 protocol_configuration: Optional["ProtocolConfiguration"] = None, 3791 **kwargs 3792 ): 3793 super(ConnectivityParameters, self).__init__(**kwargs) 3794 self.source = source 3795 self.destination = destination 3796 self.protocol = protocol 3797 self.protocol_configuration = protocol_configuration 3798 3799 3800class ConnectivitySource(msrest.serialization.Model): 3801 """Parameters that define the source of the connection. 3802 3803 All required parameters must be populated in order to send to Azure. 3804 3805 :param resource_id: Required. The ID of the resource from which a connectivity check will be 3806 initiated. 3807 :type resource_id: str 3808 :param port: The source port from which a connectivity check will be performed. 3809 :type port: int 3810 """ 3811 3812 _validation = { 3813 'resource_id': {'required': True}, 3814 } 3815 3816 _attribute_map = { 3817 'resource_id': {'key': 'resourceId', 'type': 'str'}, 3818 'port': {'key': 'port', 'type': 'int'}, 3819 } 3820 3821 def __init__( 3822 self, 3823 *, 3824 resource_id: str, 3825 port: Optional[int] = None, 3826 **kwargs 3827 ): 3828 super(ConnectivitySource, self).__init__(**kwargs) 3829 self.resource_id = resource_id 3830 self.port = port 3831 3832 3833class DdosProtectionPlan(msrest.serialization.Model): 3834 """A DDoS protection plan in a resource group. 3835 3836 Variables are only populated by the server, and will be ignored when sending a request. 3837 3838 :ivar id: Resource ID. 3839 :vartype id: str 3840 :ivar name: Resource name. 3841 :vartype name: str 3842 :ivar type: Resource type. 3843 :vartype type: str 3844 :param location: Resource location. 3845 :type location: str 3846 :param tags: A set of tags. Resource tags. 3847 :type tags: dict[str, str] 3848 :ivar etag: A unique read-only string that changes whenever the resource is updated. 3849 :vartype etag: str 3850 :ivar resource_guid: The resource GUID property of the DDoS protection plan resource. It 3851 uniquely identifies the resource, even if the user changes its name or migrate the resource 3852 across subscriptions or resource groups. 3853 :vartype resource_guid: str 3854 :ivar provisioning_state: The provisioning state of the DDoS protection plan resource. Possible 3855 values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'. 3856 :vartype provisioning_state: str 3857 :ivar virtual_networks: The list of virtual networks associated with the DDoS protection plan 3858 resource. This list is read-only. 3859 :vartype virtual_networks: list[~azure.mgmt.network.v2018_04_01.models.SubResource] 3860 """ 3861 3862 _validation = { 3863 'id': {'readonly': True}, 3864 'name': {'readonly': True}, 3865 'type': {'readonly': True}, 3866 'etag': {'readonly': True}, 3867 'resource_guid': {'readonly': True}, 3868 'provisioning_state': {'readonly': True}, 3869 'virtual_networks': {'readonly': True}, 3870 } 3871 3872 _attribute_map = { 3873 'id': {'key': 'id', 'type': 'str'}, 3874 'name': {'key': 'name', 'type': 'str'}, 3875 'type': {'key': 'type', 'type': 'str'}, 3876 'location': {'key': 'location', 'type': 'str'}, 3877 'tags': {'key': 'tags', 'type': '{str}'}, 3878 'etag': {'key': 'etag', 'type': 'str'}, 3879 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 3880 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3881 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[SubResource]'}, 3882 } 3883 3884 def __init__( 3885 self, 3886 *, 3887 location: Optional[str] = None, 3888 tags: Optional[Dict[str, str]] = None, 3889 **kwargs 3890 ): 3891 super(DdosProtectionPlan, self).__init__(**kwargs) 3892 self.id = None 3893 self.name = None 3894 self.type = None 3895 self.location = location 3896 self.tags = tags 3897 self.etag = None 3898 self.resource_guid = None 3899 self.provisioning_state = None 3900 self.virtual_networks = None 3901 3902 3903class DdosProtectionPlanListResult(msrest.serialization.Model): 3904 """A list of DDoS protection plans. 3905 3906 Variables are only populated by the server, and will be ignored when sending a request. 3907 3908 :param value: A list of DDoS protection plans. 3909 :type value: list[~azure.mgmt.network.v2018_04_01.models.DdosProtectionPlan] 3910 :ivar next_link: The URL to get the next set of results. 3911 :vartype next_link: str 3912 """ 3913 3914 _validation = { 3915 'next_link': {'readonly': True}, 3916 } 3917 3918 _attribute_map = { 3919 'value': {'key': 'value', 'type': '[DdosProtectionPlan]'}, 3920 'next_link': {'key': 'nextLink', 'type': 'str'}, 3921 } 3922 3923 def __init__( 3924 self, 3925 *, 3926 value: Optional[List["DdosProtectionPlan"]] = None, 3927 **kwargs 3928 ): 3929 super(DdosProtectionPlanListResult, self).__init__(**kwargs) 3930 self.value = value 3931 self.next_link = None 3932 3933 3934class DeviceProperties(msrest.serialization.Model): 3935 """List of properties of the device. 3936 3937 :param device_vendor: Name of the device Vendor. 3938 :type device_vendor: str 3939 :param device_model: Model of the device. 3940 :type device_model: str 3941 :param link_speed_in_mbps: Link speed. 3942 :type link_speed_in_mbps: int 3943 """ 3944 3945 _attribute_map = { 3946 'device_vendor': {'key': 'deviceVendor', 'type': 'str'}, 3947 'device_model': {'key': 'deviceModel', 'type': 'str'}, 3948 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, 3949 } 3950 3951 def __init__( 3952 self, 3953 *, 3954 device_vendor: Optional[str] = None, 3955 device_model: Optional[str] = None, 3956 link_speed_in_mbps: Optional[int] = None, 3957 **kwargs 3958 ): 3959 super(DeviceProperties, self).__init__(**kwargs) 3960 self.device_vendor = device_vendor 3961 self.device_model = device_model 3962 self.link_speed_in_mbps = link_speed_in_mbps 3963 3964 3965class DhcpOptions(msrest.serialization.Model): 3966 """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. 3967 3968 :param dns_servers: The list of DNS servers IP addresses. 3969 :type dns_servers: list[str] 3970 """ 3971 3972 _attribute_map = { 3973 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, 3974 } 3975 3976 def __init__( 3977 self, 3978 *, 3979 dns_servers: Optional[List[str]] = None, 3980 **kwargs 3981 ): 3982 super(DhcpOptions, self).__init__(**kwargs) 3983 self.dns_servers = dns_servers 3984 3985 3986class Dimension(msrest.serialization.Model): 3987 """Dimension of the metric. 3988 3989 :param name: The name of the dimension. 3990 :type name: str 3991 :param display_name: The display name of the dimension. 3992 :type display_name: str 3993 :param internal_name: The internal name of the dimension. 3994 :type internal_name: str 3995 """ 3996 3997 _attribute_map = { 3998 'name': {'key': 'name', 'type': 'str'}, 3999 'display_name': {'key': 'displayName', 'type': 'str'}, 4000 'internal_name': {'key': 'internalName', 'type': 'str'}, 4001 } 4002 4003 def __init__( 4004 self, 4005 *, 4006 name: Optional[str] = None, 4007 display_name: Optional[str] = None, 4008 internal_name: Optional[str] = None, 4009 **kwargs 4010 ): 4011 super(Dimension, self).__init__(**kwargs) 4012 self.name = name 4013 self.display_name = display_name 4014 self.internal_name = internal_name 4015 4016 4017class DnsNameAvailabilityResult(msrest.serialization.Model): 4018 """Response for the CheckDnsNameAvailability API service call. 4019 4020 :param available: Domain availability (True/False). 4021 :type available: bool 4022 """ 4023 4024 _attribute_map = { 4025 'available': {'key': 'available', 'type': 'bool'}, 4026 } 4027 4028 def __init__( 4029 self, 4030 *, 4031 available: Optional[bool] = None, 4032 **kwargs 4033 ): 4034 super(DnsNameAvailabilityResult, self).__init__(**kwargs) 4035 self.available = available 4036 4037 4038class EffectiveNetworkSecurityGroup(msrest.serialization.Model): 4039 """Effective network security group. 4040 4041 :param network_security_group: The ID of network security group that is applied. 4042 :type network_security_group: ~azure.mgmt.network.v2018_04_01.models.SubResource 4043 :param association: Associated resources. 4044 :type association: 4045 ~azure.mgmt.network.v2018_04_01.models.EffectiveNetworkSecurityGroupAssociation 4046 :param effective_security_rules: A collection of effective security rules. 4047 :type effective_security_rules: 4048 list[~azure.mgmt.network.v2018_04_01.models.EffectiveNetworkSecurityRule] 4049 :param tag_map: Mapping of tags to list of IP Addresses included within the tag. 4050 :type tag_map: str 4051 """ 4052 4053 _attribute_map = { 4054 'network_security_group': {'key': 'networkSecurityGroup', 'type': 'SubResource'}, 4055 'association': {'key': 'association', 'type': 'EffectiveNetworkSecurityGroupAssociation'}, 4056 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, 4057 'tag_map': {'key': 'tagMap', 'type': 'str'}, 4058 } 4059 4060 def __init__( 4061 self, 4062 *, 4063 network_security_group: Optional["SubResource"] = None, 4064 association: Optional["EffectiveNetworkSecurityGroupAssociation"] = None, 4065 effective_security_rules: Optional[List["EffectiveNetworkSecurityRule"]] = None, 4066 tag_map: Optional[str] = None, 4067 **kwargs 4068 ): 4069 super(EffectiveNetworkSecurityGroup, self).__init__(**kwargs) 4070 self.network_security_group = network_security_group 4071 self.association = association 4072 self.effective_security_rules = effective_security_rules 4073 self.tag_map = tag_map 4074 4075 4076class EffectiveNetworkSecurityGroupAssociation(msrest.serialization.Model): 4077 """The effective network security group association. 4078 4079 :param subnet: The ID of the subnet if assigned. 4080 :type subnet: ~azure.mgmt.network.v2018_04_01.models.SubResource 4081 :param network_interface: The ID of the network interface if assigned. 4082 :type network_interface: ~azure.mgmt.network.v2018_04_01.models.SubResource 4083 """ 4084 4085 _attribute_map = { 4086 'subnet': {'key': 'subnet', 'type': 'SubResource'}, 4087 'network_interface': {'key': 'networkInterface', 'type': 'SubResource'}, 4088 } 4089 4090 def __init__( 4091 self, 4092 *, 4093 subnet: Optional["SubResource"] = None, 4094 network_interface: Optional["SubResource"] = None, 4095 **kwargs 4096 ): 4097 super(EffectiveNetworkSecurityGroupAssociation, self).__init__(**kwargs) 4098 self.subnet = subnet 4099 self.network_interface = network_interface 4100 4101 4102class EffectiveNetworkSecurityGroupListResult(msrest.serialization.Model): 4103 """Response for list effective network security groups API service call. 4104 4105 Variables are only populated by the server, and will be ignored when sending a request. 4106 4107 :param value: A list of effective network security groups. 4108 :type value: list[~azure.mgmt.network.v2018_04_01.models.EffectiveNetworkSecurityGroup] 4109 :ivar next_link: The URL to get the next set of results. 4110 :vartype next_link: str 4111 """ 4112 4113 _validation = { 4114 'next_link': {'readonly': True}, 4115 } 4116 4117 _attribute_map = { 4118 'value': {'key': 'value', 'type': '[EffectiveNetworkSecurityGroup]'}, 4119 'next_link': {'key': 'nextLink', 'type': 'str'}, 4120 } 4121 4122 def __init__( 4123 self, 4124 *, 4125 value: Optional[List["EffectiveNetworkSecurityGroup"]] = None, 4126 **kwargs 4127 ): 4128 super(EffectiveNetworkSecurityGroupListResult, self).__init__(**kwargs) 4129 self.value = value 4130 self.next_link = None 4131 4132 4133class EffectiveNetworkSecurityRule(msrest.serialization.Model): 4134 """Effective network security rules. 4135 4136 :param name: The name of the security rule specified by the user (if created by the user). 4137 :type name: str 4138 :param protocol: The network protocol this rule applies to. Possible values are: 'Tcp', 'Udp', 4139 and 'All'. Possible values include: "Tcp", "Udp", "All". 4140 :type protocol: str or ~azure.mgmt.network.v2018_04_01.models.EffectiveSecurityRuleProtocol 4141 :param source_port_range: The source port or range. 4142 :type source_port_range: str 4143 :param destination_port_range: The destination port or range. 4144 :type destination_port_range: str 4145 :param source_port_ranges: The source port ranges. Expected values include a single integer 4146 between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*). 4147 :type source_port_ranges: list[str] 4148 :param destination_port_ranges: The destination port ranges. Expected values include a single 4149 integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*). 4150 :type destination_port_ranges: list[str] 4151 :param source_address_prefix: The source address prefix. 4152 :type source_address_prefix: str 4153 :param destination_address_prefix: The destination address prefix. 4154 :type destination_address_prefix: str 4155 :param source_address_prefixes: The source address prefixes. Expected values include CIDR IP 4156 ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the 4157 asterisk (*). 4158 :type source_address_prefixes: list[str] 4159 :param destination_address_prefixes: The destination address prefixes. Expected values include 4160 CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and 4161 the asterisk (*). 4162 :type destination_address_prefixes: list[str] 4163 :param expanded_source_address_prefix: The expanded source address prefix. 4164 :type expanded_source_address_prefix: list[str] 4165 :param expanded_destination_address_prefix: Expanded destination address prefix. 4166 :type expanded_destination_address_prefix: list[str] 4167 :param access: Whether network traffic is allowed or denied. Possible values are: 'Allow' and 4168 'Deny'. Possible values include: "Allow", "Deny". 4169 :type access: str or ~azure.mgmt.network.v2018_04_01.models.SecurityRuleAccess 4170 :param priority: The priority of the rule. 4171 :type priority: int 4172 :param direction: The direction of the rule. Possible values are: 'Inbound and Outbound'. 4173 Possible values include: "Inbound", "Outbound". 4174 :type direction: str or ~azure.mgmt.network.v2018_04_01.models.SecurityRuleDirection 4175 """ 4176 4177 _attribute_map = { 4178 'name': {'key': 'name', 'type': 'str'}, 4179 'protocol': {'key': 'protocol', 'type': 'str'}, 4180 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, 4181 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, 4182 'source_port_ranges': {'key': 'sourcePortRanges', 'type': '[str]'}, 4183 'destination_port_ranges': {'key': 'destinationPortRanges', 'type': '[str]'}, 4184 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, 4185 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, 4186 'source_address_prefixes': {'key': 'sourceAddressPrefixes', 'type': '[str]'}, 4187 'destination_address_prefixes': {'key': 'destinationAddressPrefixes', 'type': '[str]'}, 4188 'expanded_source_address_prefix': {'key': 'expandedSourceAddressPrefix', 'type': '[str]'}, 4189 'expanded_destination_address_prefix': {'key': 'expandedDestinationAddressPrefix', 'type': '[str]'}, 4190 'access': {'key': 'access', 'type': 'str'}, 4191 'priority': {'key': 'priority', 'type': 'int'}, 4192 'direction': {'key': 'direction', 'type': 'str'}, 4193 } 4194 4195 def __init__( 4196 self, 4197 *, 4198 name: Optional[str] = None, 4199 protocol: Optional[Union[str, "EffectiveSecurityRuleProtocol"]] = None, 4200 source_port_range: Optional[str] = None, 4201 destination_port_range: Optional[str] = None, 4202 source_port_ranges: Optional[List[str]] = None, 4203 destination_port_ranges: Optional[List[str]] = None, 4204 source_address_prefix: Optional[str] = None, 4205 destination_address_prefix: Optional[str] = None, 4206 source_address_prefixes: Optional[List[str]] = None, 4207 destination_address_prefixes: Optional[List[str]] = None, 4208 expanded_source_address_prefix: Optional[List[str]] = None, 4209 expanded_destination_address_prefix: Optional[List[str]] = None, 4210 access: Optional[Union[str, "SecurityRuleAccess"]] = None, 4211 priority: Optional[int] = None, 4212 direction: Optional[Union[str, "SecurityRuleDirection"]] = None, 4213 **kwargs 4214 ): 4215 super(EffectiveNetworkSecurityRule, self).__init__(**kwargs) 4216 self.name = name 4217 self.protocol = protocol 4218 self.source_port_range = source_port_range 4219 self.destination_port_range = destination_port_range 4220 self.source_port_ranges = source_port_ranges 4221 self.destination_port_ranges = destination_port_ranges 4222 self.source_address_prefix = source_address_prefix 4223 self.destination_address_prefix = destination_address_prefix 4224 self.source_address_prefixes = source_address_prefixes 4225 self.destination_address_prefixes = destination_address_prefixes 4226 self.expanded_source_address_prefix = expanded_source_address_prefix 4227 self.expanded_destination_address_prefix = expanded_destination_address_prefix 4228 self.access = access 4229 self.priority = priority 4230 self.direction = direction 4231 4232 4233class EffectiveRoute(msrest.serialization.Model): 4234 """Effective Route. 4235 4236 :param name: The name of the user defined route. This is optional. 4237 :type name: str 4238 :param source: Who created the route. Possible values are: 'Unknown', 'User', 4239 'VirtualNetworkGateway', and 'Default'. Possible values include: "Unknown", "User", 4240 "VirtualNetworkGateway", "Default". 4241 :type source: str or ~azure.mgmt.network.v2018_04_01.models.EffectiveRouteSource 4242 :param state: The value of effective route. Possible values are: 'Active' and 'Invalid'. 4243 Possible values include: "Active", "Invalid". 4244 :type state: str or ~azure.mgmt.network.v2018_04_01.models.EffectiveRouteState 4245 :param address_prefix: The address prefixes of the effective routes in CIDR notation. 4246 :type address_prefix: list[str] 4247 :param next_hop_ip_address: The IP address of the next hop of the effective route. 4248 :type next_hop_ip_address: list[str] 4249 :param next_hop_type: The type of Azure hop the packet should be sent to. Possible values are: 4250 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible 4251 values include: "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None". 4252 :type next_hop_type: str or ~azure.mgmt.network.v2018_04_01.models.RouteNextHopType 4253 """ 4254 4255 _attribute_map = { 4256 'name': {'key': 'name', 'type': 'str'}, 4257 'source': {'key': 'source', 'type': 'str'}, 4258 'state': {'key': 'state', 'type': 'str'}, 4259 'address_prefix': {'key': 'addressPrefix', 'type': '[str]'}, 4260 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': '[str]'}, 4261 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, 4262 } 4263 4264 def __init__( 4265 self, 4266 *, 4267 name: Optional[str] = None, 4268 source: Optional[Union[str, "EffectiveRouteSource"]] = None, 4269 state: Optional[Union[str, "EffectiveRouteState"]] = None, 4270 address_prefix: Optional[List[str]] = None, 4271 next_hop_ip_address: Optional[List[str]] = None, 4272 next_hop_type: Optional[Union[str, "RouteNextHopType"]] = None, 4273 **kwargs 4274 ): 4275 super(EffectiveRoute, self).__init__(**kwargs) 4276 self.name = name 4277 self.source = source 4278 self.state = state 4279 self.address_prefix = address_prefix 4280 self.next_hop_ip_address = next_hop_ip_address 4281 self.next_hop_type = next_hop_type 4282 4283 4284class EffectiveRouteListResult(msrest.serialization.Model): 4285 """Response for list effective route API service call. 4286 4287 Variables are only populated by the server, and will be ignored when sending a request. 4288 4289 :param value: A list of effective routes. 4290 :type value: list[~azure.mgmt.network.v2018_04_01.models.EffectiveRoute] 4291 :ivar next_link: The URL to get the next set of results. 4292 :vartype next_link: str 4293 """ 4294 4295 _validation = { 4296 'next_link': {'readonly': True}, 4297 } 4298 4299 _attribute_map = { 4300 'value': {'key': 'value', 'type': '[EffectiveRoute]'}, 4301 'next_link': {'key': 'nextLink', 'type': 'str'}, 4302 } 4303 4304 def __init__( 4305 self, 4306 *, 4307 value: Optional[List["EffectiveRoute"]] = None, 4308 **kwargs 4309 ): 4310 super(EffectiveRouteListResult, self).__init__(**kwargs) 4311 self.value = value 4312 self.next_link = None 4313 4314 4315class EndpointServiceResult(SubResource): 4316 """Endpoint service. 4317 4318 Variables are only populated by the server, and will be ignored when sending a request. 4319 4320 :param id: Resource ID. 4321 :type id: str 4322 :ivar name: Name of the endpoint service. 4323 :vartype name: str 4324 :ivar type: Type of the endpoint service. 4325 :vartype type: str 4326 """ 4327 4328 _validation = { 4329 'name': {'readonly': True}, 4330 'type': {'readonly': True}, 4331 } 4332 4333 _attribute_map = { 4334 'id': {'key': 'id', 'type': 'str'}, 4335 'name': {'key': 'name', 'type': 'str'}, 4336 'type': {'key': 'type', 'type': 'str'}, 4337 } 4338 4339 def __init__( 4340 self, 4341 *, 4342 id: Optional[str] = None, 4343 **kwargs 4344 ): 4345 super(EndpointServiceResult, self).__init__(id=id, **kwargs) 4346 self.name = None 4347 self.type = None 4348 4349 4350class EndpointServicesListResult(msrest.serialization.Model): 4351 """Response for the ListAvailableEndpointServices API service call. 4352 4353 :param value: List of available endpoint services in a region. 4354 :type value: list[~azure.mgmt.network.v2018_04_01.models.EndpointServiceResult] 4355 :param next_link: The URL to get the next set of results. 4356 :type next_link: str 4357 """ 4358 4359 _attribute_map = { 4360 'value': {'key': 'value', 'type': '[EndpointServiceResult]'}, 4361 'next_link': {'key': 'nextLink', 'type': 'str'}, 4362 } 4363 4364 def __init__( 4365 self, 4366 *, 4367 value: Optional[List["EndpointServiceResult"]] = None, 4368 next_link: Optional[str] = None, 4369 **kwargs 4370 ): 4371 super(EndpointServicesListResult, self).__init__(**kwargs) 4372 self.value = value 4373 self.next_link = next_link 4374 4375 4376class Error(msrest.serialization.Model): 4377 """Error. 4378 4379 :param code: 4380 :type code: str 4381 :param message: 4382 :type message: str 4383 :param target: 4384 :type target: str 4385 :param details: 4386 :type details: list[~azure.mgmt.network.v2018_04_01.models.ErrorDetails] 4387 :param inner_error: 4388 :type inner_error: str 4389 """ 4390 4391 _attribute_map = { 4392 'code': {'key': 'code', 'type': 'str'}, 4393 'message': {'key': 'message', 'type': 'str'}, 4394 'target': {'key': 'target', 'type': 'str'}, 4395 'details': {'key': 'details', 'type': '[ErrorDetails]'}, 4396 'inner_error': {'key': 'innerError', 'type': 'str'}, 4397 } 4398 4399 def __init__( 4400 self, 4401 *, 4402 code: Optional[str] = None, 4403 message: Optional[str] = None, 4404 target: Optional[str] = None, 4405 details: Optional[List["ErrorDetails"]] = None, 4406 inner_error: Optional[str] = None, 4407 **kwargs 4408 ): 4409 super(Error, self).__init__(**kwargs) 4410 self.code = code 4411 self.message = message 4412 self.target = target 4413 self.details = details 4414 self.inner_error = inner_error 4415 4416 4417class ErrorDetails(msrest.serialization.Model): 4418 """ErrorDetails. 4419 4420 :param code: 4421 :type code: str 4422 :param target: 4423 :type target: str 4424 :param message: 4425 :type message: str 4426 """ 4427 4428 _attribute_map = { 4429 'code': {'key': 'code', 'type': 'str'}, 4430 'target': {'key': 'target', 'type': 'str'}, 4431 'message': {'key': 'message', 'type': 'str'}, 4432 } 4433 4434 def __init__( 4435 self, 4436 *, 4437 code: Optional[str] = None, 4438 target: Optional[str] = None, 4439 message: Optional[str] = None, 4440 **kwargs 4441 ): 4442 super(ErrorDetails, self).__init__(**kwargs) 4443 self.code = code 4444 self.target = target 4445 self.message = message 4446 4447 4448class ExpressRouteCircuit(Resource): 4449 """ExpressRouteCircuit resource. 4450 4451 Variables are only populated by the server, and will be ignored when sending a request. 4452 4453 :param id: Resource ID. 4454 :type id: str 4455 :ivar name: Resource name. 4456 :vartype name: str 4457 :ivar type: Resource type. 4458 :vartype type: str 4459 :param location: Resource location. 4460 :type location: str 4461 :param tags: A set of tags. Resource tags. 4462 :type tags: dict[str, str] 4463 :param sku: The SKU. 4464 :type sku: ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitSku 4465 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 4466 :vartype etag: str 4467 :param allow_classic_operations: Allow classic operations. 4468 :type allow_classic_operations: bool 4469 :param circuit_provisioning_state: The CircuitProvisioningState state of the resource. 4470 :type circuit_provisioning_state: str 4471 :param service_provider_provisioning_state: The ServiceProviderProvisioningState state of the 4472 resource. Possible values are 'NotProvisioned', 'Provisioning', 'Provisioned', and 4473 'Deprovisioning'. Possible values include: "NotProvisioned", "Provisioning", "Provisioned", 4474 "Deprovisioning". 4475 :type service_provider_provisioning_state: str or 4476 ~azure.mgmt.network.v2018_04_01.models.ServiceProviderProvisioningState 4477 :param authorizations: The list of authorizations. 4478 :type authorizations: 4479 list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitAuthorization] 4480 :param peerings: The list of peerings. 4481 :type peerings: list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeering] 4482 :param service_key: The ServiceKey. 4483 :type service_key: str 4484 :param service_provider_notes: The ServiceProviderNotes. 4485 :type service_provider_notes: str 4486 :param service_provider_properties: The ServiceProviderProperties. 4487 :type service_provider_properties: 4488 ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitServiceProviderProperties 4489 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 4490 values are: 'Updating', 'Deleting', and 'Failed'. 4491 :type provisioning_state: str 4492 :param gateway_manager_etag: The GatewayManager Etag. 4493 :type gateway_manager_etag: str 4494 """ 4495 4496 _validation = { 4497 'name': {'readonly': True}, 4498 'type': {'readonly': True}, 4499 'etag': {'readonly': True}, 4500 } 4501 4502 _attribute_map = { 4503 'id': {'key': 'id', 'type': 'str'}, 4504 'name': {'key': 'name', 'type': 'str'}, 4505 'type': {'key': 'type', 'type': 'str'}, 4506 'location': {'key': 'location', 'type': 'str'}, 4507 'tags': {'key': 'tags', 'type': '{str}'}, 4508 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, 4509 'etag': {'key': 'etag', 'type': 'str'}, 4510 'allow_classic_operations': {'key': 'properties.allowClassicOperations', 'type': 'bool'}, 4511 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, 4512 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, 4513 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, 4514 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, 4515 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, 4516 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, 4517 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, 4518 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4519 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, 4520 } 4521 4522 def __init__( 4523 self, 4524 *, 4525 id: Optional[str] = None, 4526 location: Optional[str] = None, 4527 tags: Optional[Dict[str, str]] = None, 4528 sku: Optional["ExpressRouteCircuitSku"] = None, 4529 allow_classic_operations: Optional[bool] = None, 4530 circuit_provisioning_state: Optional[str] = None, 4531 service_provider_provisioning_state: Optional[Union[str, "ServiceProviderProvisioningState"]] = None, 4532 authorizations: Optional[List["ExpressRouteCircuitAuthorization"]] = None, 4533 peerings: Optional[List["ExpressRouteCircuitPeering"]] = None, 4534 service_key: Optional[str] = None, 4535 service_provider_notes: Optional[str] = None, 4536 service_provider_properties: Optional["ExpressRouteCircuitServiceProviderProperties"] = None, 4537 provisioning_state: Optional[str] = None, 4538 gateway_manager_etag: Optional[str] = None, 4539 **kwargs 4540 ): 4541 super(ExpressRouteCircuit, self).__init__(id=id, location=location, tags=tags, **kwargs) 4542 self.sku = sku 4543 self.etag = None 4544 self.allow_classic_operations = allow_classic_operations 4545 self.circuit_provisioning_state = circuit_provisioning_state 4546 self.service_provider_provisioning_state = service_provider_provisioning_state 4547 self.authorizations = authorizations 4548 self.peerings = peerings 4549 self.service_key = service_key 4550 self.service_provider_notes = service_provider_notes 4551 self.service_provider_properties = service_provider_properties 4552 self.provisioning_state = provisioning_state 4553 self.gateway_manager_etag = gateway_manager_etag 4554 4555 4556class ExpressRouteCircuitArpTable(msrest.serialization.Model): 4557 """The ARP table associated with the ExpressRouteCircuit. 4558 4559 :param age: Entry age in minutes. 4560 :type age: int 4561 :param interface: Interface address. 4562 :type interface: str 4563 :param ip_address: The IP address. 4564 :type ip_address: str 4565 :param mac_address: The MAC address. 4566 :type mac_address: str 4567 """ 4568 4569 _attribute_map = { 4570 'age': {'key': 'age', 'type': 'int'}, 4571 'interface': {'key': 'interface', 'type': 'str'}, 4572 'ip_address': {'key': 'ipAddress', 'type': 'str'}, 4573 'mac_address': {'key': 'macAddress', 'type': 'str'}, 4574 } 4575 4576 def __init__( 4577 self, 4578 *, 4579 age: Optional[int] = None, 4580 interface: Optional[str] = None, 4581 ip_address: Optional[str] = None, 4582 mac_address: Optional[str] = None, 4583 **kwargs 4584 ): 4585 super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) 4586 self.age = age 4587 self.interface = interface 4588 self.ip_address = ip_address 4589 self.mac_address = mac_address 4590 4591 4592class ExpressRouteCircuitAuthorization(SubResource): 4593 """Authorization in an ExpressRouteCircuit resource. 4594 4595 Variables are only populated by the server, and will be ignored when sending a request. 4596 4597 :param id: Resource ID. 4598 :type id: str 4599 :param name: Gets name of the resource that is unique within a resource group. This name can be 4600 used to access the resource. 4601 :type name: str 4602 :ivar etag: A unique read-only string that changes whenever the resource is updated. 4603 :vartype etag: str 4604 :param authorization_key: The authorization key. 4605 :type authorization_key: str 4606 :param authorization_use_status: AuthorizationUseStatus. Possible values are: 'Available' and 4607 'InUse'. Possible values include: "Available", "InUse". 4608 :type authorization_use_status: str or 4609 ~azure.mgmt.network.v2018_04_01.models.AuthorizationUseStatus 4610 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 4611 values are: 'Updating', 'Deleting', and 'Failed'. 4612 :type provisioning_state: str 4613 """ 4614 4615 _validation = { 4616 'etag': {'readonly': True}, 4617 } 4618 4619 _attribute_map = { 4620 'id': {'key': 'id', 'type': 'str'}, 4621 'name': {'key': 'name', 'type': 'str'}, 4622 'etag': {'key': 'etag', 'type': 'str'}, 4623 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 4624 'authorization_use_status': {'key': 'properties.authorizationUseStatus', 'type': 'str'}, 4625 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4626 } 4627 4628 def __init__( 4629 self, 4630 *, 4631 id: Optional[str] = None, 4632 name: Optional[str] = None, 4633 authorization_key: Optional[str] = None, 4634 authorization_use_status: Optional[Union[str, "AuthorizationUseStatus"]] = None, 4635 provisioning_state: Optional[str] = None, 4636 **kwargs 4637 ): 4638 super(ExpressRouteCircuitAuthorization, self).__init__(id=id, **kwargs) 4639 self.name = name 4640 self.etag = None 4641 self.authorization_key = authorization_key 4642 self.authorization_use_status = authorization_use_status 4643 self.provisioning_state = provisioning_state 4644 4645 4646class ExpressRouteCircuitConnection(SubResource): 4647 """Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. 4648 4649 Variables are only populated by the server, and will be ignored when sending a request. 4650 4651 :param id: Resource ID. 4652 :type id: str 4653 :param name: Gets name of the resource that is unique within a resource group. This name can be 4654 used to access the resource. 4655 :type name: str 4656 :ivar etag: A unique read-only string that changes whenever the resource is updated. 4657 :vartype etag: str 4658 :param express_route_circuit_peering: Reference to Express Route Circuit Private Peering 4659 Resource of the circuit initiating connection. 4660 :type express_route_circuit_peering: ~azure.mgmt.network.v2018_04_01.models.SubResource 4661 :param peer_express_route_circuit_peering: Reference to Express Route Circuit Private Peering 4662 Resource of the peered circuit. 4663 :type peer_express_route_circuit_peering: ~azure.mgmt.network.v2018_04_01.models.SubResource 4664 :param address_prefix: /29 IP address space to carve out Customer addresses for tunnels. 4665 :type address_prefix: str 4666 :param authorization_key: The authorization key. 4667 :type authorization_key: str 4668 :ivar circuit_connection_status: Express Route Circuit Connection State. Possible values are: 4669 'Connected' and 'Disconnected'. Possible values include: "Connected", "Connecting", 4670 "Disconnected". 4671 :vartype circuit_connection_status: str or 4672 ~azure.mgmt.network.v2018_04_01.models.CircuitConnectionStatus 4673 :ivar provisioning_state: Provisioning state of the circuit connection resource. Possible 4674 values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'. 4675 :vartype provisioning_state: str 4676 """ 4677 4678 _validation = { 4679 'etag': {'readonly': True}, 4680 'circuit_connection_status': {'readonly': True}, 4681 'provisioning_state': {'readonly': True}, 4682 } 4683 4684 _attribute_map = { 4685 'id': {'key': 'id', 'type': 'str'}, 4686 'name': {'key': 'name', 'type': 'str'}, 4687 'etag': {'key': 'etag', 'type': 'str'}, 4688 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, 4689 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, 4690 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 4691 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 4692 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, 4693 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4694 } 4695 4696 def __init__( 4697 self, 4698 *, 4699 id: Optional[str] = None, 4700 name: Optional[str] = None, 4701 express_route_circuit_peering: Optional["SubResource"] = None, 4702 peer_express_route_circuit_peering: Optional["SubResource"] = None, 4703 address_prefix: Optional[str] = None, 4704 authorization_key: Optional[str] = None, 4705 **kwargs 4706 ): 4707 super(ExpressRouteCircuitConnection, self).__init__(id=id, **kwargs) 4708 self.name = name 4709 self.etag = None 4710 self.express_route_circuit_peering = express_route_circuit_peering 4711 self.peer_express_route_circuit_peering = peer_express_route_circuit_peering 4712 self.address_prefix = address_prefix 4713 self.authorization_key = authorization_key 4714 self.circuit_connection_status = None 4715 self.provisioning_state = None 4716 4717 4718class ExpressRouteCircuitListResult(msrest.serialization.Model): 4719 """Response for ListExpressRouteCircuit API service call. 4720 4721 :param value: A list of ExpressRouteCircuits in a resource group. 4722 :type value: list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuit] 4723 :param next_link: The URL to get the next set of results. 4724 :type next_link: str 4725 """ 4726 4727 _attribute_map = { 4728 'value': {'key': 'value', 'type': '[ExpressRouteCircuit]'}, 4729 'next_link': {'key': 'nextLink', 'type': 'str'}, 4730 } 4731 4732 def __init__( 4733 self, 4734 *, 4735 value: Optional[List["ExpressRouteCircuit"]] = None, 4736 next_link: Optional[str] = None, 4737 **kwargs 4738 ): 4739 super(ExpressRouteCircuitListResult, self).__init__(**kwargs) 4740 self.value = value 4741 self.next_link = next_link 4742 4743 4744class ExpressRouteCircuitPeering(SubResource): 4745 """Peering in an ExpressRouteCircuit resource. 4746 4747 Variables are only populated by the server, and will be ignored when sending a request. 4748 4749 :param id: Resource ID. 4750 :type id: str 4751 :param name: Gets name of the resource that is unique within a resource group. This name can be 4752 used to access the resource. 4753 :type name: str 4754 :ivar etag: A unique read-only string that changes whenever the resource is updated. 4755 :vartype etag: str 4756 :param peering_type: The peering type. Possible values include: "AzurePublicPeering", 4757 "AzurePrivatePeering", "MicrosoftPeering". 4758 :type peering_type: str or ~azure.mgmt.network.v2018_04_01.models.ExpressRoutePeeringType 4759 :param state: The peering state. Possible values include: "Disabled", "Enabled". 4760 :type state: str or ~azure.mgmt.network.v2018_04_01.models.ExpressRoutePeeringState 4761 :param azure_asn: The Azure ASN. 4762 :type azure_asn: int 4763 :param peer_asn: The peer ASN. 4764 :type peer_asn: long 4765 :param primary_peer_address_prefix: The primary address prefix. 4766 :type primary_peer_address_prefix: str 4767 :param secondary_peer_address_prefix: The secondary address prefix. 4768 :type secondary_peer_address_prefix: str 4769 :param primary_azure_port: The primary port. 4770 :type primary_azure_port: str 4771 :param secondary_azure_port: The secondary port. 4772 :type secondary_azure_port: str 4773 :param shared_key: The shared key. 4774 :type shared_key: str 4775 :param vlan_id: The VLAN ID. 4776 :type vlan_id: int 4777 :param microsoft_peering_config: The Microsoft peering configuration. 4778 :type microsoft_peering_config: 4779 ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeeringConfig 4780 :param stats: Gets peering stats. 4781 :type stats: ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitStats 4782 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 4783 values are: 'Updating', 'Deleting', and 'Failed'. 4784 :type provisioning_state: str 4785 :param gateway_manager_etag: The GatewayManager Etag. 4786 :type gateway_manager_etag: str 4787 :param last_modified_by: Gets whether the provider or the customer last modified the peering. 4788 :type last_modified_by: str 4789 :param route_filter: The reference of the RouteFilter resource. 4790 :type route_filter: ~azure.mgmt.network.v2018_04_01.models.RouteFilter 4791 :param ipv6_peering_config: The IPv6 peering configuration. 4792 :type ipv6_peering_config: 4793 ~azure.mgmt.network.v2018_04_01.models.Ipv6ExpressRouteCircuitPeeringConfig 4794 :param connections: The list of circuit connections associated with Azure Private Peering for 4795 this circuit. 4796 :type connections: list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitConnection] 4797 """ 4798 4799 _validation = { 4800 'etag': {'readonly': True}, 4801 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, 4802 } 4803 4804 _attribute_map = { 4805 'id': {'key': 'id', 'type': 'str'}, 4806 'name': {'key': 'name', 'type': 'str'}, 4807 'etag': {'key': 'etag', 'type': 'str'}, 4808 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, 4809 'state': {'key': 'properties.state', 'type': 'str'}, 4810 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, 4811 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, 4812 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, 4813 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, 4814 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, 4815 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, 4816 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 4817 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, 4818 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, 4819 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, 4820 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4821 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, 4822 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, 4823 'route_filter': {'key': 'properties.routeFilter', 'type': 'RouteFilter'}, 4824 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, 4825 'connections': {'key': 'properties.connections', 'type': '[ExpressRouteCircuitConnection]'}, 4826 } 4827 4828 def __init__( 4829 self, 4830 *, 4831 id: Optional[str] = None, 4832 name: Optional[str] = None, 4833 peering_type: Optional[Union[str, "ExpressRoutePeeringType"]] = None, 4834 state: Optional[Union[str, "ExpressRoutePeeringState"]] = None, 4835 azure_asn: Optional[int] = None, 4836 peer_asn: Optional[int] = None, 4837 primary_peer_address_prefix: Optional[str] = None, 4838 secondary_peer_address_prefix: Optional[str] = None, 4839 primary_azure_port: Optional[str] = None, 4840 secondary_azure_port: Optional[str] = None, 4841 shared_key: Optional[str] = None, 4842 vlan_id: Optional[int] = None, 4843 microsoft_peering_config: Optional["ExpressRouteCircuitPeeringConfig"] = None, 4844 stats: Optional["ExpressRouteCircuitStats"] = None, 4845 provisioning_state: Optional[str] = None, 4846 gateway_manager_etag: Optional[str] = None, 4847 last_modified_by: Optional[str] = None, 4848 route_filter: Optional["RouteFilter"] = None, 4849 ipv6_peering_config: Optional["Ipv6ExpressRouteCircuitPeeringConfig"] = None, 4850 connections: Optional[List["ExpressRouteCircuitConnection"]] = None, 4851 **kwargs 4852 ): 4853 super(ExpressRouteCircuitPeering, self).__init__(id=id, **kwargs) 4854 self.name = name 4855 self.etag = None 4856 self.peering_type = peering_type 4857 self.state = state 4858 self.azure_asn = azure_asn 4859 self.peer_asn = peer_asn 4860 self.primary_peer_address_prefix = primary_peer_address_prefix 4861 self.secondary_peer_address_prefix = secondary_peer_address_prefix 4862 self.primary_azure_port = primary_azure_port 4863 self.secondary_azure_port = secondary_azure_port 4864 self.shared_key = shared_key 4865 self.vlan_id = vlan_id 4866 self.microsoft_peering_config = microsoft_peering_config 4867 self.stats = stats 4868 self.provisioning_state = provisioning_state 4869 self.gateway_manager_etag = gateway_manager_etag 4870 self.last_modified_by = last_modified_by 4871 self.route_filter = route_filter 4872 self.ipv6_peering_config = ipv6_peering_config 4873 self.connections = connections 4874 4875 4876class ExpressRouteCircuitPeeringConfig(msrest.serialization.Model): 4877 """Specifies the peering configuration. 4878 4879 :param advertised_public_prefixes: The reference of AdvertisedPublicPrefixes. 4880 :type advertised_public_prefixes: list[str] 4881 :param advertised_communities: The communities of bgp peering. Specified for microsoft peering. 4882 :type advertised_communities: list[str] 4883 :param advertised_public_prefixes_state: AdvertisedPublicPrefixState of the Peering resource. 4884 Possible values are 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'. 4885 Possible values include: "NotConfigured", "Configuring", "Configured", "ValidationNeeded". 4886 :type advertised_public_prefixes_state: str or 4887 ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState 4888 :param legacy_mode: The legacy mode of the peering. 4889 :type legacy_mode: int 4890 :param customer_asn: The CustomerASN of the peering. 4891 :type customer_asn: int 4892 :param routing_registry_name: The RoutingRegistryName of the configuration. 4893 :type routing_registry_name: str 4894 """ 4895 4896 _attribute_map = { 4897 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, 4898 'advertised_communities': {'key': 'advertisedCommunities', 'type': '[str]'}, 4899 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, 4900 'legacy_mode': {'key': 'legacyMode', 'type': 'int'}, 4901 'customer_asn': {'key': 'customerASN', 'type': 'int'}, 4902 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, 4903 } 4904 4905 def __init__( 4906 self, 4907 *, 4908 advertised_public_prefixes: Optional[List[str]] = None, 4909 advertised_communities: Optional[List[str]] = None, 4910 advertised_public_prefixes_state: Optional[Union[str, "ExpressRouteCircuitPeeringAdvertisedPublicPrefixState"]] = None, 4911 legacy_mode: Optional[int] = None, 4912 customer_asn: Optional[int] = None, 4913 routing_registry_name: Optional[str] = None, 4914 **kwargs 4915 ): 4916 super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) 4917 self.advertised_public_prefixes = advertised_public_prefixes 4918 self.advertised_communities = advertised_communities 4919 self.advertised_public_prefixes_state = advertised_public_prefixes_state 4920 self.legacy_mode = legacy_mode 4921 self.customer_asn = customer_asn 4922 self.routing_registry_name = routing_registry_name 4923 4924 4925class ExpressRouteCircuitPeeringListResult(msrest.serialization.Model): 4926 """Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCircuit. 4927 4928 :param value: The peerings in an express route circuit. 4929 :type value: list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeering] 4930 :param next_link: The URL to get the next set of results. 4931 :type next_link: str 4932 """ 4933 4934 _attribute_map = { 4935 'value': {'key': 'value', 'type': '[ExpressRouteCircuitPeering]'}, 4936 'next_link': {'key': 'nextLink', 'type': 'str'}, 4937 } 4938 4939 def __init__( 4940 self, 4941 *, 4942 value: Optional[List["ExpressRouteCircuitPeering"]] = None, 4943 next_link: Optional[str] = None, 4944 **kwargs 4945 ): 4946 super(ExpressRouteCircuitPeeringListResult, self).__init__(**kwargs) 4947 self.value = value 4948 self.next_link = next_link 4949 4950 4951class ExpressRouteCircuitReference(msrest.serialization.Model): 4952 """ExpressRouteCircuitReference. 4953 4954 :param id: Corresponding Express Route Circuit Id. 4955 :type id: str 4956 """ 4957 4958 _attribute_map = { 4959 'id': {'key': 'id', 'type': 'str'}, 4960 } 4961 4962 def __init__( 4963 self, 4964 *, 4965 id: Optional[str] = None, 4966 **kwargs 4967 ): 4968 super(ExpressRouteCircuitReference, self).__init__(**kwargs) 4969 self.id = id 4970 4971 4972class ExpressRouteCircuitRoutesTable(msrest.serialization.Model): 4973 """The routes table associated with the ExpressRouteCircuit. 4974 4975 :param network: IP address of a network entity. 4976 :type network: str 4977 :param next_hop: NextHop address. 4978 :type next_hop: str 4979 :param loc_prf: Local preference value as set with the set local-preference route-map 4980 configuration command. 4981 :type loc_prf: str 4982 :param weight: Route Weight. 4983 :type weight: int 4984 :param path: Autonomous system paths to the destination network. 4985 :type path: str 4986 """ 4987 4988 _attribute_map = { 4989 'network': {'key': 'network', 'type': 'str'}, 4990 'next_hop': {'key': 'nextHop', 'type': 'str'}, 4991 'loc_prf': {'key': 'locPrf', 'type': 'str'}, 4992 'weight': {'key': 'weight', 'type': 'int'}, 4993 'path': {'key': 'path', 'type': 'str'}, 4994 } 4995 4996 def __init__( 4997 self, 4998 *, 4999 network: Optional[str] = None, 5000 next_hop: Optional[str] = None, 5001 loc_prf: Optional[str] = None, 5002 weight: Optional[int] = None, 5003 path: Optional[str] = None, 5004 **kwargs 5005 ): 5006 super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) 5007 self.network = network 5008 self.next_hop = next_hop 5009 self.loc_prf = loc_prf 5010 self.weight = weight 5011 self.path = path 5012 5013 5014class ExpressRouteCircuitRoutesTableSummary(msrest.serialization.Model): 5015 """The routes table associated with the ExpressRouteCircuit. 5016 5017 :param neighbor: IP address of the neighbor. 5018 :type neighbor: str 5019 :param v: BGP version number spoken to the neighbor. 5020 :type v: int 5021 :param as_property: Autonomous system number. 5022 :type as_property: int 5023 :param up_down: The length of time that the BGP session has been in the Established state, or 5024 the current status if not in the Established state. 5025 :type up_down: str 5026 :param state_pfx_rcd: Current state of the BGP session, and the number of prefixes that have 5027 been received from a neighbor or peer group. 5028 :type state_pfx_rcd: str 5029 """ 5030 5031 _attribute_map = { 5032 'neighbor': {'key': 'neighbor', 'type': 'str'}, 5033 'v': {'key': 'v', 'type': 'int'}, 5034 'as_property': {'key': 'as', 'type': 'int'}, 5035 'up_down': {'key': 'upDown', 'type': 'str'}, 5036 'state_pfx_rcd': {'key': 'statePfxRcd', 'type': 'str'}, 5037 } 5038 5039 def __init__( 5040 self, 5041 *, 5042 neighbor: Optional[str] = None, 5043 v: Optional[int] = None, 5044 as_property: Optional[int] = None, 5045 up_down: Optional[str] = None, 5046 state_pfx_rcd: Optional[str] = None, 5047 **kwargs 5048 ): 5049 super(ExpressRouteCircuitRoutesTableSummary, self).__init__(**kwargs) 5050 self.neighbor = neighbor 5051 self.v = v 5052 self.as_property = as_property 5053 self.up_down = up_down 5054 self.state_pfx_rcd = state_pfx_rcd 5055 5056 5057class ExpressRouteCircuitsArpTableListResult(msrest.serialization.Model): 5058 """Response for ListArpTable associated with the Express Route Circuits API. 5059 5060 :param value: Gets list of the ARP table. 5061 :type value: list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitArpTable] 5062 :param next_link: The URL to get the next set of results. 5063 :type next_link: str 5064 """ 5065 5066 _attribute_map = { 5067 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, 5068 'next_link': {'key': 'nextLink', 'type': 'str'}, 5069 } 5070 5071 def __init__( 5072 self, 5073 *, 5074 value: Optional[List["ExpressRouteCircuitArpTable"]] = None, 5075 next_link: Optional[str] = None, 5076 **kwargs 5077 ): 5078 super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) 5079 self.value = value 5080 self.next_link = next_link 5081 5082 5083class ExpressRouteCircuitServiceProviderProperties(msrest.serialization.Model): 5084 """Contains ServiceProviderProperties in an ExpressRouteCircuit. 5085 5086 :param service_provider_name: The serviceProviderName. 5087 :type service_provider_name: str 5088 :param peering_location: The peering location. 5089 :type peering_location: str 5090 :param bandwidth_in_mbps: The BandwidthInMbps. 5091 :type bandwidth_in_mbps: int 5092 """ 5093 5094 _attribute_map = { 5095 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, 5096 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, 5097 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, 5098 } 5099 5100 def __init__( 5101 self, 5102 *, 5103 service_provider_name: Optional[str] = None, 5104 peering_location: Optional[str] = None, 5105 bandwidth_in_mbps: Optional[int] = None, 5106 **kwargs 5107 ): 5108 super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) 5109 self.service_provider_name = service_provider_name 5110 self.peering_location = peering_location 5111 self.bandwidth_in_mbps = bandwidth_in_mbps 5112 5113 5114class ExpressRouteCircuitSku(msrest.serialization.Model): 5115 """Contains SKU in an ExpressRouteCircuit. 5116 5117 :param name: The name of the SKU. 5118 :type name: str 5119 :param tier: The tier of the SKU. Possible values are 'Standard' and 'Premium'. Possible values 5120 include: "Standard", "Premium". 5121 :type tier: str or ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitSkuTier 5122 :param family: The family of the SKU. Possible values are: 'UnlimitedData' and 'MeteredData'. 5123 Possible values include: "UnlimitedData", "MeteredData". 5124 :type family: str or ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitSkuFamily 5125 """ 5126 5127 _attribute_map = { 5128 'name': {'key': 'name', 'type': 'str'}, 5129 'tier': {'key': 'tier', 'type': 'str'}, 5130 'family': {'key': 'family', 'type': 'str'}, 5131 } 5132 5133 def __init__( 5134 self, 5135 *, 5136 name: Optional[str] = None, 5137 tier: Optional[Union[str, "ExpressRouteCircuitSkuTier"]] = None, 5138 family: Optional[Union[str, "ExpressRouteCircuitSkuFamily"]] = None, 5139 **kwargs 5140 ): 5141 super(ExpressRouteCircuitSku, self).__init__(**kwargs) 5142 self.name = name 5143 self.tier = tier 5144 self.family = family 5145 5146 5147class ExpressRouteCircuitsRoutesTableListResult(msrest.serialization.Model): 5148 """Response for ListRoutesTable associated with the Express Route Circuits API. 5149 5150 :param value: The list of routes table. 5151 :type value: list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitRoutesTable] 5152 :param next_link: The URL to get the next set of results. 5153 :type next_link: str 5154 """ 5155 5156 _attribute_map = { 5157 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, 5158 'next_link': {'key': 'nextLink', 'type': 'str'}, 5159 } 5160 5161 def __init__( 5162 self, 5163 *, 5164 value: Optional[List["ExpressRouteCircuitRoutesTable"]] = None, 5165 next_link: Optional[str] = None, 5166 **kwargs 5167 ): 5168 super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) 5169 self.value = value 5170 self.next_link = next_link 5171 5172 5173class ExpressRouteCircuitsRoutesTableSummaryListResult(msrest.serialization.Model): 5174 """Response for ListRoutesTable associated with the Express Route Circuits API. 5175 5176 :param value: A list of the routes table. 5177 :type value: list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitRoutesTableSummary] 5178 :param next_link: The URL to get the next set of results. 5179 :type next_link: str 5180 """ 5181 5182 _attribute_map = { 5183 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTableSummary]'}, 5184 'next_link': {'key': 'nextLink', 'type': 'str'}, 5185 } 5186 5187 def __init__( 5188 self, 5189 *, 5190 value: Optional[List["ExpressRouteCircuitRoutesTableSummary"]] = None, 5191 next_link: Optional[str] = None, 5192 **kwargs 5193 ): 5194 super(ExpressRouteCircuitsRoutesTableSummaryListResult, self).__init__(**kwargs) 5195 self.value = value 5196 self.next_link = next_link 5197 5198 5199class ExpressRouteCircuitStats(msrest.serialization.Model): 5200 """Contains stats associated with the peering. 5201 5202 :param primarybytes_in: Gets BytesIn of the peering. 5203 :type primarybytes_in: long 5204 :param primarybytes_out: Gets BytesOut of the peering. 5205 :type primarybytes_out: long 5206 :param secondarybytes_in: Gets BytesIn of the peering. 5207 :type secondarybytes_in: long 5208 :param secondarybytes_out: Gets BytesOut of the peering. 5209 :type secondarybytes_out: long 5210 """ 5211 5212 _attribute_map = { 5213 'primarybytes_in': {'key': 'primarybytesIn', 'type': 'long'}, 5214 'primarybytes_out': {'key': 'primarybytesOut', 'type': 'long'}, 5215 'secondarybytes_in': {'key': 'secondarybytesIn', 'type': 'long'}, 5216 'secondarybytes_out': {'key': 'secondarybytesOut', 'type': 'long'}, 5217 } 5218 5219 def __init__( 5220 self, 5221 *, 5222 primarybytes_in: Optional[int] = None, 5223 primarybytes_out: Optional[int] = None, 5224 secondarybytes_in: Optional[int] = None, 5225 secondarybytes_out: Optional[int] = None, 5226 **kwargs 5227 ): 5228 super(ExpressRouteCircuitStats, self).__init__(**kwargs) 5229 self.primarybytes_in = primarybytes_in 5230 self.primarybytes_out = primarybytes_out 5231 self.secondarybytes_in = secondarybytes_in 5232 self.secondarybytes_out = secondarybytes_out 5233 5234 5235class ExpressRouteCrossConnection(Resource): 5236 """ExpressRouteCrossConnection resource. 5237 5238 Variables are only populated by the server, and will be ignored when sending a request. 5239 5240 :param id: Resource ID. 5241 :type id: str 5242 :ivar name: Resource name. 5243 :vartype name: str 5244 :ivar type: Resource type. 5245 :vartype type: str 5246 :param location: Resource location. 5247 :type location: str 5248 :param tags: A set of tags. Resource tags. 5249 :type tags: dict[str, str] 5250 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 5251 :vartype etag: str 5252 :ivar primary_azure_port: The name of the primary port. 5253 :vartype primary_azure_port: str 5254 :ivar secondary_azure_port: The name of the secondary port. 5255 :vartype secondary_azure_port: str 5256 :ivar s_tag: The identifier of the circuit traffic. 5257 :vartype s_tag: int 5258 :param peering_location: The peering location of the ExpressRoute circuit. 5259 :type peering_location: str 5260 :param bandwidth_in_mbps: The circuit bandwidth In Mbps. 5261 :type bandwidth_in_mbps: int 5262 :param express_route_circuit: The ExpressRouteCircuit. 5263 :type express_route_circuit: 5264 ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitReference 5265 :param service_provider_provisioning_state: The provisioning state of the circuit in the 5266 connectivity provider system. Possible values are 'NotProvisioned', 'Provisioning', 5267 'Provisioned'. Possible values include: "NotProvisioned", "Provisioning", "Provisioned", 5268 "Deprovisioning". 5269 :type service_provider_provisioning_state: str or 5270 ~azure.mgmt.network.v2018_04_01.models.ServiceProviderProvisioningState 5271 :param service_provider_notes: Additional read only notes set by the connectivity provider. 5272 :type service_provider_notes: str 5273 :ivar provisioning_state: Gets the provisioning state of the public IP resource. Possible 5274 values are: 'Updating', 'Deleting', and 'Failed'. 5275 :vartype provisioning_state: str 5276 :param peerings: The list of peerings. 5277 :type peerings: list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnectionPeering] 5278 """ 5279 5280 _validation = { 5281 'name': {'readonly': True}, 5282 'type': {'readonly': True}, 5283 'etag': {'readonly': True}, 5284 'primary_azure_port': {'readonly': True}, 5285 'secondary_azure_port': {'readonly': True}, 5286 's_tag': {'readonly': True}, 5287 'provisioning_state': {'readonly': True}, 5288 } 5289 5290 _attribute_map = { 5291 'id': {'key': 'id', 'type': 'str'}, 5292 'name': {'key': 'name', 'type': 'str'}, 5293 'type': {'key': 'type', 'type': 'str'}, 5294 'location': {'key': 'location', 'type': 'str'}, 5295 'tags': {'key': 'tags', 'type': '{str}'}, 5296 'etag': {'key': 'etag', 'type': 'str'}, 5297 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, 5298 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, 5299 's_tag': {'key': 'properties.sTag', 'type': 'int'}, 5300 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, 5301 'bandwidth_in_mbps': {'key': 'properties.bandwidthInMbps', 'type': 'int'}, 5302 'express_route_circuit': {'key': 'properties.expressRouteCircuit', 'type': 'ExpressRouteCircuitReference'}, 5303 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, 5304 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, 5305 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5306 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCrossConnectionPeering]'}, 5307 } 5308 5309 def __init__( 5310 self, 5311 *, 5312 id: Optional[str] = None, 5313 location: Optional[str] = None, 5314 tags: Optional[Dict[str, str]] = None, 5315 peering_location: Optional[str] = None, 5316 bandwidth_in_mbps: Optional[int] = None, 5317 express_route_circuit: Optional["ExpressRouteCircuitReference"] = None, 5318 service_provider_provisioning_state: Optional[Union[str, "ServiceProviderProvisioningState"]] = None, 5319 service_provider_notes: Optional[str] = None, 5320 peerings: Optional[List["ExpressRouteCrossConnectionPeering"]] = None, 5321 **kwargs 5322 ): 5323 super(ExpressRouteCrossConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) 5324 self.etag = None 5325 self.primary_azure_port = None 5326 self.secondary_azure_port = None 5327 self.s_tag = None 5328 self.peering_location = peering_location 5329 self.bandwidth_in_mbps = bandwidth_in_mbps 5330 self.express_route_circuit = express_route_circuit 5331 self.service_provider_provisioning_state = service_provider_provisioning_state 5332 self.service_provider_notes = service_provider_notes 5333 self.provisioning_state = None 5334 self.peerings = peerings 5335 5336 5337class ExpressRouteCrossConnectionListResult(msrest.serialization.Model): 5338 """Response for ListExpressRouteCrossConnection API service call. 5339 5340 Variables are only populated by the server, and will be ignored when sending a request. 5341 5342 :param value: A list of ExpressRouteCrossConnection resources. 5343 :type value: list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnection] 5344 :ivar next_link: The URL to get the next set of results. 5345 :vartype next_link: str 5346 """ 5347 5348 _validation = { 5349 'next_link': {'readonly': True}, 5350 } 5351 5352 _attribute_map = { 5353 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnection]'}, 5354 'next_link': {'key': 'nextLink', 'type': 'str'}, 5355 } 5356 5357 def __init__( 5358 self, 5359 *, 5360 value: Optional[List["ExpressRouteCrossConnection"]] = None, 5361 **kwargs 5362 ): 5363 super(ExpressRouteCrossConnectionListResult, self).__init__(**kwargs) 5364 self.value = value 5365 self.next_link = None 5366 5367 5368class ExpressRouteCrossConnectionPeering(SubResource): 5369 """Peering in an ExpressRoute Cross Connection resource. 5370 5371 Variables are only populated by the server, and will be ignored when sending a request. 5372 5373 :param id: Resource ID. 5374 :type id: str 5375 :param name: Gets name of the resource that is unique within a resource group. This name can be 5376 used to access the resource. 5377 :type name: str 5378 :ivar etag: A unique read-only string that changes whenever the resource is updated. 5379 :vartype etag: str 5380 :param peering_type: The peering type. Possible values include: "AzurePublicPeering", 5381 "AzurePrivatePeering", "MicrosoftPeering". 5382 :type peering_type: str or ~azure.mgmt.network.v2018_04_01.models.ExpressRoutePeeringType 5383 :param state: The peering state. Possible values include: "Disabled", "Enabled". 5384 :type state: str or ~azure.mgmt.network.v2018_04_01.models.ExpressRoutePeeringState 5385 :ivar azure_asn: The Azure ASN. 5386 :vartype azure_asn: int 5387 :param peer_asn: The peer ASN. 5388 :type peer_asn: long 5389 :param primary_peer_address_prefix: The primary address prefix. 5390 :type primary_peer_address_prefix: str 5391 :param secondary_peer_address_prefix: The secondary address prefix. 5392 :type secondary_peer_address_prefix: str 5393 :ivar primary_azure_port: The primary port. 5394 :vartype primary_azure_port: str 5395 :ivar secondary_azure_port: The secondary port. 5396 :vartype secondary_azure_port: str 5397 :param shared_key: The shared key. 5398 :type shared_key: str 5399 :param vlan_id: The VLAN ID. 5400 :type vlan_id: int 5401 :param microsoft_peering_config: The Microsoft peering configuration. 5402 :type microsoft_peering_config: 5403 ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeeringConfig 5404 :ivar provisioning_state: Gets the provisioning state of the public IP resource. Possible 5405 values are: 'Updating', 'Deleting', and 'Failed'. 5406 :vartype provisioning_state: str 5407 :param gateway_manager_etag: The GatewayManager Etag. 5408 :type gateway_manager_etag: str 5409 :param last_modified_by: Gets whether the provider or the customer last modified the peering. 5410 :type last_modified_by: str 5411 :param ipv6_peering_config: The IPv6 peering configuration. 5412 :type ipv6_peering_config: 5413 ~azure.mgmt.network.v2018_04_01.models.Ipv6ExpressRouteCircuitPeeringConfig 5414 """ 5415 5416 _validation = { 5417 'etag': {'readonly': True}, 5418 'azure_asn': {'readonly': True}, 5419 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, 5420 'primary_azure_port': {'readonly': True}, 5421 'secondary_azure_port': {'readonly': True}, 5422 'provisioning_state': {'readonly': True}, 5423 } 5424 5425 _attribute_map = { 5426 'id': {'key': 'id', 'type': 'str'}, 5427 'name': {'key': 'name', 'type': 'str'}, 5428 'etag': {'key': 'etag', 'type': 'str'}, 5429 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, 5430 'state': {'key': 'properties.state', 'type': 'str'}, 5431 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, 5432 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, 5433 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, 5434 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, 5435 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, 5436 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, 5437 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 5438 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, 5439 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, 5440 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5441 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, 5442 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, 5443 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, 5444 } 5445 5446 def __init__( 5447 self, 5448 *, 5449 id: Optional[str] = None, 5450 name: Optional[str] = None, 5451 peering_type: Optional[Union[str, "ExpressRoutePeeringType"]] = None, 5452 state: Optional[Union[str, "ExpressRoutePeeringState"]] = None, 5453 peer_asn: Optional[int] = None, 5454 primary_peer_address_prefix: Optional[str] = None, 5455 secondary_peer_address_prefix: Optional[str] = None, 5456 shared_key: Optional[str] = None, 5457 vlan_id: Optional[int] = None, 5458 microsoft_peering_config: Optional["ExpressRouteCircuitPeeringConfig"] = None, 5459 gateway_manager_etag: Optional[str] = None, 5460 last_modified_by: Optional[str] = None, 5461 ipv6_peering_config: Optional["Ipv6ExpressRouteCircuitPeeringConfig"] = None, 5462 **kwargs 5463 ): 5464 super(ExpressRouteCrossConnectionPeering, self).__init__(id=id, **kwargs) 5465 self.name = name 5466 self.etag = None 5467 self.peering_type = peering_type 5468 self.state = state 5469 self.azure_asn = None 5470 self.peer_asn = peer_asn 5471 self.primary_peer_address_prefix = primary_peer_address_prefix 5472 self.secondary_peer_address_prefix = secondary_peer_address_prefix 5473 self.primary_azure_port = None 5474 self.secondary_azure_port = None 5475 self.shared_key = shared_key 5476 self.vlan_id = vlan_id 5477 self.microsoft_peering_config = microsoft_peering_config 5478 self.provisioning_state = None 5479 self.gateway_manager_etag = gateway_manager_etag 5480 self.last_modified_by = last_modified_by 5481 self.ipv6_peering_config = ipv6_peering_config 5482 5483 5484class ExpressRouteCrossConnectionPeeringList(msrest.serialization.Model): 5485 """Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCrossConnection. 5486 5487 Variables are only populated by the server, and will be ignored when sending a request. 5488 5489 :param value: The peerings in an express route cross connection. 5490 :type value: list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnectionPeering] 5491 :ivar next_link: The URL to get the next set of results. 5492 :vartype next_link: str 5493 """ 5494 5495 _validation = { 5496 'next_link': {'readonly': True}, 5497 } 5498 5499 _attribute_map = { 5500 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionPeering]'}, 5501 'next_link': {'key': 'nextLink', 'type': 'str'}, 5502 } 5503 5504 def __init__( 5505 self, 5506 *, 5507 value: Optional[List["ExpressRouteCrossConnectionPeering"]] = None, 5508 **kwargs 5509 ): 5510 super(ExpressRouteCrossConnectionPeeringList, self).__init__(**kwargs) 5511 self.value = value 5512 self.next_link = None 5513 5514 5515class ExpressRouteCrossConnectionRoutesTableSummary(msrest.serialization.Model): 5516 """The routes table associated with the ExpressRouteCircuit. 5517 5518 :param neighbor: IP address of Neighbor router. 5519 :type neighbor: str 5520 :param asn: Autonomous system number. 5521 :type asn: int 5522 :param up_down: The length of time that the BGP session has been in the Established state, or 5523 the current status if not in the Established state. 5524 :type up_down: str 5525 :param state_or_prefixes_received: Current state of the BGP session, and the number of prefixes 5526 that have been received from a neighbor or peer group. 5527 :type state_or_prefixes_received: str 5528 """ 5529 5530 _attribute_map = { 5531 'neighbor': {'key': 'neighbor', 'type': 'str'}, 5532 'asn': {'key': 'asn', 'type': 'int'}, 5533 'up_down': {'key': 'upDown', 'type': 'str'}, 5534 'state_or_prefixes_received': {'key': 'stateOrPrefixesReceived', 'type': 'str'}, 5535 } 5536 5537 def __init__( 5538 self, 5539 *, 5540 neighbor: Optional[str] = None, 5541 asn: Optional[int] = None, 5542 up_down: Optional[str] = None, 5543 state_or_prefixes_received: Optional[str] = None, 5544 **kwargs 5545 ): 5546 super(ExpressRouteCrossConnectionRoutesTableSummary, self).__init__(**kwargs) 5547 self.neighbor = neighbor 5548 self.asn = asn 5549 self.up_down = up_down 5550 self.state_or_prefixes_received = state_or_prefixes_received 5551 5552 5553class ExpressRouteCrossConnectionsRoutesTableSummaryListResult(msrest.serialization.Model): 5554 """Response for ListRoutesTable associated with the Express Route Cross Connections. 5555 5556 Variables are only populated by the server, and will be ignored when sending a request. 5557 5558 :param value: A list of the routes table. 5559 :type value: 5560 list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCrossConnectionRoutesTableSummary] 5561 :ivar next_link: The URL to get the next set of results. 5562 :vartype next_link: str 5563 """ 5564 5565 _validation = { 5566 'next_link': {'readonly': True}, 5567 } 5568 5569 _attribute_map = { 5570 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionRoutesTableSummary]'}, 5571 'next_link': {'key': 'nextLink', 'type': 'str'}, 5572 } 5573 5574 def __init__( 5575 self, 5576 *, 5577 value: Optional[List["ExpressRouteCrossConnectionRoutesTableSummary"]] = None, 5578 **kwargs 5579 ): 5580 super(ExpressRouteCrossConnectionsRoutesTableSummaryListResult, self).__init__(**kwargs) 5581 self.value = value 5582 self.next_link = None 5583 5584 5585class ExpressRouteServiceProvider(Resource): 5586 """A ExpressRouteResourceProvider object. 5587 5588 Variables are only populated by the server, and will be ignored when sending a request. 5589 5590 :param id: Resource ID. 5591 :type id: str 5592 :ivar name: Resource name. 5593 :vartype name: str 5594 :ivar type: Resource type. 5595 :vartype type: str 5596 :param location: Resource location. 5597 :type location: str 5598 :param tags: A set of tags. Resource tags. 5599 :type tags: dict[str, str] 5600 :param peering_locations: Get a list of peering locations. 5601 :type peering_locations: list[str] 5602 :param bandwidths_offered: Gets bandwidths offered. 5603 :type bandwidths_offered: 5604 list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteServiceProviderBandwidthsOffered] 5605 :param provisioning_state: Gets the provisioning state of the resource. 5606 :type provisioning_state: str 5607 """ 5608 5609 _validation = { 5610 'name': {'readonly': True}, 5611 'type': {'readonly': True}, 5612 } 5613 5614 _attribute_map = { 5615 'id': {'key': 'id', 'type': 'str'}, 5616 'name': {'key': 'name', 'type': 'str'}, 5617 'type': {'key': 'type', 'type': 'str'}, 5618 'location': {'key': 'location', 'type': 'str'}, 5619 'tags': {'key': 'tags', 'type': '{str}'}, 5620 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, 5621 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, 5622 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5623 } 5624 5625 def __init__( 5626 self, 5627 *, 5628 id: Optional[str] = None, 5629 location: Optional[str] = None, 5630 tags: Optional[Dict[str, str]] = None, 5631 peering_locations: Optional[List[str]] = None, 5632 bandwidths_offered: Optional[List["ExpressRouteServiceProviderBandwidthsOffered"]] = None, 5633 provisioning_state: Optional[str] = None, 5634 **kwargs 5635 ): 5636 super(ExpressRouteServiceProvider, self).__init__(id=id, location=location, tags=tags, **kwargs) 5637 self.peering_locations = peering_locations 5638 self.bandwidths_offered = bandwidths_offered 5639 self.provisioning_state = provisioning_state 5640 5641 5642class ExpressRouteServiceProviderBandwidthsOffered(msrest.serialization.Model): 5643 """Contains bandwidths offered in ExpressRouteServiceProvider resources. 5644 5645 :param offer_name: The OfferName. 5646 :type offer_name: str 5647 :param value_in_mbps: The ValueInMbps. 5648 :type value_in_mbps: int 5649 """ 5650 5651 _attribute_map = { 5652 'offer_name': {'key': 'offerName', 'type': 'str'}, 5653 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, 5654 } 5655 5656 def __init__( 5657 self, 5658 *, 5659 offer_name: Optional[str] = None, 5660 value_in_mbps: Optional[int] = None, 5661 **kwargs 5662 ): 5663 super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) 5664 self.offer_name = offer_name 5665 self.value_in_mbps = value_in_mbps 5666 5667 5668class ExpressRouteServiceProviderListResult(msrest.serialization.Model): 5669 """Response for the ListExpressRouteServiceProvider API service call. 5670 5671 :param value: A list of ExpressRouteResourceProvider resources. 5672 :type value: list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteServiceProvider] 5673 :param next_link: The URL to get the next set of results. 5674 :type next_link: str 5675 """ 5676 5677 _attribute_map = { 5678 'value': {'key': 'value', 'type': '[ExpressRouteServiceProvider]'}, 5679 'next_link': {'key': 'nextLink', 'type': 'str'}, 5680 } 5681 5682 def __init__( 5683 self, 5684 *, 5685 value: Optional[List["ExpressRouteServiceProvider"]] = None, 5686 next_link: Optional[str] = None, 5687 **kwargs 5688 ): 5689 super(ExpressRouteServiceProviderListResult, self).__init__(**kwargs) 5690 self.value = value 5691 self.next_link = next_link 5692 5693 5694class FlowLogInformation(msrest.serialization.Model): 5695 """Information on the configuration of flow log and traffic analytics (optional) . 5696 5697 All required parameters must be populated in order to send to Azure. 5698 5699 :param target_resource_id: Required. The ID of the resource to configure for flow log and 5700 traffic analytics (optional) . 5701 :type target_resource_id: str 5702 :param flow_analytics_configuration: Parameters that define the configuration of traffic 5703 analytics. 5704 :type flow_analytics_configuration: 5705 ~azure.mgmt.network.v2018_04_01.models.TrafficAnalyticsProperties 5706 :param storage_id: Required. ID of the storage account which is used to store the flow log. 5707 :type storage_id: str 5708 :param enabled: Required. Flag to enable/disable flow logging. 5709 :type enabled: bool 5710 :param retention_policy: Parameters that define the retention policy for flow log. 5711 :type retention_policy: ~azure.mgmt.network.v2018_04_01.models.RetentionPolicyParameters 5712 """ 5713 5714 _validation = { 5715 'target_resource_id': {'required': True}, 5716 'storage_id': {'required': True}, 5717 'enabled': {'required': True}, 5718 } 5719 5720 _attribute_map = { 5721 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 5722 'flow_analytics_configuration': {'key': 'flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, 5723 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, 5724 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, 5725 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, 5726 } 5727 5728 def __init__( 5729 self, 5730 *, 5731 target_resource_id: str, 5732 storage_id: str, 5733 enabled: bool, 5734 flow_analytics_configuration: Optional["TrafficAnalyticsProperties"] = None, 5735 retention_policy: Optional["RetentionPolicyParameters"] = None, 5736 **kwargs 5737 ): 5738 super(FlowLogInformation, self).__init__(**kwargs) 5739 self.target_resource_id = target_resource_id 5740 self.flow_analytics_configuration = flow_analytics_configuration 5741 self.storage_id = storage_id 5742 self.enabled = enabled 5743 self.retention_policy = retention_policy 5744 5745 5746class FlowLogStatusParameters(msrest.serialization.Model): 5747 """Parameters that define a resource to query flow log and traffic analytics (optional) status. 5748 5749 All required parameters must be populated in order to send to Azure. 5750 5751 :param target_resource_id: Required. The target resource where getting the flow log and traffic 5752 analytics (optional) status. 5753 :type target_resource_id: str 5754 """ 5755 5756 _validation = { 5757 'target_resource_id': {'required': True}, 5758 } 5759 5760 _attribute_map = { 5761 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 5762 } 5763 5764 def __init__( 5765 self, 5766 *, 5767 target_resource_id: str, 5768 **kwargs 5769 ): 5770 super(FlowLogStatusParameters, self).__init__(**kwargs) 5771 self.target_resource_id = target_resource_id 5772 5773 5774class FrontendIPConfiguration(SubResource): 5775 """Frontend IP address of the load balancer. 5776 5777 Variables are only populated by the server, and will be ignored when sending a request. 5778 5779 :param id: Resource ID. 5780 :type id: str 5781 :param name: The name of the resource that is unique within a resource group. This name can be 5782 used to access the resource. 5783 :type name: str 5784 :param etag: A unique read-only string that changes whenever the resource is updated. 5785 :type etag: str 5786 :param zones: A list of availability zones denoting the IP allocated for the resource needs to 5787 come from. 5788 :type zones: list[str] 5789 :ivar inbound_nat_rules: Read only. Inbound rules URIs that use this frontend IP. 5790 :vartype inbound_nat_rules: list[~azure.mgmt.network.v2018_04_01.models.SubResource] 5791 :ivar inbound_nat_pools: Read only. Inbound pools URIs that use this frontend IP. 5792 :vartype inbound_nat_pools: list[~azure.mgmt.network.v2018_04_01.models.SubResource] 5793 :ivar outbound_nat_rules: Read only. Outbound rules URIs that use this frontend IP. 5794 :vartype outbound_nat_rules: list[~azure.mgmt.network.v2018_04_01.models.SubResource] 5795 :ivar load_balancing_rules: Gets load balancing rules URIs that use this frontend IP. 5796 :vartype load_balancing_rules: list[~azure.mgmt.network.v2018_04_01.models.SubResource] 5797 :param private_ip_address: The private IP address of the IP configuration. 5798 :type private_ip_address: str 5799 :param private_ip_allocation_method: The Private IP allocation method. Possible values are: 5800 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 5801 :type private_ip_allocation_method: str or 5802 ~azure.mgmt.network.v2018_04_01.models.IPAllocationMethod 5803 :param subnet: The reference of the subnet resource. 5804 :type subnet: ~azure.mgmt.network.v2018_04_01.models.Subnet 5805 :param public_ip_address: The reference of the Public IP resource. 5806 :type public_ip_address: ~azure.mgmt.network.v2018_04_01.models.PublicIPAddress 5807 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 5808 values are: 'Updating', 'Deleting', and 'Failed'. 5809 :type provisioning_state: str 5810 """ 5811 5812 _validation = { 5813 'inbound_nat_rules': {'readonly': True}, 5814 'inbound_nat_pools': {'readonly': True}, 5815 'outbound_nat_rules': {'readonly': True}, 5816 'load_balancing_rules': {'readonly': True}, 5817 } 5818 5819 _attribute_map = { 5820 'id': {'key': 'id', 'type': 'str'}, 5821 'name': {'key': 'name', 'type': 'str'}, 5822 'etag': {'key': 'etag', 'type': 'str'}, 5823 'zones': {'key': 'zones', 'type': '[str]'}, 5824 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, 5825 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, 5826 'outbound_nat_rules': {'key': 'properties.outboundNatRules', 'type': '[SubResource]'}, 5827 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 5828 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 5829 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 5830 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 5831 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 5832 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5833 } 5834 5835 def __init__( 5836 self, 5837 *, 5838 id: Optional[str] = None, 5839 name: Optional[str] = None, 5840 etag: Optional[str] = None, 5841 zones: Optional[List[str]] = None, 5842 private_ip_address: Optional[str] = None, 5843 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 5844 subnet: Optional["Subnet"] = None, 5845 public_ip_address: Optional["PublicIPAddress"] = None, 5846 provisioning_state: Optional[str] = None, 5847 **kwargs 5848 ): 5849 super(FrontendIPConfiguration, self).__init__(id=id, **kwargs) 5850 self.name = name 5851 self.etag = etag 5852 self.zones = zones 5853 self.inbound_nat_rules = None 5854 self.inbound_nat_pools = None 5855 self.outbound_nat_rules = None 5856 self.load_balancing_rules = None 5857 self.private_ip_address = private_ip_address 5858 self.private_ip_allocation_method = private_ip_allocation_method 5859 self.subnet = subnet 5860 self.public_ip_address = public_ip_address 5861 self.provisioning_state = provisioning_state 5862 5863 5864class GatewayRoute(msrest.serialization.Model): 5865 """Gateway routing details. 5866 5867 Variables are only populated by the server, and will be ignored when sending a request. 5868 5869 :ivar local_address: The gateway's local address. 5870 :vartype local_address: str 5871 :ivar network: The route's network prefix. 5872 :vartype network: str 5873 :ivar next_hop: The route's next hop. 5874 :vartype next_hop: str 5875 :ivar source_peer: The peer this route was learned from. 5876 :vartype source_peer: str 5877 :ivar origin: The source this route was learned from. 5878 :vartype origin: str 5879 :ivar as_path: The route's AS path sequence. 5880 :vartype as_path: str 5881 :ivar weight: The route's weight. 5882 :vartype weight: int 5883 """ 5884 5885 _validation = { 5886 'local_address': {'readonly': True}, 5887 'network': {'readonly': True}, 5888 'next_hop': {'readonly': True}, 5889 'source_peer': {'readonly': True}, 5890 'origin': {'readonly': True}, 5891 'as_path': {'readonly': True}, 5892 'weight': {'readonly': True}, 5893 } 5894 5895 _attribute_map = { 5896 'local_address': {'key': 'localAddress', 'type': 'str'}, 5897 'network': {'key': 'network', 'type': 'str'}, 5898 'next_hop': {'key': 'nextHop', 'type': 'str'}, 5899 'source_peer': {'key': 'sourcePeer', 'type': 'str'}, 5900 'origin': {'key': 'origin', 'type': 'str'}, 5901 'as_path': {'key': 'asPath', 'type': 'str'}, 5902 'weight': {'key': 'weight', 'type': 'int'}, 5903 } 5904 5905 def __init__( 5906 self, 5907 **kwargs 5908 ): 5909 super(GatewayRoute, self).__init__(**kwargs) 5910 self.local_address = None 5911 self.network = None 5912 self.next_hop = None 5913 self.source_peer = None 5914 self.origin = None 5915 self.as_path = None 5916 self.weight = None 5917 5918 5919class GatewayRouteListResult(msrest.serialization.Model): 5920 """List of virtual network gateway routes. 5921 5922 :param value: List of gateway routes. 5923 :type value: list[~azure.mgmt.network.v2018_04_01.models.GatewayRoute] 5924 """ 5925 5926 _attribute_map = { 5927 'value': {'key': 'value', 'type': '[GatewayRoute]'}, 5928 } 5929 5930 def __init__( 5931 self, 5932 *, 5933 value: Optional[List["GatewayRoute"]] = None, 5934 **kwargs 5935 ): 5936 super(GatewayRouteListResult, self).__init__(**kwargs) 5937 self.value = value 5938 5939 5940class GetVpnSitesConfigurationRequest(msrest.serialization.Model): 5941 """List of Vpn-Sites. 5942 5943 :param vpn_sites: List of resource-ids of the vpn-sites for which config is to be downloaded. 5944 :type vpn_sites: list[~azure.mgmt.network.v2018_04_01.models.SubResource] 5945 :param output_blob_sas_url: The sas-url to download the configurations for vpn-sites. 5946 :type output_blob_sas_url: str 5947 """ 5948 5949 _attribute_map = { 5950 'vpn_sites': {'key': 'vpnSites', 'type': '[SubResource]'}, 5951 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, 5952 } 5953 5954 def __init__( 5955 self, 5956 *, 5957 vpn_sites: Optional[List["SubResource"]] = None, 5958 output_blob_sas_url: Optional[str] = None, 5959 **kwargs 5960 ): 5961 super(GetVpnSitesConfigurationRequest, self).__init__(**kwargs) 5962 self.vpn_sites = vpn_sites 5963 self.output_blob_sas_url = output_blob_sas_url 5964 5965 5966class HTTPConfiguration(msrest.serialization.Model): 5967 """HTTP configuration of the connectivity check. 5968 5969 :param method: HTTP method. Possible values include: "Get". 5970 :type method: str or ~azure.mgmt.network.v2018_04_01.models.HTTPMethod 5971 :param headers: List of HTTP headers. 5972 :type headers: list[~azure.mgmt.network.v2018_04_01.models.HTTPHeader] 5973 :param valid_status_codes: Valid status codes. 5974 :type valid_status_codes: list[int] 5975 """ 5976 5977 _attribute_map = { 5978 'method': {'key': 'method', 'type': 'str'}, 5979 'headers': {'key': 'headers', 'type': '[HTTPHeader]'}, 5980 'valid_status_codes': {'key': 'validStatusCodes', 'type': '[int]'}, 5981 } 5982 5983 def __init__( 5984 self, 5985 *, 5986 method: Optional[Union[str, "HTTPMethod"]] = None, 5987 headers: Optional[List["HTTPHeader"]] = None, 5988 valid_status_codes: Optional[List[int]] = None, 5989 **kwargs 5990 ): 5991 super(HTTPConfiguration, self).__init__(**kwargs) 5992 self.method = method 5993 self.headers = headers 5994 self.valid_status_codes = valid_status_codes 5995 5996 5997class HTTPHeader(msrest.serialization.Model): 5998 """Describes the HTTP header. 5999 6000 :param name: The name in HTTP header. 6001 :type name: str 6002 :param value: The value in HTTP header. 6003 :type value: str 6004 """ 6005 6006 _attribute_map = { 6007 'name': {'key': 'name', 'type': 'str'}, 6008 'value': {'key': 'value', 'type': 'str'}, 6009 } 6010 6011 def __init__( 6012 self, 6013 *, 6014 name: Optional[str] = None, 6015 value: Optional[str] = None, 6016 **kwargs 6017 ): 6018 super(HTTPHeader, self).__init__(**kwargs) 6019 self.name = name 6020 self.value = value 6021 6022 6023class HubVirtualNetworkConnection(Resource): 6024 """HubVirtualNetworkConnection Resource. 6025 6026 Variables are only populated by the server, and will be ignored when sending a request. 6027 6028 :param id: Resource ID. 6029 :type id: str 6030 :ivar name: Resource name. 6031 :vartype name: str 6032 :ivar type: Resource type. 6033 :vartype type: str 6034 :param location: Resource location. 6035 :type location: str 6036 :param tags: A set of tags. Resource tags. 6037 :type tags: dict[str, str] 6038 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 6039 :vartype etag: str 6040 :param remote_virtual_network: Reference to the remote virtual network. 6041 :type remote_virtual_network: ~azure.mgmt.network.v2018_04_01.models.SubResource 6042 :param allow_hub_to_remote_vnet_transit: VirtualHub to RemoteVnet transit to enabled or not. 6043 :type allow_hub_to_remote_vnet_transit: bool 6044 :param allow_remote_vnet_to_use_hub_vnet_gateways: Allow RemoteVnet to use Virtual Hub's 6045 gateways. 6046 :type allow_remote_vnet_to_use_hub_vnet_gateways: bool 6047 :param provisioning_state: The provisioning state of the resource. Possible values include: 6048 "Succeeded", "Updating", "Deleting", "Failed". 6049 :type provisioning_state: str or ~azure.mgmt.network.v2018_04_01.models.ProvisioningState 6050 """ 6051 6052 _validation = { 6053 'name': {'readonly': True}, 6054 'type': {'readonly': True}, 6055 'etag': {'readonly': True}, 6056 } 6057 6058 _attribute_map = { 6059 'id': {'key': 'id', 'type': 'str'}, 6060 'name': {'key': 'name', 'type': 'str'}, 6061 'type': {'key': 'type', 'type': 'str'}, 6062 'location': {'key': 'location', 'type': 'str'}, 6063 'tags': {'key': 'tags', 'type': '{str}'}, 6064 'etag': {'key': 'etag', 'type': 'str'}, 6065 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, 6066 'allow_hub_to_remote_vnet_transit': {'key': 'properties.allowHubToRemoteVnetTransit', 'type': 'bool'}, 6067 'allow_remote_vnet_to_use_hub_vnet_gateways': {'key': 'properties.allowRemoteVnetToUseHubVnetGateways', 'type': 'bool'}, 6068 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6069 } 6070 6071 def __init__( 6072 self, 6073 *, 6074 id: Optional[str] = None, 6075 location: Optional[str] = None, 6076 tags: Optional[Dict[str, str]] = None, 6077 remote_virtual_network: Optional["SubResource"] = None, 6078 allow_hub_to_remote_vnet_transit: Optional[bool] = None, 6079 allow_remote_vnet_to_use_hub_vnet_gateways: Optional[bool] = None, 6080 provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, 6081 **kwargs 6082 ): 6083 super(HubVirtualNetworkConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) 6084 self.etag = None 6085 self.remote_virtual_network = remote_virtual_network 6086 self.allow_hub_to_remote_vnet_transit = allow_hub_to_remote_vnet_transit 6087 self.allow_remote_vnet_to_use_hub_vnet_gateways = allow_remote_vnet_to_use_hub_vnet_gateways 6088 self.provisioning_state = provisioning_state 6089 6090 6091class InboundNatPool(SubResource): 6092 """Inbound NAT pool of the load balancer. 6093 6094 :param id: Resource ID. 6095 :type id: str 6096 :param name: The name of the resource that is unique within a resource group. This name can be 6097 used to access the resource. 6098 :type name: str 6099 :param etag: A unique read-only string that changes whenever the resource is updated. 6100 :type etag: str 6101 :param frontend_ip_configuration: A reference to frontend IP addresses. 6102 :type frontend_ip_configuration: ~azure.mgmt.network.v2018_04_01.models.SubResource 6103 :param protocol: The transport protocol for the endpoint. Possible values are 'Udp' or 'Tcp' or 6104 'All'. Possible values include: "Udp", "Tcp", "All". 6105 :type protocol: str or ~azure.mgmt.network.v2018_04_01.models.TransportProtocol 6106 :param frontend_port_range_start: The first port number in the range of external ports that 6107 will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values 6108 range between 1 and 65534. 6109 :type frontend_port_range_start: int 6110 :param frontend_port_range_end: The last port number in the range of external ports that will 6111 be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range 6112 between 1 and 65535. 6113 :type frontend_port_range_end: int 6114 :param backend_port: The port used for internal connections on the endpoint. Acceptable values 6115 are between 1 and 65535. 6116 :type backend_port: int 6117 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. The value can be set 6118 between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the 6119 protocol is set to TCP. 6120 :type idle_timeout_in_minutes: int 6121 :param enable_floating_ip: Configures a virtual machine's endpoint for the floating IP 6122 capability required to configure a SQL AlwaysOn Availability Group. This setting is required 6123 when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed 6124 after you create the endpoint. 6125 :type enable_floating_ip: bool 6126 :param provisioning_state: Gets the provisioning state of the PublicIP resource. Possible 6127 values are: 'Updating', 'Deleting', and 'Failed'. 6128 :type provisioning_state: str 6129 """ 6130 6131 _attribute_map = { 6132 'id': {'key': 'id', 'type': 'str'}, 6133 'name': {'key': 'name', 'type': 'str'}, 6134 'etag': {'key': 'etag', 'type': 'str'}, 6135 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 6136 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 6137 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, 6138 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, 6139 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 6140 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 6141 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, 6142 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6143 } 6144 6145 def __init__( 6146 self, 6147 *, 6148 id: Optional[str] = None, 6149 name: Optional[str] = None, 6150 etag: Optional[str] = None, 6151 frontend_ip_configuration: Optional["SubResource"] = None, 6152 protocol: Optional[Union[str, "TransportProtocol"]] = None, 6153 frontend_port_range_start: Optional[int] = None, 6154 frontend_port_range_end: Optional[int] = None, 6155 backend_port: Optional[int] = None, 6156 idle_timeout_in_minutes: Optional[int] = None, 6157 enable_floating_ip: Optional[bool] = None, 6158 provisioning_state: Optional[str] = None, 6159 **kwargs 6160 ): 6161 super(InboundNatPool, self).__init__(id=id, **kwargs) 6162 self.name = name 6163 self.etag = etag 6164 self.frontend_ip_configuration = frontend_ip_configuration 6165 self.protocol = protocol 6166 self.frontend_port_range_start = frontend_port_range_start 6167 self.frontend_port_range_end = frontend_port_range_end 6168 self.backend_port = backend_port 6169 self.idle_timeout_in_minutes = idle_timeout_in_minutes 6170 self.enable_floating_ip = enable_floating_ip 6171 self.provisioning_state = provisioning_state 6172 6173 6174class InboundNatRule(SubResource): 6175 """Inbound NAT rule of the load balancer. 6176 6177 Variables are only populated by the server, and will be ignored when sending a request. 6178 6179 :param id: Resource ID. 6180 :type id: str 6181 :param name: Gets name of the resource that is unique within a resource group. This name can be 6182 used to access the resource. 6183 :type name: str 6184 :param etag: A unique read-only string that changes whenever the resource is updated. 6185 :type etag: str 6186 :param frontend_ip_configuration: A reference to frontend IP addresses. 6187 :type frontend_ip_configuration: ~azure.mgmt.network.v2018_04_01.models.SubResource 6188 :ivar backend_ip_configuration: A reference to a private IP address defined on a network 6189 interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations 6190 is forwarded to the backend IP. 6191 :vartype backend_ip_configuration: 6192 ~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfiguration 6193 :param protocol: The transport protocol for the endpoint. Possible values are 'Udp' or 'Tcp' or 6194 'All'. Possible values include: "Udp", "Tcp", "All". 6195 :type protocol: str or ~azure.mgmt.network.v2018_04_01.models.TransportProtocol 6196 :param frontend_port: The port for the external endpoint. Port numbers for each rule must be 6197 unique within the Load Balancer. Acceptable values range from 1 to 65534. 6198 :type frontend_port: int 6199 :param backend_port: The port used for the internal endpoint. Acceptable values range from 1 to 6200 65535. 6201 :type backend_port: int 6202 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. The value can be set 6203 between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the 6204 protocol is set to TCP. 6205 :type idle_timeout_in_minutes: int 6206 :param enable_floating_ip: Configures a virtual machine's endpoint for the floating IP 6207 capability required to configure a SQL AlwaysOn Availability Group. This setting is required 6208 when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed 6209 after you create the endpoint. 6210 :type enable_floating_ip: bool 6211 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 6212 values are: 'Updating', 'Deleting', and 'Failed'. 6213 :type provisioning_state: str 6214 """ 6215 6216 _validation = { 6217 'backend_ip_configuration': {'readonly': True}, 6218 } 6219 6220 _attribute_map = { 6221 'id': {'key': 'id', 'type': 'str'}, 6222 'name': {'key': 'name', 'type': 'str'}, 6223 'etag': {'key': 'etag', 'type': 'str'}, 6224 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 6225 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, 6226 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 6227 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, 6228 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 6229 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 6230 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, 6231 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6232 } 6233 6234 def __init__( 6235 self, 6236 *, 6237 id: Optional[str] = None, 6238 name: Optional[str] = None, 6239 etag: Optional[str] = None, 6240 frontend_ip_configuration: Optional["SubResource"] = None, 6241 protocol: Optional[Union[str, "TransportProtocol"]] = None, 6242 frontend_port: Optional[int] = None, 6243 backend_port: Optional[int] = None, 6244 idle_timeout_in_minutes: Optional[int] = None, 6245 enable_floating_ip: Optional[bool] = None, 6246 provisioning_state: Optional[str] = None, 6247 **kwargs 6248 ): 6249 super(InboundNatRule, self).__init__(id=id, **kwargs) 6250 self.name = name 6251 self.etag = etag 6252 self.frontend_ip_configuration = frontend_ip_configuration 6253 self.backend_ip_configuration = None 6254 self.protocol = protocol 6255 self.frontend_port = frontend_port 6256 self.backend_port = backend_port 6257 self.idle_timeout_in_minutes = idle_timeout_in_minutes 6258 self.enable_floating_ip = enable_floating_ip 6259 self.provisioning_state = provisioning_state 6260 6261 6262class InboundNatRuleListResult(msrest.serialization.Model): 6263 """Response for ListInboundNatRule API service call. 6264 6265 Variables are only populated by the server, and will be ignored when sending a request. 6266 6267 :param value: A list of inbound nat rules in a load balancer. 6268 :type value: list[~azure.mgmt.network.v2018_04_01.models.InboundNatRule] 6269 :ivar next_link: The URL to get the next set of results. 6270 :vartype next_link: str 6271 """ 6272 6273 _validation = { 6274 'next_link': {'readonly': True}, 6275 } 6276 6277 _attribute_map = { 6278 'value': {'key': 'value', 'type': '[InboundNatRule]'}, 6279 'next_link': {'key': 'nextLink', 'type': 'str'}, 6280 } 6281 6282 def __init__( 6283 self, 6284 *, 6285 value: Optional[List["InboundNatRule"]] = None, 6286 **kwargs 6287 ): 6288 super(InboundNatRuleListResult, self).__init__(**kwargs) 6289 self.value = value 6290 self.next_link = None 6291 6292 6293class IPAddressAvailabilityResult(msrest.serialization.Model): 6294 """Response for CheckIPAddressAvailability API service call. 6295 6296 :param available: Private IP address availability. 6297 :type available: bool 6298 :param available_ip_addresses: Contains other available private IP addresses if the asked for 6299 address is taken. 6300 :type available_ip_addresses: list[str] 6301 """ 6302 6303 _attribute_map = { 6304 'available': {'key': 'available', 'type': 'bool'}, 6305 'available_ip_addresses': {'key': 'availableIPAddresses', 'type': '[str]'}, 6306 } 6307 6308 def __init__( 6309 self, 6310 *, 6311 available: Optional[bool] = None, 6312 available_ip_addresses: Optional[List[str]] = None, 6313 **kwargs 6314 ): 6315 super(IPAddressAvailabilityResult, self).__init__(**kwargs) 6316 self.available = available 6317 self.available_ip_addresses = available_ip_addresses 6318 6319 6320class IPConfiguration(SubResource): 6321 """IP configuration. 6322 6323 :param id: Resource ID. 6324 :type id: str 6325 :param name: The name of the resource that is unique within a resource group. This name can be 6326 used to access the resource. 6327 :type name: str 6328 :param etag: A unique read-only string that changes whenever the resource is updated. 6329 :type etag: str 6330 :param private_ip_address: The private IP address of the IP configuration. 6331 :type private_ip_address: str 6332 :param private_ip_allocation_method: The private IP allocation method. Possible values are 6333 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 6334 :type private_ip_allocation_method: str or 6335 ~azure.mgmt.network.v2018_04_01.models.IPAllocationMethod 6336 :param subnet: The reference of the subnet resource. 6337 :type subnet: ~azure.mgmt.network.v2018_04_01.models.Subnet 6338 :param public_ip_address: The reference of the public IP resource. 6339 :type public_ip_address: ~azure.mgmt.network.v2018_04_01.models.PublicIPAddress 6340 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 6341 values are: 'Updating', 'Deleting', and 'Failed'. 6342 :type provisioning_state: str 6343 """ 6344 6345 _attribute_map = { 6346 'id': {'key': 'id', 'type': 'str'}, 6347 'name': {'key': 'name', 'type': 'str'}, 6348 'etag': {'key': 'etag', 'type': 'str'}, 6349 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 6350 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 6351 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 6352 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 6353 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6354 } 6355 6356 def __init__( 6357 self, 6358 *, 6359 id: Optional[str] = None, 6360 name: Optional[str] = None, 6361 etag: Optional[str] = None, 6362 private_ip_address: Optional[str] = None, 6363 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 6364 subnet: Optional["Subnet"] = None, 6365 public_ip_address: Optional["PublicIPAddress"] = None, 6366 provisioning_state: Optional[str] = None, 6367 **kwargs 6368 ): 6369 super(IPConfiguration, self).__init__(id=id, **kwargs) 6370 self.name = name 6371 self.etag = etag 6372 self.private_ip_address = private_ip_address 6373 self.private_ip_allocation_method = private_ip_allocation_method 6374 self.subnet = subnet 6375 self.public_ip_address = public_ip_address 6376 self.provisioning_state = provisioning_state 6377 6378 6379class IpsecPolicy(msrest.serialization.Model): 6380 """An IPSec Policy configuration for a virtual network gateway connection. 6381 6382 All required parameters must be populated in order to send to Azure. 6383 6384 :param sa_life_time_seconds: Required. The IPSec Security Association (also called Quick Mode 6385 or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel. 6386 :type sa_life_time_seconds: int 6387 :param sa_data_size_kilobytes: Required. The IPSec Security Association (also called Quick Mode 6388 or Phase 2 SA) payload size in KB for a site to site VPN tunnel. 6389 :type sa_data_size_kilobytes: int 6390 :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE phase 1). Possible 6391 values include: "None", "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES128", "GCMAES192", 6392 "GCMAES256". 6393 :type ipsec_encryption: str or ~azure.mgmt.network.v2018_04_01.models.IpsecEncryption 6394 :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase 1). Possible values 6395 include: "MD5", "SHA1", "SHA256", "GCMAES128", "GCMAES192", "GCMAES256". 6396 :type ipsec_integrity: str or ~azure.mgmt.network.v2018_04_01.models.IpsecIntegrity 6397 :param ike_encryption: Required. The IKE encryption algorithm (IKE phase 2). Possible values 6398 include: "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES256", "GCMAES128". 6399 :type ike_encryption: str or ~azure.mgmt.network.v2018_04_01.models.IkeEncryption 6400 :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). Possible values 6401 include: "MD5", "SHA1", "SHA256", "SHA384", "GCMAES256", "GCMAES128". 6402 :type ike_integrity: str or ~azure.mgmt.network.v2018_04_01.models.IkeIntegrity 6403 :param dh_group: Required. The DH Groups used in IKE Phase 1 for initial SA. Possible values 6404 include: "None", "DHGroup1", "DHGroup2", "DHGroup14", "DHGroup2048", "ECP256", "ECP384", 6405 "DHGroup24". 6406 :type dh_group: str or ~azure.mgmt.network.v2018_04_01.models.DhGroup 6407 :param pfs_group: Required. The Pfs Groups used in IKE Phase 2 for new child SA. Possible 6408 values include: "None", "PFS1", "PFS2", "PFS2048", "ECP256", "ECP384", "PFS24", "PFS14", 6409 "PFSMM". 6410 :type pfs_group: str or ~azure.mgmt.network.v2018_04_01.models.PfsGroup 6411 """ 6412 6413 _validation = { 6414 'sa_life_time_seconds': {'required': True}, 6415 'sa_data_size_kilobytes': {'required': True}, 6416 'ipsec_encryption': {'required': True}, 6417 'ipsec_integrity': {'required': True}, 6418 'ike_encryption': {'required': True}, 6419 'ike_integrity': {'required': True}, 6420 'dh_group': {'required': True}, 6421 'pfs_group': {'required': True}, 6422 } 6423 6424 _attribute_map = { 6425 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, 6426 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, 6427 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, 6428 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, 6429 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, 6430 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, 6431 'dh_group': {'key': 'dhGroup', 'type': 'str'}, 6432 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, 6433 } 6434 6435 def __init__( 6436 self, 6437 *, 6438 sa_life_time_seconds: int, 6439 sa_data_size_kilobytes: int, 6440 ipsec_encryption: Union[str, "IpsecEncryption"], 6441 ipsec_integrity: Union[str, "IpsecIntegrity"], 6442 ike_encryption: Union[str, "IkeEncryption"], 6443 ike_integrity: Union[str, "IkeIntegrity"], 6444 dh_group: Union[str, "DhGroup"], 6445 pfs_group: Union[str, "PfsGroup"], 6446 **kwargs 6447 ): 6448 super(IpsecPolicy, self).__init__(**kwargs) 6449 self.sa_life_time_seconds = sa_life_time_seconds 6450 self.sa_data_size_kilobytes = sa_data_size_kilobytes 6451 self.ipsec_encryption = ipsec_encryption 6452 self.ipsec_integrity = ipsec_integrity 6453 self.ike_encryption = ike_encryption 6454 self.ike_integrity = ike_integrity 6455 self.dh_group = dh_group 6456 self.pfs_group = pfs_group 6457 6458 6459class IpTag(msrest.serialization.Model): 6460 """Contains the IpTag associated with the public IP address. 6461 6462 :param ip_tag_type: Gets or sets the ipTag type: Example FirstPartyUsage. 6463 :type ip_tag_type: str 6464 :param tag: Gets or sets value of the IpTag associated with the public IP. Example SQL, Storage 6465 etc. 6466 :type tag: str 6467 """ 6468 6469 _attribute_map = { 6470 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, 6471 'tag': {'key': 'tag', 'type': 'str'}, 6472 } 6473 6474 def __init__( 6475 self, 6476 *, 6477 ip_tag_type: Optional[str] = None, 6478 tag: Optional[str] = None, 6479 **kwargs 6480 ): 6481 super(IpTag, self).__init__(**kwargs) 6482 self.ip_tag_type = ip_tag_type 6483 self.tag = tag 6484 6485 6486class Ipv6ExpressRouteCircuitPeeringConfig(msrest.serialization.Model): 6487 """Contains IPv6 peering config. 6488 6489 :param primary_peer_address_prefix: The primary address prefix. 6490 :type primary_peer_address_prefix: str 6491 :param secondary_peer_address_prefix: The secondary address prefix. 6492 :type secondary_peer_address_prefix: str 6493 :param microsoft_peering_config: The Microsoft peering configuration. 6494 :type microsoft_peering_config: 6495 ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeeringConfig 6496 :param route_filter: The reference of the RouteFilter resource. 6497 :type route_filter: ~azure.mgmt.network.v2018_04_01.models.RouteFilter 6498 :param state: The state of peering. Possible values are: 'Disabled' and 'Enabled'. Possible 6499 values include: "Disabled", "Enabled". 6500 :type state: str or ~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeeringState 6501 """ 6502 6503 _attribute_map = { 6504 'primary_peer_address_prefix': {'key': 'primaryPeerAddressPrefix', 'type': 'str'}, 6505 'secondary_peer_address_prefix': {'key': 'secondaryPeerAddressPrefix', 'type': 'str'}, 6506 'microsoft_peering_config': {'key': 'microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, 6507 'route_filter': {'key': 'routeFilter', 'type': 'RouteFilter'}, 6508 'state': {'key': 'state', 'type': 'str'}, 6509 } 6510 6511 def __init__( 6512 self, 6513 *, 6514 primary_peer_address_prefix: Optional[str] = None, 6515 secondary_peer_address_prefix: Optional[str] = None, 6516 microsoft_peering_config: Optional["ExpressRouteCircuitPeeringConfig"] = None, 6517 route_filter: Optional["RouteFilter"] = None, 6518 state: Optional[Union[str, "ExpressRouteCircuitPeeringState"]] = None, 6519 **kwargs 6520 ): 6521 super(Ipv6ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) 6522 self.primary_peer_address_prefix = primary_peer_address_prefix 6523 self.secondary_peer_address_prefix = secondary_peer_address_prefix 6524 self.microsoft_peering_config = microsoft_peering_config 6525 self.route_filter = route_filter 6526 self.state = state 6527 6528 6529class ListHubVirtualNetworkConnectionsResult(msrest.serialization.Model): 6530 """List of HubVirtualNetworkConnections and a URL nextLink to get the next set of results. 6531 6532 :param value: List of HubVirtualNetworkConnections. 6533 :type value: list[~azure.mgmt.network.v2018_04_01.models.HubVirtualNetworkConnection] 6534 :param next_link: URL to get the next set of operation list results if there are any. 6535 :type next_link: str 6536 """ 6537 6538 _attribute_map = { 6539 'value': {'key': 'value', 'type': '[HubVirtualNetworkConnection]'}, 6540 'next_link': {'key': 'nextLink', 'type': 'str'}, 6541 } 6542 6543 def __init__( 6544 self, 6545 *, 6546 value: Optional[List["HubVirtualNetworkConnection"]] = None, 6547 next_link: Optional[str] = None, 6548 **kwargs 6549 ): 6550 super(ListHubVirtualNetworkConnectionsResult, self).__init__(**kwargs) 6551 self.value = value 6552 self.next_link = next_link 6553 6554 6555class ListVirtualHubsResult(msrest.serialization.Model): 6556 """Result of the request to list VirtualHubs. It contains a list of VirtualHubs and a URL nextLink to get the next set of results. 6557 6558 :param value: List of VirtualHubs. 6559 :type value: list[~azure.mgmt.network.v2018_04_01.models.VirtualHub] 6560 :param next_link: URL to get the next set of operation list results if there are any. 6561 :type next_link: str 6562 """ 6563 6564 _attribute_map = { 6565 'value': {'key': 'value', 'type': '[VirtualHub]'}, 6566 'next_link': {'key': 'nextLink', 'type': 'str'}, 6567 } 6568 6569 def __init__( 6570 self, 6571 *, 6572 value: Optional[List["VirtualHub"]] = None, 6573 next_link: Optional[str] = None, 6574 **kwargs 6575 ): 6576 super(ListVirtualHubsResult, self).__init__(**kwargs) 6577 self.value = value 6578 self.next_link = next_link 6579 6580 6581class ListVirtualWANsResult(msrest.serialization.Model): 6582 """Result of the request to list VirtualWANs. It contains a list of VirtualWANs and a URL nextLink to get the next set of results. 6583 6584 :param value: List of VirtualWANs. 6585 :type value: list[~azure.mgmt.network.v2018_04_01.models.VirtualWAN] 6586 :param next_link: URL to get the next set of operation list results if there are any. 6587 :type next_link: str 6588 """ 6589 6590 _attribute_map = { 6591 'value': {'key': 'value', 'type': '[VirtualWAN]'}, 6592 'next_link': {'key': 'nextLink', 'type': 'str'}, 6593 } 6594 6595 def __init__( 6596 self, 6597 *, 6598 value: Optional[List["VirtualWAN"]] = None, 6599 next_link: Optional[str] = None, 6600 **kwargs 6601 ): 6602 super(ListVirtualWANsResult, self).__init__(**kwargs) 6603 self.value = value 6604 self.next_link = next_link 6605 6606 6607class ListVpnConnectionsResult(msrest.serialization.Model): 6608 """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. 6609 6610 :param value: List of Vpn Connections. 6611 :type value: list[~azure.mgmt.network.v2018_04_01.models.VpnConnection] 6612 :param next_link: URL to get the next set of operation list results if there are any. 6613 :type next_link: str 6614 """ 6615 6616 _attribute_map = { 6617 'value': {'key': 'value', 'type': '[VpnConnection]'}, 6618 'next_link': {'key': 'nextLink', 'type': 'str'}, 6619 } 6620 6621 def __init__( 6622 self, 6623 *, 6624 value: Optional[List["VpnConnection"]] = None, 6625 next_link: Optional[str] = None, 6626 **kwargs 6627 ): 6628 super(ListVpnConnectionsResult, self).__init__(**kwargs) 6629 self.value = value 6630 self.next_link = next_link 6631 6632 6633class ListVpnGatewaysResult(msrest.serialization.Model): 6634 """Result of the request to list VpnGateways. It contains a list of VpnGateways and a URL nextLink to get the next set of results. 6635 6636 :param value: List of VpnGateways. 6637 :type value: list[~azure.mgmt.network.v2018_04_01.models.VpnGateway] 6638 :param next_link: URL to get the next set of operation list results if there are any. 6639 :type next_link: str 6640 """ 6641 6642 _attribute_map = { 6643 'value': {'key': 'value', 'type': '[VpnGateway]'}, 6644 'next_link': {'key': 'nextLink', 'type': 'str'}, 6645 } 6646 6647 def __init__( 6648 self, 6649 *, 6650 value: Optional[List["VpnGateway"]] = None, 6651 next_link: Optional[str] = None, 6652 **kwargs 6653 ): 6654 super(ListVpnGatewaysResult, self).__init__(**kwargs) 6655 self.value = value 6656 self.next_link = next_link 6657 6658 6659class ListVpnSitesResult(msrest.serialization.Model): 6660 """Result of the request to list VpnSites. It contains a list of VpnSites and a URL nextLink to get the next set of results. 6661 6662 :param value: List of VpnSites. 6663 :type value: list[~azure.mgmt.network.v2018_04_01.models.VpnSite] 6664 :param next_link: URL to get the next set of operation list results if there are any. 6665 :type next_link: str 6666 """ 6667 6668 _attribute_map = { 6669 'value': {'key': 'value', 'type': '[VpnSite]'}, 6670 'next_link': {'key': 'nextLink', 'type': 'str'}, 6671 } 6672 6673 def __init__( 6674 self, 6675 *, 6676 value: Optional[List["VpnSite"]] = None, 6677 next_link: Optional[str] = None, 6678 **kwargs 6679 ): 6680 super(ListVpnSitesResult, self).__init__(**kwargs) 6681 self.value = value 6682 self.next_link = next_link 6683 6684 6685class LoadBalancer(Resource): 6686 """LoadBalancer resource. 6687 6688 Variables are only populated by the server, and will be ignored when sending a request. 6689 6690 :param id: Resource ID. 6691 :type id: str 6692 :ivar name: Resource name. 6693 :vartype name: str 6694 :ivar type: Resource type. 6695 :vartype type: str 6696 :param location: Resource location. 6697 :type location: str 6698 :param tags: A set of tags. Resource tags. 6699 :type tags: dict[str, str] 6700 :param sku: The load balancer SKU. 6701 :type sku: ~azure.mgmt.network.v2018_04_01.models.LoadBalancerSku 6702 :param etag: A unique read-only string that changes whenever the resource is updated. 6703 :type etag: str 6704 :param frontend_ip_configurations: Object representing the frontend IPs to be used for the load 6705 balancer. 6706 :type frontend_ip_configurations: 6707 list[~azure.mgmt.network.v2018_04_01.models.FrontendIPConfiguration] 6708 :param backend_address_pools: Collection of backend address pools used by a load balancer. 6709 :type backend_address_pools: list[~azure.mgmt.network.v2018_04_01.models.BackendAddressPool] 6710 :param load_balancing_rules: Object collection representing the load balancing rules Gets the 6711 provisioning. 6712 :type load_balancing_rules: list[~azure.mgmt.network.v2018_04_01.models.LoadBalancingRule] 6713 :param probes: Collection of probe objects used in the load balancer. 6714 :type probes: list[~azure.mgmt.network.v2018_04_01.models.Probe] 6715 :param inbound_nat_rules: Collection of inbound NAT Rules used by a load balancer. Defining 6716 inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT 6717 pool. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are 6718 associated with individual virtual machines cannot reference an Inbound NAT pool. They have to 6719 reference individual inbound NAT rules. 6720 :type inbound_nat_rules: list[~azure.mgmt.network.v2018_04_01.models.InboundNatRule] 6721 :param inbound_nat_pools: Defines an external port range for inbound NAT to a single backend 6722 port on NICs associated with a load balancer. Inbound NAT rules are created automatically for 6723 each NIC associated with the Load Balancer using an external port from this range. Defining an 6724 Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat rules. 6725 Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with 6726 individual virtual machines cannot reference an inbound NAT pool. They have to reference 6727 individual inbound NAT rules. 6728 :type inbound_nat_pools: list[~azure.mgmt.network.v2018_04_01.models.InboundNatPool] 6729 :param outbound_nat_rules: The outbound NAT rules. 6730 :type outbound_nat_rules: list[~azure.mgmt.network.v2018_04_01.models.OutboundNatRule] 6731 :param resource_guid: The resource GUID property of the load balancer resource. 6732 :type resource_guid: str 6733 :param provisioning_state: Gets the provisioning state of the PublicIP resource. Possible 6734 values are: 'Updating', 'Deleting', and 'Failed'. 6735 :type provisioning_state: str 6736 """ 6737 6738 _validation = { 6739 'name': {'readonly': True}, 6740 'type': {'readonly': True}, 6741 } 6742 6743 _attribute_map = { 6744 'id': {'key': 'id', 'type': 'str'}, 6745 'name': {'key': 'name', 'type': 'str'}, 6746 'type': {'key': 'type', 'type': 'str'}, 6747 'location': {'key': 'location', 'type': 'str'}, 6748 'tags': {'key': 'tags', 'type': '{str}'}, 6749 'sku': {'key': 'sku', 'type': 'LoadBalancerSku'}, 6750 'etag': {'key': 'etag', 'type': 'str'}, 6751 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, 6752 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, 6753 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, 6754 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, 6755 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, 6756 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, 6757 'outbound_nat_rules': {'key': 'properties.outboundNatRules', 'type': '[OutboundNatRule]'}, 6758 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 6759 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6760 } 6761 6762 def __init__( 6763 self, 6764 *, 6765 id: Optional[str] = None, 6766 location: Optional[str] = None, 6767 tags: Optional[Dict[str, str]] = None, 6768 sku: Optional["LoadBalancerSku"] = None, 6769 etag: Optional[str] = None, 6770 frontend_ip_configurations: Optional[List["FrontendIPConfiguration"]] = None, 6771 backend_address_pools: Optional[List["BackendAddressPool"]] = None, 6772 load_balancing_rules: Optional[List["LoadBalancingRule"]] = None, 6773 probes: Optional[List["Probe"]] = None, 6774 inbound_nat_rules: Optional[List["InboundNatRule"]] = None, 6775 inbound_nat_pools: Optional[List["InboundNatPool"]] = None, 6776 outbound_nat_rules: Optional[List["OutboundNatRule"]] = None, 6777 resource_guid: Optional[str] = None, 6778 provisioning_state: Optional[str] = None, 6779 **kwargs 6780 ): 6781 super(LoadBalancer, self).__init__(id=id, location=location, tags=tags, **kwargs) 6782 self.sku = sku 6783 self.etag = etag 6784 self.frontend_ip_configurations = frontend_ip_configurations 6785 self.backend_address_pools = backend_address_pools 6786 self.load_balancing_rules = load_balancing_rules 6787 self.probes = probes 6788 self.inbound_nat_rules = inbound_nat_rules 6789 self.inbound_nat_pools = inbound_nat_pools 6790 self.outbound_nat_rules = outbound_nat_rules 6791 self.resource_guid = resource_guid 6792 self.provisioning_state = provisioning_state 6793 6794 6795class LoadBalancerBackendAddressPoolListResult(msrest.serialization.Model): 6796 """Response for ListBackendAddressPool API service call. 6797 6798 Variables are only populated by the server, and will be ignored when sending a request. 6799 6800 :param value: A list of backend address pools in a load balancer. 6801 :type value: list[~azure.mgmt.network.v2018_04_01.models.BackendAddressPool] 6802 :ivar next_link: The URL to get the next set of results. 6803 :vartype next_link: str 6804 """ 6805 6806 _validation = { 6807 'next_link': {'readonly': True}, 6808 } 6809 6810 _attribute_map = { 6811 'value': {'key': 'value', 'type': '[BackendAddressPool]'}, 6812 'next_link': {'key': 'nextLink', 'type': 'str'}, 6813 } 6814 6815 def __init__( 6816 self, 6817 *, 6818 value: Optional[List["BackendAddressPool"]] = None, 6819 **kwargs 6820 ): 6821 super(LoadBalancerBackendAddressPoolListResult, self).__init__(**kwargs) 6822 self.value = value 6823 self.next_link = None 6824 6825 6826class LoadBalancerFrontendIPConfigurationListResult(msrest.serialization.Model): 6827 """Response for ListFrontendIPConfiguration API service call. 6828 6829 Variables are only populated by the server, and will be ignored when sending a request. 6830 6831 :param value: A list of frontend IP configurations in a load balancer. 6832 :type value: list[~azure.mgmt.network.v2018_04_01.models.FrontendIPConfiguration] 6833 :ivar next_link: The URL to get the next set of results. 6834 :vartype next_link: str 6835 """ 6836 6837 _validation = { 6838 'next_link': {'readonly': True}, 6839 } 6840 6841 _attribute_map = { 6842 'value': {'key': 'value', 'type': '[FrontendIPConfiguration]'}, 6843 'next_link': {'key': 'nextLink', 'type': 'str'}, 6844 } 6845 6846 def __init__( 6847 self, 6848 *, 6849 value: Optional[List["FrontendIPConfiguration"]] = None, 6850 **kwargs 6851 ): 6852 super(LoadBalancerFrontendIPConfigurationListResult, self).__init__(**kwargs) 6853 self.value = value 6854 self.next_link = None 6855 6856 6857class LoadBalancerListResult(msrest.serialization.Model): 6858 """Response for ListLoadBalancers API service call. 6859 6860 Variables are only populated by the server, and will be ignored when sending a request. 6861 6862 :param value: A list of load balancers in a resource group. 6863 :type value: list[~azure.mgmt.network.v2018_04_01.models.LoadBalancer] 6864 :ivar next_link: The URL to get the next set of results. 6865 :vartype next_link: str 6866 """ 6867 6868 _validation = { 6869 'next_link': {'readonly': True}, 6870 } 6871 6872 _attribute_map = { 6873 'value': {'key': 'value', 'type': '[LoadBalancer]'}, 6874 'next_link': {'key': 'nextLink', 'type': 'str'}, 6875 } 6876 6877 def __init__( 6878 self, 6879 *, 6880 value: Optional[List["LoadBalancer"]] = None, 6881 **kwargs 6882 ): 6883 super(LoadBalancerListResult, self).__init__(**kwargs) 6884 self.value = value 6885 self.next_link = None 6886 6887 6888class LoadBalancerLoadBalancingRuleListResult(msrest.serialization.Model): 6889 """Response for ListLoadBalancingRule API service call. 6890 6891 Variables are only populated by the server, and will be ignored when sending a request. 6892 6893 :param value: A list of load balancing rules in a load balancer. 6894 :type value: list[~azure.mgmt.network.v2018_04_01.models.LoadBalancingRule] 6895 :ivar next_link: The URL to get the next set of results. 6896 :vartype next_link: str 6897 """ 6898 6899 _validation = { 6900 'next_link': {'readonly': True}, 6901 } 6902 6903 _attribute_map = { 6904 'value': {'key': 'value', 'type': '[LoadBalancingRule]'}, 6905 'next_link': {'key': 'nextLink', 'type': 'str'}, 6906 } 6907 6908 def __init__( 6909 self, 6910 *, 6911 value: Optional[List["LoadBalancingRule"]] = None, 6912 **kwargs 6913 ): 6914 super(LoadBalancerLoadBalancingRuleListResult, self).__init__(**kwargs) 6915 self.value = value 6916 self.next_link = None 6917 6918 6919class LoadBalancerProbeListResult(msrest.serialization.Model): 6920 """Response for ListProbe API service call. 6921 6922 Variables are only populated by the server, and will be ignored when sending a request. 6923 6924 :param value: A list of probes in a load balancer. 6925 :type value: list[~azure.mgmt.network.v2018_04_01.models.Probe] 6926 :ivar next_link: The URL to get the next set of results. 6927 :vartype next_link: str 6928 """ 6929 6930 _validation = { 6931 'next_link': {'readonly': True}, 6932 } 6933 6934 _attribute_map = { 6935 'value': {'key': 'value', 'type': '[Probe]'}, 6936 'next_link': {'key': 'nextLink', 'type': 'str'}, 6937 } 6938 6939 def __init__( 6940 self, 6941 *, 6942 value: Optional[List["Probe"]] = None, 6943 **kwargs 6944 ): 6945 super(LoadBalancerProbeListResult, self).__init__(**kwargs) 6946 self.value = value 6947 self.next_link = None 6948 6949 6950class LoadBalancerSku(msrest.serialization.Model): 6951 """SKU of a load balancer. 6952 6953 :param name: Name of a load balancer SKU. Possible values include: "Basic", "Standard". 6954 :type name: str or ~azure.mgmt.network.v2018_04_01.models.LoadBalancerSkuName 6955 """ 6956 6957 _attribute_map = { 6958 'name': {'key': 'name', 'type': 'str'}, 6959 } 6960 6961 def __init__( 6962 self, 6963 *, 6964 name: Optional[Union[str, "LoadBalancerSkuName"]] = None, 6965 **kwargs 6966 ): 6967 super(LoadBalancerSku, self).__init__(**kwargs) 6968 self.name = name 6969 6970 6971class LoadBalancingRule(SubResource): 6972 """A load balancing rule for a load balancer. 6973 6974 :param id: Resource ID. 6975 :type id: str 6976 :param name: The name of the resource that is unique within a resource group. This name can be 6977 used to access the resource. 6978 :type name: str 6979 :param etag: A unique read-only string that changes whenever the resource is updated. 6980 :type etag: str 6981 :param frontend_ip_configuration: A reference to frontend IP addresses. 6982 :type frontend_ip_configuration: ~azure.mgmt.network.v2018_04_01.models.SubResource 6983 :param backend_address_pool: A reference to a pool of DIPs. Inbound traffic is randomly load 6984 balanced across IPs in the backend IPs. 6985 :type backend_address_pool: ~azure.mgmt.network.v2018_04_01.models.SubResource 6986 :param probe: The reference of the load balancer probe used by the load balancing rule. 6987 :type probe: ~azure.mgmt.network.v2018_04_01.models.SubResource 6988 :param protocol: The transport protocol for the endpoint. Possible values are 'Udp' or 'Tcp' or 6989 'All'. Possible values include: "Udp", "Tcp", "All". 6990 :type protocol: str or ~azure.mgmt.network.v2018_04_01.models.TransportProtocol 6991 :param load_distribution: The load distribution policy for this rule. Possible values are 6992 'Default', 'SourceIP', and 'SourceIPProtocol'. Possible values include: "Default", "SourceIP", 6993 "SourceIPProtocol". 6994 :type load_distribution: str or ~azure.mgmt.network.v2018_04_01.models.LoadDistribution 6995 :param frontend_port: The port for the external endpoint. Port numbers for each rule must be 6996 unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 6997 enables "Any Port". 6998 :type frontend_port: int 6999 :param backend_port: The port used for internal connections on the endpoint. Acceptable values 7000 are between 0 and 65535. Note that value 0 enables "Any Port". 7001 :type backend_port: int 7002 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. The value can be set 7003 between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the 7004 protocol is set to TCP. 7005 :type idle_timeout_in_minutes: int 7006 :param enable_floating_ip: Configures a virtual machine's endpoint for the floating IP 7007 capability required to configure a SQL AlwaysOn Availability Group. This setting is required 7008 when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed 7009 after you create the endpoint. 7010 :type enable_floating_ip: bool 7011 :param disable_outbound_snat: Configures SNAT for the VMs in the backend pool to use the 7012 publicIP address specified in the frontend of the load balancing rule. 7013 :type disable_outbound_snat: bool 7014 :param provisioning_state: Gets the provisioning state of the PublicIP resource. Possible 7015 values are: 'Updating', 'Deleting', and 'Failed'. 7016 :type provisioning_state: str 7017 """ 7018 7019 _attribute_map = { 7020 'id': {'key': 'id', 'type': 'str'}, 7021 'name': {'key': 'name', 'type': 'str'}, 7022 'etag': {'key': 'etag', 'type': 'str'}, 7023 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 7024 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 7025 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, 7026 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 7027 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, 7028 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, 7029 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 7030 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 7031 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, 7032 'disable_outbound_snat': {'key': 'properties.disableOutboundSnat', 'type': 'bool'}, 7033 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7034 } 7035 7036 def __init__( 7037 self, 7038 *, 7039 id: Optional[str] = None, 7040 name: Optional[str] = None, 7041 etag: Optional[str] = None, 7042 frontend_ip_configuration: Optional["SubResource"] = None, 7043 backend_address_pool: Optional["SubResource"] = None, 7044 probe: Optional["SubResource"] = None, 7045 protocol: Optional[Union[str, "TransportProtocol"]] = None, 7046 load_distribution: Optional[Union[str, "LoadDistribution"]] = None, 7047 frontend_port: Optional[int] = None, 7048 backend_port: Optional[int] = None, 7049 idle_timeout_in_minutes: Optional[int] = None, 7050 enable_floating_ip: Optional[bool] = None, 7051 disable_outbound_snat: Optional[bool] = None, 7052 provisioning_state: Optional[str] = None, 7053 **kwargs 7054 ): 7055 super(LoadBalancingRule, self).__init__(id=id, **kwargs) 7056 self.name = name 7057 self.etag = etag 7058 self.frontend_ip_configuration = frontend_ip_configuration 7059 self.backend_address_pool = backend_address_pool 7060 self.probe = probe 7061 self.protocol = protocol 7062 self.load_distribution = load_distribution 7063 self.frontend_port = frontend_port 7064 self.backend_port = backend_port 7065 self.idle_timeout_in_minutes = idle_timeout_in_minutes 7066 self.enable_floating_ip = enable_floating_ip 7067 self.disable_outbound_snat = disable_outbound_snat 7068 self.provisioning_state = provisioning_state 7069 7070 7071class LocalNetworkGateway(Resource): 7072 """A common class for general resource information. 7073 7074 Variables are only populated by the server, and will be ignored when sending a request. 7075 7076 :param id: Resource ID. 7077 :type id: str 7078 :ivar name: Resource name. 7079 :vartype name: str 7080 :ivar type: Resource type. 7081 :vartype type: str 7082 :param location: Resource location. 7083 :type location: str 7084 :param tags: A set of tags. Resource tags. 7085 :type tags: dict[str, str] 7086 :param etag: A unique read-only string that changes whenever the resource is updated. 7087 :type etag: str 7088 :param local_network_address_space: Local network site address space. 7089 :type local_network_address_space: ~azure.mgmt.network.v2018_04_01.models.AddressSpace 7090 :param gateway_ip_address: IP address of local network gateway. 7091 :type gateway_ip_address: str 7092 :param bgp_settings: Local network gateway's BGP speaker settings. 7093 :type bgp_settings: ~azure.mgmt.network.v2018_04_01.models.BgpSettings 7094 :param resource_guid: The resource GUID property of the LocalNetworkGateway resource. 7095 :type resource_guid: str 7096 :ivar provisioning_state: The provisioning state of the LocalNetworkGateway resource. Possible 7097 values are: 'Updating', 'Deleting', and 'Failed'. 7098 :vartype provisioning_state: str 7099 """ 7100 7101 _validation = { 7102 'name': {'readonly': True}, 7103 'type': {'readonly': True}, 7104 'provisioning_state': {'readonly': True}, 7105 } 7106 7107 _attribute_map = { 7108 'id': {'key': 'id', 'type': 'str'}, 7109 'name': {'key': 'name', 'type': 'str'}, 7110 'type': {'key': 'type', 'type': 'str'}, 7111 'location': {'key': 'location', 'type': 'str'}, 7112 'tags': {'key': 'tags', 'type': '{str}'}, 7113 'etag': {'key': 'etag', 'type': 'str'}, 7114 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, 7115 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, 7116 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, 7117 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 7118 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7119 } 7120 7121 def __init__( 7122 self, 7123 *, 7124 id: Optional[str] = None, 7125 location: Optional[str] = None, 7126 tags: Optional[Dict[str, str]] = None, 7127 etag: Optional[str] = None, 7128 local_network_address_space: Optional["AddressSpace"] = None, 7129 gateway_ip_address: Optional[str] = None, 7130 bgp_settings: Optional["BgpSettings"] = None, 7131 resource_guid: Optional[str] = None, 7132 **kwargs 7133 ): 7134 super(LocalNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 7135 self.etag = etag 7136 self.local_network_address_space = local_network_address_space 7137 self.gateway_ip_address = gateway_ip_address 7138 self.bgp_settings = bgp_settings 7139 self.resource_guid = resource_guid 7140 self.provisioning_state = None 7141 7142 7143class LocalNetworkGatewayListResult(msrest.serialization.Model): 7144 """Response for ListLocalNetworkGateways API service call. 7145 7146 Variables are only populated by the server, and will be ignored when sending a request. 7147 7148 :param value: A list of local network gateways that exists in a resource group. 7149 :type value: list[~azure.mgmt.network.v2018_04_01.models.LocalNetworkGateway] 7150 :ivar next_link: The URL to get the next set of results. 7151 :vartype next_link: str 7152 """ 7153 7154 _validation = { 7155 'next_link': {'readonly': True}, 7156 } 7157 7158 _attribute_map = { 7159 'value': {'key': 'value', 'type': '[LocalNetworkGateway]'}, 7160 'next_link': {'key': 'nextLink', 'type': 'str'}, 7161 } 7162 7163 def __init__( 7164 self, 7165 *, 7166 value: Optional[List["LocalNetworkGateway"]] = None, 7167 **kwargs 7168 ): 7169 super(LocalNetworkGatewayListResult, self).__init__(**kwargs) 7170 self.value = value 7171 self.next_link = None 7172 7173 7174class LogSpecification(msrest.serialization.Model): 7175 """Description of logging specification. 7176 7177 :param name: The name of the specification. 7178 :type name: str 7179 :param display_name: The display name of the specification. 7180 :type display_name: str 7181 :param blob_duration: Duration of the blob. 7182 :type blob_duration: str 7183 """ 7184 7185 _attribute_map = { 7186 'name': {'key': 'name', 'type': 'str'}, 7187 'display_name': {'key': 'displayName', 'type': 'str'}, 7188 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, 7189 } 7190 7191 def __init__( 7192 self, 7193 *, 7194 name: Optional[str] = None, 7195 display_name: Optional[str] = None, 7196 blob_duration: Optional[str] = None, 7197 **kwargs 7198 ): 7199 super(LogSpecification, self).__init__(**kwargs) 7200 self.name = name 7201 self.display_name = display_name 7202 self.blob_duration = blob_duration 7203 7204 7205class MetricSpecification(msrest.serialization.Model): 7206 """Description of metrics specification. 7207 7208 :param name: The name of the metric. 7209 :type name: str 7210 :param display_name: The display name of the metric. 7211 :type display_name: str 7212 :param display_description: The description of the metric. 7213 :type display_description: str 7214 :param unit: Units the metric to be displayed in. 7215 :type unit: str 7216 :param aggregation_type: The aggregation type. 7217 :type aggregation_type: str 7218 :param availabilities: List of availability. 7219 :type availabilities: list[~azure.mgmt.network.v2018_04_01.models.Availability] 7220 :param enable_regional_mdm_account: Whether regional MDM account enabled. 7221 :type enable_regional_mdm_account: bool 7222 :param fill_gap_with_zero: Whether gaps would be filled with zeros. 7223 :type fill_gap_with_zero: bool 7224 :param metric_filter_pattern: Pattern for the filter of the metric. 7225 :type metric_filter_pattern: str 7226 :param dimensions: List of dimensions. 7227 :type dimensions: list[~azure.mgmt.network.v2018_04_01.models.Dimension] 7228 :param is_internal: Whether the metric is internal. 7229 :type is_internal: bool 7230 :param source_mdm_account: The source MDM account. 7231 :type source_mdm_account: str 7232 :param source_mdm_namespace: The source MDM namespace. 7233 :type source_mdm_namespace: str 7234 :param resource_id_dimension_name_override: The resource Id dimension name override. 7235 :type resource_id_dimension_name_override: str 7236 """ 7237 7238 _attribute_map = { 7239 'name': {'key': 'name', 'type': 'str'}, 7240 'display_name': {'key': 'displayName', 'type': 'str'}, 7241 'display_description': {'key': 'displayDescription', 'type': 'str'}, 7242 'unit': {'key': 'unit', 'type': 'str'}, 7243 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, 7244 'availabilities': {'key': 'availabilities', 'type': '[Availability]'}, 7245 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, 7246 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, 7247 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, 7248 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, 7249 'is_internal': {'key': 'isInternal', 'type': 'bool'}, 7250 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, 7251 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, 7252 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, 7253 } 7254 7255 def __init__( 7256 self, 7257 *, 7258 name: Optional[str] = None, 7259 display_name: Optional[str] = None, 7260 display_description: Optional[str] = None, 7261 unit: Optional[str] = None, 7262 aggregation_type: Optional[str] = None, 7263 availabilities: Optional[List["Availability"]] = None, 7264 enable_regional_mdm_account: Optional[bool] = None, 7265 fill_gap_with_zero: Optional[bool] = None, 7266 metric_filter_pattern: Optional[str] = None, 7267 dimensions: Optional[List["Dimension"]] = None, 7268 is_internal: Optional[bool] = None, 7269 source_mdm_account: Optional[str] = None, 7270 source_mdm_namespace: Optional[str] = None, 7271 resource_id_dimension_name_override: Optional[str] = None, 7272 **kwargs 7273 ): 7274 super(MetricSpecification, self).__init__(**kwargs) 7275 self.name = name 7276 self.display_name = display_name 7277 self.display_description = display_description 7278 self.unit = unit 7279 self.aggregation_type = aggregation_type 7280 self.availabilities = availabilities 7281 self.enable_regional_mdm_account = enable_regional_mdm_account 7282 self.fill_gap_with_zero = fill_gap_with_zero 7283 self.metric_filter_pattern = metric_filter_pattern 7284 self.dimensions = dimensions 7285 self.is_internal = is_internal 7286 self.source_mdm_account = source_mdm_account 7287 self.source_mdm_namespace = source_mdm_namespace 7288 self.resource_id_dimension_name_override = resource_id_dimension_name_override 7289 7290 7291class NetworkInterface(Resource): 7292 """A network interface in a resource group. 7293 7294 Variables are only populated by the server, and will be ignored when sending a request. 7295 7296 :param id: Resource ID. 7297 :type id: str 7298 :ivar name: Resource name. 7299 :vartype name: str 7300 :ivar type: Resource type. 7301 :vartype type: str 7302 :param location: Resource location. 7303 :type location: str 7304 :param tags: A set of tags. Resource tags. 7305 :type tags: dict[str, str] 7306 :param etag: A unique read-only string that changes whenever the resource is updated. 7307 :type etag: str 7308 :param virtual_machine: The reference of a virtual machine. 7309 :type virtual_machine: ~azure.mgmt.network.v2018_04_01.models.SubResource 7310 :param network_security_group: The reference of the NetworkSecurityGroup resource. 7311 :type network_security_group: ~azure.mgmt.network.v2018_04_01.models.NetworkSecurityGroup 7312 :param ip_configurations: A list of IPConfigurations of the network interface. 7313 :type ip_configurations: 7314 list[~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfiguration] 7315 :param dns_settings: The DNS settings in network interface. 7316 :type dns_settings: ~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceDnsSettings 7317 :param mac_address: The MAC address of the network interface. 7318 :type mac_address: str 7319 :param primary: Gets whether this is a primary network interface on a virtual machine. 7320 :type primary: bool 7321 :param enable_accelerated_networking: If the network interface is accelerated networking 7322 enabled. 7323 :type enable_accelerated_networking: bool 7324 :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on this network 7325 interface. 7326 :type enable_ip_forwarding: bool 7327 :param resource_guid: The resource GUID property of the network interface resource. 7328 :type resource_guid: str 7329 :param provisioning_state: The provisioning state of the public IP resource. Possible values 7330 are: 'Updating', 'Deleting', and 'Failed'. 7331 :type provisioning_state: str 7332 """ 7333 7334 _validation = { 7335 'name': {'readonly': True}, 7336 'type': {'readonly': True}, 7337 } 7338 7339 _attribute_map = { 7340 'id': {'key': 'id', 'type': 'str'}, 7341 'name': {'key': 'name', 'type': 'str'}, 7342 'type': {'key': 'type', 'type': 'str'}, 7343 'location': {'key': 'location', 'type': 'str'}, 7344 'tags': {'key': 'tags', 'type': '{str}'}, 7345 'etag': {'key': 'etag', 'type': 'str'}, 7346 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, 7347 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, 7348 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 7349 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, 7350 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, 7351 'primary': {'key': 'properties.primary', 'type': 'bool'}, 7352 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, 7353 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, 7354 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 7355 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7356 } 7357 7358 def __init__( 7359 self, 7360 *, 7361 id: Optional[str] = None, 7362 location: Optional[str] = None, 7363 tags: Optional[Dict[str, str]] = None, 7364 etag: Optional[str] = None, 7365 virtual_machine: Optional["SubResource"] = None, 7366 network_security_group: Optional["NetworkSecurityGroup"] = None, 7367 ip_configurations: Optional[List["NetworkInterfaceIPConfiguration"]] = None, 7368 dns_settings: Optional["NetworkInterfaceDnsSettings"] = None, 7369 mac_address: Optional[str] = None, 7370 primary: Optional[bool] = None, 7371 enable_accelerated_networking: Optional[bool] = None, 7372 enable_ip_forwarding: Optional[bool] = None, 7373 resource_guid: Optional[str] = None, 7374 provisioning_state: Optional[str] = None, 7375 **kwargs 7376 ): 7377 super(NetworkInterface, self).__init__(id=id, location=location, tags=tags, **kwargs) 7378 self.etag = etag 7379 self.virtual_machine = virtual_machine 7380 self.network_security_group = network_security_group 7381 self.ip_configurations = ip_configurations 7382 self.dns_settings = dns_settings 7383 self.mac_address = mac_address 7384 self.primary = primary 7385 self.enable_accelerated_networking = enable_accelerated_networking 7386 self.enable_ip_forwarding = enable_ip_forwarding 7387 self.resource_guid = resource_guid 7388 self.provisioning_state = provisioning_state 7389 7390 7391class NetworkInterfaceAssociation(msrest.serialization.Model): 7392 """Network interface and its custom security rules. 7393 7394 Variables are only populated by the server, and will be ignored when sending a request. 7395 7396 :ivar id: Network interface ID. 7397 :vartype id: str 7398 :param security_rules: Collection of custom security rules. 7399 :type security_rules: list[~azure.mgmt.network.v2018_04_01.models.SecurityRule] 7400 """ 7401 7402 _validation = { 7403 'id': {'readonly': True}, 7404 } 7405 7406 _attribute_map = { 7407 'id': {'key': 'id', 'type': 'str'}, 7408 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, 7409 } 7410 7411 def __init__( 7412 self, 7413 *, 7414 security_rules: Optional[List["SecurityRule"]] = None, 7415 **kwargs 7416 ): 7417 super(NetworkInterfaceAssociation, self).__init__(**kwargs) 7418 self.id = None 7419 self.security_rules = security_rules 7420 7421 7422class NetworkInterfaceDnsSettings(msrest.serialization.Model): 7423 """DNS settings of a network interface. 7424 7425 :param dns_servers: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure 7426 provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be 7427 the only value in dnsServers collection. 7428 :type dns_servers: list[str] 7429 :param applied_dns_servers: If the VM that uses this NIC is part of an Availability Set, then 7430 this list will have the union of all DNS servers from all NICs that are part of the 7431 Availability Set. This property is what is configured on each of those VMs. 7432 :type applied_dns_servers: list[str] 7433 :param internal_dns_name_label: Relative DNS name for this NIC used for internal communications 7434 between VMs in the same virtual network. 7435 :type internal_dns_name_label: str 7436 :param internal_fqdn: Fully qualified DNS name supporting internal communications between VMs 7437 in the same virtual network. 7438 :type internal_fqdn: str 7439 :param internal_domain_name_suffix: Even if internalDnsNameLabel is not specified, a DNS entry 7440 is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the 7441 VM name with the value of internalDomainNameSuffix. 7442 :type internal_domain_name_suffix: str 7443 """ 7444 7445 _attribute_map = { 7446 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, 7447 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, 7448 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, 7449 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, 7450 'internal_domain_name_suffix': {'key': 'internalDomainNameSuffix', 'type': 'str'}, 7451 } 7452 7453 def __init__( 7454 self, 7455 *, 7456 dns_servers: Optional[List[str]] = None, 7457 applied_dns_servers: Optional[List[str]] = None, 7458 internal_dns_name_label: Optional[str] = None, 7459 internal_fqdn: Optional[str] = None, 7460 internal_domain_name_suffix: Optional[str] = None, 7461 **kwargs 7462 ): 7463 super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) 7464 self.dns_servers = dns_servers 7465 self.applied_dns_servers = applied_dns_servers 7466 self.internal_dns_name_label = internal_dns_name_label 7467 self.internal_fqdn = internal_fqdn 7468 self.internal_domain_name_suffix = internal_domain_name_suffix 7469 7470 7471class NetworkInterfaceIPConfiguration(SubResource): 7472 """IPConfiguration in a network interface. 7473 7474 :param id: Resource ID. 7475 :type id: str 7476 :param name: The name of the resource that is unique within a resource group. This name can be 7477 used to access the resource. 7478 :type name: str 7479 :param etag: A unique read-only string that changes whenever the resource is updated. 7480 :type etag: str 7481 :param application_gateway_backend_address_pools: The reference of 7482 ApplicationGatewayBackendAddressPool resource. 7483 :type application_gateway_backend_address_pools: 7484 list[~azure.mgmt.network.v2018_04_01.models.ApplicationGatewayBackendAddressPool] 7485 :param load_balancer_backend_address_pools: The reference of LoadBalancerBackendAddressPool 7486 resource. 7487 :type load_balancer_backend_address_pools: 7488 list[~azure.mgmt.network.v2018_04_01.models.BackendAddressPool] 7489 :param load_balancer_inbound_nat_rules: A list of references of LoadBalancerInboundNatRules. 7490 :type load_balancer_inbound_nat_rules: 7491 list[~azure.mgmt.network.v2018_04_01.models.InboundNatRule] 7492 :param private_ip_address: Private IP address of the IP configuration. 7493 :type private_ip_address: str 7494 :param private_ip_allocation_method: Defines how a private IP address is assigned. Possible 7495 values are: 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 7496 :type private_ip_allocation_method: str or 7497 ~azure.mgmt.network.v2018_04_01.models.IPAllocationMethod 7498 :param private_ip_address_version: Available from Api-Version 2016-03-30 onwards, it represents 7499 whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible 7500 values are: 'IPv4' and 'IPv6'. Possible values include: "IPv4", "IPv6". 7501 :type private_ip_address_version: str or ~azure.mgmt.network.v2018_04_01.models.IPVersion 7502 :param subnet: Subnet bound to the IP configuration. 7503 :type subnet: ~azure.mgmt.network.v2018_04_01.models.Subnet 7504 :param primary: Gets whether this is a primary customer address on the network interface. 7505 :type primary: bool 7506 :param public_ip_address: Public IP address bound to the IP configuration. 7507 :type public_ip_address: ~azure.mgmt.network.v2018_04_01.models.PublicIPAddress 7508 :param application_security_groups: Application security groups in which the IP configuration 7509 is included. 7510 :type application_security_groups: 7511 list[~azure.mgmt.network.v2018_04_01.models.ApplicationSecurityGroup] 7512 :param provisioning_state: The provisioning state of the network interface IP configuration. 7513 Possible values are: 'Updating', 'Deleting', and 'Failed'. 7514 :type provisioning_state: str 7515 """ 7516 7517 _attribute_map = { 7518 'id': {'key': 'id', 'type': 'str'}, 7519 'name': {'key': 'name', 'type': 'str'}, 7520 'etag': {'key': 'etag', 'type': 'str'}, 7521 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, 7522 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, 7523 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, 7524 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 7525 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 7526 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, 7527 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 7528 'primary': {'key': 'properties.primary', 'type': 'bool'}, 7529 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 7530 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, 7531 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7532 } 7533 7534 def __init__( 7535 self, 7536 *, 7537 id: Optional[str] = None, 7538 name: Optional[str] = None, 7539 etag: Optional[str] = None, 7540 application_gateway_backend_address_pools: Optional[List["ApplicationGatewayBackendAddressPool"]] = None, 7541 load_balancer_backend_address_pools: Optional[List["BackendAddressPool"]] = None, 7542 load_balancer_inbound_nat_rules: Optional[List["InboundNatRule"]] = None, 7543 private_ip_address: Optional[str] = None, 7544 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 7545 private_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 7546 subnet: Optional["Subnet"] = None, 7547 primary: Optional[bool] = None, 7548 public_ip_address: Optional["PublicIPAddress"] = None, 7549 application_security_groups: Optional[List["ApplicationSecurityGroup"]] = None, 7550 provisioning_state: Optional[str] = None, 7551 **kwargs 7552 ): 7553 super(NetworkInterfaceIPConfiguration, self).__init__(id=id, **kwargs) 7554 self.name = name 7555 self.etag = etag 7556 self.application_gateway_backend_address_pools = application_gateway_backend_address_pools 7557 self.load_balancer_backend_address_pools = load_balancer_backend_address_pools 7558 self.load_balancer_inbound_nat_rules = load_balancer_inbound_nat_rules 7559 self.private_ip_address = private_ip_address 7560 self.private_ip_allocation_method = private_ip_allocation_method 7561 self.private_ip_address_version = private_ip_address_version 7562 self.subnet = subnet 7563 self.primary = primary 7564 self.public_ip_address = public_ip_address 7565 self.application_security_groups = application_security_groups 7566 self.provisioning_state = provisioning_state 7567 7568 7569class NetworkInterfaceIPConfigurationListResult(msrest.serialization.Model): 7570 """Response for list ip configurations API service call. 7571 7572 Variables are only populated by the server, and will be ignored when sending a request. 7573 7574 :param value: A list of ip configurations. 7575 :type value: list[~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceIPConfiguration] 7576 :ivar next_link: The URL to get the next set of results. 7577 :vartype next_link: str 7578 """ 7579 7580 _validation = { 7581 'next_link': {'readonly': True}, 7582 } 7583 7584 _attribute_map = { 7585 'value': {'key': 'value', 'type': '[NetworkInterfaceIPConfiguration]'}, 7586 'next_link': {'key': 'nextLink', 'type': 'str'}, 7587 } 7588 7589 def __init__( 7590 self, 7591 *, 7592 value: Optional[List["NetworkInterfaceIPConfiguration"]] = None, 7593 **kwargs 7594 ): 7595 super(NetworkInterfaceIPConfigurationListResult, self).__init__(**kwargs) 7596 self.value = value 7597 self.next_link = None 7598 7599 7600class NetworkInterfaceListResult(msrest.serialization.Model): 7601 """Response for the ListNetworkInterface API service call. 7602 7603 Variables are only populated by the server, and will be ignored when sending a request. 7604 7605 :param value: A list of network interfaces in a resource group. 7606 :type value: list[~azure.mgmt.network.v2018_04_01.models.NetworkInterface] 7607 :ivar next_link: The URL to get the next set of results. 7608 :vartype next_link: str 7609 """ 7610 7611 _validation = { 7612 'next_link': {'readonly': True}, 7613 } 7614 7615 _attribute_map = { 7616 'value': {'key': 'value', 'type': '[NetworkInterface]'}, 7617 'next_link': {'key': 'nextLink', 'type': 'str'}, 7618 } 7619 7620 def __init__( 7621 self, 7622 *, 7623 value: Optional[List["NetworkInterface"]] = None, 7624 **kwargs 7625 ): 7626 super(NetworkInterfaceListResult, self).__init__(**kwargs) 7627 self.value = value 7628 self.next_link = None 7629 7630 7631class NetworkInterfaceLoadBalancerListResult(msrest.serialization.Model): 7632 """Response for list ip configurations API service call. 7633 7634 Variables are only populated by the server, and will be ignored when sending a request. 7635 7636 :param value: A list of load balancers. 7637 :type value: list[~azure.mgmt.network.v2018_04_01.models.LoadBalancer] 7638 :ivar next_link: The URL to get the next set of results. 7639 :vartype next_link: str 7640 """ 7641 7642 _validation = { 7643 'next_link': {'readonly': True}, 7644 } 7645 7646 _attribute_map = { 7647 'value': {'key': 'value', 'type': '[LoadBalancer]'}, 7648 'next_link': {'key': 'nextLink', 'type': 'str'}, 7649 } 7650 7651 def __init__( 7652 self, 7653 *, 7654 value: Optional[List["LoadBalancer"]] = None, 7655 **kwargs 7656 ): 7657 super(NetworkInterfaceLoadBalancerListResult, self).__init__(**kwargs) 7658 self.value = value 7659 self.next_link = None 7660 7661 7662class NetworkSecurityGroup(Resource): 7663 """NetworkSecurityGroup resource. 7664 7665 Variables are only populated by the server, and will be ignored when sending a request. 7666 7667 :param id: Resource ID. 7668 :type id: str 7669 :ivar name: Resource name. 7670 :vartype name: str 7671 :ivar type: Resource type. 7672 :vartype type: str 7673 :param location: Resource location. 7674 :type location: str 7675 :param tags: A set of tags. Resource tags. 7676 :type tags: dict[str, str] 7677 :param etag: A unique read-only string that changes whenever the resource is updated. 7678 :type etag: str 7679 :param security_rules: A collection of security rules of the network security group. 7680 :type security_rules: list[~azure.mgmt.network.v2018_04_01.models.SecurityRule] 7681 :param default_security_rules: The default security rules of network security group. 7682 :type default_security_rules: list[~azure.mgmt.network.v2018_04_01.models.SecurityRule] 7683 :ivar network_interfaces: A collection of references to network interfaces. 7684 :vartype network_interfaces: list[~azure.mgmt.network.v2018_04_01.models.NetworkInterface] 7685 :ivar subnets: A collection of references to subnets. 7686 :vartype subnets: list[~azure.mgmt.network.v2018_04_01.models.Subnet] 7687 :param resource_guid: The resource GUID property of the network security group resource. 7688 :type resource_guid: str 7689 :param provisioning_state: The provisioning state of the public IP resource. Possible values 7690 are: 'Updating', 'Deleting', and 'Failed'. 7691 :type provisioning_state: str 7692 """ 7693 7694 _validation = { 7695 'name': {'readonly': True}, 7696 'type': {'readonly': True}, 7697 'network_interfaces': {'readonly': True}, 7698 'subnets': {'readonly': True}, 7699 } 7700 7701 _attribute_map = { 7702 'id': {'key': 'id', 'type': 'str'}, 7703 'name': {'key': 'name', 'type': 'str'}, 7704 'type': {'key': 'type', 'type': 'str'}, 7705 'location': {'key': 'location', 'type': 'str'}, 7706 'tags': {'key': 'tags', 'type': '{str}'}, 7707 'etag': {'key': 'etag', 'type': 'str'}, 7708 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, 7709 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, 7710 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, 7711 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 7712 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 7713 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7714 } 7715 7716 def __init__( 7717 self, 7718 *, 7719 id: Optional[str] = None, 7720 location: Optional[str] = None, 7721 tags: Optional[Dict[str, str]] = None, 7722 etag: Optional[str] = None, 7723 security_rules: Optional[List["SecurityRule"]] = None, 7724 default_security_rules: Optional[List["SecurityRule"]] = None, 7725 resource_guid: Optional[str] = None, 7726 provisioning_state: Optional[str] = None, 7727 **kwargs 7728 ): 7729 super(NetworkSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) 7730 self.etag = etag 7731 self.security_rules = security_rules 7732 self.default_security_rules = default_security_rules 7733 self.network_interfaces = None 7734 self.subnets = None 7735 self.resource_guid = resource_guid 7736 self.provisioning_state = provisioning_state 7737 7738 7739class NetworkSecurityGroupListResult(msrest.serialization.Model): 7740 """Response for ListNetworkSecurityGroups API service call. 7741 7742 :param value: A list of NetworkSecurityGroup resources. 7743 :type value: list[~azure.mgmt.network.v2018_04_01.models.NetworkSecurityGroup] 7744 :param next_link: The URL to get the next set of results. 7745 :type next_link: str 7746 """ 7747 7748 _attribute_map = { 7749 'value': {'key': 'value', 'type': '[NetworkSecurityGroup]'}, 7750 'next_link': {'key': 'nextLink', 'type': 'str'}, 7751 } 7752 7753 def __init__( 7754 self, 7755 *, 7756 value: Optional[List["NetworkSecurityGroup"]] = None, 7757 next_link: Optional[str] = None, 7758 **kwargs 7759 ): 7760 super(NetworkSecurityGroupListResult, self).__init__(**kwargs) 7761 self.value = value 7762 self.next_link = next_link 7763 7764 7765class NetworkWatcher(Resource): 7766 """Network watcher in a resource group. 7767 7768 Variables are only populated by the server, and will be ignored when sending a request. 7769 7770 :param id: Resource ID. 7771 :type id: str 7772 :ivar name: Resource name. 7773 :vartype name: str 7774 :ivar type: Resource type. 7775 :vartype type: str 7776 :param location: Resource location. 7777 :type location: str 7778 :param tags: A set of tags. Resource tags. 7779 :type tags: dict[str, str] 7780 :param etag: A unique read-only string that changes whenever the resource is updated. 7781 :type etag: str 7782 :ivar provisioning_state: The provisioning state of the resource. Possible values include: 7783 "Succeeded", "Updating", "Deleting", "Failed". 7784 :vartype provisioning_state: str or ~azure.mgmt.network.v2018_04_01.models.ProvisioningState 7785 """ 7786 7787 _validation = { 7788 'name': {'readonly': True}, 7789 'type': {'readonly': True}, 7790 'provisioning_state': {'readonly': True}, 7791 } 7792 7793 _attribute_map = { 7794 'id': {'key': 'id', 'type': 'str'}, 7795 'name': {'key': 'name', 'type': 'str'}, 7796 'type': {'key': 'type', 'type': 'str'}, 7797 'location': {'key': 'location', 'type': 'str'}, 7798 'tags': {'key': 'tags', 'type': '{str}'}, 7799 'etag': {'key': 'etag', 'type': 'str'}, 7800 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7801 } 7802 7803 def __init__( 7804 self, 7805 *, 7806 id: Optional[str] = None, 7807 location: Optional[str] = None, 7808 tags: Optional[Dict[str, str]] = None, 7809 etag: Optional[str] = None, 7810 **kwargs 7811 ): 7812 super(NetworkWatcher, self).__init__(id=id, location=location, tags=tags, **kwargs) 7813 self.etag = etag 7814 self.provisioning_state = None 7815 7816 7817class NetworkWatcherListResult(msrest.serialization.Model): 7818 """List of network watcher resources. 7819 7820 :param value: 7821 :type value: list[~azure.mgmt.network.v2018_04_01.models.NetworkWatcher] 7822 """ 7823 7824 _attribute_map = { 7825 'value': {'key': 'value', 'type': '[NetworkWatcher]'}, 7826 } 7827 7828 def __init__( 7829 self, 7830 *, 7831 value: Optional[List["NetworkWatcher"]] = None, 7832 **kwargs 7833 ): 7834 super(NetworkWatcherListResult, self).__init__(**kwargs) 7835 self.value = value 7836 7837 7838class NextHopParameters(msrest.serialization.Model): 7839 """Parameters that define the source and destination endpoint. 7840 7841 All required parameters must be populated in order to send to Azure. 7842 7843 :param target_resource_id: Required. The resource identifier of the target resource against 7844 which the action is to be performed. 7845 :type target_resource_id: str 7846 :param source_ip_address: Required. The source IP address. 7847 :type source_ip_address: str 7848 :param destination_ip_address: Required. The destination IP address. 7849 :type destination_ip_address: str 7850 :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP forwarding is 7851 enabled on any of the nics, then this parameter must be specified. Otherwise optional). 7852 :type target_nic_resource_id: str 7853 """ 7854 7855 _validation = { 7856 'target_resource_id': {'required': True}, 7857 'source_ip_address': {'required': True}, 7858 'destination_ip_address': {'required': True}, 7859 } 7860 7861 _attribute_map = { 7862 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 7863 'source_ip_address': {'key': 'sourceIPAddress', 'type': 'str'}, 7864 'destination_ip_address': {'key': 'destinationIPAddress', 'type': 'str'}, 7865 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, 7866 } 7867 7868 def __init__( 7869 self, 7870 *, 7871 target_resource_id: str, 7872 source_ip_address: str, 7873 destination_ip_address: str, 7874 target_nic_resource_id: Optional[str] = None, 7875 **kwargs 7876 ): 7877 super(NextHopParameters, self).__init__(**kwargs) 7878 self.target_resource_id = target_resource_id 7879 self.source_ip_address = source_ip_address 7880 self.destination_ip_address = destination_ip_address 7881 self.target_nic_resource_id = target_nic_resource_id 7882 7883 7884class NextHopResult(msrest.serialization.Model): 7885 """The information about next hop from the specified VM. 7886 7887 :param next_hop_type: Next hop type. Possible values include: "Internet", "VirtualAppliance", 7888 "VirtualNetworkGateway", "VnetLocal", "HyperNetGateway", "None". 7889 :type next_hop_type: str or ~azure.mgmt.network.v2018_04_01.models.NextHopType 7890 :param next_hop_ip_address: Next hop IP Address. 7891 :type next_hop_ip_address: str 7892 :param route_table_id: The resource identifier for the route table associated with the route 7893 being returned. If the route being returned does not correspond to any user created routes then 7894 this field will be the string 'System Route'. 7895 :type route_table_id: str 7896 """ 7897 7898 _attribute_map = { 7899 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, 7900 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, 7901 'route_table_id': {'key': 'routeTableId', 'type': 'str'}, 7902 } 7903 7904 def __init__( 7905 self, 7906 *, 7907 next_hop_type: Optional[Union[str, "NextHopType"]] = None, 7908 next_hop_ip_address: Optional[str] = None, 7909 route_table_id: Optional[str] = None, 7910 **kwargs 7911 ): 7912 super(NextHopResult, self).__init__(**kwargs) 7913 self.next_hop_type = next_hop_type 7914 self.next_hop_ip_address = next_hop_ip_address 7915 self.route_table_id = route_table_id 7916 7917 7918class Operation(msrest.serialization.Model): 7919 """Network REST API operation definition. 7920 7921 :param name: Operation name: {provider}/{resource}/{operation}. 7922 :type name: str 7923 :param display: Display metadata associated with the operation. 7924 :type display: ~azure.mgmt.network.v2018_04_01.models.OperationDisplay 7925 :param origin: Origin of the operation. 7926 :type origin: str 7927 :param service_specification: Specification of the service. 7928 :type service_specification: 7929 ~azure.mgmt.network.v2018_04_01.models.OperationPropertiesFormatServiceSpecification 7930 """ 7931 7932 _attribute_map = { 7933 'name': {'key': 'name', 'type': 'str'}, 7934 'display': {'key': 'display', 'type': 'OperationDisplay'}, 7935 'origin': {'key': 'origin', 'type': 'str'}, 7936 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationPropertiesFormatServiceSpecification'}, 7937 } 7938 7939 def __init__( 7940 self, 7941 *, 7942 name: Optional[str] = None, 7943 display: Optional["OperationDisplay"] = None, 7944 origin: Optional[str] = None, 7945 service_specification: Optional["OperationPropertiesFormatServiceSpecification"] = None, 7946 **kwargs 7947 ): 7948 super(Operation, self).__init__(**kwargs) 7949 self.name = name 7950 self.display = display 7951 self.origin = origin 7952 self.service_specification = service_specification 7953 7954 7955class OperationDisplay(msrest.serialization.Model): 7956 """Display metadata associated with the operation. 7957 7958 :param provider: Service provider: Microsoft Network. 7959 :type provider: str 7960 :param resource: Resource on which the operation is performed. 7961 :type resource: str 7962 :param operation: Type of the operation: get, read, delete, etc. 7963 :type operation: str 7964 :param description: Description of the operation. 7965 :type description: str 7966 """ 7967 7968 _attribute_map = { 7969 'provider': {'key': 'provider', 'type': 'str'}, 7970 'resource': {'key': 'resource', 'type': 'str'}, 7971 'operation': {'key': 'operation', 'type': 'str'}, 7972 'description': {'key': 'description', 'type': 'str'}, 7973 } 7974 7975 def __init__( 7976 self, 7977 *, 7978 provider: Optional[str] = None, 7979 resource: Optional[str] = None, 7980 operation: Optional[str] = None, 7981 description: Optional[str] = None, 7982 **kwargs 7983 ): 7984 super(OperationDisplay, self).__init__(**kwargs) 7985 self.provider = provider 7986 self.resource = resource 7987 self.operation = operation 7988 self.description = description 7989 7990 7991class OperationListResult(msrest.serialization.Model): 7992 """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. 7993 7994 :param value: List of Network operations supported by the Network resource provider. 7995 :type value: list[~azure.mgmt.network.v2018_04_01.models.Operation] 7996 :param next_link: URL to get the next set of operation list results if there are any. 7997 :type next_link: str 7998 """ 7999 8000 _attribute_map = { 8001 'value': {'key': 'value', 'type': '[Operation]'}, 8002 'next_link': {'key': 'nextLink', 'type': 'str'}, 8003 } 8004 8005 def __init__( 8006 self, 8007 *, 8008 value: Optional[List["Operation"]] = None, 8009 next_link: Optional[str] = None, 8010 **kwargs 8011 ): 8012 super(OperationListResult, self).__init__(**kwargs) 8013 self.value = value 8014 self.next_link = next_link 8015 8016 8017class OperationPropertiesFormatServiceSpecification(msrest.serialization.Model): 8018 """Specification of the service. 8019 8020 :param metric_specifications: Operation service specification. 8021 :type metric_specifications: list[~azure.mgmt.network.v2018_04_01.models.MetricSpecification] 8022 :param log_specifications: Operation log specification. 8023 :type log_specifications: list[~azure.mgmt.network.v2018_04_01.models.LogSpecification] 8024 """ 8025 8026 _attribute_map = { 8027 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, 8028 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, 8029 } 8030 8031 def __init__( 8032 self, 8033 *, 8034 metric_specifications: Optional[List["MetricSpecification"]] = None, 8035 log_specifications: Optional[List["LogSpecification"]] = None, 8036 **kwargs 8037 ): 8038 super(OperationPropertiesFormatServiceSpecification, self).__init__(**kwargs) 8039 self.metric_specifications = metric_specifications 8040 self.log_specifications = log_specifications 8041 8042 8043class OutboundNatRule(SubResource): 8044 """Outbound NAT pool of the load balancer. 8045 8046 :param id: Resource ID. 8047 :type id: str 8048 :param name: The name of the resource that is unique within a resource group. This name can be 8049 used to access the resource. 8050 :type name: str 8051 :param etag: A unique read-only string that changes whenever the resource is updated. 8052 :type etag: str 8053 :param allocated_outbound_ports: The number of outbound ports to be used for NAT. 8054 :type allocated_outbound_ports: int 8055 :param frontend_ip_configurations: The Frontend IP addresses of the load balancer. 8056 :type frontend_ip_configurations: list[~azure.mgmt.network.v2018_04_01.models.SubResource] 8057 :param backend_address_pool: A reference to a pool of DIPs. Outbound traffic is randomly load 8058 balanced across IPs in the backend IPs. 8059 :type backend_address_pool: ~azure.mgmt.network.v2018_04_01.models.SubResource 8060 :param provisioning_state: Gets the provisioning state of the PublicIP resource. Possible 8061 values are: 'Updating', 'Deleting', and 'Failed'. 8062 :type provisioning_state: str 8063 """ 8064 8065 _attribute_map = { 8066 'id': {'key': 'id', 'type': 'str'}, 8067 'name': {'key': 'name', 'type': 'str'}, 8068 'etag': {'key': 'etag', 'type': 'str'}, 8069 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, 8070 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, 8071 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 8072 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8073 } 8074 8075 def __init__( 8076 self, 8077 *, 8078 id: Optional[str] = None, 8079 name: Optional[str] = None, 8080 etag: Optional[str] = None, 8081 allocated_outbound_ports: Optional[int] = None, 8082 frontend_ip_configurations: Optional[List["SubResource"]] = None, 8083 backend_address_pool: Optional["SubResource"] = None, 8084 provisioning_state: Optional[str] = None, 8085 **kwargs 8086 ): 8087 super(OutboundNatRule, self).__init__(id=id, **kwargs) 8088 self.name = name 8089 self.etag = etag 8090 self.allocated_outbound_ports = allocated_outbound_ports 8091 self.frontend_ip_configurations = frontend_ip_configurations 8092 self.backend_address_pool = backend_address_pool 8093 self.provisioning_state = provisioning_state 8094 8095 8096class PacketCapture(msrest.serialization.Model): 8097 """Parameters that define the create packet capture operation. 8098 8099 All required parameters must be populated in order to send to Azure. 8100 8101 :param target: Required. The ID of the targeted resource, only VM is currently supported. 8102 :type target: str 8103 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 8104 are truncated. 8105 :type bytes_to_capture_per_packet: int 8106 :param total_bytes_per_session: Maximum size of the capture output. 8107 :type total_bytes_per_session: int 8108 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 8109 :type time_limit_in_seconds: int 8110 :param storage_location: Required. Describes the storage location for a packet capture session. 8111 :type storage_location: ~azure.mgmt.network.v2018_04_01.models.PacketCaptureStorageLocation 8112 :param filters: 8113 :type filters: list[~azure.mgmt.network.v2018_04_01.models.PacketCaptureFilter] 8114 """ 8115 8116 _validation = { 8117 'target': {'required': True}, 8118 'storage_location': {'required': True}, 8119 } 8120 8121 _attribute_map = { 8122 'target': {'key': 'properties.target', 'type': 'str'}, 8123 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, 8124 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, 8125 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, 8126 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, 8127 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, 8128 } 8129 8130 def __init__( 8131 self, 8132 *, 8133 target: str, 8134 storage_location: "PacketCaptureStorageLocation", 8135 bytes_to_capture_per_packet: Optional[int] = 0, 8136 total_bytes_per_session: Optional[int] = 1073741824, 8137 time_limit_in_seconds: Optional[int] = 18000, 8138 filters: Optional[List["PacketCaptureFilter"]] = None, 8139 **kwargs 8140 ): 8141 super(PacketCapture, self).__init__(**kwargs) 8142 self.target = target 8143 self.bytes_to_capture_per_packet = bytes_to_capture_per_packet 8144 self.total_bytes_per_session = total_bytes_per_session 8145 self.time_limit_in_seconds = time_limit_in_seconds 8146 self.storage_location = storage_location 8147 self.filters = filters 8148 8149 8150class PacketCaptureFilter(msrest.serialization.Model): 8151 """Filter that is applied to packet capture request. Multiple filters can be applied. 8152 8153 :param protocol: Protocol to be filtered on. Possible values include: "TCP", "UDP", "Any". 8154 Default value: "Any". 8155 :type protocol: str or ~azure.mgmt.network.v2018_04_01.models.PcProtocol 8156 :param local_ip_address: Local IP Address to be filtered on. Notation: "127.0.0.1" for single 8157 address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5"? for multiple entries. 8158 Multiple ranges not currently supported. Mixing ranges with multiple entries not currently 8159 supported. Default = null. 8160 :type local_ip_address: str 8161 :param remote_ip_address: Local IP Address to be filtered on. Notation: "127.0.0.1" for single 8162 address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5;" for multiple entries. 8163 Multiple ranges not currently supported. Mixing ranges with multiple entries not currently 8164 supported. Default = null. 8165 :type remote_ip_address: str 8166 :param local_port: Local port to be filtered on. Notation: "80" for single port entry."80-85" 8167 for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing 8168 ranges with multiple entries not currently supported. Default = null. 8169 :type local_port: str 8170 :param remote_port: Remote port to be filtered on. Notation: "80" for single port entry."80-85" 8171 for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing 8172 ranges with multiple entries not currently supported. Default = null. 8173 :type remote_port: str 8174 """ 8175 8176 _attribute_map = { 8177 'protocol': {'key': 'protocol', 'type': 'str'}, 8178 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, 8179 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, 8180 'local_port': {'key': 'localPort', 'type': 'str'}, 8181 'remote_port': {'key': 'remotePort', 'type': 'str'}, 8182 } 8183 8184 def __init__( 8185 self, 8186 *, 8187 protocol: Optional[Union[str, "PcProtocol"]] = "Any", 8188 local_ip_address: Optional[str] = None, 8189 remote_ip_address: Optional[str] = None, 8190 local_port: Optional[str] = None, 8191 remote_port: Optional[str] = None, 8192 **kwargs 8193 ): 8194 super(PacketCaptureFilter, self).__init__(**kwargs) 8195 self.protocol = protocol 8196 self.local_ip_address = local_ip_address 8197 self.remote_ip_address = remote_ip_address 8198 self.local_port = local_port 8199 self.remote_port = remote_port 8200 8201 8202class PacketCaptureListResult(msrest.serialization.Model): 8203 """List of packet capture sessions. 8204 8205 :param value: Information about packet capture sessions. 8206 :type value: list[~azure.mgmt.network.v2018_04_01.models.PacketCaptureResult] 8207 """ 8208 8209 _attribute_map = { 8210 'value': {'key': 'value', 'type': '[PacketCaptureResult]'}, 8211 } 8212 8213 def __init__( 8214 self, 8215 *, 8216 value: Optional[List["PacketCaptureResult"]] = None, 8217 **kwargs 8218 ): 8219 super(PacketCaptureListResult, self).__init__(**kwargs) 8220 self.value = value 8221 8222 8223class PacketCaptureParameters(msrest.serialization.Model): 8224 """Parameters that define the create packet capture operation. 8225 8226 All required parameters must be populated in order to send to Azure. 8227 8228 :param target: Required. The ID of the targeted resource, only VM is currently supported. 8229 :type target: str 8230 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 8231 are truncated. 8232 :type bytes_to_capture_per_packet: int 8233 :param total_bytes_per_session: Maximum size of the capture output. 8234 :type total_bytes_per_session: int 8235 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 8236 :type time_limit_in_seconds: int 8237 :param storage_location: Required. Describes the storage location for a packet capture session. 8238 :type storage_location: ~azure.mgmt.network.v2018_04_01.models.PacketCaptureStorageLocation 8239 :param filters: 8240 :type filters: list[~azure.mgmt.network.v2018_04_01.models.PacketCaptureFilter] 8241 """ 8242 8243 _validation = { 8244 'target': {'required': True}, 8245 'storage_location': {'required': True}, 8246 } 8247 8248 _attribute_map = { 8249 'target': {'key': 'target', 'type': 'str'}, 8250 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, 8251 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, 8252 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, 8253 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, 8254 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, 8255 } 8256 8257 def __init__( 8258 self, 8259 *, 8260 target: str, 8261 storage_location: "PacketCaptureStorageLocation", 8262 bytes_to_capture_per_packet: Optional[int] = 0, 8263 total_bytes_per_session: Optional[int] = 1073741824, 8264 time_limit_in_seconds: Optional[int] = 18000, 8265 filters: Optional[List["PacketCaptureFilter"]] = None, 8266 **kwargs 8267 ): 8268 super(PacketCaptureParameters, self).__init__(**kwargs) 8269 self.target = target 8270 self.bytes_to_capture_per_packet = bytes_to_capture_per_packet 8271 self.total_bytes_per_session = total_bytes_per_session 8272 self.time_limit_in_seconds = time_limit_in_seconds 8273 self.storage_location = storage_location 8274 self.filters = filters 8275 8276 8277class PacketCaptureQueryStatusResult(msrest.serialization.Model): 8278 """Status of packet capture session. 8279 8280 :param name: The name of the packet capture resource. 8281 :type name: str 8282 :param id: The ID of the packet capture resource. 8283 :type id: str 8284 :param capture_start_time: The start time of the packet capture session. 8285 :type capture_start_time: ~datetime.datetime 8286 :param packet_capture_status: The status of the packet capture session. Possible values 8287 include: "NotStarted", "Running", "Stopped", "Error", "Unknown". 8288 :type packet_capture_status: str or ~azure.mgmt.network.v2018_04_01.models.PcStatus 8289 :param stop_reason: The reason the current packet capture session was stopped. 8290 :type stop_reason: str 8291 :param packet_capture_error: List of errors of packet capture session. 8292 :type packet_capture_error: list[str or ~azure.mgmt.network.v2018_04_01.models.PcError] 8293 """ 8294 8295 _attribute_map = { 8296 'name': {'key': 'name', 'type': 'str'}, 8297 'id': {'key': 'id', 'type': 'str'}, 8298 'capture_start_time': {'key': 'captureStartTime', 'type': 'iso-8601'}, 8299 'packet_capture_status': {'key': 'packetCaptureStatus', 'type': 'str'}, 8300 'stop_reason': {'key': 'stopReason', 'type': 'str'}, 8301 'packet_capture_error': {'key': 'packetCaptureError', 'type': '[str]'}, 8302 } 8303 8304 def __init__( 8305 self, 8306 *, 8307 name: Optional[str] = None, 8308 id: Optional[str] = None, 8309 capture_start_time: Optional[datetime.datetime] = None, 8310 packet_capture_status: Optional[Union[str, "PcStatus"]] = None, 8311 stop_reason: Optional[str] = None, 8312 packet_capture_error: Optional[List[Union[str, "PcError"]]] = None, 8313 **kwargs 8314 ): 8315 super(PacketCaptureQueryStatusResult, self).__init__(**kwargs) 8316 self.name = name 8317 self.id = id 8318 self.capture_start_time = capture_start_time 8319 self.packet_capture_status = packet_capture_status 8320 self.stop_reason = stop_reason 8321 self.packet_capture_error = packet_capture_error 8322 8323 8324class PacketCaptureResult(msrest.serialization.Model): 8325 """Information about packet capture session. 8326 8327 Variables are only populated by the server, and will be ignored when sending a request. 8328 8329 :ivar name: Name of the packet capture session. 8330 :vartype name: str 8331 :ivar id: ID of the packet capture operation. 8332 :vartype id: str 8333 :param etag: 8334 :type etag: str 8335 :param target: The ID of the targeted resource, only VM is currently supported. 8336 :type target: str 8337 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 8338 are truncated. 8339 :type bytes_to_capture_per_packet: int 8340 :param total_bytes_per_session: Maximum size of the capture output. 8341 :type total_bytes_per_session: int 8342 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 8343 :type time_limit_in_seconds: int 8344 :param storage_location: Describes the storage location for a packet capture session. 8345 :type storage_location: ~azure.mgmt.network.v2018_04_01.models.PacketCaptureStorageLocation 8346 :param filters: 8347 :type filters: list[~azure.mgmt.network.v2018_04_01.models.PacketCaptureFilter] 8348 :param provisioning_state: The provisioning state of the packet capture session. Possible 8349 values include: "Succeeded", "Updating", "Deleting", "Failed". 8350 :type provisioning_state: str or ~azure.mgmt.network.v2018_04_01.models.ProvisioningState 8351 """ 8352 8353 _validation = { 8354 'name': {'readonly': True}, 8355 'id': {'readonly': True}, 8356 } 8357 8358 _attribute_map = { 8359 'name': {'key': 'name', 'type': 'str'}, 8360 'id': {'key': 'id', 'type': 'str'}, 8361 'etag': {'key': 'etag', 'type': 'str'}, 8362 'target': {'key': 'properties.target', 'type': 'str'}, 8363 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, 8364 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, 8365 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, 8366 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, 8367 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, 8368 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8369 } 8370 8371 def __init__( 8372 self, 8373 *, 8374 etag: Optional[str] = "A unique read-only string that changes whenever the resource is updated.", 8375 target: Optional[str] = None, 8376 bytes_to_capture_per_packet: Optional[int] = 0, 8377 total_bytes_per_session: Optional[int] = 1073741824, 8378 time_limit_in_seconds: Optional[int] = 18000, 8379 storage_location: Optional["PacketCaptureStorageLocation"] = None, 8380 filters: Optional[List["PacketCaptureFilter"]] = None, 8381 provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, 8382 **kwargs 8383 ): 8384 super(PacketCaptureResult, self).__init__(**kwargs) 8385 self.name = None 8386 self.id = None 8387 self.etag = etag 8388 self.target = target 8389 self.bytes_to_capture_per_packet = bytes_to_capture_per_packet 8390 self.total_bytes_per_session = total_bytes_per_session 8391 self.time_limit_in_seconds = time_limit_in_seconds 8392 self.storage_location = storage_location 8393 self.filters = filters 8394 self.provisioning_state = provisioning_state 8395 8396 8397class PacketCaptureResultProperties(PacketCaptureParameters): 8398 """Describes the properties of a packet capture session. 8399 8400 All required parameters must be populated in order to send to Azure. 8401 8402 :param target: Required. The ID of the targeted resource, only VM is currently supported. 8403 :type target: str 8404 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 8405 are truncated. 8406 :type bytes_to_capture_per_packet: int 8407 :param total_bytes_per_session: Maximum size of the capture output. 8408 :type total_bytes_per_session: int 8409 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 8410 :type time_limit_in_seconds: int 8411 :param storage_location: Required. Describes the storage location for a packet capture session. 8412 :type storage_location: ~azure.mgmt.network.v2018_04_01.models.PacketCaptureStorageLocation 8413 :param filters: 8414 :type filters: list[~azure.mgmt.network.v2018_04_01.models.PacketCaptureFilter] 8415 :param provisioning_state: The provisioning state of the packet capture session. Possible 8416 values include: "Succeeded", "Updating", "Deleting", "Failed". 8417 :type provisioning_state: str or ~azure.mgmt.network.v2018_04_01.models.ProvisioningState 8418 """ 8419 8420 _validation = { 8421 'target': {'required': True}, 8422 'storage_location': {'required': True}, 8423 } 8424 8425 _attribute_map = { 8426 'target': {'key': 'target', 'type': 'str'}, 8427 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, 8428 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, 8429 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, 8430 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, 8431 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, 8432 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 8433 } 8434 8435 def __init__( 8436 self, 8437 *, 8438 target: str, 8439 storage_location: "PacketCaptureStorageLocation", 8440 bytes_to_capture_per_packet: Optional[int] = 0, 8441 total_bytes_per_session: Optional[int] = 1073741824, 8442 time_limit_in_seconds: Optional[int] = 18000, 8443 filters: Optional[List["PacketCaptureFilter"]] = None, 8444 provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, 8445 **kwargs 8446 ): 8447 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) 8448 self.provisioning_state = provisioning_state 8449 8450 8451class PacketCaptureStorageLocation(msrest.serialization.Model): 8452 """Describes the storage location for a packet capture session. 8453 8454 :param storage_id: The ID of the storage account to save the packet capture session. Required 8455 if no local file path is provided. 8456 :type storage_id: str 8457 :param storage_path: The URI of the storage path to save the packet capture. Must be a 8458 well-formed URI describing the location to save the packet capture. 8459 :type storage_path: str 8460 :param file_path: A valid local path on the targeting VM. Must include the name of the capture 8461 file (*.cap). For linux virtual machine it must start with /var/captures. Required if no 8462 storage ID is provided, otherwise optional. 8463 :type file_path: str 8464 """ 8465 8466 _attribute_map = { 8467 'storage_id': {'key': 'storageId', 'type': 'str'}, 8468 'storage_path': {'key': 'storagePath', 'type': 'str'}, 8469 'file_path': {'key': 'filePath', 'type': 'str'}, 8470 } 8471 8472 def __init__( 8473 self, 8474 *, 8475 storage_id: Optional[str] = None, 8476 storage_path: Optional[str] = None, 8477 file_path: Optional[str] = None, 8478 **kwargs 8479 ): 8480 super(PacketCaptureStorageLocation, self).__init__(**kwargs) 8481 self.storage_id = storage_id 8482 self.storage_path = storage_path 8483 self.file_path = file_path 8484 8485 8486class PatchRouteFilter(SubResource): 8487 """Route Filter Resource. 8488 8489 Variables are only populated by the server, and will be ignored when sending a request. 8490 8491 :param id: Resource ID. 8492 :type id: str 8493 :ivar name: The name of the resource that is unique within a resource group. This name can be 8494 used to access the resource. 8495 :vartype name: str 8496 :ivar etag: A unique read-only string that changes whenever the resource is updated. 8497 :vartype etag: str 8498 :ivar type: Resource type. 8499 :vartype type: str 8500 :param tags: A set of tags. Resource tags. 8501 :type tags: dict[str, str] 8502 :param rules: Collection of RouteFilterRules contained within a route filter. 8503 :type rules: list[~azure.mgmt.network.v2018_04_01.models.RouteFilterRule] 8504 :param peerings: A collection of references to express route circuit peerings. 8505 :type peerings: list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeering] 8506 :ivar provisioning_state: The provisioning state of the resource. Possible values are: 8507 'Updating', 'Deleting', 'Succeeded' and 'Failed'. 8508 :vartype provisioning_state: str 8509 """ 8510 8511 _validation = { 8512 'name': {'readonly': True}, 8513 'etag': {'readonly': True}, 8514 'type': {'readonly': True}, 8515 'provisioning_state': {'readonly': True}, 8516 } 8517 8518 _attribute_map = { 8519 'id': {'key': 'id', 'type': 'str'}, 8520 'name': {'key': 'name', 'type': 'str'}, 8521 'etag': {'key': 'etag', 'type': 'str'}, 8522 'type': {'key': 'type', 'type': 'str'}, 8523 'tags': {'key': 'tags', 'type': '{str}'}, 8524 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, 8525 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, 8526 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8527 } 8528 8529 def __init__( 8530 self, 8531 *, 8532 id: Optional[str] = None, 8533 tags: Optional[Dict[str, str]] = None, 8534 rules: Optional[List["RouteFilterRule"]] = None, 8535 peerings: Optional[List["ExpressRouteCircuitPeering"]] = None, 8536 **kwargs 8537 ): 8538 super(PatchRouteFilter, self).__init__(id=id, **kwargs) 8539 self.name = None 8540 self.etag = None 8541 self.type = None 8542 self.tags = tags 8543 self.rules = rules 8544 self.peerings = peerings 8545 self.provisioning_state = None 8546 8547 8548class PatchRouteFilterRule(SubResource): 8549 """Route Filter Rule Resource. 8550 8551 Variables are only populated by the server, and will be ignored when sending a request. 8552 8553 :param id: Resource ID. 8554 :type id: str 8555 :ivar name: The name of the resource that is unique within a resource group. This name can be 8556 used to access the resource. 8557 :vartype name: str 8558 :ivar etag: A unique read-only string that changes whenever the resource is updated. 8559 :vartype etag: str 8560 :param access: The access type of the rule. Valid values are: 'Allow', 'Deny'. Possible values 8561 include: "Allow", "Deny". 8562 :type access: str or ~azure.mgmt.network.v2018_04_01.models.Access 8563 :param route_filter_rule_type: The rule type of the rule. Valid value is: 'Community'. Possible 8564 values include: "Community". 8565 :type route_filter_rule_type: str or ~azure.mgmt.network.v2018_04_01.models.RouteFilterRuleType 8566 :param communities: The collection for bgp community values to filter on. e.g. 8567 ['12076:5010','12076:5020']. 8568 :type communities: list[str] 8569 :ivar provisioning_state: The provisioning state of the resource. Possible values are: 8570 'Updating', 'Deleting', 'Succeeded' and 'Failed'. 8571 :vartype provisioning_state: str 8572 """ 8573 8574 _validation = { 8575 'name': {'readonly': True}, 8576 'etag': {'readonly': True}, 8577 'provisioning_state': {'readonly': True}, 8578 } 8579 8580 _attribute_map = { 8581 'id': {'key': 'id', 'type': 'str'}, 8582 'name': {'key': 'name', 'type': 'str'}, 8583 'etag': {'key': 'etag', 'type': 'str'}, 8584 'access': {'key': 'properties.access', 'type': 'str'}, 8585 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, 8586 'communities': {'key': 'properties.communities', 'type': '[str]'}, 8587 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8588 } 8589 8590 def __init__( 8591 self, 8592 *, 8593 id: Optional[str] = None, 8594 access: Optional[Union[str, "Access"]] = None, 8595 route_filter_rule_type: Optional[Union[str, "RouteFilterRuleType"]] = None, 8596 communities: Optional[List[str]] = None, 8597 **kwargs 8598 ): 8599 super(PatchRouteFilterRule, self).__init__(id=id, **kwargs) 8600 self.name = None 8601 self.etag = None 8602 self.access = access 8603 self.route_filter_rule_type = route_filter_rule_type 8604 self.communities = communities 8605 self.provisioning_state = None 8606 8607 8608class Policies(msrest.serialization.Model): 8609 """Policies for vpn gateway. 8610 8611 :param allow_branch_to_branch_traffic: True if branch to branch traffic is allowed. 8612 :type allow_branch_to_branch_traffic: bool 8613 :param allow_vnet_to_vnet_traffic: True if Vnet to Vnet traffic is allowed. 8614 :type allow_vnet_to_vnet_traffic: bool 8615 """ 8616 8617 _attribute_map = { 8618 'allow_branch_to_branch_traffic': {'key': 'allowBranchToBranchTraffic', 'type': 'bool'}, 8619 'allow_vnet_to_vnet_traffic': {'key': 'allowVnetToVnetTraffic', 'type': 'bool'}, 8620 } 8621 8622 def __init__( 8623 self, 8624 *, 8625 allow_branch_to_branch_traffic: Optional[bool] = None, 8626 allow_vnet_to_vnet_traffic: Optional[bool] = None, 8627 **kwargs 8628 ): 8629 super(Policies, self).__init__(**kwargs) 8630 self.allow_branch_to_branch_traffic = allow_branch_to_branch_traffic 8631 self.allow_vnet_to_vnet_traffic = allow_vnet_to_vnet_traffic 8632 8633 8634class Probe(SubResource): 8635 """A load balancer probe. 8636 8637 Variables are only populated by the server, and will be ignored when sending a request. 8638 8639 :param id: Resource ID. 8640 :type id: str 8641 :param name: Gets name of the resource that is unique within a resource group. This name can be 8642 used to access the resource. 8643 :type name: str 8644 :param etag: A unique read-only string that changes whenever the resource is updated. 8645 :type etag: str 8646 :ivar load_balancing_rules: The load balancer rules that use this probe. 8647 :vartype load_balancing_rules: list[~azure.mgmt.network.v2018_04_01.models.SubResource] 8648 :param protocol: The protocol of the end point. Possible values are: 'Http', 'Tcp', or 'Https'. 8649 If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 8650 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be 8651 successful. Possible values include: "Http", "Tcp", "Https". 8652 :type protocol: str or ~azure.mgmt.network.v2018_04_01.models.ProbeProtocol 8653 :param port: The port for communicating the probe. Possible values range from 1 to 65535, 8654 inclusive. 8655 :type port: int 8656 :param interval_in_seconds: The interval, in seconds, for how frequently to probe the endpoint 8657 for health status. Typically, the interval is slightly less than half the allocated timeout 8658 period (in seconds) which allows two full probes before taking the instance out of rotation. 8659 The default value is 15, the minimum value is 5. 8660 :type interval_in_seconds: int 8661 :param number_of_probes: The number of probes where if no response, will result in stopping 8662 further traffic from being delivered to the endpoint. This values allows endpoints to be taken 8663 out of rotation faster or slower than the typical times used in Azure. 8664 :type number_of_probes: int 8665 :param request_path: The URI used for requesting health status from the VM. Path is required if 8666 a protocol is set to http. Otherwise, it is not allowed. There is no default value. 8667 :type request_path: str 8668 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 8669 values are: 'Updating', 'Deleting', and 'Failed'. 8670 :type provisioning_state: str 8671 """ 8672 8673 _validation = { 8674 'load_balancing_rules': {'readonly': True}, 8675 } 8676 8677 _attribute_map = { 8678 'id': {'key': 'id', 'type': 'str'}, 8679 'name': {'key': 'name', 'type': 'str'}, 8680 'etag': {'key': 'etag', 'type': 'str'}, 8681 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 8682 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 8683 'port': {'key': 'properties.port', 'type': 'int'}, 8684 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, 8685 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, 8686 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, 8687 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8688 } 8689 8690 def __init__( 8691 self, 8692 *, 8693 id: Optional[str] = None, 8694 name: Optional[str] = None, 8695 etag: Optional[str] = None, 8696 protocol: Optional[Union[str, "ProbeProtocol"]] = None, 8697 port: Optional[int] = None, 8698 interval_in_seconds: Optional[int] = None, 8699 number_of_probes: Optional[int] = None, 8700 request_path: Optional[str] = None, 8701 provisioning_state: Optional[str] = None, 8702 **kwargs 8703 ): 8704 super(Probe, self).__init__(id=id, **kwargs) 8705 self.name = name 8706 self.etag = etag 8707 self.load_balancing_rules = None 8708 self.protocol = protocol 8709 self.port = port 8710 self.interval_in_seconds = interval_in_seconds 8711 self.number_of_probes = number_of_probes 8712 self.request_path = request_path 8713 self.provisioning_state = provisioning_state 8714 8715 8716class ProtocolConfiguration(msrest.serialization.Model): 8717 """Configuration of the protocol. 8718 8719 :param http_configuration: HTTP configuration of the connectivity check. 8720 :type http_configuration: ~azure.mgmt.network.v2018_04_01.models.HTTPConfiguration 8721 """ 8722 8723 _attribute_map = { 8724 'http_configuration': {'key': 'HTTPConfiguration', 'type': 'HTTPConfiguration'}, 8725 } 8726 8727 def __init__( 8728 self, 8729 *, 8730 http_configuration: Optional["HTTPConfiguration"] = None, 8731 **kwargs 8732 ): 8733 super(ProtocolConfiguration, self).__init__(**kwargs) 8734 self.http_configuration = http_configuration 8735 8736 8737class PublicIPAddress(Resource): 8738 """Public IP address resource. 8739 8740 Variables are only populated by the server, and will be ignored when sending a request. 8741 8742 :param id: Resource ID. 8743 :type id: str 8744 :ivar name: Resource name. 8745 :vartype name: str 8746 :ivar type: Resource type. 8747 :vartype type: str 8748 :param location: Resource location. 8749 :type location: str 8750 :param tags: A set of tags. Resource tags. 8751 :type tags: dict[str, str] 8752 :param sku: The public IP address SKU. 8753 :type sku: ~azure.mgmt.network.v2018_04_01.models.PublicIPAddressSku 8754 :param etag: A unique read-only string that changes whenever the resource is updated. 8755 :type etag: str 8756 :param zones: A list of availability zones denoting the IP allocated for the resource needs to 8757 come from. 8758 :type zones: list[str] 8759 :param public_ip_allocation_method: The public IP allocation method. Possible values are: 8760 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 8761 :type public_ip_allocation_method: str or 8762 ~azure.mgmt.network.v2018_04_01.models.IPAllocationMethod 8763 :param public_ip_address_version: The public IP address version. Possible values are: 'IPv4' 8764 and 'IPv6'. Possible values include: "IPv4", "IPv6". 8765 :type public_ip_address_version: str or ~azure.mgmt.network.v2018_04_01.models.IPVersion 8766 :ivar ip_configuration: The IP configuration associated with the public IP address. 8767 :vartype ip_configuration: ~azure.mgmt.network.v2018_04_01.models.IPConfiguration 8768 :param dns_settings: The FQDN of the DNS record associated with the public IP address. 8769 :type dns_settings: ~azure.mgmt.network.v2018_04_01.models.PublicIPAddressDnsSettings 8770 :param ip_tags: The list of tags associated with the public IP address. 8771 :type ip_tags: list[~azure.mgmt.network.v2018_04_01.models.IpTag] 8772 :param ip_address: The IP address associated with the public IP address resource. 8773 :type ip_address: str 8774 :param idle_timeout_in_minutes: The idle timeout of the public IP address. 8775 :type idle_timeout_in_minutes: int 8776 :param resource_guid: The resource GUID property of the public IP resource. 8777 :type resource_guid: str 8778 :param provisioning_state: The provisioning state of the PublicIP resource. Possible values 8779 are: 'Updating', 'Deleting', and 'Failed'. 8780 :type provisioning_state: str 8781 """ 8782 8783 _validation = { 8784 'name': {'readonly': True}, 8785 'type': {'readonly': True}, 8786 'ip_configuration': {'readonly': True}, 8787 } 8788 8789 _attribute_map = { 8790 'id': {'key': 'id', 'type': 'str'}, 8791 'name': {'key': 'name', 'type': 'str'}, 8792 'type': {'key': 'type', 'type': 'str'}, 8793 'location': {'key': 'location', 'type': 'str'}, 8794 'tags': {'key': 'tags', 'type': '{str}'}, 8795 'sku': {'key': 'sku', 'type': 'PublicIPAddressSku'}, 8796 'etag': {'key': 'etag', 'type': 'str'}, 8797 'zones': {'key': 'zones', 'type': '[str]'}, 8798 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, 8799 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, 8800 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, 8801 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, 8802 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, 8803 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, 8804 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 8805 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 8806 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8807 } 8808 8809 def __init__( 8810 self, 8811 *, 8812 id: Optional[str] = None, 8813 location: Optional[str] = None, 8814 tags: Optional[Dict[str, str]] = None, 8815 sku: Optional["PublicIPAddressSku"] = None, 8816 etag: Optional[str] = None, 8817 zones: Optional[List[str]] = None, 8818 public_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 8819 public_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 8820 dns_settings: Optional["PublicIPAddressDnsSettings"] = None, 8821 ip_tags: Optional[List["IpTag"]] = None, 8822 ip_address: Optional[str] = None, 8823 idle_timeout_in_minutes: Optional[int] = None, 8824 resource_guid: Optional[str] = None, 8825 provisioning_state: Optional[str] = None, 8826 **kwargs 8827 ): 8828 super(PublicIPAddress, self).__init__(id=id, location=location, tags=tags, **kwargs) 8829 self.sku = sku 8830 self.etag = etag 8831 self.zones = zones 8832 self.public_ip_allocation_method = public_ip_allocation_method 8833 self.public_ip_address_version = public_ip_address_version 8834 self.ip_configuration = None 8835 self.dns_settings = dns_settings 8836 self.ip_tags = ip_tags 8837 self.ip_address = ip_address 8838 self.idle_timeout_in_minutes = idle_timeout_in_minutes 8839 self.resource_guid = resource_guid 8840 self.provisioning_state = provisioning_state 8841 8842 8843class PublicIPAddressDnsSettings(msrest.serialization.Model): 8844 """Contains FQDN of the DNS record associated with the public IP address. 8845 8846 :param domain_name_label: Gets or sets the Domain name label.The concatenation of the domain 8847 name label and the regionalized DNS zone make up the fully qualified domain name associated 8848 with the public IP address. If a domain name label is specified, an A DNS record is created for 8849 the public IP in the Microsoft Azure DNS system. 8850 :type domain_name_label: str 8851 :param fqdn: Gets the FQDN, Fully qualified domain name of the A DNS record associated with the 8852 public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. 8853 :type fqdn: str 8854 :param reverse_fqdn: Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name 8855 that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record 8856 is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. 8857 :type reverse_fqdn: str 8858 """ 8859 8860 _attribute_map = { 8861 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, 8862 'fqdn': {'key': 'fqdn', 'type': 'str'}, 8863 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, 8864 } 8865 8866 def __init__( 8867 self, 8868 *, 8869 domain_name_label: Optional[str] = None, 8870 fqdn: Optional[str] = None, 8871 reverse_fqdn: Optional[str] = None, 8872 **kwargs 8873 ): 8874 super(PublicIPAddressDnsSettings, self).__init__(**kwargs) 8875 self.domain_name_label = domain_name_label 8876 self.fqdn = fqdn 8877 self.reverse_fqdn = reverse_fqdn 8878 8879 8880class PublicIPAddressListResult(msrest.serialization.Model): 8881 """Response for ListPublicIpAddresses API service call. 8882 8883 :param value: A list of public IP addresses that exists in a resource group. 8884 :type value: list[~azure.mgmt.network.v2018_04_01.models.PublicIPAddress] 8885 :param next_link: The URL to get the next set of results. 8886 :type next_link: str 8887 """ 8888 8889 _attribute_map = { 8890 'value': {'key': 'value', 'type': '[PublicIPAddress]'}, 8891 'next_link': {'key': 'nextLink', 'type': 'str'}, 8892 } 8893 8894 def __init__( 8895 self, 8896 *, 8897 value: Optional[List["PublicIPAddress"]] = None, 8898 next_link: Optional[str] = None, 8899 **kwargs 8900 ): 8901 super(PublicIPAddressListResult, self).__init__(**kwargs) 8902 self.value = value 8903 self.next_link = next_link 8904 8905 8906class PublicIPAddressSku(msrest.serialization.Model): 8907 """SKU of a public IP address. 8908 8909 :param name: Name of a public IP address SKU. Possible values include: "Basic", "Standard". 8910 :type name: str or ~azure.mgmt.network.v2018_04_01.models.PublicIPAddressSkuName 8911 """ 8912 8913 _attribute_map = { 8914 'name': {'key': 'name', 'type': 'str'}, 8915 } 8916 8917 def __init__( 8918 self, 8919 *, 8920 name: Optional[Union[str, "PublicIPAddressSkuName"]] = None, 8921 **kwargs 8922 ): 8923 super(PublicIPAddressSku, self).__init__(**kwargs) 8924 self.name = name 8925 8926 8927class QueryTroubleshootingParameters(msrest.serialization.Model): 8928 """Parameters that define the resource to query the troubleshooting result. 8929 8930 All required parameters must be populated in order to send to Azure. 8931 8932 :param target_resource_id: Required. The target resource ID to query the troubleshooting 8933 result. 8934 :type target_resource_id: str 8935 """ 8936 8937 _validation = { 8938 'target_resource_id': {'required': True}, 8939 } 8940 8941 _attribute_map = { 8942 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 8943 } 8944 8945 def __init__( 8946 self, 8947 *, 8948 target_resource_id: str, 8949 **kwargs 8950 ): 8951 super(QueryTroubleshootingParameters, self).__init__(**kwargs) 8952 self.target_resource_id = target_resource_id 8953 8954 8955class ResourceNavigationLink(SubResource): 8956 """ResourceNavigationLink resource. 8957 8958 Variables are only populated by the server, and will be ignored when sending a request. 8959 8960 :param id: Resource ID. 8961 :type id: str 8962 :param name: Name of the resource that is unique within a resource group. This name can be used 8963 to access the resource. 8964 :type name: str 8965 :ivar etag: A unique read-only string that changes whenever the resource is updated. 8966 :vartype etag: str 8967 :param linked_resource_type: Resource type of the linked resource. 8968 :type linked_resource_type: str 8969 :param link: Link to the external resource. 8970 :type link: str 8971 :ivar provisioning_state: Provisioning state of the ResourceNavigationLink resource. 8972 :vartype provisioning_state: str 8973 """ 8974 8975 _validation = { 8976 'etag': {'readonly': True}, 8977 'provisioning_state': {'readonly': True}, 8978 } 8979 8980 _attribute_map = { 8981 'id': {'key': 'id', 'type': 'str'}, 8982 'name': {'key': 'name', 'type': 'str'}, 8983 'etag': {'key': 'etag', 'type': 'str'}, 8984 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, 8985 'link': {'key': 'properties.link', 'type': 'str'}, 8986 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8987 } 8988 8989 def __init__( 8990 self, 8991 *, 8992 id: Optional[str] = None, 8993 name: Optional[str] = None, 8994 linked_resource_type: Optional[str] = None, 8995 link: Optional[str] = None, 8996 **kwargs 8997 ): 8998 super(ResourceNavigationLink, self).__init__(id=id, **kwargs) 8999 self.name = name 9000 self.etag = None 9001 self.linked_resource_type = linked_resource_type 9002 self.link = link 9003 self.provisioning_state = None 9004 9005 9006class RetentionPolicyParameters(msrest.serialization.Model): 9007 """Parameters that define the retention policy for flow log. 9008 9009 :param days: Number of days to retain flow log records. 9010 :type days: int 9011 :param enabled: Flag to enable/disable retention. 9012 :type enabled: bool 9013 """ 9014 9015 _attribute_map = { 9016 'days': {'key': 'days', 'type': 'int'}, 9017 'enabled': {'key': 'enabled', 'type': 'bool'}, 9018 } 9019 9020 def __init__( 9021 self, 9022 *, 9023 days: Optional[int] = 0, 9024 enabled: Optional[bool] = False, 9025 **kwargs 9026 ): 9027 super(RetentionPolicyParameters, self).__init__(**kwargs) 9028 self.days = days 9029 self.enabled = enabled 9030 9031 9032class Route(SubResource): 9033 """Route resource. 9034 9035 :param id: Resource ID. 9036 :type id: str 9037 :param name: The name of the resource that is unique within a resource group. This name can be 9038 used to access the resource. 9039 :type name: str 9040 :param etag: A unique read-only string that changes whenever the resource is updated. 9041 :type etag: str 9042 :param address_prefix: The destination CIDR to which the route applies. 9043 :type address_prefix: str 9044 :param next_hop_type: The type of Azure hop the packet should be sent to. Possible values are: 9045 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible 9046 values include: "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None". 9047 :type next_hop_type: str or ~azure.mgmt.network.v2018_04_01.models.RouteNextHopType 9048 :param next_hop_ip_address: The IP address packets should be forwarded to. Next hop values are 9049 only allowed in routes where the next hop type is VirtualAppliance. 9050 :type next_hop_ip_address: str 9051 :param provisioning_state: The provisioning state of the resource. Possible values are: 9052 'Updating', 'Deleting', and 'Failed'. 9053 :type provisioning_state: str 9054 """ 9055 9056 _attribute_map = { 9057 'id': {'key': 'id', 'type': 'str'}, 9058 'name': {'key': 'name', 'type': 'str'}, 9059 'etag': {'key': 'etag', 'type': 'str'}, 9060 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 9061 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, 9062 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, 9063 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9064 } 9065 9066 def __init__( 9067 self, 9068 *, 9069 id: Optional[str] = None, 9070 name: Optional[str] = None, 9071 etag: Optional[str] = None, 9072 address_prefix: Optional[str] = None, 9073 next_hop_type: Optional[Union[str, "RouteNextHopType"]] = None, 9074 next_hop_ip_address: Optional[str] = None, 9075 provisioning_state: Optional[str] = None, 9076 **kwargs 9077 ): 9078 super(Route, self).__init__(id=id, **kwargs) 9079 self.name = name 9080 self.etag = etag 9081 self.address_prefix = address_prefix 9082 self.next_hop_type = next_hop_type 9083 self.next_hop_ip_address = next_hop_ip_address 9084 self.provisioning_state = provisioning_state 9085 9086 9087class RouteFilter(Resource): 9088 """Route Filter Resource. 9089 9090 Variables are only populated by the server, and will be ignored when sending a request. 9091 9092 :param id: Resource ID. 9093 :type id: str 9094 :ivar name: Resource name. 9095 :vartype name: str 9096 :ivar type: Resource type. 9097 :vartype type: str 9098 :param location: Resource location. 9099 :type location: str 9100 :param tags: A set of tags. Resource tags. 9101 :type tags: dict[str, str] 9102 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 9103 :vartype etag: str 9104 :param rules: Collection of RouteFilterRules contained within a route filter. 9105 :type rules: list[~azure.mgmt.network.v2018_04_01.models.RouteFilterRule] 9106 :param peerings: A collection of references to express route circuit peerings. 9107 :type peerings: list[~azure.mgmt.network.v2018_04_01.models.ExpressRouteCircuitPeering] 9108 :ivar provisioning_state: The provisioning state of the resource. Possible values are: 9109 'Updating', 'Deleting', 'Succeeded' and 'Failed'. 9110 :vartype provisioning_state: str 9111 """ 9112 9113 _validation = { 9114 'name': {'readonly': True}, 9115 'type': {'readonly': True}, 9116 'etag': {'readonly': True}, 9117 'provisioning_state': {'readonly': True}, 9118 } 9119 9120 _attribute_map = { 9121 'id': {'key': 'id', 'type': 'str'}, 9122 'name': {'key': 'name', 'type': 'str'}, 9123 'type': {'key': 'type', 'type': 'str'}, 9124 'location': {'key': 'location', 'type': 'str'}, 9125 'tags': {'key': 'tags', 'type': '{str}'}, 9126 'etag': {'key': 'etag', 'type': 'str'}, 9127 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, 9128 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, 9129 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9130 } 9131 9132 def __init__( 9133 self, 9134 *, 9135 id: Optional[str] = None, 9136 location: Optional[str] = None, 9137 tags: Optional[Dict[str, str]] = None, 9138 rules: Optional[List["RouteFilterRule"]] = None, 9139 peerings: Optional[List["ExpressRouteCircuitPeering"]] = None, 9140 **kwargs 9141 ): 9142 super(RouteFilter, self).__init__(id=id, location=location, tags=tags, **kwargs) 9143 self.etag = None 9144 self.rules = rules 9145 self.peerings = peerings 9146 self.provisioning_state = None 9147 9148 9149class RouteFilterListResult(msrest.serialization.Model): 9150 """Response for the ListRouteFilters API service call. 9151 9152 :param value: Gets a list of route filters in a resource group. 9153 :type value: list[~azure.mgmt.network.v2018_04_01.models.RouteFilter] 9154 :param next_link: The URL to get the next set of results. 9155 :type next_link: str 9156 """ 9157 9158 _attribute_map = { 9159 'value': {'key': 'value', 'type': '[RouteFilter]'}, 9160 'next_link': {'key': 'nextLink', 'type': 'str'}, 9161 } 9162 9163 def __init__( 9164 self, 9165 *, 9166 value: Optional[List["RouteFilter"]] = None, 9167 next_link: Optional[str] = None, 9168 **kwargs 9169 ): 9170 super(RouteFilterListResult, self).__init__(**kwargs) 9171 self.value = value 9172 self.next_link = next_link 9173 9174 9175class RouteFilterRule(SubResource): 9176 """Route Filter Rule Resource. 9177 9178 Variables are only populated by the server, and will be ignored when sending a request. 9179 9180 :param id: Resource ID. 9181 :type id: str 9182 :param name: The name of the resource that is unique within a resource group. This name can be 9183 used to access the resource. 9184 :type name: str 9185 :param location: Resource location. 9186 :type location: str 9187 :ivar etag: A unique read-only string that changes whenever the resource is updated. 9188 :vartype etag: str 9189 :param access: The access type of the rule. Valid values are: 'Allow', 'Deny'. Possible values 9190 include: "Allow", "Deny". 9191 :type access: str or ~azure.mgmt.network.v2018_04_01.models.Access 9192 :param route_filter_rule_type: The rule type of the rule. Valid value is: 'Community'. Possible 9193 values include: "Community". 9194 :type route_filter_rule_type: str or ~azure.mgmt.network.v2018_04_01.models.RouteFilterRuleType 9195 :param communities: The collection for bgp community values to filter on. e.g. 9196 ['12076:5010','12076:5020']. 9197 :type communities: list[str] 9198 :ivar provisioning_state: The provisioning state of the resource. Possible values are: 9199 'Updating', 'Deleting', 'Succeeded' and 'Failed'. 9200 :vartype provisioning_state: str 9201 """ 9202 9203 _validation = { 9204 'etag': {'readonly': True}, 9205 'provisioning_state': {'readonly': True}, 9206 } 9207 9208 _attribute_map = { 9209 'id': {'key': 'id', 'type': 'str'}, 9210 'name': {'key': 'name', 'type': 'str'}, 9211 'location': {'key': 'location', 'type': 'str'}, 9212 'etag': {'key': 'etag', 'type': 'str'}, 9213 'access': {'key': 'properties.access', 'type': 'str'}, 9214 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, 9215 'communities': {'key': 'properties.communities', 'type': '[str]'}, 9216 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9217 } 9218 9219 def __init__( 9220 self, 9221 *, 9222 id: Optional[str] = None, 9223 name: Optional[str] = None, 9224 location: Optional[str] = None, 9225 access: Optional[Union[str, "Access"]] = None, 9226 route_filter_rule_type: Optional[Union[str, "RouteFilterRuleType"]] = None, 9227 communities: Optional[List[str]] = None, 9228 **kwargs 9229 ): 9230 super(RouteFilterRule, self).__init__(id=id, **kwargs) 9231 self.name = name 9232 self.location = location 9233 self.etag = None 9234 self.access = access 9235 self.route_filter_rule_type = route_filter_rule_type 9236 self.communities = communities 9237 self.provisioning_state = None 9238 9239 9240class RouteFilterRuleListResult(msrest.serialization.Model): 9241 """Response for the ListRouteFilterRules API service call. 9242 9243 :param value: Gets a list of RouteFilterRules in a resource group. 9244 :type value: list[~azure.mgmt.network.v2018_04_01.models.RouteFilterRule] 9245 :param next_link: The URL to get the next set of results. 9246 :type next_link: str 9247 """ 9248 9249 _attribute_map = { 9250 'value': {'key': 'value', 'type': '[RouteFilterRule]'}, 9251 'next_link': {'key': 'nextLink', 'type': 'str'}, 9252 } 9253 9254 def __init__( 9255 self, 9256 *, 9257 value: Optional[List["RouteFilterRule"]] = None, 9258 next_link: Optional[str] = None, 9259 **kwargs 9260 ): 9261 super(RouteFilterRuleListResult, self).__init__(**kwargs) 9262 self.value = value 9263 self.next_link = next_link 9264 9265 9266class RouteListResult(msrest.serialization.Model): 9267 """Response for the ListRoute API service call. 9268 9269 :param value: Gets a list of routes in a resource group. 9270 :type value: list[~azure.mgmt.network.v2018_04_01.models.Route] 9271 :param next_link: The URL to get the next set of results. 9272 :type next_link: str 9273 """ 9274 9275 _attribute_map = { 9276 'value': {'key': 'value', 'type': '[Route]'}, 9277 'next_link': {'key': 'nextLink', 'type': 'str'}, 9278 } 9279 9280 def __init__( 9281 self, 9282 *, 9283 value: Optional[List["Route"]] = None, 9284 next_link: Optional[str] = None, 9285 **kwargs 9286 ): 9287 super(RouteListResult, self).__init__(**kwargs) 9288 self.value = value 9289 self.next_link = next_link 9290 9291 9292class RouteTable(Resource): 9293 """Route table resource. 9294 9295 Variables are only populated by the server, and will be ignored when sending a request. 9296 9297 :param id: Resource ID. 9298 :type id: str 9299 :ivar name: Resource name. 9300 :vartype name: str 9301 :ivar type: Resource type. 9302 :vartype type: str 9303 :param location: Resource location. 9304 :type location: str 9305 :param tags: A set of tags. Resource tags. 9306 :type tags: dict[str, str] 9307 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 9308 :type etag: str 9309 :param routes: Collection of routes contained within a route table. 9310 :type routes: list[~azure.mgmt.network.v2018_04_01.models.Route] 9311 :ivar subnets: A collection of references to subnets. 9312 :vartype subnets: list[~azure.mgmt.network.v2018_04_01.models.Subnet] 9313 :param disable_bgp_route_propagation: Gets or sets whether to disable the routes learned by BGP 9314 on that route table. True means disable. 9315 :type disable_bgp_route_propagation: bool 9316 :param provisioning_state: The provisioning state of the resource. Possible values are: 9317 'Updating', 'Deleting', and 'Failed'. 9318 :type provisioning_state: str 9319 """ 9320 9321 _validation = { 9322 'name': {'readonly': True}, 9323 'type': {'readonly': True}, 9324 'subnets': {'readonly': True}, 9325 } 9326 9327 _attribute_map = { 9328 'id': {'key': 'id', 'type': 'str'}, 9329 'name': {'key': 'name', 'type': 'str'}, 9330 'type': {'key': 'type', 'type': 'str'}, 9331 'location': {'key': 'location', 'type': 'str'}, 9332 'tags': {'key': 'tags', 'type': '{str}'}, 9333 'etag': {'key': 'etag', 'type': 'str'}, 9334 'routes': {'key': 'properties.routes', 'type': '[Route]'}, 9335 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 9336 'disable_bgp_route_propagation': {'key': 'properties.disableBgpRoutePropagation', 'type': 'bool'}, 9337 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9338 } 9339 9340 def __init__( 9341 self, 9342 *, 9343 id: Optional[str] = None, 9344 location: Optional[str] = None, 9345 tags: Optional[Dict[str, str]] = None, 9346 etag: Optional[str] = None, 9347 routes: Optional[List["Route"]] = None, 9348 disable_bgp_route_propagation: Optional[bool] = None, 9349 provisioning_state: Optional[str] = None, 9350 **kwargs 9351 ): 9352 super(RouteTable, self).__init__(id=id, location=location, tags=tags, **kwargs) 9353 self.etag = etag 9354 self.routes = routes 9355 self.subnets = None 9356 self.disable_bgp_route_propagation = disable_bgp_route_propagation 9357 self.provisioning_state = provisioning_state 9358 9359 9360class RouteTableListResult(msrest.serialization.Model): 9361 """Response for the ListRouteTable API service call. 9362 9363 :param value: Gets a list of route tables in a resource group. 9364 :type value: list[~azure.mgmt.network.v2018_04_01.models.RouteTable] 9365 :param next_link: The URL to get the next set of results. 9366 :type next_link: str 9367 """ 9368 9369 _attribute_map = { 9370 'value': {'key': 'value', 'type': '[RouteTable]'}, 9371 'next_link': {'key': 'nextLink', 'type': 'str'}, 9372 } 9373 9374 def __init__( 9375 self, 9376 *, 9377 value: Optional[List["RouteTable"]] = None, 9378 next_link: Optional[str] = None, 9379 **kwargs 9380 ): 9381 super(RouteTableListResult, self).__init__(**kwargs) 9382 self.value = value 9383 self.next_link = next_link 9384 9385 9386class SecurityGroupNetworkInterface(msrest.serialization.Model): 9387 """Network interface and all its associated security rules. 9388 9389 :param id: ID of the network interface. 9390 :type id: str 9391 :param security_rule_associations: All security rules associated with the network interface. 9392 :type security_rule_associations: 9393 ~azure.mgmt.network.v2018_04_01.models.SecurityRuleAssociations 9394 """ 9395 9396 _attribute_map = { 9397 'id': {'key': 'id', 'type': 'str'}, 9398 'security_rule_associations': {'key': 'securityRuleAssociations', 'type': 'SecurityRuleAssociations'}, 9399 } 9400 9401 def __init__( 9402 self, 9403 *, 9404 id: Optional[str] = None, 9405 security_rule_associations: Optional["SecurityRuleAssociations"] = None, 9406 **kwargs 9407 ): 9408 super(SecurityGroupNetworkInterface, self).__init__(**kwargs) 9409 self.id = id 9410 self.security_rule_associations = security_rule_associations 9411 9412 9413class SecurityGroupViewParameters(msrest.serialization.Model): 9414 """Parameters that define the VM to check security groups for. 9415 9416 All required parameters must be populated in order to send to Azure. 9417 9418 :param target_resource_id: Required. ID of the target VM. 9419 :type target_resource_id: str 9420 """ 9421 9422 _validation = { 9423 'target_resource_id': {'required': True}, 9424 } 9425 9426 _attribute_map = { 9427 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 9428 } 9429 9430 def __init__( 9431 self, 9432 *, 9433 target_resource_id: str, 9434 **kwargs 9435 ): 9436 super(SecurityGroupViewParameters, self).__init__(**kwargs) 9437 self.target_resource_id = target_resource_id 9438 9439 9440class SecurityGroupViewResult(msrest.serialization.Model): 9441 """The information about security rules applied to the specified VM. 9442 9443 :param network_interfaces: List of network interfaces on the specified VM. 9444 :type network_interfaces: 9445 list[~azure.mgmt.network.v2018_04_01.models.SecurityGroupNetworkInterface] 9446 """ 9447 9448 _attribute_map = { 9449 'network_interfaces': {'key': 'networkInterfaces', 'type': '[SecurityGroupNetworkInterface]'}, 9450 } 9451 9452 def __init__( 9453 self, 9454 *, 9455 network_interfaces: Optional[List["SecurityGroupNetworkInterface"]] = None, 9456 **kwargs 9457 ): 9458 super(SecurityGroupViewResult, self).__init__(**kwargs) 9459 self.network_interfaces = network_interfaces 9460 9461 9462class SecurityRule(SubResource): 9463 """Network security rule. 9464 9465 :param id: Resource ID. 9466 :type id: str 9467 :param name: The name of the resource that is unique within a resource group. This name can be 9468 used to access the resource. 9469 :type name: str 9470 :param etag: A unique read-only string that changes whenever the resource is updated. 9471 :type etag: str 9472 :param description: A description for this rule. Restricted to 140 chars. 9473 :type description: str 9474 :param protocol: Network protocol this rule applies to. Possible values are 'Tcp', 'Udp', and 9475 '*'. Possible values include: "Tcp", "Udp", "*". 9476 :type protocol: str or ~azure.mgmt.network.v2018_04_01.models.SecurityRuleProtocol 9477 :param source_port_range: The source port or range. Integer or range between 0 and 65535. 9478 Asterisk '*' can also be used to match all ports. 9479 :type source_port_range: str 9480 :param destination_port_range: The destination port or range. Integer or range between 0 and 9481 65535. Asterisk '*' can also be used to match all ports. 9482 :type destination_port_range: str 9483 :param source_address_prefix: The CIDR or source IP range. Asterisk '*' can also be used to 9484 match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' 9485 can also be used. If this is an ingress rule, specifies where network traffic originates from. 9486 :type source_address_prefix: str 9487 :param source_address_prefixes: The CIDR or source IP ranges. 9488 :type source_address_prefixes: list[str] 9489 :param source_application_security_groups: The application security group specified as source. 9490 :type source_application_security_groups: 9491 list[~azure.mgmt.network.v2018_04_01.models.ApplicationSecurityGroup] 9492 :param destination_address_prefix: The destination address prefix. CIDR or destination IP 9493 range. Asterisk '*' can also be used to match all source IPs. Default tags such as 9494 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. 9495 :type destination_address_prefix: str 9496 :param destination_address_prefixes: The destination address prefixes. CIDR or destination IP 9497 ranges. 9498 :type destination_address_prefixes: list[str] 9499 :param destination_application_security_groups: The application security group specified as 9500 destination. 9501 :type destination_application_security_groups: 9502 list[~azure.mgmt.network.v2018_04_01.models.ApplicationSecurityGroup] 9503 :param source_port_ranges: The source port ranges. 9504 :type source_port_ranges: list[str] 9505 :param destination_port_ranges: The destination port ranges. 9506 :type destination_port_ranges: list[str] 9507 :param access: The network traffic is allowed or denied. Possible values are: 'Allow' and 9508 'Deny'. Possible values include: "Allow", "Deny". 9509 :type access: str or ~azure.mgmt.network.v2018_04_01.models.SecurityRuleAccess 9510 :param priority: The priority of the rule. The value can be between 100 and 4096. The priority 9511 number must be unique for each rule in the collection. The lower the priority number, the 9512 higher the priority of the rule. 9513 :type priority: int 9514 :param direction: The direction of the rule. The direction specifies if rule will be evaluated 9515 on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'. Possible values 9516 include: "Inbound", "Outbound". 9517 :type direction: str or ~azure.mgmt.network.v2018_04_01.models.SecurityRuleDirection 9518 :param provisioning_state: The provisioning state of the public IP resource. Possible values 9519 are: 'Updating', 'Deleting', and 'Failed'. 9520 :type provisioning_state: str 9521 """ 9522 9523 _attribute_map = { 9524 'id': {'key': 'id', 'type': 'str'}, 9525 'name': {'key': 'name', 'type': 'str'}, 9526 'etag': {'key': 'etag', 'type': 'str'}, 9527 'description': {'key': 'properties.description', 'type': 'str'}, 9528 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 9529 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, 9530 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, 9531 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, 9532 'source_address_prefixes': {'key': 'properties.sourceAddressPrefixes', 'type': '[str]'}, 9533 'source_application_security_groups': {'key': 'properties.sourceApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, 9534 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, 9535 'destination_address_prefixes': {'key': 'properties.destinationAddressPrefixes', 'type': '[str]'}, 9536 'destination_application_security_groups': {'key': 'properties.destinationApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, 9537 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, 9538 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, 9539 'access': {'key': 'properties.access', 'type': 'str'}, 9540 'priority': {'key': 'properties.priority', 'type': 'int'}, 9541 'direction': {'key': 'properties.direction', 'type': 'str'}, 9542 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9543 } 9544 9545 def __init__( 9546 self, 9547 *, 9548 id: Optional[str] = None, 9549 name: Optional[str] = None, 9550 etag: Optional[str] = None, 9551 description: Optional[str] = None, 9552 protocol: Optional[Union[str, "SecurityRuleProtocol"]] = None, 9553 source_port_range: Optional[str] = None, 9554 destination_port_range: Optional[str] = None, 9555 source_address_prefix: Optional[str] = None, 9556 source_address_prefixes: Optional[List[str]] = None, 9557 source_application_security_groups: Optional[List["ApplicationSecurityGroup"]] = None, 9558 destination_address_prefix: Optional[str] = None, 9559 destination_address_prefixes: Optional[List[str]] = None, 9560 destination_application_security_groups: Optional[List["ApplicationSecurityGroup"]] = None, 9561 source_port_ranges: Optional[List[str]] = None, 9562 destination_port_ranges: Optional[List[str]] = None, 9563 access: Optional[Union[str, "SecurityRuleAccess"]] = None, 9564 priority: Optional[int] = None, 9565 direction: Optional[Union[str, "SecurityRuleDirection"]] = None, 9566 provisioning_state: Optional[str] = None, 9567 **kwargs 9568 ): 9569 super(SecurityRule, self).__init__(id=id, **kwargs) 9570 self.name = name 9571 self.etag = etag 9572 self.description = description 9573 self.protocol = protocol 9574 self.source_port_range = source_port_range 9575 self.destination_port_range = destination_port_range 9576 self.source_address_prefix = source_address_prefix 9577 self.source_address_prefixes = source_address_prefixes 9578 self.source_application_security_groups = source_application_security_groups 9579 self.destination_address_prefix = destination_address_prefix 9580 self.destination_address_prefixes = destination_address_prefixes 9581 self.destination_application_security_groups = destination_application_security_groups 9582 self.source_port_ranges = source_port_ranges 9583 self.destination_port_ranges = destination_port_ranges 9584 self.access = access 9585 self.priority = priority 9586 self.direction = direction 9587 self.provisioning_state = provisioning_state 9588 9589 9590class SecurityRuleAssociations(msrest.serialization.Model): 9591 """All security rules associated with the network interface. 9592 9593 :param network_interface_association: Network interface and its custom security rules. 9594 :type network_interface_association: 9595 ~azure.mgmt.network.v2018_04_01.models.NetworkInterfaceAssociation 9596 :param subnet_association: Network interface and its custom security rules. 9597 :type subnet_association: ~azure.mgmt.network.v2018_04_01.models.SubnetAssociation 9598 :param default_security_rules: Collection of default security rules of the network security 9599 group. 9600 :type default_security_rules: list[~azure.mgmt.network.v2018_04_01.models.SecurityRule] 9601 :param effective_security_rules: Collection of effective security rules. 9602 :type effective_security_rules: 9603 list[~azure.mgmt.network.v2018_04_01.models.EffectiveNetworkSecurityRule] 9604 """ 9605 9606 _attribute_map = { 9607 'network_interface_association': {'key': 'networkInterfaceAssociation', 'type': 'NetworkInterfaceAssociation'}, 9608 'subnet_association': {'key': 'subnetAssociation', 'type': 'SubnetAssociation'}, 9609 'default_security_rules': {'key': 'defaultSecurityRules', 'type': '[SecurityRule]'}, 9610 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, 9611 } 9612 9613 def __init__( 9614 self, 9615 *, 9616 network_interface_association: Optional["NetworkInterfaceAssociation"] = None, 9617 subnet_association: Optional["SubnetAssociation"] = None, 9618 default_security_rules: Optional[List["SecurityRule"]] = None, 9619 effective_security_rules: Optional[List["EffectiveNetworkSecurityRule"]] = None, 9620 **kwargs 9621 ): 9622 super(SecurityRuleAssociations, self).__init__(**kwargs) 9623 self.network_interface_association = network_interface_association 9624 self.subnet_association = subnet_association 9625 self.default_security_rules = default_security_rules 9626 self.effective_security_rules = effective_security_rules 9627 9628 9629class SecurityRuleListResult(msrest.serialization.Model): 9630 """Response for ListSecurityRule API service call. Retrieves all security rules that belongs to a network security group. 9631 9632 :param value: The security rules in a network security group. 9633 :type value: list[~azure.mgmt.network.v2018_04_01.models.SecurityRule] 9634 :param next_link: The URL to get the next set of results. 9635 :type next_link: str 9636 """ 9637 9638 _attribute_map = { 9639 'value': {'key': 'value', 'type': '[SecurityRule]'}, 9640 'next_link': {'key': 'nextLink', 'type': 'str'}, 9641 } 9642 9643 def __init__( 9644 self, 9645 *, 9646 value: Optional[List["SecurityRule"]] = None, 9647 next_link: Optional[str] = None, 9648 **kwargs 9649 ): 9650 super(SecurityRuleListResult, self).__init__(**kwargs) 9651 self.value = value 9652 self.next_link = next_link 9653 9654 9655class ServiceEndpointPropertiesFormat(msrest.serialization.Model): 9656 """The service endpoint properties. 9657 9658 :param service: The type of the endpoint service. 9659 :type service: str 9660 :param locations: A list of locations. 9661 :type locations: list[str] 9662 :param provisioning_state: The provisioning state of the resource. 9663 :type provisioning_state: str 9664 """ 9665 9666 _attribute_map = { 9667 'service': {'key': 'service', 'type': 'str'}, 9668 'locations': {'key': 'locations', 'type': '[str]'}, 9669 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 9670 } 9671 9672 def __init__( 9673 self, 9674 *, 9675 service: Optional[str] = None, 9676 locations: Optional[List[str]] = None, 9677 provisioning_state: Optional[str] = None, 9678 **kwargs 9679 ): 9680 super(ServiceEndpointPropertiesFormat, self).__init__(**kwargs) 9681 self.service = service 9682 self.locations = locations 9683 self.provisioning_state = provisioning_state 9684 9685 9686class Subnet(SubResource): 9687 """Subnet in a virtual network resource. 9688 9689 Variables are only populated by the server, and will be ignored when sending a request. 9690 9691 :param id: Resource ID. 9692 :type id: str 9693 :param name: The name of the resource that is unique within a resource group. This name can be 9694 used to access the resource. 9695 :type name: str 9696 :param etag: A unique read-only string that changes whenever the resource is updated. 9697 :type etag: str 9698 :param address_prefix: The address prefix for the subnet. 9699 :type address_prefix: str 9700 :param network_security_group: The reference of the NetworkSecurityGroup resource. 9701 :type network_security_group: ~azure.mgmt.network.v2018_04_01.models.NetworkSecurityGroup 9702 :param route_table: The reference of the RouteTable resource. 9703 :type route_table: ~azure.mgmt.network.v2018_04_01.models.RouteTable 9704 :param service_endpoints: An array of service endpoints. 9705 :type service_endpoints: 9706 list[~azure.mgmt.network.v2018_04_01.models.ServiceEndpointPropertiesFormat] 9707 :ivar ip_configurations: Gets an array of references to the network interface IP configurations 9708 using subnet. 9709 :vartype ip_configurations: list[~azure.mgmt.network.v2018_04_01.models.IPConfiguration] 9710 :param resource_navigation_links: Gets an array of references to the external resources using 9711 subnet. 9712 :type resource_navigation_links: 9713 list[~azure.mgmt.network.v2018_04_01.models.ResourceNavigationLink] 9714 :param provisioning_state: The provisioning state of the resource. 9715 :type provisioning_state: str 9716 """ 9717 9718 _validation = { 9719 'ip_configurations': {'readonly': True}, 9720 } 9721 9722 _attribute_map = { 9723 'id': {'key': 'id', 'type': 'str'}, 9724 'name': {'key': 'name', 'type': 'str'}, 9725 'etag': {'key': 'etag', 'type': 'str'}, 9726 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 9727 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, 9728 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, 9729 'service_endpoints': {'key': 'properties.serviceEndpoints', 'type': '[ServiceEndpointPropertiesFormat]'}, 9730 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, 9731 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, 9732 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9733 } 9734 9735 def __init__( 9736 self, 9737 *, 9738 id: Optional[str] = None, 9739 name: Optional[str] = None, 9740 etag: Optional[str] = None, 9741 address_prefix: Optional[str] = None, 9742 network_security_group: Optional["NetworkSecurityGroup"] = None, 9743 route_table: Optional["RouteTable"] = None, 9744 service_endpoints: Optional[List["ServiceEndpointPropertiesFormat"]] = None, 9745 resource_navigation_links: Optional[List["ResourceNavigationLink"]] = None, 9746 provisioning_state: Optional[str] = None, 9747 **kwargs 9748 ): 9749 super(Subnet, self).__init__(id=id, **kwargs) 9750 self.name = name 9751 self.etag = etag 9752 self.address_prefix = address_prefix 9753 self.network_security_group = network_security_group 9754 self.route_table = route_table 9755 self.service_endpoints = service_endpoints 9756 self.ip_configurations = None 9757 self.resource_navigation_links = resource_navigation_links 9758 self.provisioning_state = provisioning_state 9759 9760 9761class SubnetAssociation(msrest.serialization.Model): 9762 """Network interface and its custom security rules. 9763 9764 Variables are only populated by the server, and will be ignored when sending a request. 9765 9766 :ivar id: Subnet ID. 9767 :vartype id: str 9768 :param security_rules: Collection of custom security rules. 9769 :type security_rules: list[~azure.mgmt.network.v2018_04_01.models.SecurityRule] 9770 """ 9771 9772 _validation = { 9773 'id': {'readonly': True}, 9774 } 9775 9776 _attribute_map = { 9777 'id': {'key': 'id', 'type': 'str'}, 9778 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, 9779 } 9780 9781 def __init__( 9782 self, 9783 *, 9784 security_rules: Optional[List["SecurityRule"]] = None, 9785 **kwargs 9786 ): 9787 super(SubnetAssociation, self).__init__(**kwargs) 9788 self.id = None 9789 self.security_rules = security_rules 9790 9791 9792class SubnetListResult(msrest.serialization.Model): 9793 """Response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network. 9794 9795 :param value: The subnets in a virtual network. 9796 :type value: list[~azure.mgmt.network.v2018_04_01.models.Subnet] 9797 :param next_link: The URL to get the next set of results. 9798 :type next_link: str 9799 """ 9800 9801 _attribute_map = { 9802 'value': {'key': 'value', 'type': '[Subnet]'}, 9803 'next_link': {'key': 'nextLink', 'type': 'str'}, 9804 } 9805 9806 def __init__( 9807 self, 9808 *, 9809 value: Optional[List["Subnet"]] = None, 9810 next_link: Optional[str] = None, 9811 **kwargs 9812 ): 9813 super(SubnetListResult, self).__init__(**kwargs) 9814 self.value = value 9815 self.next_link = next_link 9816 9817 9818class TagsObject(msrest.serialization.Model): 9819 """Tags object for patch operations. 9820 9821 :param tags: A set of tags. Resource tags. 9822 :type tags: dict[str, str] 9823 """ 9824 9825 _attribute_map = { 9826 'tags': {'key': 'tags', 'type': '{str}'}, 9827 } 9828 9829 def __init__( 9830 self, 9831 *, 9832 tags: Optional[Dict[str, str]] = None, 9833 **kwargs 9834 ): 9835 super(TagsObject, self).__init__(**kwargs) 9836 self.tags = tags 9837 9838 9839class Topology(msrest.serialization.Model): 9840 """Topology of the specified resource group. 9841 9842 Variables are only populated by the server, and will be ignored when sending a request. 9843 9844 :ivar id: GUID representing the operation id. 9845 :vartype id: str 9846 :ivar created_date_time: The datetime when the topology was initially created for the resource 9847 group. 9848 :vartype created_date_time: ~datetime.datetime 9849 :ivar last_modified: The datetime when the topology was last modified. 9850 :vartype last_modified: ~datetime.datetime 9851 :param resources: 9852 :type resources: list[~azure.mgmt.network.v2018_04_01.models.TopologyResource] 9853 """ 9854 9855 _validation = { 9856 'id': {'readonly': True}, 9857 'created_date_time': {'readonly': True}, 9858 'last_modified': {'readonly': True}, 9859 } 9860 9861 _attribute_map = { 9862 'id': {'key': 'id', 'type': 'str'}, 9863 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, 9864 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, 9865 'resources': {'key': 'resources', 'type': '[TopologyResource]'}, 9866 } 9867 9868 def __init__( 9869 self, 9870 *, 9871 resources: Optional[List["TopologyResource"]] = None, 9872 **kwargs 9873 ): 9874 super(Topology, self).__init__(**kwargs) 9875 self.id = None 9876 self.created_date_time = None 9877 self.last_modified = None 9878 self.resources = resources 9879 9880 9881class TopologyAssociation(msrest.serialization.Model): 9882 """Resources that have an association with the parent resource. 9883 9884 :param name: The name of the resource that is associated with the parent resource. 9885 :type name: str 9886 :param resource_id: The ID of the resource that is associated with the parent resource. 9887 :type resource_id: str 9888 :param association_type: The association type of the child resource to the parent resource. 9889 Possible values include: "Associated", "Contains". 9890 :type association_type: str or ~azure.mgmt.network.v2018_04_01.models.AssociationType 9891 """ 9892 9893 _attribute_map = { 9894 'name': {'key': 'name', 'type': 'str'}, 9895 'resource_id': {'key': 'resourceId', 'type': 'str'}, 9896 'association_type': {'key': 'associationType', 'type': 'str'}, 9897 } 9898 9899 def __init__( 9900 self, 9901 *, 9902 name: Optional[str] = None, 9903 resource_id: Optional[str] = None, 9904 association_type: Optional[Union[str, "AssociationType"]] = None, 9905 **kwargs 9906 ): 9907 super(TopologyAssociation, self).__init__(**kwargs) 9908 self.name = name 9909 self.resource_id = resource_id 9910 self.association_type = association_type 9911 9912 9913class TopologyParameters(msrest.serialization.Model): 9914 """Parameters that define the representation of topology. 9915 9916 :param target_resource_group_name: The name of the target resource group to perform topology 9917 on. 9918 :type target_resource_group_name: str 9919 :param target_virtual_network: The reference of the Virtual Network resource. 9920 :type target_virtual_network: ~azure.mgmt.network.v2018_04_01.models.SubResource 9921 :param target_subnet: The reference of the Subnet resource. 9922 :type target_subnet: ~azure.mgmt.network.v2018_04_01.models.SubResource 9923 """ 9924 9925 _attribute_map = { 9926 'target_resource_group_name': {'key': 'targetResourceGroupName', 'type': 'str'}, 9927 'target_virtual_network': {'key': 'targetVirtualNetwork', 'type': 'SubResource'}, 9928 'target_subnet': {'key': 'targetSubnet', 'type': 'SubResource'}, 9929 } 9930 9931 def __init__( 9932 self, 9933 *, 9934 target_resource_group_name: Optional[str] = None, 9935 target_virtual_network: Optional["SubResource"] = None, 9936 target_subnet: Optional["SubResource"] = None, 9937 **kwargs 9938 ): 9939 super(TopologyParameters, self).__init__(**kwargs) 9940 self.target_resource_group_name = target_resource_group_name 9941 self.target_virtual_network = target_virtual_network 9942 self.target_subnet = target_subnet 9943 9944 9945class TopologyResource(msrest.serialization.Model): 9946 """The network resource topology information for the given resource group. 9947 9948 :param name: Name of the resource. 9949 :type name: str 9950 :param id: ID of the resource. 9951 :type id: str 9952 :param location: Resource location. 9953 :type location: str 9954 :param associations: Holds the associations the resource has with other resources in the 9955 resource group. 9956 :type associations: list[~azure.mgmt.network.v2018_04_01.models.TopologyAssociation] 9957 """ 9958 9959 _attribute_map = { 9960 'name': {'key': 'name', 'type': 'str'}, 9961 'id': {'key': 'id', 'type': 'str'}, 9962 'location': {'key': 'location', 'type': 'str'}, 9963 'associations': {'key': 'associations', 'type': '[TopologyAssociation]'}, 9964 } 9965 9966 def __init__( 9967 self, 9968 *, 9969 name: Optional[str] = None, 9970 id: Optional[str] = None, 9971 location: Optional[str] = None, 9972 associations: Optional[List["TopologyAssociation"]] = None, 9973 **kwargs 9974 ): 9975 super(TopologyResource, self).__init__(**kwargs) 9976 self.name = name 9977 self.id = id 9978 self.location = location 9979 self.associations = associations 9980 9981 9982class TrafficAnalyticsConfigurationProperties(msrest.serialization.Model): 9983 """Parameters that define the configuration of traffic analytics. 9984 9985 All required parameters must be populated in order to send to Azure. 9986 9987 :param enabled: Required. Flag to enable/disable traffic analytics. 9988 :type enabled: bool 9989 :param workspace_id: Required. The resource guid of the attached workspace. 9990 :type workspace_id: str 9991 :param workspace_region: Required. The location of the attached workspace. 9992 :type workspace_region: str 9993 :param workspace_resource_id: Required. Resource Id of the attached workspace. 9994 :type workspace_resource_id: str 9995 """ 9996 9997 _validation = { 9998 'enabled': {'required': True}, 9999 'workspace_id': {'required': True}, 10000 'workspace_region': {'required': True}, 10001 'workspace_resource_id': {'required': True}, 10002 } 10003 10004 _attribute_map = { 10005 'enabled': {'key': 'enabled', 'type': 'bool'}, 10006 'workspace_id': {'key': 'workspaceId', 'type': 'str'}, 10007 'workspace_region': {'key': 'workspaceRegion', 'type': 'str'}, 10008 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, 10009 } 10010 10011 def __init__( 10012 self, 10013 *, 10014 enabled: bool, 10015 workspace_id: str, 10016 workspace_region: str, 10017 workspace_resource_id: str, 10018 **kwargs 10019 ): 10020 super(TrafficAnalyticsConfigurationProperties, self).__init__(**kwargs) 10021 self.enabled = enabled 10022 self.workspace_id = workspace_id 10023 self.workspace_region = workspace_region 10024 self.workspace_resource_id = workspace_resource_id 10025 10026 10027class TrafficAnalyticsProperties(msrest.serialization.Model): 10028 """Parameters that define the configuration of traffic analytics. 10029 10030 All required parameters must be populated in order to send to Azure. 10031 10032 :param network_watcher_flow_analytics_configuration: Required. Parameters that define the 10033 configuration of traffic analytics. 10034 :type network_watcher_flow_analytics_configuration: 10035 ~azure.mgmt.network.v2018_04_01.models.TrafficAnalyticsConfigurationProperties 10036 """ 10037 10038 _validation = { 10039 'network_watcher_flow_analytics_configuration': {'required': True}, 10040 } 10041 10042 _attribute_map = { 10043 'network_watcher_flow_analytics_configuration': {'key': 'networkWatcherFlowAnalyticsConfiguration', 'type': 'TrafficAnalyticsConfigurationProperties'}, 10044 } 10045 10046 def __init__( 10047 self, 10048 *, 10049 network_watcher_flow_analytics_configuration: "TrafficAnalyticsConfigurationProperties", 10050 **kwargs 10051 ): 10052 super(TrafficAnalyticsProperties, self).__init__(**kwargs) 10053 self.network_watcher_flow_analytics_configuration = network_watcher_flow_analytics_configuration 10054 10055 10056class TroubleshootingDetails(msrest.serialization.Model): 10057 """Information gained from troubleshooting of specified resource. 10058 10059 :param id: The id of the get troubleshoot operation. 10060 :type id: str 10061 :param reason_type: Reason type of failure. 10062 :type reason_type: str 10063 :param summary: A summary of troubleshooting. 10064 :type summary: str 10065 :param detail: Details on troubleshooting results. 10066 :type detail: str 10067 :param recommended_actions: List of recommended actions. 10068 :type recommended_actions: 10069 list[~azure.mgmt.network.v2018_04_01.models.TroubleshootingRecommendedActions] 10070 """ 10071 10072 _attribute_map = { 10073 'id': {'key': 'id', 'type': 'str'}, 10074 'reason_type': {'key': 'reasonType', 'type': 'str'}, 10075 'summary': {'key': 'summary', 'type': 'str'}, 10076 'detail': {'key': 'detail', 'type': 'str'}, 10077 'recommended_actions': {'key': 'recommendedActions', 'type': '[TroubleshootingRecommendedActions]'}, 10078 } 10079 10080 def __init__( 10081 self, 10082 *, 10083 id: Optional[str] = None, 10084 reason_type: Optional[str] = None, 10085 summary: Optional[str] = None, 10086 detail: Optional[str] = None, 10087 recommended_actions: Optional[List["TroubleshootingRecommendedActions"]] = None, 10088 **kwargs 10089 ): 10090 super(TroubleshootingDetails, self).__init__(**kwargs) 10091 self.id = id 10092 self.reason_type = reason_type 10093 self.summary = summary 10094 self.detail = detail 10095 self.recommended_actions = recommended_actions 10096 10097 10098class TroubleshootingParameters(msrest.serialization.Model): 10099 """Parameters that define the resource to troubleshoot. 10100 10101 All required parameters must be populated in order to send to Azure. 10102 10103 :param target_resource_id: Required. The target resource to troubleshoot. 10104 :type target_resource_id: str 10105 :param storage_id: Required. The ID for the storage account to save the troubleshoot result. 10106 :type storage_id: str 10107 :param storage_path: Required. The path to the blob to save the troubleshoot result in. 10108 :type storage_path: str 10109 """ 10110 10111 _validation = { 10112 'target_resource_id': {'required': True}, 10113 'storage_id': {'required': True}, 10114 'storage_path': {'required': True}, 10115 } 10116 10117 _attribute_map = { 10118 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 10119 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, 10120 'storage_path': {'key': 'properties.storagePath', 'type': 'str'}, 10121 } 10122 10123 def __init__( 10124 self, 10125 *, 10126 target_resource_id: str, 10127 storage_id: str, 10128 storage_path: str, 10129 **kwargs 10130 ): 10131 super(TroubleshootingParameters, self).__init__(**kwargs) 10132 self.target_resource_id = target_resource_id 10133 self.storage_id = storage_id 10134 self.storage_path = storage_path 10135 10136 10137class TroubleshootingRecommendedActions(msrest.serialization.Model): 10138 """Recommended actions based on discovered issues. 10139 10140 :param action_id: ID of the recommended action. 10141 :type action_id: str 10142 :param action_text: Description of recommended actions. 10143 :type action_text: str 10144 :param action_uri: The uri linking to a documentation for the recommended troubleshooting 10145 actions. 10146 :type action_uri: str 10147 :param action_uri_text: The information from the URI for the recommended troubleshooting 10148 actions. 10149 :type action_uri_text: str 10150 """ 10151 10152 _attribute_map = { 10153 'action_id': {'key': 'actionId', 'type': 'str'}, 10154 'action_text': {'key': 'actionText', 'type': 'str'}, 10155 'action_uri': {'key': 'actionUri', 'type': 'str'}, 10156 'action_uri_text': {'key': 'actionUriText', 'type': 'str'}, 10157 } 10158 10159 def __init__( 10160 self, 10161 *, 10162 action_id: Optional[str] = None, 10163 action_text: Optional[str] = None, 10164 action_uri: Optional[str] = None, 10165 action_uri_text: Optional[str] = None, 10166 **kwargs 10167 ): 10168 super(TroubleshootingRecommendedActions, self).__init__(**kwargs) 10169 self.action_id = action_id 10170 self.action_text = action_text 10171 self.action_uri = action_uri 10172 self.action_uri_text = action_uri_text 10173 10174 10175class TroubleshootingResult(msrest.serialization.Model): 10176 """Troubleshooting information gained from specified resource. 10177 10178 :param start_time: The start time of the troubleshooting. 10179 :type start_time: ~datetime.datetime 10180 :param end_time: The end time of the troubleshooting. 10181 :type end_time: ~datetime.datetime 10182 :param code: The result code of the troubleshooting. 10183 :type code: str 10184 :param results: Information from troubleshooting. 10185 :type results: list[~azure.mgmt.network.v2018_04_01.models.TroubleshootingDetails] 10186 """ 10187 10188 _attribute_map = { 10189 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 10190 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 10191 'code': {'key': 'code', 'type': 'str'}, 10192 'results': {'key': 'results', 'type': '[TroubleshootingDetails]'}, 10193 } 10194 10195 def __init__( 10196 self, 10197 *, 10198 start_time: Optional[datetime.datetime] = None, 10199 end_time: Optional[datetime.datetime] = None, 10200 code: Optional[str] = None, 10201 results: Optional[List["TroubleshootingDetails"]] = None, 10202 **kwargs 10203 ): 10204 super(TroubleshootingResult, self).__init__(**kwargs) 10205 self.start_time = start_time 10206 self.end_time = end_time 10207 self.code = code 10208 self.results = results 10209 10210 10211class TunnelConnectionHealth(msrest.serialization.Model): 10212 """VirtualNetworkGatewayConnection properties. 10213 10214 Variables are only populated by the server, and will be ignored when sending a request. 10215 10216 :ivar tunnel: Tunnel name. 10217 :vartype tunnel: str 10218 :ivar connection_status: Virtual network Gateway connection status. Possible values include: 10219 "Unknown", "Connecting", "Connected", "NotConnected". 10220 :vartype connection_status: str or 10221 ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnectionStatus 10222 :ivar ingress_bytes_transferred: The Ingress Bytes Transferred in this connection. 10223 :vartype ingress_bytes_transferred: long 10224 :ivar egress_bytes_transferred: The Egress Bytes Transferred in this connection. 10225 :vartype egress_bytes_transferred: long 10226 :ivar last_connection_established_utc_time: The time at which connection was established in Utc 10227 format. 10228 :vartype last_connection_established_utc_time: str 10229 """ 10230 10231 _validation = { 10232 'tunnel': {'readonly': True}, 10233 'connection_status': {'readonly': True}, 10234 'ingress_bytes_transferred': {'readonly': True}, 10235 'egress_bytes_transferred': {'readonly': True}, 10236 'last_connection_established_utc_time': {'readonly': True}, 10237 } 10238 10239 _attribute_map = { 10240 'tunnel': {'key': 'tunnel', 'type': 'str'}, 10241 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, 10242 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, 10243 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, 10244 'last_connection_established_utc_time': {'key': 'lastConnectionEstablishedUtcTime', 'type': 'str'}, 10245 } 10246 10247 def __init__( 10248 self, 10249 **kwargs 10250 ): 10251 super(TunnelConnectionHealth, self).__init__(**kwargs) 10252 self.tunnel = None 10253 self.connection_status = None 10254 self.ingress_bytes_transferred = None 10255 self.egress_bytes_transferred = None 10256 self.last_connection_established_utc_time = None 10257 10258 10259class Usage(msrest.serialization.Model): 10260 """Describes network resource usage. 10261 10262 Variables are only populated by the server, and will be ignored when sending a request. 10263 10264 All required parameters must be populated in order to send to Azure. 10265 10266 :ivar id: Resource identifier. 10267 :vartype id: str 10268 :param unit: Required. An enum describing the unit of measurement. Possible values include: 10269 "Count". 10270 :type unit: str or ~azure.mgmt.network.v2018_04_01.models.UsageUnit 10271 :param current_value: Required. The current value of the usage. 10272 :type current_value: long 10273 :param limit: Required. The limit of usage. 10274 :type limit: long 10275 :param name: Required. The name of the type of usage. 10276 :type name: ~azure.mgmt.network.v2018_04_01.models.UsageName 10277 """ 10278 10279 _validation = { 10280 'id': {'readonly': True}, 10281 'unit': {'required': True}, 10282 'current_value': {'required': True}, 10283 'limit': {'required': True}, 10284 'name': {'required': True}, 10285 } 10286 10287 _attribute_map = { 10288 'id': {'key': 'id', 'type': 'str'}, 10289 'unit': {'key': 'unit', 'type': 'str'}, 10290 'current_value': {'key': 'currentValue', 'type': 'long'}, 10291 'limit': {'key': 'limit', 'type': 'long'}, 10292 'name': {'key': 'name', 'type': 'UsageName'}, 10293 } 10294 10295 def __init__( 10296 self, 10297 *, 10298 unit: Union[str, "UsageUnit"], 10299 current_value: int, 10300 limit: int, 10301 name: "UsageName", 10302 **kwargs 10303 ): 10304 super(Usage, self).__init__(**kwargs) 10305 self.id = None 10306 self.unit = unit 10307 self.current_value = current_value 10308 self.limit = limit 10309 self.name = name 10310 10311 10312class UsageName(msrest.serialization.Model): 10313 """The usage names. 10314 10315 :param value: A string describing the resource name. 10316 :type value: str 10317 :param localized_value: A localized string describing the resource name. 10318 :type localized_value: str 10319 """ 10320 10321 _attribute_map = { 10322 'value': {'key': 'value', 'type': 'str'}, 10323 'localized_value': {'key': 'localizedValue', 'type': 'str'}, 10324 } 10325 10326 def __init__( 10327 self, 10328 *, 10329 value: Optional[str] = None, 10330 localized_value: Optional[str] = None, 10331 **kwargs 10332 ): 10333 super(UsageName, self).__init__(**kwargs) 10334 self.value = value 10335 self.localized_value = localized_value 10336 10337 10338class UsagesListResult(msrest.serialization.Model): 10339 """The list usages operation response. 10340 10341 :param value: The list network resource usages. 10342 :type value: list[~azure.mgmt.network.v2018_04_01.models.Usage] 10343 :param next_link: URL to get the next set of results. 10344 :type next_link: str 10345 """ 10346 10347 _attribute_map = { 10348 'value': {'key': 'value', 'type': '[Usage]'}, 10349 'next_link': {'key': 'nextLink', 'type': 'str'}, 10350 } 10351 10352 def __init__( 10353 self, 10354 *, 10355 value: Optional[List["Usage"]] = None, 10356 next_link: Optional[str] = None, 10357 **kwargs 10358 ): 10359 super(UsagesListResult, self).__init__(**kwargs) 10360 self.value = value 10361 self.next_link = next_link 10362 10363 10364class VerificationIPFlowParameters(msrest.serialization.Model): 10365 """Parameters that define the IP flow to be verified. 10366 10367 All required parameters must be populated in order to send to Azure. 10368 10369 :param target_resource_id: Required. The ID of the target resource to perform next-hop on. 10370 :type target_resource_id: str 10371 :param direction: Required. The direction of the packet represented as a 5-tuple. Possible 10372 values include: "Inbound", "Outbound". 10373 :type direction: str or ~azure.mgmt.network.v2018_04_01.models.Direction 10374 :param protocol: Required. Protocol to be verified on. Possible values include: "TCP", "UDP". 10375 :type protocol: str or ~azure.mgmt.network.v2018_04_01.models.IpFlowProtocol 10376 :param local_port: Required. The local port. Acceptable values are a single integer in the 10377 range (0-65535). Support for * for the source port, which depends on the direction. 10378 :type local_port: str 10379 :param remote_port: Required. The remote port. Acceptable values are a single integer in the 10380 range (0-65535). Support for * for the source port, which depends on the direction. 10381 :type remote_port: str 10382 :param local_ip_address: Required. The local IP address. Acceptable values are valid IPv4 10383 addresses. 10384 :type local_ip_address: str 10385 :param remote_ip_address: Required. The remote IP address. Acceptable values are valid IPv4 10386 addresses. 10387 :type remote_ip_address: str 10388 :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP forwarding is 10389 enabled on any of them, then this parameter must be specified. Otherwise optional). 10390 :type target_nic_resource_id: str 10391 """ 10392 10393 _validation = { 10394 'target_resource_id': {'required': True}, 10395 'direction': {'required': True}, 10396 'protocol': {'required': True}, 10397 'local_port': {'required': True}, 10398 'remote_port': {'required': True}, 10399 'local_ip_address': {'required': True}, 10400 'remote_ip_address': {'required': True}, 10401 } 10402 10403 _attribute_map = { 10404 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 10405 'direction': {'key': 'direction', 'type': 'str'}, 10406 'protocol': {'key': 'protocol', 'type': 'str'}, 10407 'local_port': {'key': 'localPort', 'type': 'str'}, 10408 'remote_port': {'key': 'remotePort', 'type': 'str'}, 10409 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, 10410 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, 10411 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, 10412 } 10413 10414 def __init__( 10415 self, 10416 *, 10417 target_resource_id: str, 10418 direction: Union[str, "Direction"], 10419 protocol: Union[str, "IpFlowProtocol"], 10420 local_port: str, 10421 remote_port: str, 10422 local_ip_address: str, 10423 remote_ip_address: str, 10424 target_nic_resource_id: Optional[str] = None, 10425 **kwargs 10426 ): 10427 super(VerificationIPFlowParameters, self).__init__(**kwargs) 10428 self.target_resource_id = target_resource_id 10429 self.direction = direction 10430 self.protocol = protocol 10431 self.local_port = local_port 10432 self.remote_port = remote_port 10433 self.local_ip_address = local_ip_address 10434 self.remote_ip_address = remote_ip_address 10435 self.target_nic_resource_id = target_nic_resource_id 10436 10437 10438class VerificationIPFlowResult(msrest.serialization.Model): 10439 """Results of IP flow verification on the target resource. 10440 10441 :param access: Indicates whether the traffic is allowed or denied. Possible values include: 10442 "Allow", "Deny". 10443 :type access: str or ~azure.mgmt.network.v2018_04_01.models.Access 10444 :param rule_name: Name of the rule. If input is not matched against any security rule, it is 10445 not displayed. 10446 :type rule_name: str 10447 """ 10448 10449 _attribute_map = { 10450 'access': {'key': 'access', 'type': 'str'}, 10451 'rule_name': {'key': 'ruleName', 'type': 'str'}, 10452 } 10453 10454 def __init__( 10455 self, 10456 *, 10457 access: Optional[Union[str, "Access"]] = None, 10458 rule_name: Optional[str] = None, 10459 **kwargs 10460 ): 10461 super(VerificationIPFlowResult, self).__init__(**kwargs) 10462 self.access = access 10463 self.rule_name = rule_name 10464 10465 10466class VirtualHub(Resource): 10467 """VirtualHub Resource. 10468 10469 Variables are only populated by the server, and will be ignored when sending a request. 10470 10471 :param id: Resource ID. 10472 :type id: str 10473 :ivar name: Resource name. 10474 :vartype name: str 10475 :ivar type: Resource type. 10476 :vartype type: str 10477 :param location: Resource location. 10478 :type location: str 10479 :param tags: A set of tags. Resource tags. 10480 :type tags: dict[str, str] 10481 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 10482 :vartype etag: str 10483 :param virtual_wan: The VirtualWAN to which the VirtualHub belongs. 10484 :type virtual_wan: ~azure.mgmt.network.v2018_04_01.models.SubResource 10485 :param hub_virtual_network_connections: list of all vnet connections with this VirtualHub. 10486 :type hub_virtual_network_connections: 10487 list[~azure.mgmt.network.v2018_04_01.models.HubVirtualNetworkConnection] 10488 :param address_prefix: Address-prefix for this VirtualHub. 10489 :type address_prefix: str 10490 :param provisioning_state: The provisioning state of the resource. Possible values include: 10491 "Succeeded", "Updating", "Deleting", "Failed". 10492 :type provisioning_state: str or ~azure.mgmt.network.v2018_04_01.models.ProvisioningState 10493 """ 10494 10495 _validation = { 10496 'name': {'readonly': True}, 10497 'type': {'readonly': True}, 10498 'etag': {'readonly': True}, 10499 } 10500 10501 _attribute_map = { 10502 'id': {'key': 'id', 'type': 'str'}, 10503 'name': {'key': 'name', 'type': 'str'}, 10504 'type': {'key': 'type', 'type': 'str'}, 10505 'location': {'key': 'location', 'type': 'str'}, 10506 'tags': {'key': 'tags', 'type': '{str}'}, 10507 'etag': {'key': 'etag', 'type': 'str'}, 10508 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, 10509 'hub_virtual_network_connections': {'key': 'properties.hubVirtualNetworkConnections', 'type': '[HubVirtualNetworkConnection]'}, 10510 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 10511 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10512 } 10513 10514 def __init__( 10515 self, 10516 *, 10517 id: Optional[str] = None, 10518 location: Optional[str] = None, 10519 tags: Optional[Dict[str, str]] = None, 10520 virtual_wan: Optional["SubResource"] = None, 10521 hub_virtual_network_connections: Optional[List["HubVirtualNetworkConnection"]] = None, 10522 address_prefix: Optional[str] = None, 10523 provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, 10524 **kwargs 10525 ): 10526 super(VirtualHub, self).__init__(id=id, location=location, tags=tags, **kwargs) 10527 self.etag = None 10528 self.virtual_wan = virtual_wan 10529 self.hub_virtual_network_connections = hub_virtual_network_connections 10530 self.address_prefix = address_prefix 10531 self.provisioning_state = provisioning_state 10532 10533 10534class VirtualNetwork(Resource): 10535 """Virtual Network resource. 10536 10537 Variables are only populated by the server, and will be ignored when sending a request. 10538 10539 :param id: Resource ID. 10540 :type id: str 10541 :ivar name: Resource name. 10542 :vartype name: str 10543 :ivar type: Resource type. 10544 :vartype type: str 10545 :param location: Resource location. 10546 :type location: str 10547 :param tags: A set of tags. Resource tags. 10548 :type tags: dict[str, str] 10549 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 10550 :type etag: str 10551 :param address_space: The AddressSpace that contains an array of IP address ranges that can be 10552 used by subnets. 10553 :type address_space: ~azure.mgmt.network.v2018_04_01.models.AddressSpace 10554 :param dhcp_options: The dhcpOptions that contains an array of DNS servers available to VMs 10555 deployed in the virtual network. 10556 :type dhcp_options: ~azure.mgmt.network.v2018_04_01.models.DhcpOptions 10557 :param subnets: A list of subnets in a Virtual Network. 10558 :type subnets: list[~azure.mgmt.network.v2018_04_01.models.Subnet] 10559 :param virtual_network_peerings: A list of peerings in a Virtual Network. 10560 :type virtual_network_peerings: 10561 list[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkPeering] 10562 :param resource_guid: The resourceGuid property of the Virtual Network resource. 10563 :type resource_guid: str 10564 :param provisioning_state: The provisioning state of the PublicIP resource. Possible values 10565 are: 'Updating', 'Deleting', and 'Failed'. 10566 :type provisioning_state: str 10567 :param enable_ddos_protection: Indicates if DDoS protection is enabled for all the protected 10568 resources in the virtual network. It requires a DDoS protection plan associated with the 10569 resource. 10570 :type enable_ddos_protection: bool 10571 :param enable_vm_protection: Indicates if VM protection is enabled for all the subnets in the 10572 virtual network. 10573 :type enable_vm_protection: bool 10574 :param ddos_protection_plan: The DDoS protection plan associated with the virtual network. 10575 :type ddos_protection_plan: ~azure.mgmt.network.v2018_04_01.models.SubResource 10576 """ 10577 10578 _validation = { 10579 'name': {'readonly': True}, 10580 'type': {'readonly': True}, 10581 } 10582 10583 _attribute_map = { 10584 'id': {'key': 'id', 'type': 'str'}, 10585 'name': {'key': 'name', 'type': 'str'}, 10586 'type': {'key': 'type', 'type': 'str'}, 10587 'location': {'key': 'location', 'type': 'str'}, 10588 'tags': {'key': 'tags', 'type': '{str}'}, 10589 'etag': {'key': 'etag', 'type': 'str'}, 10590 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, 10591 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, 10592 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 10593 'virtual_network_peerings': {'key': 'properties.virtualNetworkPeerings', 'type': '[VirtualNetworkPeering]'}, 10594 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 10595 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10596 'enable_ddos_protection': {'key': 'properties.enableDdosProtection', 'type': 'bool'}, 10597 'enable_vm_protection': {'key': 'properties.enableVmProtection', 'type': 'bool'}, 10598 'ddos_protection_plan': {'key': 'properties.ddosProtectionPlan', 'type': 'SubResource'}, 10599 } 10600 10601 def __init__( 10602 self, 10603 *, 10604 id: Optional[str] = None, 10605 location: Optional[str] = None, 10606 tags: Optional[Dict[str, str]] = None, 10607 etag: Optional[str] = None, 10608 address_space: Optional["AddressSpace"] = None, 10609 dhcp_options: Optional["DhcpOptions"] = None, 10610 subnets: Optional[List["Subnet"]] = None, 10611 virtual_network_peerings: Optional[List["VirtualNetworkPeering"]] = None, 10612 resource_guid: Optional[str] = None, 10613 provisioning_state: Optional[str] = None, 10614 enable_ddos_protection: Optional[bool] = False, 10615 enable_vm_protection: Optional[bool] = False, 10616 ddos_protection_plan: Optional["SubResource"] = None, 10617 **kwargs 10618 ): 10619 super(VirtualNetwork, self).__init__(id=id, location=location, tags=tags, **kwargs) 10620 self.etag = etag 10621 self.address_space = address_space 10622 self.dhcp_options = dhcp_options 10623 self.subnets = subnets 10624 self.virtual_network_peerings = virtual_network_peerings 10625 self.resource_guid = resource_guid 10626 self.provisioning_state = provisioning_state 10627 self.enable_ddos_protection = enable_ddos_protection 10628 self.enable_vm_protection = enable_vm_protection 10629 self.ddos_protection_plan = ddos_protection_plan 10630 10631 10632class VirtualNetworkConnectionGatewayReference(msrest.serialization.Model): 10633 """A reference to VirtualNetworkGateway or LocalNetworkGateway resource. 10634 10635 All required parameters must be populated in order to send to Azure. 10636 10637 :param id: Required. The ID of VirtualNetworkGateway or LocalNetworkGateway resource. 10638 :type id: str 10639 """ 10640 10641 _validation = { 10642 'id': {'required': True}, 10643 } 10644 10645 _attribute_map = { 10646 'id': {'key': 'id', 'type': 'str'}, 10647 } 10648 10649 def __init__( 10650 self, 10651 *, 10652 id: str, 10653 **kwargs 10654 ): 10655 super(VirtualNetworkConnectionGatewayReference, self).__init__(**kwargs) 10656 self.id = id 10657 10658 10659class VirtualNetworkGateway(Resource): 10660 """A common class for general resource information. 10661 10662 Variables are only populated by the server, and will be ignored when sending a request. 10663 10664 :param id: Resource ID. 10665 :type id: str 10666 :ivar name: Resource name. 10667 :vartype name: str 10668 :ivar type: Resource type. 10669 :vartype type: str 10670 :param location: Resource location. 10671 :type location: str 10672 :param tags: A set of tags. Resource tags. 10673 :type tags: dict[str, str] 10674 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 10675 :type etag: str 10676 :param ip_configurations: IP configurations for virtual network gateway. 10677 :type ip_configurations: 10678 list[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayIPConfiguration] 10679 :param gateway_type: The type of this virtual network gateway. Possible values are: 'Vpn' and 10680 'ExpressRoute'. Possible values include: "Vpn", "ExpressRoute". 10681 :type gateway_type: str or ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayType 10682 :param vpn_type: The type of this virtual network gateway. Possible values are: 'PolicyBased' 10683 and 'RouteBased'. Possible values include: "PolicyBased", "RouteBased". 10684 :type vpn_type: str or ~azure.mgmt.network.v2018_04_01.models.VpnType 10685 :param enable_bgp: Whether BGP is enabled for this virtual network gateway or not. 10686 :type enable_bgp: bool 10687 :param active: ActiveActive flag. 10688 :type active: bool 10689 :param gateway_default_site: The reference of the LocalNetworkGateway resource which represents 10690 local network site having default routes. Assign Null value in case of removing existing 10691 default site setting. 10692 :type gateway_default_site: ~azure.mgmt.network.v2018_04_01.models.SubResource 10693 :param sku: The reference of the VirtualNetworkGatewaySku resource which represents the SKU 10694 selected for Virtual network gateway. 10695 :type sku: ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewaySku 10696 :param vpn_client_configuration: The reference of the VpnClientConfiguration resource which 10697 represents the P2S VpnClient configurations. 10698 :type vpn_client_configuration: ~azure.mgmt.network.v2018_04_01.models.VpnClientConfiguration 10699 :param bgp_settings: Virtual network gateway's BGP speaker settings. 10700 :type bgp_settings: ~azure.mgmt.network.v2018_04_01.models.BgpSettings 10701 :param resource_guid: The resource GUID property of the VirtualNetworkGateway resource. 10702 :type resource_guid: str 10703 :ivar provisioning_state: The provisioning state of the VirtualNetworkGateway resource. 10704 Possible values are: 'Updating', 'Deleting', and 'Failed'. 10705 :vartype provisioning_state: str 10706 """ 10707 10708 _validation = { 10709 'name': {'readonly': True}, 10710 'type': {'readonly': True}, 10711 'provisioning_state': {'readonly': True}, 10712 } 10713 10714 _attribute_map = { 10715 'id': {'key': 'id', 'type': 'str'}, 10716 'name': {'key': 'name', 'type': 'str'}, 10717 'type': {'key': 'type', 'type': 'str'}, 10718 'location': {'key': 'location', 'type': 'str'}, 10719 'tags': {'key': 'tags', 'type': '{str}'}, 10720 'etag': {'key': 'etag', 'type': 'str'}, 10721 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, 10722 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, 10723 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, 10724 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 10725 'active': {'key': 'properties.activeActive', 'type': 'bool'}, 10726 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, 10727 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, 10728 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, 10729 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, 10730 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 10731 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10732 } 10733 10734 def __init__( 10735 self, 10736 *, 10737 id: Optional[str] = None, 10738 location: Optional[str] = None, 10739 tags: Optional[Dict[str, str]] = None, 10740 etag: Optional[str] = None, 10741 ip_configurations: Optional[List["VirtualNetworkGatewayIPConfiguration"]] = None, 10742 gateway_type: Optional[Union[str, "VirtualNetworkGatewayType"]] = None, 10743 vpn_type: Optional[Union[str, "VpnType"]] = None, 10744 enable_bgp: Optional[bool] = None, 10745 active: Optional[bool] = None, 10746 gateway_default_site: Optional["SubResource"] = None, 10747 sku: Optional["VirtualNetworkGatewaySku"] = None, 10748 vpn_client_configuration: Optional["VpnClientConfiguration"] = None, 10749 bgp_settings: Optional["BgpSettings"] = None, 10750 resource_guid: Optional[str] = None, 10751 **kwargs 10752 ): 10753 super(VirtualNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 10754 self.etag = etag 10755 self.ip_configurations = ip_configurations 10756 self.gateway_type = gateway_type 10757 self.vpn_type = vpn_type 10758 self.enable_bgp = enable_bgp 10759 self.active = active 10760 self.gateway_default_site = gateway_default_site 10761 self.sku = sku 10762 self.vpn_client_configuration = vpn_client_configuration 10763 self.bgp_settings = bgp_settings 10764 self.resource_guid = resource_guid 10765 self.provisioning_state = None 10766 10767 10768class VirtualNetworkGatewayConnection(Resource): 10769 """A common class for general resource information. 10770 10771 Variables are only populated by the server, and will be ignored when sending a request. 10772 10773 All required parameters must be populated in order to send to Azure. 10774 10775 :param id: Resource ID. 10776 :type id: str 10777 :ivar name: Resource name. 10778 :vartype name: str 10779 :ivar type: Resource type. 10780 :vartype type: str 10781 :param location: Resource location. 10782 :type location: str 10783 :param tags: A set of tags. Resource tags. 10784 :type tags: dict[str, str] 10785 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 10786 :type etag: str 10787 :param authorization_key: The authorizationKey. 10788 :type authorization_key: str 10789 :param virtual_network_gateway1: Required. The reference to virtual network gateway resource. 10790 :type virtual_network_gateway1: ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGateway 10791 :param virtual_network_gateway2: The reference to virtual network gateway resource. 10792 :type virtual_network_gateway2: ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGateway 10793 :param local_network_gateway2: The reference to local network gateway resource. 10794 :type local_network_gateway2: ~azure.mgmt.network.v2018_04_01.models.LocalNetworkGateway 10795 :param connection_type: Required. Gateway connection type. Possible values are: 10796 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values include: "IPsec", 10797 "Vnet2Vnet", "ExpressRoute", "VPNClient". 10798 :type connection_type: str or 10799 ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnectionType 10800 :param routing_weight: The routing weight. 10801 :type routing_weight: int 10802 :param shared_key: The IPSec shared key. 10803 :type shared_key: str 10804 :ivar connection_status: Virtual network Gateway connection status. Possible values are 10805 'Unknown', 'Connecting', 'Connected' and 'NotConnected'. Possible values include: "Unknown", 10806 "Connecting", "Connected", "NotConnected". 10807 :vartype connection_status: str or 10808 ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnectionStatus 10809 :ivar tunnel_connection_status: Collection of all tunnels' connection health status. 10810 :vartype tunnel_connection_status: 10811 list[~azure.mgmt.network.v2018_04_01.models.TunnelConnectionHealth] 10812 :ivar egress_bytes_transferred: The egress bytes transferred in this connection. 10813 :vartype egress_bytes_transferred: long 10814 :ivar ingress_bytes_transferred: The ingress bytes transferred in this connection. 10815 :vartype ingress_bytes_transferred: long 10816 :param peer: The reference to peerings resource. 10817 :type peer: ~azure.mgmt.network.v2018_04_01.models.SubResource 10818 :param enable_bgp: EnableBgp flag. 10819 :type enable_bgp: bool 10820 :param use_policy_based_traffic_selectors: Enable policy-based traffic selectors. 10821 :type use_policy_based_traffic_selectors: bool 10822 :param ipsec_policies: The IPSec Policies to be considered by this connection. 10823 :type ipsec_policies: list[~azure.mgmt.network.v2018_04_01.models.IpsecPolicy] 10824 :param resource_guid: The resource GUID property of the VirtualNetworkGatewayConnection 10825 resource. 10826 :type resource_guid: str 10827 :ivar provisioning_state: The provisioning state of the VirtualNetworkGatewayConnection 10828 resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. 10829 :vartype provisioning_state: str 10830 """ 10831 10832 _validation = { 10833 'name': {'readonly': True}, 10834 'type': {'readonly': True}, 10835 'virtual_network_gateway1': {'required': True}, 10836 'connection_type': {'required': True}, 10837 'connection_status': {'readonly': True}, 10838 'tunnel_connection_status': {'readonly': True}, 10839 'egress_bytes_transferred': {'readonly': True}, 10840 'ingress_bytes_transferred': {'readonly': True}, 10841 'provisioning_state': {'readonly': True}, 10842 } 10843 10844 _attribute_map = { 10845 'id': {'key': 'id', 'type': 'str'}, 10846 'name': {'key': 'name', 'type': 'str'}, 10847 'type': {'key': 'type', 'type': 'str'}, 10848 'location': {'key': 'location', 'type': 'str'}, 10849 'tags': {'key': 'tags', 'type': '{str}'}, 10850 'etag': {'key': 'etag', 'type': 'str'}, 10851 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 10852 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, 10853 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, 10854 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, 10855 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, 10856 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, 10857 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 10858 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, 10859 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, 10860 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, 10861 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, 10862 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, 10863 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 10864 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, 10865 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, 10866 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 10867 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10868 } 10869 10870 def __init__( 10871 self, 10872 *, 10873 virtual_network_gateway1: "VirtualNetworkGateway", 10874 connection_type: Union[str, "VirtualNetworkGatewayConnectionType"], 10875 id: Optional[str] = None, 10876 location: Optional[str] = None, 10877 tags: Optional[Dict[str, str]] = None, 10878 etag: Optional[str] = None, 10879 authorization_key: Optional[str] = None, 10880 virtual_network_gateway2: Optional["VirtualNetworkGateway"] = None, 10881 local_network_gateway2: Optional["LocalNetworkGateway"] = None, 10882 routing_weight: Optional[int] = None, 10883 shared_key: Optional[str] = None, 10884 peer: Optional["SubResource"] = None, 10885 enable_bgp: Optional[bool] = None, 10886 use_policy_based_traffic_selectors: Optional[bool] = None, 10887 ipsec_policies: Optional[List["IpsecPolicy"]] = None, 10888 resource_guid: Optional[str] = None, 10889 **kwargs 10890 ): 10891 super(VirtualNetworkGatewayConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) 10892 self.etag = etag 10893 self.authorization_key = authorization_key 10894 self.virtual_network_gateway1 = virtual_network_gateway1 10895 self.virtual_network_gateway2 = virtual_network_gateway2 10896 self.local_network_gateway2 = local_network_gateway2 10897 self.connection_type = connection_type 10898 self.routing_weight = routing_weight 10899 self.shared_key = shared_key 10900 self.connection_status = None 10901 self.tunnel_connection_status = None 10902 self.egress_bytes_transferred = None 10903 self.ingress_bytes_transferred = None 10904 self.peer = peer 10905 self.enable_bgp = enable_bgp 10906 self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors 10907 self.ipsec_policies = ipsec_policies 10908 self.resource_guid = resource_guid 10909 self.provisioning_state = None 10910 10911 10912class VirtualNetworkGatewayConnectionListEntity(Resource): 10913 """A common class for general resource information. 10914 10915 Variables are only populated by the server, and will be ignored when sending a request. 10916 10917 All required parameters must be populated in order to send to Azure. 10918 10919 :param id: Resource ID. 10920 :type id: str 10921 :ivar name: Resource name. 10922 :vartype name: str 10923 :ivar type: Resource type. 10924 :vartype type: str 10925 :param location: Resource location. 10926 :type location: str 10927 :param tags: A set of tags. Resource tags. 10928 :type tags: dict[str, str] 10929 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 10930 :type etag: str 10931 :param authorization_key: The authorizationKey. 10932 :type authorization_key: str 10933 :param virtual_network_gateway1: Required. The reference to virtual network gateway resource. 10934 :type virtual_network_gateway1: 10935 ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkConnectionGatewayReference 10936 :param virtual_network_gateway2: The reference to virtual network gateway resource. 10937 :type virtual_network_gateway2: 10938 ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkConnectionGatewayReference 10939 :param local_network_gateway2: The reference to local network gateway resource. 10940 :type local_network_gateway2: 10941 ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkConnectionGatewayReference 10942 :param connection_type: Required. Gateway connection type. Possible values are: 10943 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values include: "IPsec", 10944 "Vnet2Vnet", "ExpressRoute", "VPNClient". 10945 :type connection_type: str or 10946 ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnectionType 10947 :param routing_weight: The routing weight. 10948 :type routing_weight: int 10949 :param shared_key: The IPSec shared key. 10950 :type shared_key: str 10951 :ivar connection_status: Virtual network Gateway connection status. Possible values are 10952 'Unknown', 'Connecting', 'Connected' and 'NotConnected'. Possible values include: "Unknown", 10953 "Connecting", "Connected", "NotConnected". 10954 :vartype connection_status: str or 10955 ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnectionStatus 10956 :ivar tunnel_connection_status: Collection of all tunnels' connection health status. 10957 :vartype tunnel_connection_status: 10958 list[~azure.mgmt.network.v2018_04_01.models.TunnelConnectionHealth] 10959 :ivar egress_bytes_transferred: The egress bytes transferred in this connection. 10960 :vartype egress_bytes_transferred: long 10961 :ivar ingress_bytes_transferred: The ingress bytes transferred in this connection. 10962 :vartype ingress_bytes_transferred: long 10963 :param peer: The reference to peerings resource. 10964 :type peer: ~azure.mgmt.network.v2018_04_01.models.SubResource 10965 :param enable_bgp: EnableBgp flag. 10966 :type enable_bgp: bool 10967 :param use_policy_based_traffic_selectors: Enable policy-based traffic selectors. 10968 :type use_policy_based_traffic_selectors: bool 10969 :param ipsec_policies: The IPSec Policies to be considered by this connection. 10970 :type ipsec_policies: list[~azure.mgmt.network.v2018_04_01.models.IpsecPolicy] 10971 :param resource_guid: The resource GUID property of the VirtualNetworkGatewayConnection 10972 resource. 10973 :type resource_guid: str 10974 :ivar provisioning_state: The provisioning state of the VirtualNetworkGatewayConnection 10975 resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. 10976 :vartype provisioning_state: str 10977 """ 10978 10979 _validation = { 10980 'name': {'readonly': True}, 10981 'type': {'readonly': True}, 10982 'virtual_network_gateway1': {'required': True}, 10983 'connection_type': {'required': True}, 10984 'connection_status': {'readonly': True}, 10985 'tunnel_connection_status': {'readonly': True}, 10986 'egress_bytes_transferred': {'readonly': True}, 10987 'ingress_bytes_transferred': {'readonly': True}, 10988 'provisioning_state': {'readonly': True}, 10989 } 10990 10991 _attribute_map = { 10992 'id': {'key': 'id', 'type': 'str'}, 10993 'name': {'key': 'name', 'type': 'str'}, 10994 'type': {'key': 'type', 'type': 'str'}, 10995 'location': {'key': 'location', 'type': 'str'}, 10996 'tags': {'key': 'tags', 'type': '{str}'}, 10997 'etag': {'key': 'etag', 'type': 'str'}, 10998 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 10999 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkConnectionGatewayReference'}, 11000 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, 11001 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, 11002 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, 11003 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, 11004 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 11005 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, 11006 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, 11007 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, 11008 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, 11009 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, 11010 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 11011 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, 11012 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, 11013 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 11014 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 11015 } 11016 11017 def __init__( 11018 self, 11019 *, 11020 virtual_network_gateway1: "VirtualNetworkConnectionGatewayReference", 11021 connection_type: Union[str, "VirtualNetworkGatewayConnectionType"], 11022 id: Optional[str] = None, 11023 location: Optional[str] = None, 11024 tags: Optional[Dict[str, str]] = None, 11025 etag: Optional[str] = None, 11026 authorization_key: Optional[str] = None, 11027 virtual_network_gateway2: Optional["VirtualNetworkConnectionGatewayReference"] = None, 11028 local_network_gateway2: Optional["VirtualNetworkConnectionGatewayReference"] = None, 11029 routing_weight: Optional[int] = None, 11030 shared_key: Optional[str] = None, 11031 peer: Optional["SubResource"] = None, 11032 enable_bgp: Optional[bool] = None, 11033 use_policy_based_traffic_selectors: Optional[bool] = None, 11034 ipsec_policies: Optional[List["IpsecPolicy"]] = None, 11035 resource_guid: Optional[str] = None, 11036 **kwargs 11037 ): 11038 super(VirtualNetworkGatewayConnectionListEntity, self).__init__(id=id, location=location, tags=tags, **kwargs) 11039 self.etag = etag 11040 self.authorization_key = authorization_key 11041 self.virtual_network_gateway1 = virtual_network_gateway1 11042 self.virtual_network_gateway2 = virtual_network_gateway2 11043 self.local_network_gateway2 = local_network_gateway2 11044 self.connection_type = connection_type 11045 self.routing_weight = routing_weight 11046 self.shared_key = shared_key 11047 self.connection_status = None 11048 self.tunnel_connection_status = None 11049 self.egress_bytes_transferred = None 11050 self.ingress_bytes_transferred = None 11051 self.peer = peer 11052 self.enable_bgp = enable_bgp 11053 self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors 11054 self.ipsec_policies = ipsec_policies 11055 self.resource_guid = resource_guid 11056 self.provisioning_state = None 11057 11058 11059class VirtualNetworkGatewayConnectionListResult(msrest.serialization.Model): 11060 """Response for the ListVirtualNetworkGatewayConnections API service call. 11061 11062 Variables are only populated by the server, and will be ignored when sending a request. 11063 11064 :param value: Gets a list of VirtualNetworkGatewayConnection resources that exists in a 11065 resource group. 11066 :type value: list[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnection] 11067 :ivar next_link: The URL to get the next set of results. 11068 :vartype next_link: str 11069 """ 11070 11071 _validation = { 11072 'next_link': {'readonly': True}, 11073 } 11074 11075 _attribute_map = { 11076 'value': {'key': 'value', 'type': '[VirtualNetworkGatewayConnection]'}, 11077 'next_link': {'key': 'nextLink', 'type': 'str'}, 11078 } 11079 11080 def __init__( 11081 self, 11082 *, 11083 value: Optional[List["VirtualNetworkGatewayConnection"]] = None, 11084 **kwargs 11085 ): 11086 super(VirtualNetworkGatewayConnectionListResult, self).__init__(**kwargs) 11087 self.value = value 11088 self.next_link = None 11089 11090 11091class VirtualNetworkGatewayIPConfiguration(SubResource): 11092 """IP configuration for virtual network gateway. 11093 11094 Variables are only populated by the server, and will be ignored when sending a request. 11095 11096 :param id: Resource ID. 11097 :type id: str 11098 :param name: The name of the resource that is unique within a resource group. This name can be 11099 used to access the resource. 11100 :type name: str 11101 :param etag: A unique read-only string that changes whenever the resource is updated. 11102 :type etag: str 11103 :param private_ip_allocation_method: The private IP allocation method. Possible values are: 11104 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 11105 :type private_ip_allocation_method: str or 11106 ~azure.mgmt.network.v2018_04_01.models.IPAllocationMethod 11107 :param subnet: The reference of the subnet resource. 11108 :type subnet: ~azure.mgmt.network.v2018_04_01.models.SubResource 11109 :param public_ip_address: The reference of the public IP resource. 11110 :type public_ip_address: ~azure.mgmt.network.v2018_04_01.models.SubResource 11111 :ivar provisioning_state: The provisioning state of the public IP resource. Possible values 11112 are: 'Updating', 'Deleting', and 'Failed'. 11113 :vartype provisioning_state: str 11114 """ 11115 11116 _validation = { 11117 'provisioning_state': {'readonly': True}, 11118 } 11119 11120 _attribute_map = { 11121 'id': {'key': 'id', 'type': 'str'}, 11122 'name': {'key': 'name', 'type': 'str'}, 11123 'etag': {'key': 'etag', 'type': 'str'}, 11124 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 11125 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 11126 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, 11127 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 11128 } 11129 11130 def __init__( 11131 self, 11132 *, 11133 id: Optional[str] = None, 11134 name: Optional[str] = None, 11135 etag: Optional[str] = None, 11136 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 11137 subnet: Optional["SubResource"] = None, 11138 public_ip_address: Optional["SubResource"] = None, 11139 **kwargs 11140 ): 11141 super(VirtualNetworkGatewayIPConfiguration, self).__init__(id=id, **kwargs) 11142 self.name = name 11143 self.etag = etag 11144 self.private_ip_allocation_method = private_ip_allocation_method 11145 self.subnet = subnet 11146 self.public_ip_address = public_ip_address 11147 self.provisioning_state = None 11148 11149 11150class VirtualNetworkGatewayListConnectionsResult(msrest.serialization.Model): 11151 """Response for the VirtualNetworkGatewayListConnections API service call. 11152 11153 Variables are only populated by the server, and will be ignored when sending a request. 11154 11155 :param value: Gets a list of VirtualNetworkGatewayConnection resources that exists in a 11156 resource group. 11157 :type value: 11158 list[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewayConnectionListEntity] 11159 :ivar next_link: The URL to get the next set of results. 11160 :vartype next_link: str 11161 """ 11162 11163 _validation = { 11164 'next_link': {'readonly': True}, 11165 } 11166 11167 _attribute_map = { 11168 'value': {'key': 'value', 'type': '[VirtualNetworkGatewayConnectionListEntity]'}, 11169 'next_link': {'key': 'nextLink', 'type': 'str'}, 11170 } 11171 11172 def __init__( 11173 self, 11174 *, 11175 value: Optional[List["VirtualNetworkGatewayConnectionListEntity"]] = None, 11176 **kwargs 11177 ): 11178 super(VirtualNetworkGatewayListConnectionsResult, self).__init__(**kwargs) 11179 self.value = value 11180 self.next_link = None 11181 11182 11183class VirtualNetworkGatewayListResult(msrest.serialization.Model): 11184 """Response for the ListVirtualNetworkGateways API service call. 11185 11186 Variables are only populated by the server, and will be ignored when sending a request. 11187 11188 :param value: Gets a list of VirtualNetworkGateway resources that exists in a resource group. 11189 :type value: list[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGateway] 11190 :ivar next_link: The URL to get the next set of results. 11191 :vartype next_link: str 11192 """ 11193 11194 _validation = { 11195 'next_link': {'readonly': True}, 11196 } 11197 11198 _attribute_map = { 11199 'value': {'key': 'value', 'type': '[VirtualNetworkGateway]'}, 11200 'next_link': {'key': 'nextLink', 'type': 'str'}, 11201 } 11202 11203 def __init__( 11204 self, 11205 *, 11206 value: Optional[List["VirtualNetworkGateway"]] = None, 11207 **kwargs 11208 ): 11209 super(VirtualNetworkGatewayListResult, self).__init__(**kwargs) 11210 self.value = value 11211 self.next_link = None 11212 11213 11214class VirtualNetworkGatewaySku(msrest.serialization.Model): 11215 """VirtualNetworkGatewaySku details. 11216 11217 :param name: Gateway SKU name. Possible values include: "Basic", "HighPerformance", "Standard", 11218 "UltraPerformance", "VpnGw1", "VpnGw2", "VpnGw3", "VpnGw1AZ", "VpnGw2AZ", "VpnGw3AZ", 11219 "ErGw1AZ", "ErGw2AZ", "ErGw3AZ". 11220 :type name: str or ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewaySkuName 11221 :param tier: Gateway SKU tier. Possible values include: "Basic", "HighPerformance", "Standard", 11222 "UltraPerformance", "VpnGw1", "VpnGw2", "VpnGw3", "VpnGw1AZ", "VpnGw2AZ", "VpnGw3AZ", 11223 "ErGw1AZ", "ErGw2AZ", "ErGw3AZ". 11224 :type tier: str or ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkGatewaySkuTier 11225 :param capacity: The capacity. 11226 :type capacity: int 11227 """ 11228 11229 _attribute_map = { 11230 'name': {'key': 'name', 'type': 'str'}, 11231 'tier': {'key': 'tier', 'type': 'str'}, 11232 'capacity': {'key': 'capacity', 'type': 'int'}, 11233 } 11234 11235 def __init__( 11236 self, 11237 *, 11238 name: Optional[Union[str, "VirtualNetworkGatewaySkuName"]] = None, 11239 tier: Optional[Union[str, "VirtualNetworkGatewaySkuTier"]] = None, 11240 capacity: Optional[int] = None, 11241 **kwargs 11242 ): 11243 super(VirtualNetworkGatewaySku, self).__init__(**kwargs) 11244 self.name = name 11245 self.tier = tier 11246 self.capacity = capacity 11247 11248 11249class VirtualNetworkListResult(msrest.serialization.Model): 11250 """Response for the ListVirtualNetworks API service call. 11251 11252 :param value: Gets a list of VirtualNetwork resources in a resource group. 11253 :type value: list[~azure.mgmt.network.v2018_04_01.models.VirtualNetwork] 11254 :param next_link: The URL to get the next set of results. 11255 :type next_link: str 11256 """ 11257 11258 _attribute_map = { 11259 'value': {'key': 'value', 'type': '[VirtualNetwork]'}, 11260 'next_link': {'key': 'nextLink', 'type': 'str'}, 11261 } 11262 11263 def __init__( 11264 self, 11265 *, 11266 value: Optional[List["VirtualNetwork"]] = None, 11267 next_link: Optional[str] = None, 11268 **kwargs 11269 ): 11270 super(VirtualNetworkListResult, self).__init__(**kwargs) 11271 self.value = value 11272 self.next_link = next_link 11273 11274 11275class VirtualNetworkListUsageResult(msrest.serialization.Model): 11276 """Response for the virtual networks GetUsage API service call. 11277 11278 Variables are only populated by the server, and will be ignored when sending a request. 11279 11280 :ivar value: VirtualNetwork usage stats. 11281 :vartype value: list[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkUsage] 11282 :param next_link: The URL to get the next set of results. 11283 :type next_link: str 11284 """ 11285 11286 _validation = { 11287 'value': {'readonly': True}, 11288 } 11289 11290 _attribute_map = { 11291 'value': {'key': 'value', 'type': '[VirtualNetworkUsage]'}, 11292 'next_link': {'key': 'nextLink', 'type': 'str'}, 11293 } 11294 11295 def __init__( 11296 self, 11297 *, 11298 next_link: Optional[str] = None, 11299 **kwargs 11300 ): 11301 super(VirtualNetworkListUsageResult, self).__init__(**kwargs) 11302 self.value = None 11303 self.next_link = next_link 11304 11305 11306class VirtualNetworkPeering(SubResource): 11307 """Peerings in a virtual network resource. 11308 11309 :param id: Resource ID. 11310 :type id: str 11311 :param name: The name of the resource that is unique within a resource group. This name can be 11312 used to access the resource. 11313 :type name: str 11314 :param etag: A unique read-only string that changes whenever the resource is updated. 11315 :type etag: str 11316 :param allow_virtual_network_access: Whether the VMs in the linked virtual network space would 11317 be able to access all the VMs in local Virtual network space. 11318 :type allow_virtual_network_access: bool 11319 :param allow_forwarded_traffic: Whether the forwarded traffic from the VMs in the remote 11320 virtual network will be allowed/disallowed. 11321 :type allow_forwarded_traffic: bool 11322 :param allow_gateway_transit: If gateway links can be used in remote virtual networking to link 11323 to this virtual network. 11324 :type allow_gateway_transit: bool 11325 :param use_remote_gateways: If remote gateways can be used on this virtual network. If the flag 11326 is set to true, and allowGatewayTransit on remote peering is also true, virtual network will 11327 use gateways of remote virtual network for transit. Only one peering can have this flag set to 11328 true. This flag cannot be set if virtual network already has a gateway. 11329 :type use_remote_gateways: bool 11330 :param remote_virtual_network: The reference of the remote virtual network. The remote virtual 11331 network can be in the same or different region (preview). See here to register for the preview 11332 and learn more 11333 (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). 11334 :type remote_virtual_network: ~azure.mgmt.network.v2018_04_01.models.SubResource 11335 :param remote_address_space: The reference of the remote virtual network address space. 11336 :type remote_address_space: ~azure.mgmt.network.v2018_04_01.models.AddressSpace 11337 :param peering_state: The status of the virtual network peering. Possible values are 11338 'Initiated', 'Connected', and 'Disconnected'. Possible values include: "Initiated", 11339 "Connected", "Disconnected". 11340 :type peering_state: str or ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkPeeringState 11341 :param provisioning_state: The provisioning state of the resource. 11342 :type provisioning_state: str 11343 """ 11344 11345 _attribute_map = { 11346 'id': {'key': 'id', 'type': 'str'}, 11347 'name': {'key': 'name', 'type': 'str'}, 11348 'etag': {'key': 'etag', 'type': 'str'}, 11349 'allow_virtual_network_access': {'key': 'properties.allowVirtualNetworkAccess', 'type': 'bool'}, 11350 'allow_forwarded_traffic': {'key': 'properties.allowForwardedTraffic', 'type': 'bool'}, 11351 'allow_gateway_transit': {'key': 'properties.allowGatewayTransit', 'type': 'bool'}, 11352 'use_remote_gateways': {'key': 'properties.useRemoteGateways', 'type': 'bool'}, 11353 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, 11354 'remote_address_space': {'key': 'properties.remoteAddressSpace', 'type': 'AddressSpace'}, 11355 'peering_state': {'key': 'properties.peeringState', 'type': 'str'}, 11356 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 11357 } 11358 11359 def __init__( 11360 self, 11361 *, 11362 id: Optional[str] = None, 11363 name: Optional[str] = None, 11364 etag: Optional[str] = None, 11365 allow_virtual_network_access: Optional[bool] = None, 11366 allow_forwarded_traffic: Optional[bool] = None, 11367 allow_gateway_transit: Optional[bool] = None, 11368 use_remote_gateways: Optional[bool] = None, 11369 remote_virtual_network: Optional["SubResource"] = None, 11370 remote_address_space: Optional["AddressSpace"] = None, 11371 peering_state: Optional[Union[str, "VirtualNetworkPeeringState"]] = None, 11372 provisioning_state: Optional[str] = None, 11373 **kwargs 11374 ): 11375 super(VirtualNetworkPeering, self).__init__(id=id, **kwargs) 11376 self.name = name 11377 self.etag = etag 11378 self.allow_virtual_network_access = allow_virtual_network_access 11379 self.allow_forwarded_traffic = allow_forwarded_traffic 11380 self.allow_gateway_transit = allow_gateway_transit 11381 self.use_remote_gateways = use_remote_gateways 11382 self.remote_virtual_network = remote_virtual_network 11383 self.remote_address_space = remote_address_space 11384 self.peering_state = peering_state 11385 self.provisioning_state = provisioning_state 11386 11387 11388class VirtualNetworkPeeringListResult(msrest.serialization.Model): 11389 """Response for ListSubnets API service call. Retrieves all subnets that belong to a virtual network. 11390 11391 :param value: The peerings in a virtual network. 11392 :type value: list[~azure.mgmt.network.v2018_04_01.models.VirtualNetworkPeering] 11393 :param next_link: The URL to get the next set of results. 11394 :type next_link: str 11395 """ 11396 11397 _attribute_map = { 11398 'value': {'key': 'value', 'type': '[VirtualNetworkPeering]'}, 11399 'next_link': {'key': 'nextLink', 'type': 'str'}, 11400 } 11401 11402 def __init__( 11403 self, 11404 *, 11405 value: Optional[List["VirtualNetworkPeering"]] = None, 11406 next_link: Optional[str] = None, 11407 **kwargs 11408 ): 11409 super(VirtualNetworkPeeringListResult, self).__init__(**kwargs) 11410 self.value = value 11411 self.next_link = next_link 11412 11413 11414class VirtualNetworkUsage(msrest.serialization.Model): 11415 """Usage details for subnet. 11416 11417 Variables are only populated by the server, and will be ignored when sending a request. 11418 11419 :ivar current_value: Indicates number of IPs used from the Subnet. 11420 :vartype current_value: float 11421 :ivar id: Subnet identifier. 11422 :vartype id: str 11423 :ivar limit: Indicates the size of the subnet. 11424 :vartype limit: float 11425 :ivar name: The name containing common and localized value for usage. 11426 :vartype name: ~azure.mgmt.network.v2018_04_01.models.VirtualNetworkUsageName 11427 :ivar unit: Usage units. Returns 'Count'. 11428 :vartype unit: str 11429 """ 11430 11431 _validation = { 11432 'current_value': {'readonly': True}, 11433 'id': {'readonly': True}, 11434 'limit': {'readonly': True}, 11435 'name': {'readonly': True}, 11436 'unit': {'readonly': True}, 11437 } 11438 11439 _attribute_map = { 11440 'current_value': {'key': 'currentValue', 'type': 'float'}, 11441 'id': {'key': 'id', 'type': 'str'}, 11442 'limit': {'key': 'limit', 'type': 'float'}, 11443 'name': {'key': 'name', 'type': 'VirtualNetworkUsageName'}, 11444 'unit': {'key': 'unit', 'type': 'str'}, 11445 } 11446 11447 def __init__( 11448 self, 11449 **kwargs 11450 ): 11451 super(VirtualNetworkUsage, self).__init__(**kwargs) 11452 self.current_value = None 11453 self.id = None 11454 self.limit = None 11455 self.name = None 11456 self.unit = None 11457 11458 11459class VirtualNetworkUsageName(msrest.serialization.Model): 11460 """Usage strings container. 11461 11462 Variables are only populated by the server, and will be ignored when sending a request. 11463 11464 :ivar localized_value: Localized subnet size and usage string. 11465 :vartype localized_value: str 11466 :ivar value: Subnet size and usage string. 11467 :vartype value: str 11468 """ 11469 11470 _validation = { 11471 'localized_value': {'readonly': True}, 11472 'value': {'readonly': True}, 11473 } 11474 11475 _attribute_map = { 11476 'localized_value': {'key': 'localizedValue', 'type': 'str'}, 11477 'value': {'key': 'value', 'type': 'str'}, 11478 } 11479 11480 def __init__( 11481 self, 11482 **kwargs 11483 ): 11484 super(VirtualNetworkUsageName, self).__init__(**kwargs) 11485 self.localized_value = None 11486 self.value = None 11487 11488 11489class VirtualWAN(Resource): 11490 """VirtualWAN Resource. 11491 11492 Variables are only populated by the server, and will be ignored when sending a request. 11493 11494 :param id: Resource ID. 11495 :type id: str 11496 :ivar name: Resource name. 11497 :vartype name: str 11498 :ivar type: Resource type. 11499 :vartype type: str 11500 :param location: Resource location. 11501 :type location: str 11502 :param tags: A set of tags. Resource tags. 11503 :type tags: dict[str, str] 11504 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 11505 :vartype etag: str 11506 :param disable_vpn_encryption: Vpn encryption to be disabled or not. 11507 :type disable_vpn_encryption: bool 11508 :ivar virtual_hubs: List of VirtualHubs in the VirtualWAN. 11509 :vartype virtual_hubs: list[~azure.mgmt.network.v2018_04_01.models.SubResource] 11510 :ivar vpn_sites: 11511 :vartype vpn_sites: list[~azure.mgmt.network.v2018_04_01.models.SubResource] 11512 :param provisioning_state: The provisioning state of the resource. Possible values include: 11513 "Succeeded", "Updating", "Deleting", "Failed". 11514 :type provisioning_state: str or ~azure.mgmt.network.v2018_04_01.models.ProvisioningState 11515 """ 11516 11517 _validation = { 11518 'name': {'readonly': True}, 11519 'type': {'readonly': True}, 11520 'etag': {'readonly': True}, 11521 'virtual_hubs': {'readonly': True}, 11522 'vpn_sites': {'readonly': True}, 11523 } 11524 11525 _attribute_map = { 11526 'id': {'key': 'id', 'type': 'str'}, 11527 'name': {'key': 'name', 'type': 'str'}, 11528 'type': {'key': 'type', 'type': 'str'}, 11529 'location': {'key': 'location', 'type': 'str'}, 11530 'tags': {'key': 'tags', 'type': '{str}'}, 11531 'etag': {'key': 'etag', 'type': 'str'}, 11532 'disable_vpn_encryption': {'key': 'properties.disableVpnEncryption', 'type': 'bool'}, 11533 'virtual_hubs': {'key': 'properties.virtualHubs', 'type': '[SubResource]'}, 11534 'vpn_sites': {'key': 'properties.vpnSites', 'type': '[SubResource]'}, 11535 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 11536 } 11537 11538 def __init__( 11539 self, 11540 *, 11541 id: Optional[str] = None, 11542 location: Optional[str] = None, 11543 tags: Optional[Dict[str, str]] = None, 11544 disable_vpn_encryption: Optional[bool] = None, 11545 provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, 11546 **kwargs 11547 ): 11548 super(VirtualWAN, self).__init__(id=id, location=location, tags=tags, **kwargs) 11549 self.etag = None 11550 self.disable_vpn_encryption = disable_vpn_encryption 11551 self.virtual_hubs = None 11552 self.vpn_sites = None 11553 self.provisioning_state = provisioning_state 11554 11555 11556class VpnClientConfiguration(msrest.serialization.Model): 11557 """VpnClientConfiguration for P2S client. 11558 11559 :param vpn_client_address_pool: The reference of the address space resource which represents 11560 Address space for P2S VpnClient. 11561 :type vpn_client_address_pool: ~azure.mgmt.network.v2018_04_01.models.AddressSpace 11562 :param vpn_client_root_certificates: VpnClientRootCertificate for virtual network gateway. 11563 :type vpn_client_root_certificates: 11564 list[~azure.mgmt.network.v2018_04_01.models.VpnClientRootCertificate] 11565 :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for Virtual network 11566 gateway. 11567 :type vpn_client_revoked_certificates: 11568 list[~azure.mgmt.network.v2018_04_01.models.VpnClientRevokedCertificate] 11569 :param vpn_client_protocols: VpnClientProtocols for Virtual network gateway. 11570 :type vpn_client_protocols: list[str or 11571 ~azure.mgmt.network.v2018_04_01.models.VpnClientProtocol] 11572 :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for virtual network gateway P2S 11573 client. 11574 :type vpn_client_ipsec_policies: list[~azure.mgmt.network.v2018_04_01.models.IpsecPolicy] 11575 :param radius_server_address: The radius server address property of the VirtualNetworkGateway 11576 resource for vpn client connection. 11577 :type radius_server_address: str 11578 :param radius_server_secret: The radius secret property of the VirtualNetworkGateway resource 11579 for vpn client connection. 11580 :type radius_server_secret: str 11581 """ 11582 11583 _attribute_map = { 11584 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, 11585 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, 11586 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, 11587 'vpn_client_protocols': {'key': 'vpnClientProtocols', 'type': '[str]'}, 11588 'vpn_client_ipsec_policies': {'key': 'vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, 11589 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, 11590 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, 11591 } 11592 11593 def __init__( 11594 self, 11595 *, 11596 vpn_client_address_pool: Optional["AddressSpace"] = None, 11597 vpn_client_root_certificates: Optional[List["VpnClientRootCertificate"]] = None, 11598 vpn_client_revoked_certificates: Optional[List["VpnClientRevokedCertificate"]] = None, 11599 vpn_client_protocols: Optional[List[Union[str, "VpnClientProtocol"]]] = None, 11600 vpn_client_ipsec_policies: Optional[List["IpsecPolicy"]] = None, 11601 radius_server_address: Optional[str] = None, 11602 radius_server_secret: Optional[str] = None, 11603 **kwargs 11604 ): 11605 super(VpnClientConfiguration, self).__init__(**kwargs) 11606 self.vpn_client_address_pool = vpn_client_address_pool 11607 self.vpn_client_root_certificates = vpn_client_root_certificates 11608 self.vpn_client_revoked_certificates = vpn_client_revoked_certificates 11609 self.vpn_client_protocols = vpn_client_protocols 11610 self.vpn_client_ipsec_policies = vpn_client_ipsec_policies 11611 self.radius_server_address = radius_server_address 11612 self.radius_server_secret = radius_server_secret 11613 11614 11615class VpnClientIPsecParameters(msrest.serialization.Model): 11616 """An IPSec parameters for a virtual network gateway P2S connection. 11617 11618 All required parameters must be populated in order to send to Azure. 11619 11620 :param sa_life_time_seconds: Required. The IPSec Security Association (also called Quick Mode 11621 or Phase 2 SA) lifetime in seconds for P2S client. 11622 :type sa_life_time_seconds: int 11623 :param sa_data_size_kilobytes: Required. The IPSec Security Association (also called Quick Mode 11624 or Phase 2 SA) payload size in KB for P2S client.. 11625 :type sa_data_size_kilobytes: int 11626 :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE phase 1). Possible 11627 values include: "None", "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES128", "GCMAES192", 11628 "GCMAES256". 11629 :type ipsec_encryption: str or ~azure.mgmt.network.v2018_04_01.models.IpsecEncryption 11630 :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase 1). Possible values 11631 include: "MD5", "SHA1", "SHA256", "GCMAES128", "GCMAES192", "GCMAES256". 11632 :type ipsec_integrity: str or ~azure.mgmt.network.v2018_04_01.models.IpsecIntegrity 11633 :param ike_encryption: Required. The IKE encryption algorithm (IKE phase 2). Possible values 11634 include: "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES256", "GCMAES128". 11635 :type ike_encryption: str or ~azure.mgmt.network.v2018_04_01.models.IkeEncryption 11636 :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). Possible values 11637 include: "MD5", "SHA1", "SHA256", "SHA384", "GCMAES256", "GCMAES128". 11638 :type ike_integrity: str or ~azure.mgmt.network.v2018_04_01.models.IkeIntegrity 11639 :param dh_group: Required. The DH Groups used in IKE Phase 1 for initial SA. Possible values 11640 include: "None", "DHGroup1", "DHGroup2", "DHGroup14", "DHGroup2048", "ECP256", "ECP384", 11641 "DHGroup24". 11642 :type dh_group: str or ~azure.mgmt.network.v2018_04_01.models.DhGroup 11643 :param pfs_group: Required. The Pfs Groups used in IKE Phase 2 for new child SA. Possible 11644 values include: "None", "PFS1", "PFS2", "PFS2048", "ECP256", "ECP384", "PFS24", "PFS14", 11645 "PFSMM". 11646 :type pfs_group: str or ~azure.mgmt.network.v2018_04_01.models.PfsGroup 11647 """ 11648 11649 _validation = { 11650 'sa_life_time_seconds': {'required': True}, 11651 'sa_data_size_kilobytes': {'required': True}, 11652 'ipsec_encryption': {'required': True}, 11653 'ipsec_integrity': {'required': True}, 11654 'ike_encryption': {'required': True}, 11655 'ike_integrity': {'required': True}, 11656 'dh_group': {'required': True}, 11657 'pfs_group': {'required': True}, 11658 } 11659 11660 _attribute_map = { 11661 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, 11662 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, 11663 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, 11664 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, 11665 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, 11666 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, 11667 'dh_group': {'key': 'dhGroup', 'type': 'str'}, 11668 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, 11669 } 11670 11671 def __init__( 11672 self, 11673 *, 11674 sa_life_time_seconds: int, 11675 sa_data_size_kilobytes: int, 11676 ipsec_encryption: Union[str, "IpsecEncryption"], 11677 ipsec_integrity: Union[str, "IpsecIntegrity"], 11678 ike_encryption: Union[str, "IkeEncryption"], 11679 ike_integrity: Union[str, "IkeIntegrity"], 11680 dh_group: Union[str, "DhGroup"], 11681 pfs_group: Union[str, "PfsGroup"], 11682 **kwargs 11683 ): 11684 super(VpnClientIPsecParameters, self).__init__(**kwargs) 11685 self.sa_life_time_seconds = sa_life_time_seconds 11686 self.sa_data_size_kilobytes = sa_data_size_kilobytes 11687 self.ipsec_encryption = ipsec_encryption 11688 self.ipsec_integrity = ipsec_integrity 11689 self.ike_encryption = ike_encryption 11690 self.ike_integrity = ike_integrity 11691 self.dh_group = dh_group 11692 self.pfs_group = pfs_group 11693 11694 11695class VpnClientParameters(msrest.serialization.Model): 11696 """Vpn Client Parameters for package generation. 11697 11698 :param processor_architecture: VPN client Processor Architecture. Possible values are: 'AMD64' 11699 and 'X86'. Possible values include: "Amd64", "X86". 11700 :type processor_architecture: str or 11701 ~azure.mgmt.network.v2018_04_01.models.ProcessorArchitecture 11702 :param authentication_method: VPN client Authentication Method. Possible values are: 'EAPTLS' 11703 and 'EAPMSCHAPv2'. Possible values include: "EAPTLS", "EAPMSCHAPv2". 11704 :type authentication_method: str or ~azure.mgmt.network.v2018_04_01.models.AuthenticationMethod 11705 :param radius_server_auth_certificate: The public certificate data for the radius server 11706 authentication certificate as a Base-64 encoded string. Required only if external radius 11707 authentication has been configured with EAPTLS authentication. 11708 :type radius_server_auth_certificate: str 11709 :param client_root_certificates: A list of client root certificates public certificate data 11710 encoded as Base-64 strings. Optional parameter for external radius based authentication with 11711 EAPTLS. 11712 :type client_root_certificates: list[str] 11713 """ 11714 11715 _attribute_map = { 11716 'processor_architecture': {'key': 'processorArchitecture', 'type': 'str'}, 11717 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, 11718 'radius_server_auth_certificate': {'key': 'radiusServerAuthCertificate', 'type': 'str'}, 11719 'client_root_certificates': {'key': 'clientRootCertificates', 'type': '[str]'}, 11720 } 11721 11722 def __init__( 11723 self, 11724 *, 11725 processor_architecture: Optional[Union[str, "ProcessorArchitecture"]] = None, 11726 authentication_method: Optional[Union[str, "AuthenticationMethod"]] = None, 11727 radius_server_auth_certificate: Optional[str] = None, 11728 client_root_certificates: Optional[List[str]] = None, 11729 **kwargs 11730 ): 11731 super(VpnClientParameters, self).__init__(**kwargs) 11732 self.processor_architecture = processor_architecture 11733 self.authentication_method = authentication_method 11734 self.radius_server_auth_certificate = radius_server_auth_certificate 11735 self.client_root_certificates = client_root_certificates 11736 11737 11738class VpnClientRevokedCertificate(SubResource): 11739 """VPN client revoked certificate of virtual network gateway. 11740 11741 Variables are only populated by the server, and will be ignored when sending a request. 11742 11743 :param id: Resource ID. 11744 :type id: str 11745 :param name: The name of the resource that is unique within a resource group. This name can be 11746 used to access the resource. 11747 :type name: str 11748 :param etag: A unique read-only string that changes whenever the resource is updated. 11749 :type etag: str 11750 :param thumbprint: The revoked VPN client certificate thumbprint. 11751 :type thumbprint: str 11752 :ivar provisioning_state: The provisioning state of the VPN client revoked certificate 11753 resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. 11754 :vartype provisioning_state: str 11755 """ 11756 11757 _validation = { 11758 'provisioning_state': {'readonly': True}, 11759 } 11760 11761 _attribute_map = { 11762 'id': {'key': 'id', 'type': 'str'}, 11763 'name': {'key': 'name', 'type': 'str'}, 11764 'etag': {'key': 'etag', 'type': 'str'}, 11765 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, 11766 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 11767 } 11768 11769 def __init__( 11770 self, 11771 *, 11772 id: Optional[str] = None, 11773 name: Optional[str] = None, 11774 etag: Optional[str] = None, 11775 thumbprint: Optional[str] = None, 11776 **kwargs 11777 ): 11778 super(VpnClientRevokedCertificate, self).__init__(id=id, **kwargs) 11779 self.name = name 11780 self.etag = etag 11781 self.thumbprint = thumbprint 11782 self.provisioning_state = None 11783 11784 11785class VpnClientRootCertificate(SubResource): 11786 """VPN client root certificate of virtual network gateway. 11787 11788 Variables are only populated by the server, and will be ignored when sending a request. 11789 11790 All required parameters must be populated in order to send to Azure. 11791 11792 :param id: Resource ID. 11793 :type id: str 11794 :param name: The name of the resource that is unique within a resource group. This name can be 11795 used to access the resource. 11796 :type name: str 11797 :param etag: A unique read-only string that changes whenever the resource is updated. 11798 :type etag: str 11799 :param public_cert_data: Required. The certificate public data. 11800 :type public_cert_data: str 11801 :ivar provisioning_state: The provisioning state of the VPN client root certificate resource. 11802 Possible values are: 'Updating', 'Deleting', and 'Failed'. 11803 :vartype provisioning_state: str 11804 """ 11805 11806 _validation = { 11807 'public_cert_data': {'required': True}, 11808 'provisioning_state': {'readonly': True}, 11809 } 11810 11811 _attribute_map = { 11812 'id': {'key': 'id', 'type': 'str'}, 11813 'name': {'key': 'name', 'type': 'str'}, 11814 'etag': {'key': 'etag', 'type': 'str'}, 11815 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, 11816 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 11817 } 11818 11819 def __init__( 11820 self, 11821 *, 11822 public_cert_data: str, 11823 id: Optional[str] = None, 11824 name: Optional[str] = None, 11825 etag: Optional[str] = None, 11826 **kwargs 11827 ): 11828 super(VpnClientRootCertificate, self).__init__(id=id, **kwargs) 11829 self.name = name 11830 self.etag = etag 11831 self.public_cert_data = public_cert_data 11832 self.provisioning_state = None 11833 11834 11835class VpnConnection(SubResource): 11836 """VpnConnection Resource. 11837 11838 Variables are only populated by the server, and will be ignored when sending a request. 11839 11840 :param id: Resource ID. 11841 :type id: str 11842 :param name: The name of the resource that is unique within a resource group. This name can be 11843 used to access the resource. 11844 :type name: str 11845 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 11846 :vartype etag: str 11847 :param remote_vpn_site: Id of the connected vpn site. 11848 :type remote_vpn_site: ~azure.mgmt.network.v2018_04_01.models.SubResource 11849 :param routing_weight: routing weight for vpn connection. 11850 :type routing_weight: int 11851 :ivar connection_status: The connection status. Possible values include: "Unknown", 11852 "Connecting", "Connected", "NotConnected". 11853 :vartype connection_status: str or ~azure.mgmt.network.v2018_04_01.models.VpnConnectionStatus 11854 :ivar ingress_bytes_transferred: Ingress bytes transferred. 11855 :vartype ingress_bytes_transferred: long 11856 :ivar egress_bytes_transferred: Egress bytes transferred. 11857 :vartype egress_bytes_transferred: long 11858 :ivar connection_bandwidth: Expected bandwidth in MBPS. 11859 :vartype connection_bandwidth: int 11860 :param shared_key: SharedKey for the vpn connection. 11861 :type shared_key: str 11862 :param enable_bgp: EnableBgp flag. 11863 :type enable_bgp: bool 11864 :param ipsec_policies: The IPSec Policies to be considered by this connection. 11865 :type ipsec_policies: list[~azure.mgmt.network.v2018_04_01.models.IpsecPolicy] 11866 :param provisioning_state: The provisioning state of the resource. Possible values include: 11867 "Succeeded", "Updating", "Deleting", "Failed". 11868 :type provisioning_state: str or ~azure.mgmt.network.v2018_04_01.models.ProvisioningState 11869 """ 11870 11871 _validation = { 11872 'etag': {'readonly': True}, 11873 'connection_status': {'readonly': True}, 11874 'ingress_bytes_transferred': {'readonly': True}, 11875 'egress_bytes_transferred': {'readonly': True}, 11876 'connection_bandwidth': {'readonly': True}, 11877 } 11878 11879 _attribute_map = { 11880 'id': {'key': 'id', 'type': 'str'}, 11881 'name': {'key': 'name', 'type': 'str'}, 11882 'etag': {'key': 'etag', 'type': 'str'}, 11883 'remote_vpn_site': {'key': 'properties.remoteVpnSite', 'type': 'SubResource'}, 11884 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, 11885 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, 11886 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, 11887 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, 11888 'connection_bandwidth': {'key': 'properties.connectionBandwidth', 'type': 'int'}, 11889 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 11890 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 11891 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, 11892 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 11893 } 11894 11895 def __init__( 11896 self, 11897 *, 11898 id: Optional[str] = None, 11899 name: Optional[str] = None, 11900 remote_vpn_site: Optional["SubResource"] = None, 11901 routing_weight: Optional[int] = None, 11902 shared_key: Optional[str] = None, 11903 enable_bgp: Optional[bool] = None, 11904 ipsec_policies: Optional[List["IpsecPolicy"]] = None, 11905 provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, 11906 **kwargs 11907 ): 11908 super(VpnConnection, self).__init__(id=id, **kwargs) 11909 self.name = name 11910 self.etag = None 11911 self.remote_vpn_site = remote_vpn_site 11912 self.routing_weight = routing_weight 11913 self.connection_status = None 11914 self.ingress_bytes_transferred = None 11915 self.egress_bytes_transferred = None 11916 self.connection_bandwidth = None 11917 self.shared_key = shared_key 11918 self.enable_bgp = enable_bgp 11919 self.ipsec_policies = ipsec_policies 11920 self.provisioning_state = provisioning_state 11921 11922 11923class VpnDeviceScriptParameters(msrest.serialization.Model): 11924 """Vpn device configuration script generation parameters. 11925 11926 :param vendor: The vendor for the vpn device. 11927 :type vendor: str 11928 :param device_family: The device family for the vpn device. 11929 :type device_family: str 11930 :param firmware_version: The firmware version for the vpn device. 11931 :type firmware_version: str 11932 """ 11933 11934 _attribute_map = { 11935 'vendor': {'key': 'vendor', 'type': 'str'}, 11936 'device_family': {'key': 'deviceFamily', 'type': 'str'}, 11937 'firmware_version': {'key': 'firmwareVersion', 'type': 'str'}, 11938 } 11939 11940 def __init__( 11941 self, 11942 *, 11943 vendor: Optional[str] = None, 11944 device_family: Optional[str] = None, 11945 firmware_version: Optional[str] = None, 11946 **kwargs 11947 ): 11948 super(VpnDeviceScriptParameters, self).__init__(**kwargs) 11949 self.vendor = vendor 11950 self.device_family = device_family 11951 self.firmware_version = firmware_version 11952 11953 11954class VpnGateway(Resource): 11955 """VpnGateway Resource. 11956 11957 Variables are only populated by the server, and will be ignored when sending a request. 11958 11959 :param id: Resource ID. 11960 :type id: str 11961 :ivar name: Resource name. 11962 :vartype name: str 11963 :ivar type: Resource type. 11964 :vartype type: str 11965 :param location: Resource location. 11966 :type location: str 11967 :param tags: A set of tags. Resource tags. 11968 :type tags: dict[str, str] 11969 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 11970 :vartype etag: str 11971 :param virtual_hub: The VirtualHub to which the gateway belongs. 11972 :type virtual_hub: ~azure.mgmt.network.v2018_04_01.models.SubResource 11973 :param connections: list of all vpn connections to the gateway. 11974 :type connections: list[~azure.mgmt.network.v2018_04_01.models.VpnConnection] 11975 :param bgp_settings: Local network gateway's BGP speaker settings. 11976 :type bgp_settings: ~azure.mgmt.network.v2018_04_01.models.BgpSettings 11977 :param provisioning_state: The provisioning state of the resource. Possible values include: 11978 "Succeeded", "Updating", "Deleting", "Failed". 11979 :type provisioning_state: str or ~azure.mgmt.network.v2018_04_01.models.ProvisioningState 11980 :param policies: The policies applied to this vpn gateway. 11981 :type policies: ~azure.mgmt.network.v2018_04_01.models.Policies 11982 """ 11983 11984 _validation = { 11985 'name': {'readonly': True}, 11986 'type': {'readonly': True}, 11987 'etag': {'readonly': True}, 11988 } 11989 11990 _attribute_map = { 11991 'id': {'key': 'id', 'type': 'str'}, 11992 'name': {'key': 'name', 'type': 'str'}, 11993 'type': {'key': 'type', 'type': 'str'}, 11994 'location': {'key': 'location', 'type': 'str'}, 11995 'tags': {'key': 'tags', 'type': '{str}'}, 11996 'etag': {'key': 'etag', 'type': 'str'}, 11997 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, 11998 'connections': {'key': 'properties.connections', 'type': '[VpnConnection]'}, 11999 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, 12000 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 12001 'policies': {'key': 'properties.policies', 'type': 'Policies'}, 12002 } 12003 12004 def __init__( 12005 self, 12006 *, 12007 id: Optional[str] = None, 12008 location: Optional[str] = None, 12009 tags: Optional[Dict[str, str]] = None, 12010 virtual_hub: Optional["SubResource"] = None, 12011 connections: Optional[List["VpnConnection"]] = None, 12012 bgp_settings: Optional["BgpSettings"] = None, 12013 provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, 12014 policies: Optional["Policies"] = None, 12015 **kwargs 12016 ): 12017 super(VpnGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 12018 self.etag = None 12019 self.virtual_hub = virtual_hub 12020 self.connections = connections 12021 self.bgp_settings = bgp_settings 12022 self.provisioning_state = provisioning_state 12023 self.policies = policies 12024 12025 12026class VpnSite(Resource): 12027 """VpnSite Resource. 12028 12029 Variables are only populated by the server, and will be ignored when sending a request. 12030 12031 :param id: Resource ID. 12032 :type id: str 12033 :ivar name: Resource name. 12034 :vartype name: str 12035 :ivar type: Resource type. 12036 :vartype type: str 12037 :param location: Resource location. 12038 :type location: str 12039 :param tags: A set of tags. Resource tags. 12040 :type tags: dict[str, str] 12041 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 12042 :vartype etag: str 12043 :param virtual_wan: The VirtualWAN to which the vpnSite belongs. 12044 :type virtual_wan: ~azure.mgmt.network.v2018_04_01.models.SubResource 12045 :param device_properties: The device properties. 12046 :type device_properties: ~azure.mgmt.network.v2018_04_01.models.DeviceProperties 12047 :param ip_address: The ip-address for the vpn-site. 12048 :type ip_address: str 12049 :param site_key: The key for vpn-site that can be used for connections. 12050 :type site_key: str 12051 :param address_space: The AddressSpace that contains an array of IP address ranges. 12052 :type address_space: ~azure.mgmt.network.v2018_04_01.models.AddressSpace 12053 :param bgp_properties: The set of bgp properties. 12054 :type bgp_properties: ~azure.mgmt.network.v2018_04_01.models.BgpSettings 12055 :param provisioning_state: The provisioning state of the resource. Possible values include: 12056 "Succeeded", "Updating", "Deleting", "Failed". 12057 :type provisioning_state: str or ~azure.mgmt.network.v2018_04_01.models.ProvisioningState 12058 """ 12059 12060 _validation = { 12061 'name': {'readonly': True}, 12062 'type': {'readonly': True}, 12063 'etag': {'readonly': True}, 12064 } 12065 12066 _attribute_map = { 12067 'id': {'key': 'id', 'type': 'str'}, 12068 'name': {'key': 'name', 'type': 'str'}, 12069 'type': {'key': 'type', 'type': 'str'}, 12070 'location': {'key': 'location', 'type': 'str'}, 12071 'tags': {'key': 'tags', 'type': '{str}'}, 12072 'etag': {'key': 'etag', 'type': 'str'}, 12073 'virtual_wan': {'key': 'properties.virtualWAN', 'type': 'SubResource'}, 12074 'device_properties': {'key': 'properties.deviceProperties', 'type': 'DeviceProperties'}, 12075 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, 12076 'site_key': {'key': 'properties.siteKey', 'type': 'str'}, 12077 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, 12078 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'BgpSettings'}, 12079 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 12080 } 12081 12082 def __init__( 12083 self, 12084 *, 12085 id: Optional[str] = None, 12086 location: Optional[str] = None, 12087 tags: Optional[Dict[str, str]] = None, 12088 virtual_wan: Optional["SubResource"] = None, 12089 device_properties: Optional["DeviceProperties"] = None, 12090 ip_address: Optional[str] = None, 12091 site_key: Optional[str] = None, 12092 address_space: Optional["AddressSpace"] = None, 12093 bgp_properties: Optional["BgpSettings"] = None, 12094 provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, 12095 **kwargs 12096 ): 12097 super(VpnSite, self).__init__(id=id, location=location, tags=tags, **kwargs) 12098 self.etag = None 12099 self.virtual_wan = virtual_wan 12100 self.device_properties = device_properties 12101 self.ip_address = ip_address 12102 self.site_key = site_key 12103 self.address_space = address_space 12104 self.bgp_properties = bgp_properties 12105 self.provisioning_state = provisioning_state 12106 12107 12108class VpnSiteId(msrest.serialization.Model): 12109 """VpnSite Resource. 12110 12111 Variables are only populated by the server, and will be ignored when sending a request. 12112 12113 :ivar vpn_site: The resource-uri of the vpn-site for which config is to be fetched. 12114 :vartype vpn_site: str 12115 """ 12116 12117 _validation = { 12118 'vpn_site': {'readonly': True}, 12119 } 12120 12121 _attribute_map = { 12122 'vpn_site': {'key': 'vpnSite', 'type': 'str'}, 12123 } 12124 12125 def __init__( 12126 self, 12127 **kwargs 12128 ): 12129 super(VpnSiteId, self).__init__(**kwargs) 12130 self.vpn_site = None 12131