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 12import msrest.serialization 13 14from ._network_management_client_enums import * 15 16 17class AddressSpace(msrest.serialization.Model): 18 """AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. 19 20 :param address_prefixes: A list of address blocks reserved for this virtual network in CIDR 21 notation. 22 :type address_prefixes: list[str] 23 """ 24 25 _attribute_map = { 26 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, 27 } 28 29 def __init__( 30 self, 31 *, 32 address_prefixes: Optional[List[str]] = None, 33 **kwargs 34 ): 35 super(AddressSpace, self).__init__(**kwargs) 36 self.address_prefixes = address_prefixes 37 38 39class Resource(msrest.serialization.Model): 40 """Resource. 41 42 Variables are only populated by the server, and will be ignored when sending a request. 43 44 :param id: Resource ID. 45 :type id: str 46 :ivar name: Resource name. 47 :vartype name: str 48 :ivar type: Resource type. 49 :vartype type: str 50 :param location: Resource location. 51 :type location: str 52 :param tags: A set of tags. Resource tags. 53 :type tags: dict[str, str] 54 """ 55 56 _validation = { 57 'name': {'readonly': True}, 58 'type': {'readonly': True}, 59 } 60 61 _attribute_map = { 62 'id': {'key': 'id', 'type': 'str'}, 63 'name': {'key': 'name', 'type': 'str'}, 64 'type': {'key': 'type', 'type': 'str'}, 65 'location': {'key': 'location', 'type': 'str'}, 66 'tags': {'key': 'tags', 'type': '{str}'}, 67 } 68 69 def __init__( 70 self, 71 *, 72 id: Optional[str] = None, 73 location: Optional[str] = None, 74 tags: Optional[Dict[str, str]] = None, 75 **kwargs 76 ): 77 super(Resource, self).__init__(**kwargs) 78 self.id = id 79 self.name = None 80 self.type = None 81 self.location = location 82 self.tags = tags 83 84 85class ApplicationGateway(Resource): 86 """Application gateway resource. 87 88 Variables are only populated by the server, and will be ignored when sending a request. 89 90 :param id: Resource ID. 91 :type id: str 92 :ivar name: Resource name. 93 :vartype name: str 94 :ivar type: Resource type. 95 :vartype type: str 96 :param location: Resource location. 97 :type location: str 98 :param tags: A set of tags. Resource tags. 99 :type tags: dict[str, str] 100 :param etag: A unique read-only string that changes whenever the resource is updated. 101 :type etag: str 102 :param sku: SKU of the application gateway resource. 103 :type sku: ~azure.mgmt.network.v2016_12_01.models.ApplicationGatewaySku 104 :param ssl_policy: SSL policy of the application gateway resource. 105 :type ssl_policy: ~azure.mgmt.network.v2016_12_01.models.ApplicationGatewaySslPolicy 106 :ivar operational_state: Operational state of the application gateway resource. Possible values 107 are: 'Stopped', 'Started', 'Running', and 'Stopping'. Possible values include: "Stopped", 108 "Starting", "Running", "Stopping". 109 :vartype operational_state: str or 110 ~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayOperationalState 111 :param gateway_ip_configurations: Subnets of application the gateway resource. 112 :type gateway_ip_configurations: 113 list[~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayIPConfiguration] 114 :param authentication_certificates: Authentication certificates of the application gateway 115 resource. 116 :type authentication_certificates: 117 list[~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayAuthenticationCertificate] 118 :param ssl_certificates: SSL certificates of the application gateway resource. 119 :type ssl_certificates: 120 list[~azure.mgmt.network.v2016_12_01.models.ApplicationGatewaySslCertificate] 121 :param frontend_ip_configurations: Frontend IP addresses of the application gateway resource. 122 :type frontend_ip_configurations: 123 list[~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayFrontendIPConfiguration] 124 :param frontend_ports: Frontend ports of the application gateway resource. 125 :type frontend_ports: 126 list[~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayFrontendPort] 127 :param probes: Probes of the application gateway resource. 128 :type probes: list[~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayProbe] 129 :param backend_address_pools: Backend address pool of the application gateway resource. 130 :type backend_address_pools: 131 list[~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayBackendAddressPool] 132 :param backend_http_settings_collection: Backend http settings of the application gateway 133 resource. 134 :type backend_http_settings_collection: 135 list[~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayBackendHttpSettings] 136 :param http_listeners: Http listeners of the application gateway resource. 137 :type http_listeners: 138 list[~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayHttpListener] 139 :param url_path_maps: URL path map of the application gateway resource. 140 :type url_path_maps: list[~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayUrlPathMap] 141 :param request_routing_rules: Request routing rules of the application gateway resource. 142 :type request_routing_rules: 143 list[~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayRequestRoutingRule] 144 :param web_application_firewall_configuration: Web application firewall configuration. 145 :type web_application_firewall_configuration: 146 ~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayWebApplicationFirewallConfiguration 147 :param resource_guid: Resource GUID property of the application gateway resource. 148 :type resource_guid: str 149 :param provisioning_state: Provisioning state of the application gateway resource. Possible 150 values are: 'Updating', 'Deleting', and 'Failed'. 151 :type provisioning_state: str 152 """ 153 154 _validation = { 155 'name': {'readonly': True}, 156 'type': {'readonly': True}, 157 'operational_state': {'readonly': True}, 158 } 159 160 _attribute_map = { 161 'id': {'key': 'id', 'type': 'str'}, 162 'name': {'key': 'name', 'type': 'str'}, 163 'type': {'key': 'type', 'type': 'str'}, 164 'location': {'key': 'location', 'type': 'str'}, 165 'tags': {'key': 'tags', 'type': '{str}'}, 166 'etag': {'key': 'etag', 'type': 'str'}, 167 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, 168 'ssl_policy': {'key': 'properties.sslPolicy', 'type': 'ApplicationGatewaySslPolicy'}, 169 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, 170 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, 171 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[ApplicationGatewayAuthenticationCertificate]'}, 172 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, 173 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, 174 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, 175 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, 176 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, 177 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, 178 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, 179 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, 180 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, 181 'web_application_firewall_configuration': {'key': 'properties.webApplicationFirewallConfiguration', 'type': 'ApplicationGatewayWebApplicationFirewallConfiguration'}, 182 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 183 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 184 } 185 186 def __init__( 187 self, 188 *, 189 id: Optional[str] = None, 190 location: Optional[str] = None, 191 tags: Optional[Dict[str, str]] = None, 192 etag: Optional[str] = None, 193 sku: Optional["ApplicationGatewaySku"] = None, 194 ssl_policy: Optional["ApplicationGatewaySslPolicy"] = None, 195 gateway_ip_configurations: Optional[List["ApplicationGatewayIPConfiguration"]] = None, 196 authentication_certificates: Optional[List["ApplicationGatewayAuthenticationCertificate"]] = None, 197 ssl_certificates: Optional[List["ApplicationGatewaySslCertificate"]] = None, 198 frontend_ip_configurations: Optional[List["ApplicationGatewayFrontendIPConfiguration"]] = None, 199 frontend_ports: Optional[List["ApplicationGatewayFrontendPort"]] = None, 200 probes: Optional[List["ApplicationGatewayProbe"]] = None, 201 backend_address_pools: Optional[List["ApplicationGatewayBackendAddressPool"]] = None, 202 backend_http_settings_collection: Optional[List["ApplicationGatewayBackendHttpSettings"]] = None, 203 http_listeners: Optional[List["ApplicationGatewayHttpListener"]] = None, 204 url_path_maps: Optional[List["ApplicationGatewayUrlPathMap"]] = None, 205 request_routing_rules: Optional[List["ApplicationGatewayRequestRoutingRule"]] = None, 206 web_application_firewall_configuration: Optional["ApplicationGatewayWebApplicationFirewallConfiguration"] = None, 207 resource_guid: Optional[str] = None, 208 provisioning_state: Optional[str] = None, 209 **kwargs 210 ): 211 super(ApplicationGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 212 self.etag = etag 213 self.sku = sku 214 self.ssl_policy = ssl_policy 215 self.operational_state = None 216 self.gateway_ip_configurations = gateway_ip_configurations 217 self.authentication_certificates = authentication_certificates 218 self.ssl_certificates = ssl_certificates 219 self.frontend_ip_configurations = frontend_ip_configurations 220 self.frontend_ports = frontend_ports 221 self.probes = probes 222 self.backend_address_pools = backend_address_pools 223 self.backend_http_settings_collection = backend_http_settings_collection 224 self.http_listeners = http_listeners 225 self.url_path_maps = url_path_maps 226 self.request_routing_rules = request_routing_rules 227 self.web_application_firewall_configuration = web_application_firewall_configuration 228 self.resource_guid = resource_guid 229 self.provisioning_state = provisioning_state 230 231 232class SubResource(msrest.serialization.Model): 233 """SubResource. 234 235 :param id: Resource ID. 236 :type id: str 237 """ 238 239 _attribute_map = { 240 'id': {'key': 'id', 'type': 'str'}, 241 } 242 243 def __init__( 244 self, 245 *, 246 id: Optional[str] = None, 247 **kwargs 248 ): 249 super(SubResource, self).__init__(**kwargs) 250 self.id = id 251 252 253class ApplicationGatewayAuthenticationCertificate(SubResource): 254 """Authentication certificates of an application gateway. 255 256 :param id: Resource ID. 257 :type id: str 258 :param name: Name of the resource that is unique within a resource group. This name can be used 259 to access the resource. 260 :type name: str 261 :param etag: A unique read-only string that changes whenever the resource is updated. 262 :type etag: str 263 :param data: Certificate public data. 264 :type data: str 265 :param provisioning_state: Provisioning state of the authentication certificate resource. 266 Possible values are: 'Updating', 'Deleting', and 'Failed'. 267 :type provisioning_state: str 268 """ 269 270 _attribute_map = { 271 'id': {'key': 'id', 'type': 'str'}, 272 'name': {'key': 'name', 'type': 'str'}, 273 'etag': {'key': 'etag', 'type': 'str'}, 274 'data': {'key': 'properties.data', 'type': 'str'}, 275 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 276 } 277 278 def __init__( 279 self, 280 *, 281 id: Optional[str] = None, 282 name: Optional[str] = None, 283 etag: Optional[str] = None, 284 data: Optional[str] = None, 285 provisioning_state: Optional[str] = None, 286 **kwargs 287 ): 288 super(ApplicationGatewayAuthenticationCertificate, self).__init__(id=id, **kwargs) 289 self.name = name 290 self.etag = etag 291 self.data = data 292 self.provisioning_state = provisioning_state 293 294 295class ApplicationGatewayBackendAddress(msrest.serialization.Model): 296 """Backend address of an application gateway. 297 298 :param fqdn: Fully qualified domain name (FQDN). 299 :type fqdn: str 300 :param ip_address: IP address. 301 :type ip_address: str 302 """ 303 304 _attribute_map = { 305 'fqdn': {'key': 'fqdn', 'type': 'str'}, 306 'ip_address': {'key': 'ipAddress', 'type': 'str'}, 307 } 308 309 def __init__( 310 self, 311 *, 312 fqdn: Optional[str] = None, 313 ip_address: Optional[str] = None, 314 **kwargs 315 ): 316 super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) 317 self.fqdn = fqdn 318 self.ip_address = ip_address 319 320 321class ApplicationGatewayBackendAddressPool(SubResource): 322 """Backend Address Pool of an application gateway. 323 324 :param id: Resource ID. 325 :type id: str 326 :param name: Resource that is unique within a resource group. This name can be used to access 327 the resource. 328 :type name: str 329 :param etag: A unique read-only string that changes whenever the resource is updated. 330 :type etag: str 331 :param backend_ip_configurations: Collection of references to IPs defined in network 332 interfaces. 333 :type backend_ip_configurations: 334 list[~azure.mgmt.network.v2016_12_01.models.NetworkInterfaceIPConfiguration] 335 :param backend_addresses: Backend addresses. 336 :type backend_addresses: 337 list[~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayBackendAddress] 338 :param provisioning_state: Provisioning state of the backend address pool resource. Possible 339 values are: 'Updating', 'Deleting', and 'Failed'. 340 :type provisioning_state: str 341 """ 342 343 _attribute_map = { 344 'id': {'key': 'id', 'type': 'str'}, 345 'name': {'key': 'name', 'type': 'str'}, 346 'etag': {'key': 'etag', 'type': 'str'}, 347 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 348 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, 349 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 350 } 351 352 def __init__( 353 self, 354 *, 355 id: Optional[str] = None, 356 name: Optional[str] = None, 357 etag: Optional[str] = None, 358 backend_ip_configurations: Optional[List["NetworkInterfaceIPConfiguration"]] = None, 359 backend_addresses: Optional[List["ApplicationGatewayBackendAddress"]] = None, 360 provisioning_state: Optional[str] = None, 361 **kwargs 362 ): 363 super(ApplicationGatewayBackendAddressPool, self).__init__(id=id, **kwargs) 364 self.name = name 365 self.etag = etag 366 self.backend_ip_configurations = backend_ip_configurations 367 self.backend_addresses = backend_addresses 368 self.provisioning_state = provisioning_state 369 370 371class ApplicationGatewayBackendHealth(msrest.serialization.Model): 372 """List of ApplicationGatewayBackendHealthPool resources. 373 374 :param backend_address_pools: 375 :type backend_address_pools: 376 list[~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayBackendHealthPool] 377 """ 378 379 _attribute_map = { 380 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[ApplicationGatewayBackendHealthPool]'}, 381 } 382 383 def __init__( 384 self, 385 *, 386 backend_address_pools: Optional[List["ApplicationGatewayBackendHealthPool"]] = None, 387 **kwargs 388 ): 389 super(ApplicationGatewayBackendHealth, self).__init__(**kwargs) 390 self.backend_address_pools = backend_address_pools 391 392 393class ApplicationGatewayBackendHealthHttpSettings(msrest.serialization.Model): 394 """Application gateway BackendHealthHttp settings. 395 396 :param backend_http_settings: Reference of an ApplicationGatewayBackendHttpSettings resource. 397 :type backend_http_settings: 398 ~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayBackendHttpSettings 399 :param servers: List of ApplicationGatewayBackendHealthServer resources. 400 :type servers: 401 list[~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayBackendHealthServer] 402 """ 403 404 _attribute_map = { 405 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'ApplicationGatewayBackendHttpSettings'}, 406 'servers': {'key': 'servers', 'type': '[ApplicationGatewayBackendHealthServer]'}, 407 } 408 409 def __init__( 410 self, 411 *, 412 backend_http_settings: Optional["ApplicationGatewayBackendHttpSettings"] = None, 413 servers: Optional[List["ApplicationGatewayBackendHealthServer"]] = None, 414 **kwargs 415 ): 416 super(ApplicationGatewayBackendHealthHttpSettings, self).__init__(**kwargs) 417 self.backend_http_settings = backend_http_settings 418 self.servers = servers 419 420 421class ApplicationGatewayBackendHealthPool(msrest.serialization.Model): 422 """Application gateway BackendHealth pool. 423 424 :param backend_address_pool: Reference of an ApplicationGatewayBackendAddressPool resource. 425 :type backend_address_pool: 426 ~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayBackendAddressPool 427 :param backend_http_settings_collection: List of ApplicationGatewayBackendHealthHttpSettings 428 resources. 429 :type backend_http_settings_collection: 430 list[~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayBackendHealthHttpSettings] 431 """ 432 433 _attribute_map = { 434 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, 435 'backend_http_settings_collection': {'key': 'backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHealthHttpSettings]'}, 436 } 437 438 def __init__( 439 self, 440 *, 441 backend_address_pool: Optional["ApplicationGatewayBackendAddressPool"] = None, 442 backend_http_settings_collection: Optional[List["ApplicationGatewayBackendHealthHttpSettings"]] = None, 443 **kwargs 444 ): 445 super(ApplicationGatewayBackendHealthPool, self).__init__(**kwargs) 446 self.backend_address_pool = backend_address_pool 447 self.backend_http_settings_collection = backend_http_settings_collection 448 449 450class ApplicationGatewayBackendHealthServer(msrest.serialization.Model): 451 """Application gateway backendhealth http settings. 452 453 :param address: IP address or FQDN of backend server. 454 :type address: str 455 :param ip_configuration: Reference of IP configuration of backend server. 456 :type ip_configuration: ~azure.mgmt.network.v2016_12_01.models.SubResource 457 :param health: Health of backend server. Possible values are: 'Unknown', 'Up', 'Down', and 458 'Partial'. Possible values include: "Unknown", "Up", "Down", "Partial". 459 :type health: str or 460 ~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayBackendHealthServerHealth 461 """ 462 463 _attribute_map = { 464 'address': {'key': 'address', 'type': 'str'}, 465 'ip_configuration': {'key': 'ipConfiguration', 'type': 'SubResource'}, 466 'health': {'key': 'health', 'type': 'str'}, 467 } 468 469 def __init__( 470 self, 471 *, 472 address: Optional[str] = None, 473 ip_configuration: Optional["SubResource"] = None, 474 health: Optional[Union[str, "ApplicationGatewayBackendHealthServerHealth"]] = None, 475 **kwargs 476 ): 477 super(ApplicationGatewayBackendHealthServer, self).__init__(**kwargs) 478 self.address = address 479 self.ip_configuration = ip_configuration 480 self.health = health 481 482 483class ApplicationGatewayBackendHttpSettings(SubResource): 484 """Backend address pool settings of an application gateway. 485 486 :param id: Resource ID. 487 :type id: str 488 :param name: Name of the resource that is unique within a resource group. This name can be used 489 to access the resource. 490 :type name: str 491 :param etag: A unique read-only string that changes whenever the resource is updated. 492 :type etag: str 493 :param port: Port. 494 :type port: int 495 :param protocol: Protocol. Possible values are: 'Http' and 'Https'. Possible values include: 496 "Http", "Https". 497 :type protocol: str or ~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayProtocol 498 :param cookie_based_affinity: Cookie based affinity. Possible values are: 'Enabled' and 499 'Disabled'. Possible values include: "Enabled", "Disabled". 500 :type cookie_based_affinity: str or 501 ~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayCookieBasedAffinity 502 :param request_timeout: Request timeout in seconds. Application Gateway will fail the request 503 if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 504 seconds. 505 :type request_timeout: int 506 :param probe: Probe resource of an application gateway. 507 :type probe: ~azure.mgmt.network.v2016_12_01.models.SubResource 508 :param authentication_certificates: Array of references to application gateway authentication 509 certificates. 510 :type authentication_certificates: list[~azure.mgmt.network.v2016_12_01.models.SubResource] 511 :param provisioning_state: Provisioning state of the backend http settings resource. Possible 512 values are: 'Updating', 'Deleting', and 'Failed'. 513 :type provisioning_state: str 514 :param connection_draining: Connection draining of the backend http settings resource. 515 :type connection_draining: 516 ~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayConnectionDraining 517 """ 518 519 _attribute_map = { 520 'id': {'key': 'id', 'type': 'str'}, 521 'name': {'key': 'name', 'type': 'str'}, 522 'etag': {'key': 'etag', 'type': 'str'}, 523 'port': {'key': 'properties.port', 'type': 'int'}, 524 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 525 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, 526 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, 527 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, 528 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[SubResource]'}, 529 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 530 'connection_draining': {'key': 'properties.connectionDraining', 'type': 'ApplicationGatewayConnectionDraining'}, 531 } 532 533 def __init__( 534 self, 535 *, 536 id: Optional[str] = None, 537 name: Optional[str] = None, 538 etag: Optional[str] = None, 539 port: Optional[int] = None, 540 protocol: Optional[Union[str, "ApplicationGatewayProtocol"]] = None, 541 cookie_based_affinity: Optional[Union[str, "ApplicationGatewayCookieBasedAffinity"]] = None, 542 request_timeout: Optional[int] = None, 543 probe: Optional["SubResource"] = None, 544 authentication_certificates: Optional[List["SubResource"]] = None, 545 provisioning_state: Optional[str] = None, 546 connection_draining: Optional["ApplicationGatewayConnectionDraining"] = None, 547 **kwargs 548 ): 549 super(ApplicationGatewayBackendHttpSettings, self).__init__(id=id, **kwargs) 550 self.name = name 551 self.etag = etag 552 self.port = port 553 self.protocol = protocol 554 self.cookie_based_affinity = cookie_based_affinity 555 self.request_timeout = request_timeout 556 self.probe = probe 557 self.authentication_certificates = authentication_certificates 558 self.provisioning_state = provisioning_state 559 self.connection_draining = connection_draining 560 561 562class ApplicationGatewayConnectionDraining(msrest.serialization.Model): 563 """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. 564 565 All required parameters must be populated in order to send to Azure. 566 567 :param enabled: Required. Whether connection draining is enabled or not. 568 :type enabled: bool 569 :param drain_timeout_in_sec: Required. The number of seconds connection draining is active. 570 Acceptable values are from 1 second to 3600 seconds. 571 :type drain_timeout_in_sec: int 572 """ 573 574 _validation = { 575 'enabled': {'required': True}, 576 'drain_timeout_in_sec': {'required': True, 'maximum': 3600, 'minimum': 1}, 577 } 578 579 _attribute_map = { 580 'enabled': {'key': 'enabled', 'type': 'bool'}, 581 'drain_timeout_in_sec': {'key': 'drainTimeoutInSec', 'type': 'int'}, 582 } 583 584 def __init__( 585 self, 586 *, 587 enabled: bool, 588 drain_timeout_in_sec: int, 589 **kwargs 590 ): 591 super(ApplicationGatewayConnectionDraining, self).__init__(**kwargs) 592 self.enabled = enabled 593 self.drain_timeout_in_sec = drain_timeout_in_sec 594 595 596class ApplicationGatewayFrontendIPConfiguration(SubResource): 597 """Frontend IP configuration of an application gateway. 598 599 :param id: Resource ID. 600 :type id: str 601 :param name: Name of the resource that is unique within a resource group. This name can be used 602 to access the resource. 603 :type name: str 604 :param etag: A unique read-only string that changes whenever the resource is updated. 605 :type etag: str 606 :param private_ip_address: PrivateIPAddress of the network interface IP Configuration. 607 :type private_ip_address: str 608 :param private_ip_allocation_method: PrivateIP allocation method. Possible values are: 'Static' 609 and 'Dynamic'. Possible values include: "Static", "Dynamic". 610 :type private_ip_allocation_method: str or 611 ~azure.mgmt.network.v2016_12_01.models.IPAllocationMethod 612 :param subnet: Reference of the subnet resource. 613 :type subnet: ~azure.mgmt.network.v2016_12_01.models.SubResource 614 :param public_ip_address: Reference of the PublicIP resource. 615 :type public_ip_address: ~azure.mgmt.network.v2016_12_01.models.SubResource 616 :param provisioning_state: Provisioning state of the public IP resource. Possible values are: 617 'Updating', 'Deleting', and 'Failed'. 618 :type provisioning_state: str 619 """ 620 621 _attribute_map = { 622 'id': {'key': 'id', 'type': 'str'}, 623 'name': {'key': 'name', 'type': 'str'}, 624 'etag': {'key': 'etag', 'type': 'str'}, 625 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 626 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 627 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 628 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, 629 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 630 } 631 632 def __init__( 633 self, 634 *, 635 id: Optional[str] = None, 636 name: Optional[str] = None, 637 etag: Optional[str] = None, 638 private_ip_address: Optional[str] = None, 639 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 640 subnet: Optional["SubResource"] = None, 641 public_ip_address: Optional["SubResource"] = None, 642 provisioning_state: Optional[str] = None, 643 **kwargs 644 ): 645 super(ApplicationGatewayFrontendIPConfiguration, self).__init__(id=id, **kwargs) 646 self.name = name 647 self.etag = etag 648 self.private_ip_address = private_ip_address 649 self.private_ip_allocation_method = private_ip_allocation_method 650 self.subnet = subnet 651 self.public_ip_address = public_ip_address 652 self.provisioning_state = provisioning_state 653 654 655class ApplicationGatewayFrontendPort(SubResource): 656 """Frontend port of an application gateway. 657 658 :param id: Resource ID. 659 :type id: str 660 :param name: Name of the resource that is unique within a resource group. This name can be used 661 to access the resource. 662 :type name: str 663 :param etag: A unique read-only string that changes whenever the resource is updated. 664 :type etag: str 665 :param port: Frontend port. 666 :type port: int 667 :param provisioning_state: Provisioning state of the frontend port resource. Possible values 668 are: 'Updating', 'Deleting', and 'Failed'. 669 :type provisioning_state: str 670 """ 671 672 _attribute_map = { 673 'id': {'key': 'id', 'type': 'str'}, 674 'name': {'key': 'name', 'type': 'str'}, 675 'etag': {'key': 'etag', 'type': 'str'}, 676 'port': {'key': 'properties.port', 'type': 'int'}, 677 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 678 } 679 680 def __init__( 681 self, 682 *, 683 id: Optional[str] = None, 684 name: Optional[str] = None, 685 etag: Optional[str] = None, 686 port: Optional[int] = None, 687 provisioning_state: Optional[str] = None, 688 **kwargs 689 ): 690 super(ApplicationGatewayFrontendPort, self).__init__(id=id, **kwargs) 691 self.name = name 692 self.etag = etag 693 self.port = port 694 self.provisioning_state = provisioning_state 695 696 697class ApplicationGatewayHttpListener(SubResource): 698 """Http listener of an application gateway. 699 700 :param id: Resource ID. 701 :type id: str 702 :param name: Name of the resource that is unique within a resource group. This name can be used 703 to access the resource. 704 :type name: str 705 :param etag: A unique read-only string that changes whenever the resource is updated. 706 :type etag: str 707 :param frontend_ip_configuration: Frontend IP configuration resource of an application gateway. 708 :type frontend_ip_configuration: ~azure.mgmt.network.v2016_12_01.models.SubResource 709 :param frontend_port: Frontend port resource of an application gateway. 710 :type frontend_port: ~azure.mgmt.network.v2016_12_01.models.SubResource 711 :param protocol: Protocol. Possible values are: 'Http' and 'Https'. Possible values include: 712 "Http", "Https". 713 :type protocol: str or ~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayProtocol 714 :param host_name: Host name of HTTP listener. 715 :type host_name: str 716 :param ssl_certificate: SSL certificate resource of an application gateway. 717 :type ssl_certificate: ~azure.mgmt.network.v2016_12_01.models.SubResource 718 :param require_server_name_indication: Applicable only if protocol is https. Enables SNI for 719 multi-hosting. 720 :type require_server_name_indication: bool 721 :param provisioning_state: Provisioning state of the HTTP listener resource. Possible values 722 are: 'Updating', 'Deleting', and 'Failed'. 723 :type provisioning_state: str 724 """ 725 726 _attribute_map = { 727 'id': {'key': 'id', 'type': 'str'}, 728 'name': {'key': 'name', 'type': 'str'}, 729 'etag': {'key': 'etag', 'type': 'str'}, 730 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 731 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, 732 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 733 'host_name': {'key': 'properties.hostName', 'type': 'str'}, 734 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, 735 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, 736 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 737 } 738 739 def __init__( 740 self, 741 *, 742 id: Optional[str] = None, 743 name: Optional[str] = None, 744 etag: Optional[str] = None, 745 frontend_ip_configuration: Optional["SubResource"] = None, 746 frontend_port: Optional["SubResource"] = None, 747 protocol: Optional[Union[str, "ApplicationGatewayProtocol"]] = None, 748 host_name: Optional[str] = None, 749 ssl_certificate: Optional["SubResource"] = None, 750 require_server_name_indication: Optional[bool] = None, 751 provisioning_state: Optional[str] = None, 752 **kwargs 753 ): 754 super(ApplicationGatewayHttpListener, self).__init__(id=id, **kwargs) 755 self.name = name 756 self.etag = etag 757 self.frontend_ip_configuration = frontend_ip_configuration 758 self.frontend_port = frontend_port 759 self.protocol = protocol 760 self.host_name = host_name 761 self.ssl_certificate = ssl_certificate 762 self.require_server_name_indication = require_server_name_indication 763 self.provisioning_state = provisioning_state 764 765 766class ApplicationGatewayIPConfiguration(SubResource): 767 """IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. 768 769 :param id: Resource ID. 770 :type id: str 771 :param name: Name of the resource that is unique within a resource group. This name can be used 772 to access the resource. 773 :type name: str 774 :param etag: A unique read-only string that changes whenever the resource is updated. 775 :type etag: str 776 :param subnet: Reference of the subnet resource. A subnet from where application gateway gets 777 its private address. 778 :type subnet: ~azure.mgmt.network.v2016_12_01.models.SubResource 779 :param provisioning_state: Provisioning state of the application gateway subnet resource. 780 Possible values are: 'Updating', 'Deleting', and 'Failed'. 781 :type provisioning_state: str 782 """ 783 784 _attribute_map = { 785 'id': {'key': 'id', 'type': 'str'}, 786 'name': {'key': 'name', 'type': 'str'}, 787 'etag': {'key': 'etag', 'type': 'str'}, 788 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 789 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 790 } 791 792 def __init__( 793 self, 794 *, 795 id: Optional[str] = None, 796 name: Optional[str] = None, 797 etag: Optional[str] = None, 798 subnet: Optional["SubResource"] = None, 799 provisioning_state: Optional[str] = None, 800 **kwargs 801 ): 802 super(ApplicationGatewayIPConfiguration, self).__init__(id=id, **kwargs) 803 self.name = name 804 self.etag = etag 805 self.subnet = subnet 806 self.provisioning_state = provisioning_state 807 808 809class ApplicationGatewayListResult(msrest.serialization.Model): 810 """Response for ListApplicationGateways API service call. 811 812 :param value: List of an application gateways in a resource group. 813 :type value: list[~azure.mgmt.network.v2016_12_01.models.ApplicationGateway] 814 :param next_link: URL to get the next set of results. 815 :type next_link: str 816 """ 817 818 _attribute_map = { 819 'value': {'key': 'value', 'type': '[ApplicationGateway]'}, 820 'next_link': {'key': 'nextLink', 'type': 'str'}, 821 } 822 823 def __init__( 824 self, 825 *, 826 value: Optional[List["ApplicationGateway"]] = None, 827 next_link: Optional[str] = None, 828 **kwargs 829 ): 830 super(ApplicationGatewayListResult, self).__init__(**kwargs) 831 self.value = value 832 self.next_link = next_link 833 834 835class ApplicationGatewayPathRule(SubResource): 836 """Path rule of URL path map of an application gateway. 837 838 :param id: Resource ID. 839 :type id: str 840 :param name: Name of the resource that is unique within a resource group. This name can be used 841 to access the resource. 842 :type name: str 843 :param etag: A unique read-only string that changes whenever the resource is updated. 844 :type etag: str 845 :param paths: Path rules of URL path map. 846 :type paths: list[str] 847 :param backend_address_pool: Backend address pool resource of URL path map. 848 :type backend_address_pool: ~azure.mgmt.network.v2016_12_01.models.SubResource 849 :param backend_http_settings: Backend http settings resource of URL path map. 850 :type backend_http_settings: ~azure.mgmt.network.v2016_12_01.models.SubResource 851 :param provisioning_state: Path rule of URL path map resource. Possible values are: 'Updating', 852 'Deleting', and 'Failed'. 853 :type provisioning_state: str 854 """ 855 856 _attribute_map = { 857 'id': {'key': 'id', 'type': 'str'}, 858 'name': {'key': 'name', 'type': 'str'}, 859 'etag': {'key': 'etag', 'type': 'str'}, 860 'paths': {'key': 'properties.paths', 'type': '[str]'}, 861 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 862 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, 863 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 864 } 865 866 def __init__( 867 self, 868 *, 869 id: Optional[str] = None, 870 name: Optional[str] = None, 871 etag: Optional[str] = None, 872 paths: Optional[List[str]] = None, 873 backend_address_pool: Optional["SubResource"] = None, 874 backend_http_settings: Optional["SubResource"] = None, 875 provisioning_state: Optional[str] = None, 876 **kwargs 877 ): 878 super(ApplicationGatewayPathRule, self).__init__(id=id, **kwargs) 879 self.name = name 880 self.etag = etag 881 self.paths = paths 882 self.backend_address_pool = backend_address_pool 883 self.backend_http_settings = backend_http_settings 884 self.provisioning_state = provisioning_state 885 886 887class ApplicationGatewayProbe(SubResource): 888 """Probe of the application gateway. 889 890 :param id: Resource ID. 891 :type id: str 892 :param name: Name of the resource that is unique within a resource group. This name can be used 893 to access the resource. 894 :type name: str 895 :param etag: A unique read-only string that changes whenever the resource is updated. 896 :type etag: str 897 :param protocol: Protocol. Possible values are: 'Http' and 'Https'. Possible values include: 898 "Http", "Https". 899 :type protocol: str or ~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayProtocol 900 :param host: Host name to send the probe to. 901 :type host: str 902 :param path: Relative path of probe. Valid path starts from '/'. Probe is sent to 903 :code:`<Protocol>`://:code:`<host>`::code:`<port>`:code:`<path>`. 904 :type path: str 905 :param interval: The probing interval in seconds. This is the time interval between two 906 consecutive probes. Acceptable values are from 1 second to 86400 seconds. 907 :type interval: int 908 :param timeout: the probe timeout in seconds. Probe marked as failed if valid response is not 909 received with this timeout period. Acceptable values are from 1 second to 86400 seconds. 910 :type timeout: int 911 :param unhealthy_threshold: The probe retry count. Backend server is marked down after 912 consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second 913 to 20. 914 :type unhealthy_threshold: int 915 :param provisioning_state: Provisioning state of the backend http settings resource. Possible 916 values are: 'Updating', 'Deleting', and 'Failed'. 917 :type provisioning_state: str 918 """ 919 920 _attribute_map = { 921 'id': {'key': 'id', 'type': 'str'}, 922 'name': {'key': 'name', 'type': 'str'}, 923 'etag': {'key': 'etag', 'type': 'str'}, 924 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 925 'host': {'key': 'properties.host', 'type': 'str'}, 926 'path': {'key': 'properties.path', 'type': 'str'}, 927 'interval': {'key': 'properties.interval', 'type': 'int'}, 928 'timeout': {'key': 'properties.timeout', 'type': 'int'}, 929 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, 930 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 931 } 932 933 def __init__( 934 self, 935 *, 936 id: Optional[str] = None, 937 name: Optional[str] = None, 938 etag: Optional[str] = None, 939 protocol: Optional[Union[str, "ApplicationGatewayProtocol"]] = None, 940 host: Optional[str] = None, 941 path: Optional[str] = None, 942 interval: Optional[int] = None, 943 timeout: Optional[int] = None, 944 unhealthy_threshold: Optional[int] = None, 945 provisioning_state: Optional[str] = None, 946 **kwargs 947 ): 948 super(ApplicationGatewayProbe, self).__init__(id=id, **kwargs) 949 self.name = name 950 self.etag = etag 951 self.protocol = protocol 952 self.host = host 953 self.path = path 954 self.interval = interval 955 self.timeout = timeout 956 self.unhealthy_threshold = unhealthy_threshold 957 self.provisioning_state = provisioning_state 958 959 960class ApplicationGatewayRequestRoutingRule(SubResource): 961 """Request routing rule of an application gateway. 962 963 :param id: Resource ID. 964 :type id: str 965 :param name: Name of the resource that is unique within a resource group. This name can be used 966 to access the resource. 967 :type name: str 968 :param etag: A unique read-only string that changes whenever the resource is updated. 969 :type etag: str 970 :param rule_type: Rule type. Possible values are: 'Basic' and 'PathBasedRouting'. Possible 971 values include: "Basic", "PathBasedRouting". 972 :type rule_type: str or 973 ~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayRequestRoutingRuleType 974 :param backend_address_pool: Backend address pool resource of the application gateway. 975 :type backend_address_pool: ~azure.mgmt.network.v2016_12_01.models.SubResource 976 :param backend_http_settings: Frontend port resource of the application gateway. 977 :type backend_http_settings: ~azure.mgmt.network.v2016_12_01.models.SubResource 978 :param http_listener: Http listener resource of the application gateway. 979 :type http_listener: ~azure.mgmt.network.v2016_12_01.models.SubResource 980 :param url_path_map: URL path map resource of the application gateway. 981 :type url_path_map: ~azure.mgmt.network.v2016_12_01.models.SubResource 982 :param provisioning_state: Provisioning state of the request routing rule resource. Possible 983 values are: 'Updating', 'Deleting', and 'Failed'. 984 :type provisioning_state: str 985 """ 986 987 _attribute_map = { 988 'id': {'key': 'id', 'type': 'str'}, 989 'name': {'key': 'name', 'type': 'str'}, 990 'etag': {'key': 'etag', 'type': 'str'}, 991 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, 992 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 993 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, 994 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, 995 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, 996 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 997 } 998 999 def __init__( 1000 self, 1001 *, 1002 id: Optional[str] = None, 1003 name: Optional[str] = None, 1004 etag: Optional[str] = None, 1005 rule_type: Optional[Union[str, "ApplicationGatewayRequestRoutingRuleType"]] = None, 1006 backend_address_pool: Optional["SubResource"] = None, 1007 backend_http_settings: Optional["SubResource"] = None, 1008 http_listener: Optional["SubResource"] = None, 1009 url_path_map: Optional["SubResource"] = None, 1010 provisioning_state: Optional[str] = None, 1011 **kwargs 1012 ): 1013 super(ApplicationGatewayRequestRoutingRule, self).__init__(id=id, **kwargs) 1014 self.name = name 1015 self.etag = etag 1016 self.rule_type = rule_type 1017 self.backend_address_pool = backend_address_pool 1018 self.backend_http_settings = backend_http_settings 1019 self.http_listener = http_listener 1020 self.url_path_map = url_path_map 1021 self.provisioning_state = provisioning_state 1022 1023 1024class ApplicationGatewaySku(msrest.serialization.Model): 1025 """SKU of an application gateway. 1026 1027 :param name: Name of an application gateway SKU. Possible values are: 'Standard_Small', 1028 'Standard_Medium', 'Standard_Large', 'WAF_Medium', and 'WAF_Large'. Possible values include: 1029 "Standard_Small", "Standard_Medium", "Standard_Large", "WAF_Medium", "WAF_Large". 1030 :type name: str or ~azure.mgmt.network.v2016_12_01.models.ApplicationGatewaySkuName 1031 :param tier: Tier of an application gateway. Possible values are: 'Standard' and 'WAF'. 1032 Possible values include: "Standard", "WAF". 1033 :type tier: str or ~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayTier 1034 :param capacity: Capacity (instance count) of an application gateway. 1035 :type capacity: int 1036 """ 1037 1038 _attribute_map = { 1039 'name': {'key': 'name', 'type': 'str'}, 1040 'tier': {'key': 'tier', 'type': 'str'}, 1041 'capacity': {'key': 'capacity', 'type': 'int'}, 1042 } 1043 1044 def __init__( 1045 self, 1046 *, 1047 name: Optional[Union[str, "ApplicationGatewaySkuName"]] = None, 1048 tier: Optional[Union[str, "ApplicationGatewayTier"]] = None, 1049 capacity: Optional[int] = None, 1050 **kwargs 1051 ): 1052 super(ApplicationGatewaySku, self).__init__(**kwargs) 1053 self.name = name 1054 self.tier = tier 1055 self.capacity = capacity 1056 1057 1058class ApplicationGatewaySslCertificate(SubResource): 1059 """SSL certificates of an application gateway. 1060 1061 :param id: Resource ID. 1062 :type id: str 1063 :param name: Name of the resource that is unique within a resource group. This name can be used 1064 to access the resource. 1065 :type name: str 1066 :param etag: A unique read-only string that changes whenever the resource is updated. 1067 :type etag: str 1068 :param data: Base-64 encoded pfx certificate. Only applicable in PUT Request. 1069 :type data: str 1070 :param password: Password for the pfx file specified in data. Only applicable in PUT request. 1071 :type password: str 1072 :param public_cert_data: Base-64 encoded Public cert data corresponding to pfx specified in 1073 data. Only applicable in GET request. 1074 :type public_cert_data: str 1075 :param provisioning_state: Provisioning state of the SSL certificate resource Possible values 1076 are: 'Updating', 'Deleting', and 'Failed'. 1077 :type provisioning_state: str 1078 """ 1079 1080 _attribute_map = { 1081 'id': {'key': 'id', 'type': 'str'}, 1082 'name': {'key': 'name', 'type': 'str'}, 1083 'etag': {'key': 'etag', 'type': 'str'}, 1084 'data': {'key': 'properties.data', 'type': 'str'}, 1085 'password': {'key': 'properties.password', 'type': 'str'}, 1086 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, 1087 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1088 } 1089 1090 def __init__( 1091 self, 1092 *, 1093 id: Optional[str] = None, 1094 name: Optional[str] = None, 1095 etag: Optional[str] = None, 1096 data: Optional[str] = None, 1097 password: Optional[str] = None, 1098 public_cert_data: Optional[str] = None, 1099 provisioning_state: Optional[str] = None, 1100 **kwargs 1101 ): 1102 super(ApplicationGatewaySslCertificate, self).__init__(id=id, **kwargs) 1103 self.name = name 1104 self.etag = etag 1105 self.data = data 1106 self.password = password 1107 self.public_cert_data = public_cert_data 1108 self.provisioning_state = provisioning_state 1109 1110 1111class ApplicationGatewaySslPolicy(msrest.serialization.Model): 1112 """Application gateway SSL policy. 1113 1114 :param disabled_ssl_protocols: SSL protocols to be disabled on application gateway. Possible 1115 values are: 'TLSv1_0', 'TLSv1_1', and 'TLSv1_2'. 1116 :type disabled_ssl_protocols: list[str or 1117 ~azure.mgmt.network.v2016_12_01.models.ApplicationGatewaySslProtocol] 1118 """ 1119 1120 _attribute_map = { 1121 'disabled_ssl_protocols': {'key': 'disabledSslProtocols', 'type': '[str]'}, 1122 } 1123 1124 def __init__( 1125 self, 1126 *, 1127 disabled_ssl_protocols: Optional[List[Union[str, "ApplicationGatewaySslProtocol"]]] = None, 1128 **kwargs 1129 ): 1130 super(ApplicationGatewaySslPolicy, self).__init__(**kwargs) 1131 self.disabled_ssl_protocols = disabled_ssl_protocols 1132 1133 1134class ApplicationGatewayUrlPathMap(SubResource): 1135 """UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. 1136 1137 :param id: Resource ID. 1138 :type id: str 1139 :param name: Name of the resource that is unique within a resource group. This name can be used 1140 to access the resource. 1141 :type name: str 1142 :param etag: A unique read-only string that changes whenever the resource is updated. 1143 :type etag: str 1144 :param default_backend_address_pool: Default backend address pool resource of URL path map. 1145 :type default_backend_address_pool: ~azure.mgmt.network.v2016_12_01.models.SubResource 1146 :param default_backend_http_settings: Default backend http settings resource of URL path map. 1147 :type default_backend_http_settings: ~azure.mgmt.network.v2016_12_01.models.SubResource 1148 :param path_rules: Path rule of URL path map resource. 1149 :type path_rules: list[~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayPathRule] 1150 :param provisioning_state: Provisioning state of the backend http settings resource. Possible 1151 values are: 'Updating', 'Deleting', and 'Failed'. 1152 :type provisioning_state: str 1153 """ 1154 1155 _attribute_map = { 1156 'id': {'key': 'id', 'type': 'str'}, 1157 'name': {'key': 'name', 'type': 'str'}, 1158 'etag': {'key': 'etag', 'type': 'str'}, 1159 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, 1160 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, 1161 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, 1162 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1163 } 1164 1165 def __init__( 1166 self, 1167 *, 1168 id: Optional[str] = None, 1169 name: Optional[str] = None, 1170 etag: Optional[str] = None, 1171 default_backend_address_pool: Optional["SubResource"] = None, 1172 default_backend_http_settings: Optional["SubResource"] = None, 1173 path_rules: Optional[List["ApplicationGatewayPathRule"]] = None, 1174 provisioning_state: Optional[str] = None, 1175 **kwargs 1176 ): 1177 super(ApplicationGatewayUrlPathMap, self).__init__(id=id, **kwargs) 1178 self.name = name 1179 self.etag = etag 1180 self.default_backend_address_pool = default_backend_address_pool 1181 self.default_backend_http_settings = default_backend_http_settings 1182 self.path_rules = path_rules 1183 self.provisioning_state = provisioning_state 1184 1185 1186class ApplicationGatewayWebApplicationFirewallConfiguration(msrest.serialization.Model): 1187 """Application gateway web application firewall configuration. 1188 1189 All required parameters must be populated in order to send to Azure. 1190 1191 :param enabled: Required. Whether the web application firewall is enabled or not. 1192 :type enabled: bool 1193 :param firewall_mode: Web application firewall mode. Possible values are: 'Detection' and 1194 'Prevention'. Possible values include: "Detection", "Prevention". 1195 :type firewall_mode: str or 1196 ~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayFirewallMode 1197 """ 1198 1199 _validation = { 1200 'enabled': {'required': True}, 1201 } 1202 1203 _attribute_map = { 1204 'enabled': {'key': 'enabled', 'type': 'bool'}, 1205 'firewall_mode': {'key': 'firewallMode', 'type': 'str'}, 1206 } 1207 1208 def __init__( 1209 self, 1210 *, 1211 enabled: bool, 1212 firewall_mode: Optional[Union[str, "ApplicationGatewayFirewallMode"]] = None, 1213 **kwargs 1214 ): 1215 super(ApplicationGatewayWebApplicationFirewallConfiguration, self).__init__(**kwargs) 1216 self.enabled = enabled 1217 self.firewall_mode = firewall_mode 1218 1219 1220class AuthorizationListResult(msrest.serialization.Model): 1221 """Response for ListAuthorizations API service call retrieves all authorizations that belongs to an ExpressRouteCircuit. 1222 1223 :param value: The authorizations in an ExpressRoute Circuit. 1224 :type value: list[~azure.mgmt.network.v2016_12_01.models.ExpressRouteCircuitAuthorization] 1225 :param next_link: The URL to get the next set of results. 1226 :type next_link: str 1227 """ 1228 1229 _attribute_map = { 1230 'value': {'key': 'value', 'type': '[ExpressRouteCircuitAuthorization]'}, 1231 'next_link': {'key': 'nextLink', 'type': 'str'}, 1232 } 1233 1234 def __init__( 1235 self, 1236 *, 1237 value: Optional[List["ExpressRouteCircuitAuthorization"]] = None, 1238 next_link: Optional[str] = None, 1239 **kwargs 1240 ): 1241 super(AuthorizationListResult, self).__init__(**kwargs) 1242 self.value = value 1243 self.next_link = next_link 1244 1245 1246class AzureAsyncOperationResult(msrest.serialization.Model): 1247 """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. 1248 1249 :param status: Status of the Azure async operation. Possible values are: 'InProgress', 1250 'Succeeded', and 'Failed'. Possible values include: "InProgress", "Succeeded", "Failed". 1251 :type status: str or ~azure.mgmt.network.v2016_12_01.models.NetworkOperationStatus 1252 :param error: 1253 :type error: ~azure.mgmt.network.v2016_12_01.models.Error 1254 """ 1255 1256 _attribute_map = { 1257 'status': {'key': 'status', 'type': 'str'}, 1258 'error': {'key': 'error', 'type': 'Error'}, 1259 } 1260 1261 def __init__( 1262 self, 1263 *, 1264 status: Optional[Union[str, "NetworkOperationStatus"]] = None, 1265 error: Optional["Error"] = None, 1266 **kwargs 1267 ): 1268 super(AzureAsyncOperationResult, self).__init__(**kwargs) 1269 self.status = status 1270 self.error = error 1271 1272 1273class BackendAddressPool(SubResource): 1274 """Pool of backend IP addresses. 1275 1276 Variables are only populated by the server, and will be ignored when sending a request. 1277 1278 :param id: Resource ID. 1279 :type id: str 1280 :param name: Gets name of the resource that is unique within a resource group. This name can be 1281 used to access the resource. 1282 :type name: str 1283 :param etag: A unique read-only string that changes whenever the resource is updated. 1284 :type etag: str 1285 :ivar backend_ip_configurations: Gets collection of references to IP addresses defined in 1286 network interfaces. 1287 :vartype backend_ip_configurations: 1288 list[~azure.mgmt.network.v2016_12_01.models.NetworkInterfaceIPConfiguration] 1289 :ivar load_balancing_rules: Gets load balancing rules that use this backend address pool. 1290 :vartype load_balancing_rules: list[~azure.mgmt.network.v2016_12_01.models.SubResource] 1291 :ivar outbound_nat_rule: Gets outbound rules that use this backend address pool. 1292 :vartype outbound_nat_rule: ~azure.mgmt.network.v2016_12_01.models.SubResource 1293 :param provisioning_state: Get provisioning state of the public IP resource. Possible values 1294 are: 'Updating', 'Deleting', and 'Failed'. 1295 :type provisioning_state: str 1296 """ 1297 1298 _validation = { 1299 'backend_ip_configurations': {'readonly': True}, 1300 'load_balancing_rules': {'readonly': True}, 1301 'outbound_nat_rule': {'readonly': True}, 1302 } 1303 1304 _attribute_map = { 1305 'id': {'key': 'id', 'type': 'str'}, 1306 'name': {'key': 'name', 'type': 'str'}, 1307 'etag': {'key': 'etag', 'type': 'str'}, 1308 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 1309 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 1310 'outbound_nat_rule': {'key': 'properties.outboundNatRule', 'type': 'SubResource'}, 1311 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1312 } 1313 1314 def __init__( 1315 self, 1316 *, 1317 id: Optional[str] = None, 1318 name: Optional[str] = None, 1319 etag: Optional[str] = None, 1320 provisioning_state: Optional[str] = None, 1321 **kwargs 1322 ): 1323 super(BackendAddressPool, self).__init__(id=id, **kwargs) 1324 self.name = name 1325 self.etag = etag 1326 self.backend_ip_configurations = None 1327 self.load_balancing_rules = None 1328 self.outbound_nat_rule = None 1329 self.provisioning_state = provisioning_state 1330 1331 1332class BGPCommunity(msrest.serialization.Model): 1333 """Contains bgp community information offered in Service Community resources. 1334 1335 :param service_supported_region: The region which the service support. e.g. For O365, region is 1336 Global. 1337 :type service_supported_region: str 1338 :param community_name: The name of the bgp community. e.g. Skype. 1339 :type community_name: str 1340 :param community_value: The value of the bgp community. For more information: 1341 https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. 1342 :type community_value: str 1343 :param community_prefixes: The prefixes that the bgp community contains. 1344 :type community_prefixes: list[str] 1345 """ 1346 1347 _attribute_map = { 1348 'service_supported_region': {'key': 'serviceSupportedRegion', 'type': 'str'}, 1349 'community_name': {'key': 'communityName', 'type': 'str'}, 1350 'community_value': {'key': 'communityValue', 'type': 'str'}, 1351 'community_prefixes': {'key': 'communityPrefixes', 'type': '[str]'}, 1352 } 1353 1354 def __init__( 1355 self, 1356 *, 1357 service_supported_region: Optional[str] = None, 1358 community_name: Optional[str] = None, 1359 community_value: Optional[str] = None, 1360 community_prefixes: Optional[List[str]] = None, 1361 **kwargs 1362 ): 1363 super(BGPCommunity, self).__init__(**kwargs) 1364 self.service_supported_region = service_supported_region 1365 self.community_name = community_name 1366 self.community_value = community_value 1367 self.community_prefixes = community_prefixes 1368 1369 1370class BgpPeerStatus(msrest.serialization.Model): 1371 """BgpPeerStatus. 1372 1373 Variables are only populated by the server, and will be ignored when sending a request. 1374 1375 :ivar local_address: The virtual network gateway's local address. 1376 :vartype local_address: str 1377 :ivar neighbor: The remote BGP peer. 1378 :vartype neighbor: str 1379 :ivar asn: The autonomous system number of the remote BGP peer. 1380 :vartype asn: int 1381 :ivar state: The BGP peer state. Possible values include: "Unknown", "Stopped", "Idle", 1382 "Connecting", "Connected". 1383 :vartype state: str or ~azure.mgmt.network.v2016_12_01.models.BgpPeerState 1384 :ivar connected_duration: For how long the peering has been up. 1385 :vartype connected_duration: str 1386 :ivar routes_received: The number of routes learned from this peer. 1387 :vartype routes_received: long 1388 :ivar messages_sent: The number of BGP messages sent. 1389 :vartype messages_sent: long 1390 :ivar messages_received: The number of BGP messages received. 1391 :vartype messages_received: long 1392 """ 1393 1394 _validation = { 1395 'local_address': {'readonly': True}, 1396 'neighbor': {'readonly': True}, 1397 'asn': {'readonly': True}, 1398 'state': {'readonly': True}, 1399 'connected_duration': {'readonly': True}, 1400 'routes_received': {'readonly': True}, 1401 'messages_sent': {'readonly': True}, 1402 'messages_received': {'readonly': True}, 1403 } 1404 1405 _attribute_map = { 1406 'local_address': {'key': 'localAddress', 'type': 'str'}, 1407 'neighbor': {'key': 'neighbor', 'type': 'str'}, 1408 'asn': {'key': 'asn', 'type': 'int'}, 1409 'state': {'key': 'state', 'type': 'str'}, 1410 'connected_duration': {'key': 'connectedDuration', 'type': 'str'}, 1411 'routes_received': {'key': 'routesReceived', 'type': 'long'}, 1412 'messages_sent': {'key': 'messagesSent', 'type': 'long'}, 1413 'messages_received': {'key': 'messagesReceived', 'type': 'long'}, 1414 } 1415 1416 def __init__( 1417 self, 1418 **kwargs 1419 ): 1420 super(BgpPeerStatus, self).__init__(**kwargs) 1421 self.local_address = None 1422 self.neighbor = None 1423 self.asn = None 1424 self.state = None 1425 self.connected_duration = None 1426 self.routes_received = None 1427 self.messages_sent = None 1428 self.messages_received = None 1429 1430 1431class BgpPeerStatusListResult(msrest.serialization.Model): 1432 """Response for list BGP peer status API service call. 1433 1434 :param value: List of BGP peers. 1435 :type value: list[~azure.mgmt.network.v2016_12_01.models.BgpPeerStatus] 1436 """ 1437 1438 _attribute_map = { 1439 'value': {'key': 'value', 'type': '[BgpPeerStatus]'}, 1440 } 1441 1442 def __init__( 1443 self, 1444 *, 1445 value: Optional[List["BgpPeerStatus"]] = None, 1446 **kwargs 1447 ): 1448 super(BgpPeerStatusListResult, self).__init__(**kwargs) 1449 self.value = value 1450 1451 1452class BgpServiceCommunity(Resource): 1453 """Service Community Properties. 1454 1455 Variables are only populated by the server, and will be ignored when sending a request. 1456 1457 :param id: Resource ID. 1458 :type id: str 1459 :ivar name: Resource name. 1460 :vartype name: str 1461 :ivar type: Resource type. 1462 :vartype type: str 1463 :param location: Resource location. 1464 :type location: str 1465 :param tags: A set of tags. Resource tags. 1466 :type tags: dict[str, str] 1467 :param service_name: The name of the bgp community. e.g. Skype. 1468 :type service_name: str 1469 :param bgp_communities: Get a list of bgp communities. 1470 :type bgp_communities: list[~azure.mgmt.network.v2016_12_01.models.BGPCommunity] 1471 """ 1472 1473 _validation = { 1474 'name': {'readonly': True}, 1475 'type': {'readonly': True}, 1476 } 1477 1478 _attribute_map = { 1479 'id': {'key': 'id', 'type': 'str'}, 1480 'name': {'key': 'name', 'type': 'str'}, 1481 'type': {'key': 'type', 'type': 'str'}, 1482 'location': {'key': 'location', 'type': 'str'}, 1483 'tags': {'key': 'tags', 'type': '{str}'}, 1484 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, 1485 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': '[BGPCommunity]'}, 1486 } 1487 1488 def __init__( 1489 self, 1490 *, 1491 id: Optional[str] = None, 1492 location: Optional[str] = None, 1493 tags: Optional[Dict[str, str]] = None, 1494 service_name: Optional[str] = None, 1495 bgp_communities: Optional[List["BGPCommunity"]] = None, 1496 **kwargs 1497 ): 1498 super(BgpServiceCommunity, self).__init__(id=id, location=location, tags=tags, **kwargs) 1499 self.service_name = service_name 1500 self.bgp_communities = bgp_communities 1501 1502 1503class BgpServiceCommunityListResult(msrest.serialization.Model): 1504 """Response for the ListServiceCommunity API service call. 1505 1506 :param value: A list of service community resources. 1507 :type value: list[~azure.mgmt.network.v2016_12_01.models.BgpServiceCommunity] 1508 :param next_link: The URL to get the next set of results. 1509 :type next_link: str 1510 """ 1511 1512 _attribute_map = { 1513 'value': {'key': 'value', 'type': '[BgpServiceCommunity]'}, 1514 'next_link': {'key': 'nextLink', 'type': 'str'}, 1515 } 1516 1517 def __init__( 1518 self, 1519 *, 1520 value: Optional[List["BgpServiceCommunity"]] = None, 1521 next_link: Optional[str] = None, 1522 **kwargs 1523 ): 1524 super(BgpServiceCommunityListResult, self).__init__(**kwargs) 1525 self.value = value 1526 self.next_link = next_link 1527 1528 1529class BgpSettings(msrest.serialization.Model): 1530 """BgpSettings. 1531 1532 :param asn: The BGP speaker's ASN. 1533 :type asn: long 1534 :param bgp_peering_address: The BGP peering address and BGP identifier of this BGP speaker. 1535 :type bgp_peering_address: str 1536 :param peer_weight: The weight added to routes learned from this BGP speaker. 1537 :type peer_weight: int 1538 """ 1539 1540 _attribute_map = { 1541 'asn': {'key': 'asn', 'type': 'long'}, 1542 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, 1543 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, 1544 } 1545 1546 def __init__( 1547 self, 1548 *, 1549 asn: Optional[int] = None, 1550 bgp_peering_address: Optional[str] = None, 1551 peer_weight: Optional[int] = None, 1552 **kwargs 1553 ): 1554 super(BgpSettings, self).__init__(**kwargs) 1555 self.asn = asn 1556 self.bgp_peering_address = bgp_peering_address 1557 self.peer_weight = peer_weight 1558 1559 1560class ConnectionResetSharedKey(msrest.serialization.Model): 1561 """ConnectionResetSharedKey. 1562 1563 All required parameters must be populated in order to send to Azure. 1564 1565 :param key_length: Required. The virtual network connection reset shared key length, should 1566 between 1 and 128. 1567 :type key_length: int 1568 """ 1569 1570 _validation = { 1571 'key_length': {'required': True, 'maximum': 128, 'minimum': 1}, 1572 } 1573 1574 _attribute_map = { 1575 'key_length': {'key': 'keyLength', 'type': 'int'}, 1576 } 1577 1578 def __init__( 1579 self, 1580 *, 1581 key_length: int, 1582 **kwargs 1583 ): 1584 super(ConnectionResetSharedKey, self).__init__(**kwargs) 1585 self.key_length = key_length 1586 1587 1588class ConnectionSharedKey(msrest.serialization.Model): 1589 """Response for GetConnectionSharedKey API service call. 1590 1591 All required parameters must be populated in order to send to Azure. 1592 1593 :param value: Required. The virtual network connection shared key value. 1594 :type value: str 1595 """ 1596 1597 _validation = { 1598 'value': {'required': True}, 1599 } 1600 1601 _attribute_map = { 1602 'value': {'key': 'value', 'type': 'str'}, 1603 } 1604 1605 def __init__( 1606 self, 1607 *, 1608 value: str, 1609 **kwargs 1610 ): 1611 super(ConnectionSharedKey, self).__init__(**kwargs) 1612 self.value = value 1613 1614 1615class DhcpOptions(msrest.serialization.Model): 1616 """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. 1617 1618 :param dns_servers: The list of DNS servers IP addresses. 1619 :type dns_servers: list[str] 1620 """ 1621 1622 _attribute_map = { 1623 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, 1624 } 1625 1626 def __init__( 1627 self, 1628 *, 1629 dns_servers: Optional[List[str]] = None, 1630 **kwargs 1631 ): 1632 super(DhcpOptions, self).__init__(**kwargs) 1633 self.dns_servers = dns_servers 1634 1635 1636class DnsNameAvailabilityResult(msrest.serialization.Model): 1637 """Response for the CheckDnsNameAvailability API service call. 1638 1639 :param available: Domain availability (True/False). 1640 :type available: bool 1641 """ 1642 1643 _attribute_map = { 1644 'available': {'key': 'available', 'type': 'bool'}, 1645 } 1646 1647 def __init__( 1648 self, 1649 *, 1650 available: Optional[bool] = None, 1651 **kwargs 1652 ): 1653 super(DnsNameAvailabilityResult, self).__init__(**kwargs) 1654 self.available = available 1655 1656 1657class EffectiveNetworkSecurityGroup(msrest.serialization.Model): 1658 """Effective network security group. 1659 1660 :param network_security_group: The ID of network security group that is applied. 1661 :type network_security_group: ~azure.mgmt.network.v2016_12_01.models.SubResource 1662 :param association: The effective network security group association. 1663 :type association: 1664 ~azure.mgmt.network.v2016_12_01.models.EffectiveNetworkSecurityGroupAssociation 1665 :param effective_security_rules: A collection of effective security rules. 1666 :type effective_security_rules: 1667 list[~azure.mgmt.network.v2016_12_01.models.EffectiveNetworkSecurityRule] 1668 """ 1669 1670 _attribute_map = { 1671 'network_security_group': {'key': 'networkSecurityGroup', 'type': 'SubResource'}, 1672 'association': {'key': 'association', 'type': 'EffectiveNetworkSecurityGroupAssociation'}, 1673 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, 1674 } 1675 1676 def __init__( 1677 self, 1678 *, 1679 network_security_group: Optional["SubResource"] = None, 1680 association: Optional["EffectiveNetworkSecurityGroupAssociation"] = None, 1681 effective_security_rules: Optional[List["EffectiveNetworkSecurityRule"]] = None, 1682 **kwargs 1683 ): 1684 super(EffectiveNetworkSecurityGroup, self).__init__(**kwargs) 1685 self.network_security_group = network_security_group 1686 self.association = association 1687 self.effective_security_rules = effective_security_rules 1688 1689 1690class EffectiveNetworkSecurityGroupAssociation(msrest.serialization.Model): 1691 """The effective network security group association. 1692 1693 :param subnet: The ID of the subnet if assigned. 1694 :type subnet: ~azure.mgmt.network.v2016_12_01.models.SubResource 1695 :param network_interface: The ID of the network interface if assigned. 1696 :type network_interface: ~azure.mgmt.network.v2016_12_01.models.SubResource 1697 """ 1698 1699 _attribute_map = { 1700 'subnet': {'key': 'subnet', 'type': 'SubResource'}, 1701 'network_interface': {'key': 'networkInterface', 'type': 'SubResource'}, 1702 } 1703 1704 def __init__( 1705 self, 1706 *, 1707 subnet: Optional["SubResource"] = None, 1708 network_interface: Optional["SubResource"] = None, 1709 **kwargs 1710 ): 1711 super(EffectiveNetworkSecurityGroupAssociation, self).__init__(**kwargs) 1712 self.subnet = subnet 1713 self.network_interface = network_interface 1714 1715 1716class EffectiveNetworkSecurityGroupListResult(msrest.serialization.Model): 1717 """Response for list effective network security groups API service call. 1718 1719 :param value: A list of effective network security groups. 1720 :type value: list[~azure.mgmt.network.v2016_12_01.models.EffectiveNetworkSecurityGroup] 1721 :param next_link: The URL to get the next set of results. 1722 :type next_link: str 1723 """ 1724 1725 _attribute_map = { 1726 'value': {'key': 'value', 'type': '[EffectiveNetworkSecurityGroup]'}, 1727 'next_link': {'key': 'nextLink', 'type': 'str'}, 1728 } 1729 1730 def __init__( 1731 self, 1732 *, 1733 value: Optional[List["EffectiveNetworkSecurityGroup"]] = None, 1734 next_link: Optional[str] = None, 1735 **kwargs 1736 ): 1737 super(EffectiveNetworkSecurityGroupListResult, self).__init__(**kwargs) 1738 self.value = value 1739 self.next_link = next_link 1740 1741 1742class EffectiveNetworkSecurityRule(msrest.serialization.Model): 1743 """Effective network security rules. 1744 1745 :param name: The name of the security rule specified by the user (if created by the user). 1746 :type name: str 1747 :param protocol: The network protocol this rule applies to. Possible values are: 'Tcp', 'Udp', 1748 and '*'. Possible values include: "Tcp", "Udp", "*". 1749 :type protocol: str or ~azure.mgmt.network.v2016_12_01.models.SecurityRuleProtocol 1750 :param source_port_range: The source port or range. 1751 :type source_port_range: str 1752 :param destination_port_range: The destination port or range. 1753 :type destination_port_range: str 1754 :param source_address_prefix: The source address prefix. 1755 :type source_address_prefix: str 1756 :param destination_address_prefix: The destination address prefix. 1757 :type destination_address_prefix: str 1758 :param expanded_source_address_prefix: The expanded source address prefix. 1759 :type expanded_source_address_prefix: list[str] 1760 :param expanded_destination_address_prefix: Expanded destination address prefix. 1761 :type expanded_destination_address_prefix: list[str] 1762 :param access: Whether network traffic is allowed or denied. Possible values are: 'Allow' and 1763 'Deny'. Possible values include: "Allow", "Deny". 1764 :type access: str or ~azure.mgmt.network.v2016_12_01.models.SecurityRuleAccess 1765 :param priority: The priority of the rule. 1766 :type priority: int 1767 :param direction: The direction of the rule. Possible values are: 'Inbound and Outbound'. 1768 Possible values include: "Inbound", "Outbound". 1769 :type direction: str or ~azure.mgmt.network.v2016_12_01.models.SecurityRuleDirection 1770 """ 1771 1772 _attribute_map = { 1773 'name': {'key': 'name', 'type': 'str'}, 1774 'protocol': {'key': 'protocol', 'type': 'str'}, 1775 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, 1776 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, 1777 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, 1778 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, 1779 'expanded_source_address_prefix': {'key': 'expandedSourceAddressPrefix', 'type': '[str]'}, 1780 'expanded_destination_address_prefix': {'key': 'expandedDestinationAddressPrefix', 'type': '[str]'}, 1781 'access': {'key': 'access', 'type': 'str'}, 1782 'priority': {'key': 'priority', 'type': 'int'}, 1783 'direction': {'key': 'direction', 'type': 'str'}, 1784 } 1785 1786 def __init__( 1787 self, 1788 *, 1789 name: Optional[str] = None, 1790 protocol: Optional[Union[str, "SecurityRuleProtocol"]] = None, 1791 source_port_range: Optional[str] = None, 1792 destination_port_range: Optional[str] = None, 1793 source_address_prefix: Optional[str] = None, 1794 destination_address_prefix: Optional[str] = None, 1795 expanded_source_address_prefix: Optional[List[str]] = None, 1796 expanded_destination_address_prefix: Optional[List[str]] = None, 1797 access: Optional[Union[str, "SecurityRuleAccess"]] = None, 1798 priority: Optional[int] = None, 1799 direction: Optional[Union[str, "SecurityRuleDirection"]] = None, 1800 **kwargs 1801 ): 1802 super(EffectiveNetworkSecurityRule, self).__init__(**kwargs) 1803 self.name = name 1804 self.protocol = protocol 1805 self.source_port_range = source_port_range 1806 self.destination_port_range = destination_port_range 1807 self.source_address_prefix = source_address_prefix 1808 self.destination_address_prefix = destination_address_prefix 1809 self.expanded_source_address_prefix = expanded_source_address_prefix 1810 self.expanded_destination_address_prefix = expanded_destination_address_prefix 1811 self.access = access 1812 self.priority = priority 1813 self.direction = direction 1814 1815 1816class EffectiveRoute(msrest.serialization.Model): 1817 """Effective Route. 1818 1819 :param name: The name of the user defined route. This is optional. 1820 :type name: str 1821 :param source: Who created the route. Possible values are: 'Unknown', 'User', 1822 'VirtualNetworkGateway', and 'Default'. Possible values include: "Unknown", "User", 1823 "VirtualNetworkGateway", "Default". 1824 :type source: str or ~azure.mgmt.network.v2016_12_01.models.EffectiveRouteSource 1825 :param state: The value of effective route. Possible values are: 'Active' and 'Invalid'. 1826 Possible values include: "Active", "Invalid". 1827 :type state: str or ~azure.mgmt.network.v2016_12_01.models.EffectiveRouteState 1828 :param address_prefix: The address prefixes of the effective routes in CIDR notation. 1829 :type address_prefix: list[str] 1830 :param next_hop_ip_address: The IP address of the next hop of the effective route. 1831 :type next_hop_ip_address: list[str] 1832 :param next_hop_type: The type of Azure hop the packet should be sent to. Possible values are: 1833 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible 1834 values include: "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None". 1835 :type next_hop_type: str or ~azure.mgmt.network.v2016_12_01.models.RouteNextHopType 1836 """ 1837 1838 _attribute_map = { 1839 'name': {'key': 'name', 'type': 'str'}, 1840 'source': {'key': 'source', 'type': 'str'}, 1841 'state': {'key': 'state', 'type': 'str'}, 1842 'address_prefix': {'key': 'addressPrefix', 'type': '[str]'}, 1843 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': '[str]'}, 1844 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, 1845 } 1846 1847 def __init__( 1848 self, 1849 *, 1850 name: Optional[str] = None, 1851 source: Optional[Union[str, "EffectiveRouteSource"]] = None, 1852 state: Optional[Union[str, "EffectiveRouteState"]] = None, 1853 address_prefix: Optional[List[str]] = None, 1854 next_hop_ip_address: Optional[List[str]] = None, 1855 next_hop_type: Optional[Union[str, "RouteNextHopType"]] = None, 1856 **kwargs 1857 ): 1858 super(EffectiveRoute, self).__init__(**kwargs) 1859 self.name = name 1860 self.source = source 1861 self.state = state 1862 self.address_prefix = address_prefix 1863 self.next_hop_ip_address = next_hop_ip_address 1864 self.next_hop_type = next_hop_type 1865 1866 1867class EffectiveRouteListResult(msrest.serialization.Model): 1868 """Response for list effective route API service call. 1869 1870 :param value: A list of effective routes. 1871 :type value: list[~azure.mgmt.network.v2016_12_01.models.EffectiveRoute] 1872 :param next_link: The URL to get the next set of results. 1873 :type next_link: str 1874 """ 1875 1876 _attribute_map = { 1877 'value': {'key': 'value', 'type': '[EffectiveRoute]'}, 1878 'next_link': {'key': 'nextLink', 'type': 'str'}, 1879 } 1880 1881 def __init__( 1882 self, 1883 *, 1884 value: Optional[List["EffectiveRoute"]] = None, 1885 next_link: Optional[str] = None, 1886 **kwargs 1887 ): 1888 super(EffectiveRouteListResult, self).__init__(**kwargs) 1889 self.value = value 1890 self.next_link = next_link 1891 1892 1893class Error(msrest.serialization.Model): 1894 """Error. 1895 1896 :param code: 1897 :type code: str 1898 :param message: 1899 :type message: str 1900 :param target: 1901 :type target: str 1902 :param details: 1903 :type details: list[~azure.mgmt.network.v2016_12_01.models.ErrorDetails] 1904 :param inner_error: 1905 :type inner_error: str 1906 """ 1907 1908 _attribute_map = { 1909 'code': {'key': 'code', 'type': 'str'}, 1910 'message': {'key': 'message', 'type': 'str'}, 1911 'target': {'key': 'target', 'type': 'str'}, 1912 'details': {'key': 'details', 'type': '[ErrorDetails]'}, 1913 'inner_error': {'key': 'innerError', 'type': 'str'}, 1914 } 1915 1916 def __init__( 1917 self, 1918 *, 1919 code: Optional[str] = None, 1920 message: Optional[str] = None, 1921 target: Optional[str] = None, 1922 details: Optional[List["ErrorDetails"]] = None, 1923 inner_error: Optional[str] = None, 1924 **kwargs 1925 ): 1926 super(Error, self).__init__(**kwargs) 1927 self.code = code 1928 self.message = message 1929 self.target = target 1930 self.details = details 1931 self.inner_error = inner_error 1932 1933 1934class ErrorDetails(msrest.serialization.Model): 1935 """ErrorDetails. 1936 1937 :param code: 1938 :type code: str 1939 :param target: 1940 :type target: str 1941 :param message: 1942 :type message: str 1943 """ 1944 1945 _attribute_map = { 1946 'code': {'key': 'code', 'type': 'str'}, 1947 'target': {'key': 'target', 'type': 'str'}, 1948 'message': {'key': 'message', 'type': 'str'}, 1949 } 1950 1951 def __init__( 1952 self, 1953 *, 1954 code: Optional[str] = None, 1955 target: Optional[str] = None, 1956 message: Optional[str] = None, 1957 **kwargs 1958 ): 1959 super(ErrorDetails, self).__init__(**kwargs) 1960 self.code = code 1961 self.target = target 1962 self.message = message 1963 1964 1965class ExpressRouteCircuit(Resource): 1966 """ExpressRouteCircuit resource. 1967 1968 Variables are only populated by the server, and will be ignored when sending a request. 1969 1970 :param id: Resource ID. 1971 :type id: str 1972 :ivar name: Resource name. 1973 :vartype name: str 1974 :ivar type: Resource type. 1975 :vartype type: str 1976 :param location: Resource location. 1977 :type location: str 1978 :param tags: A set of tags. Resource tags. 1979 :type tags: dict[str, str] 1980 :param sku: The SKU. 1981 :type sku: ~azure.mgmt.network.v2016_12_01.models.ExpressRouteCircuitSku 1982 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 1983 :vartype etag: str 1984 :param allow_classic_operations: Allow classic operations. 1985 :type allow_classic_operations: bool 1986 :param circuit_provisioning_state: The CircuitProvisioningState state of the resource. 1987 :type circuit_provisioning_state: str 1988 :param service_provider_provisioning_state: The ServiceProviderProvisioningState state of the 1989 resource. Possible values are 'NotProvisioned', 'Provisioning', 'Provisioned', and 1990 'Deprovisioning'. Possible values include: "NotProvisioned", "Provisioning", "Provisioned", 1991 "Deprovisioning". 1992 :type service_provider_provisioning_state: str or 1993 ~azure.mgmt.network.v2016_12_01.models.ServiceProviderProvisioningState 1994 :param authorizations: The list of authorizations. 1995 :type authorizations: 1996 list[~azure.mgmt.network.v2016_12_01.models.ExpressRouteCircuitAuthorization] 1997 :param peerings: The list of peerings. 1998 :type peerings: list[~azure.mgmt.network.v2016_12_01.models.ExpressRouteCircuitPeering] 1999 :param service_key: The ServiceKey. 2000 :type service_key: str 2001 :param service_provider_notes: The ServiceProviderNotes. 2002 :type service_provider_notes: str 2003 :param service_provider_properties: The ServiceProviderProperties. 2004 :type service_provider_properties: 2005 ~azure.mgmt.network.v2016_12_01.models.ExpressRouteCircuitServiceProviderProperties 2006 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 2007 values are: 'Updating', 'Deleting', and 'Failed'. 2008 :type provisioning_state: str 2009 :param gateway_manager_etag: The GatewayManager Etag. 2010 :type gateway_manager_etag: str 2011 """ 2012 2013 _validation = { 2014 'name': {'readonly': True}, 2015 'type': {'readonly': True}, 2016 'etag': {'readonly': True}, 2017 } 2018 2019 _attribute_map = { 2020 'id': {'key': 'id', 'type': 'str'}, 2021 'name': {'key': 'name', 'type': 'str'}, 2022 'type': {'key': 'type', 'type': 'str'}, 2023 'location': {'key': 'location', 'type': 'str'}, 2024 'tags': {'key': 'tags', 'type': '{str}'}, 2025 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, 2026 'etag': {'key': 'etag', 'type': 'str'}, 2027 'allow_classic_operations': {'key': 'properties.allowClassicOperations', 'type': 'bool'}, 2028 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, 2029 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, 2030 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, 2031 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, 2032 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, 2033 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, 2034 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, 2035 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2036 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, 2037 } 2038 2039 def __init__( 2040 self, 2041 *, 2042 id: Optional[str] = None, 2043 location: Optional[str] = None, 2044 tags: Optional[Dict[str, str]] = None, 2045 sku: Optional["ExpressRouteCircuitSku"] = None, 2046 allow_classic_operations: Optional[bool] = None, 2047 circuit_provisioning_state: Optional[str] = None, 2048 service_provider_provisioning_state: Optional[Union[str, "ServiceProviderProvisioningState"]] = None, 2049 authorizations: Optional[List["ExpressRouteCircuitAuthorization"]] = None, 2050 peerings: Optional[List["ExpressRouteCircuitPeering"]] = None, 2051 service_key: Optional[str] = None, 2052 service_provider_notes: Optional[str] = None, 2053 service_provider_properties: Optional["ExpressRouteCircuitServiceProviderProperties"] = None, 2054 provisioning_state: Optional[str] = None, 2055 gateway_manager_etag: Optional[str] = None, 2056 **kwargs 2057 ): 2058 super(ExpressRouteCircuit, self).__init__(id=id, location=location, tags=tags, **kwargs) 2059 self.sku = sku 2060 self.etag = None 2061 self.allow_classic_operations = allow_classic_operations 2062 self.circuit_provisioning_state = circuit_provisioning_state 2063 self.service_provider_provisioning_state = service_provider_provisioning_state 2064 self.authorizations = authorizations 2065 self.peerings = peerings 2066 self.service_key = service_key 2067 self.service_provider_notes = service_provider_notes 2068 self.service_provider_properties = service_provider_properties 2069 self.provisioning_state = provisioning_state 2070 self.gateway_manager_etag = gateway_manager_etag 2071 2072 2073class ExpressRouteCircuitArpTable(msrest.serialization.Model): 2074 """The ARP table associated with the ExpressRouteCircuit. 2075 2076 :param age: Age. 2077 :type age: int 2078 :param interface: Interface. 2079 :type interface: str 2080 :param ip_address: The IP address. 2081 :type ip_address: str 2082 :param mac_address: The MAC address. 2083 :type mac_address: str 2084 """ 2085 2086 _attribute_map = { 2087 'age': {'key': 'age', 'type': 'int'}, 2088 'interface': {'key': 'interface', 'type': 'str'}, 2089 'ip_address': {'key': 'ipAddress', 'type': 'str'}, 2090 'mac_address': {'key': 'macAddress', 'type': 'str'}, 2091 } 2092 2093 def __init__( 2094 self, 2095 *, 2096 age: Optional[int] = None, 2097 interface: Optional[str] = None, 2098 ip_address: Optional[str] = None, 2099 mac_address: Optional[str] = None, 2100 **kwargs 2101 ): 2102 super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) 2103 self.age = age 2104 self.interface = interface 2105 self.ip_address = ip_address 2106 self.mac_address = mac_address 2107 2108 2109class ExpressRouteCircuitAuthorization(SubResource): 2110 """Authorization in an ExpressRouteCircuit resource. 2111 2112 Variables are only populated by the server, and will be ignored when sending a request. 2113 2114 :param id: Resource ID. 2115 :type id: str 2116 :param name: Gets name of the resource that is unique within a resource group. This name can be 2117 used to access the resource. 2118 :type name: str 2119 :ivar etag: A unique read-only string that changes whenever the resource is updated. 2120 :vartype etag: str 2121 :param authorization_key: The authorization key. 2122 :type authorization_key: str 2123 :param authorization_use_status: AuthorizationUseStatus. Possible values are: 'Available' and 2124 'InUse'. Possible values include: "Available", "InUse". 2125 :type authorization_use_status: str or 2126 ~azure.mgmt.network.v2016_12_01.models.AuthorizationUseStatus 2127 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 2128 values are: 'Updating', 'Deleting', and 'Failed'. 2129 :type provisioning_state: str 2130 """ 2131 2132 _validation = { 2133 'etag': {'readonly': True}, 2134 } 2135 2136 _attribute_map = { 2137 'id': {'key': 'id', 'type': 'str'}, 2138 'name': {'key': 'name', 'type': 'str'}, 2139 'etag': {'key': 'etag', 'type': 'str'}, 2140 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 2141 'authorization_use_status': {'key': 'properties.authorizationUseStatus', 'type': 'str'}, 2142 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2143 } 2144 2145 def __init__( 2146 self, 2147 *, 2148 id: Optional[str] = None, 2149 name: Optional[str] = None, 2150 authorization_key: Optional[str] = None, 2151 authorization_use_status: Optional[Union[str, "AuthorizationUseStatus"]] = None, 2152 provisioning_state: Optional[str] = None, 2153 **kwargs 2154 ): 2155 super(ExpressRouteCircuitAuthorization, self).__init__(id=id, **kwargs) 2156 self.name = name 2157 self.etag = None 2158 self.authorization_key = authorization_key 2159 self.authorization_use_status = authorization_use_status 2160 self.provisioning_state = provisioning_state 2161 2162 2163class ExpressRouteCircuitListResult(msrest.serialization.Model): 2164 """Response for ListExpressRouteCircuit API service call. 2165 2166 :param value: A list of ExpressRouteCircuits in a resource group. 2167 :type value: list[~azure.mgmt.network.v2016_12_01.models.ExpressRouteCircuit] 2168 :param next_link: The URL to get the next set of results. 2169 :type next_link: str 2170 """ 2171 2172 _attribute_map = { 2173 'value': {'key': 'value', 'type': '[ExpressRouteCircuit]'}, 2174 'next_link': {'key': 'nextLink', 'type': 'str'}, 2175 } 2176 2177 def __init__( 2178 self, 2179 *, 2180 value: Optional[List["ExpressRouteCircuit"]] = None, 2181 next_link: Optional[str] = None, 2182 **kwargs 2183 ): 2184 super(ExpressRouteCircuitListResult, self).__init__(**kwargs) 2185 self.value = value 2186 self.next_link = next_link 2187 2188 2189class ExpressRouteCircuitPeering(SubResource): 2190 """Peering in an ExpressRouteCircuit resource. 2191 2192 Variables are only populated by the server, and will be ignored when sending a request. 2193 2194 :param id: Resource ID. 2195 :type id: str 2196 :param name: Gets name of the resource that is unique within a resource group. This name can be 2197 used to access the resource. 2198 :type name: str 2199 :ivar etag: A unique read-only string that changes whenever the resource is updated. 2200 :vartype etag: str 2201 :param peering_type: The PeeringType. Possible values are: 'AzurePublicPeering', 2202 'AzurePrivatePeering', and 'MicrosoftPeering'. Possible values include: "AzurePublicPeering", 2203 "AzurePrivatePeering", "MicrosoftPeering". 2204 :type peering_type: str or 2205 ~azure.mgmt.network.v2016_12_01.models.ExpressRouteCircuitPeeringType 2206 :param state: The state of peering. Possible values are: 'Disabled' and 'Enabled'. Possible 2207 values include: "Disabled", "Enabled". 2208 :type state: str or ~azure.mgmt.network.v2016_12_01.models.ExpressRouteCircuitPeeringState 2209 :param azure_asn: The Azure ASN. 2210 :type azure_asn: int 2211 :param peer_asn: The peer ASN. 2212 :type peer_asn: int 2213 :param primary_peer_address_prefix: The primary address prefix. 2214 :type primary_peer_address_prefix: str 2215 :param secondary_peer_address_prefix: The secondary address prefix. 2216 :type secondary_peer_address_prefix: str 2217 :param primary_azure_port: The primary port. 2218 :type primary_azure_port: str 2219 :param secondary_azure_port: The secondary port. 2220 :type secondary_azure_port: str 2221 :param shared_key: The shared key. 2222 :type shared_key: str 2223 :param vlan_id: The VLAN ID. 2224 :type vlan_id: int 2225 :param microsoft_peering_config: The Microsoft peering configuration. 2226 :type microsoft_peering_config: 2227 ~azure.mgmt.network.v2016_12_01.models.ExpressRouteCircuitPeeringConfig 2228 :param stats: Gets peering stats. 2229 :type stats: ~azure.mgmt.network.v2016_12_01.models.ExpressRouteCircuitStats 2230 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 2231 values are: 'Updating', 'Deleting', and 'Failed'. 2232 :type provisioning_state: str 2233 :param gateway_manager_etag: The GatewayManager Etag. 2234 :type gateway_manager_etag: str 2235 :param last_modified_by: Gets whether the provider or the customer last modified the peering. 2236 :type last_modified_by: str 2237 :param route_filter: The reference of the RouteFilter resource. 2238 :type route_filter: ~azure.mgmt.network.v2016_12_01.models.RouteFilter 2239 """ 2240 2241 _validation = { 2242 'etag': {'readonly': True}, 2243 } 2244 2245 _attribute_map = { 2246 'id': {'key': 'id', 'type': 'str'}, 2247 'name': {'key': 'name', 'type': 'str'}, 2248 'etag': {'key': 'etag', 'type': 'str'}, 2249 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, 2250 'state': {'key': 'properties.state', 'type': 'str'}, 2251 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, 2252 'peer_asn': {'key': 'properties.peerASN', 'type': 'int'}, 2253 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, 2254 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, 2255 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, 2256 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, 2257 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 2258 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, 2259 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, 2260 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, 2261 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2262 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, 2263 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, 2264 'route_filter': {'key': 'properties.routeFilter', 'type': 'RouteFilter'}, 2265 } 2266 2267 def __init__( 2268 self, 2269 *, 2270 id: Optional[str] = None, 2271 name: Optional[str] = None, 2272 peering_type: Optional[Union[str, "ExpressRouteCircuitPeeringType"]] = None, 2273 state: Optional[Union[str, "ExpressRouteCircuitPeeringState"]] = None, 2274 azure_asn: Optional[int] = None, 2275 peer_asn: Optional[int] = None, 2276 primary_peer_address_prefix: Optional[str] = None, 2277 secondary_peer_address_prefix: Optional[str] = None, 2278 primary_azure_port: Optional[str] = None, 2279 secondary_azure_port: Optional[str] = None, 2280 shared_key: Optional[str] = None, 2281 vlan_id: Optional[int] = None, 2282 microsoft_peering_config: Optional["ExpressRouteCircuitPeeringConfig"] = None, 2283 stats: Optional["ExpressRouteCircuitStats"] = None, 2284 provisioning_state: Optional[str] = None, 2285 gateway_manager_etag: Optional[str] = None, 2286 last_modified_by: Optional[str] = None, 2287 route_filter: Optional["RouteFilter"] = None, 2288 **kwargs 2289 ): 2290 super(ExpressRouteCircuitPeering, self).__init__(id=id, **kwargs) 2291 self.name = name 2292 self.etag = None 2293 self.peering_type = peering_type 2294 self.state = state 2295 self.azure_asn = azure_asn 2296 self.peer_asn = peer_asn 2297 self.primary_peer_address_prefix = primary_peer_address_prefix 2298 self.secondary_peer_address_prefix = secondary_peer_address_prefix 2299 self.primary_azure_port = primary_azure_port 2300 self.secondary_azure_port = secondary_azure_port 2301 self.shared_key = shared_key 2302 self.vlan_id = vlan_id 2303 self.microsoft_peering_config = microsoft_peering_config 2304 self.stats = stats 2305 self.provisioning_state = provisioning_state 2306 self.gateway_manager_etag = gateway_manager_etag 2307 self.last_modified_by = last_modified_by 2308 self.route_filter = route_filter 2309 2310 2311class ExpressRouteCircuitPeeringConfig(msrest.serialization.Model): 2312 """Specifies the peering configuration. 2313 2314 :param advertised_public_prefixes: The reference of AdvertisedPublicPrefixes. 2315 :type advertised_public_prefixes: list[str] 2316 :param advertised_public_prefixes_state: AdvertisedPublicPrefixState of the Peering resource. 2317 Possible values are 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'. 2318 Possible values include: "NotConfigured", "Configuring", "Configured", "ValidationNeeded". 2319 :type advertised_public_prefixes_state: str or 2320 ~azure.mgmt.network.v2016_12_01.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState 2321 :param customer_asn: The CustomerASN of the peering. 2322 :type customer_asn: int 2323 :param routing_registry_name: The RoutingRegistryName of the configuration. 2324 :type routing_registry_name: str 2325 """ 2326 2327 _attribute_map = { 2328 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, 2329 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, 2330 'customer_asn': {'key': 'customerASN', 'type': 'int'}, 2331 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, 2332 } 2333 2334 def __init__( 2335 self, 2336 *, 2337 advertised_public_prefixes: Optional[List[str]] = None, 2338 advertised_public_prefixes_state: Optional[Union[str, "ExpressRouteCircuitPeeringAdvertisedPublicPrefixState"]] = None, 2339 customer_asn: Optional[int] = None, 2340 routing_registry_name: Optional[str] = None, 2341 **kwargs 2342 ): 2343 super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) 2344 self.advertised_public_prefixes = advertised_public_prefixes 2345 self.advertised_public_prefixes_state = advertised_public_prefixes_state 2346 self.customer_asn = customer_asn 2347 self.routing_registry_name = routing_registry_name 2348 2349 2350class ExpressRouteCircuitPeeringListResult(msrest.serialization.Model): 2351 """Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCircuit. 2352 2353 :param value: The peerings in an express route circuit. 2354 :type value: list[~azure.mgmt.network.v2016_12_01.models.ExpressRouteCircuitPeering] 2355 :param next_link: The URL to get the next set of results. 2356 :type next_link: str 2357 """ 2358 2359 _attribute_map = { 2360 'value': {'key': 'value', 'type': '[ExpressRouteCircuitPeering]'}, 2361 'next_link': {'key': 'nextLink', 'type': 'str'}, 2362 } 2363 2364 def __init__( 2365 self, 2366 *, 2367 value: Optional[List["ExpressRouteCircuitPeering"]] = None, 2368 next_link: Optional[str] = None, 2369 **kwargs 2370 ): 2371 super(ExpressRouteCircuitPeeringListResult, self).__init__(**kwargs) 2372 self.value = value 2373 self.next_link = next_link 2374 2375 2376class ExpressRouteCircuitRoutesTable(msrest.serialization.Model): 2377 """The routes table associated with the ExpressRouteCircuit. 2378 2379 :param network: network. 2380 :type network: str 2381 :param next_hop: nextHop. 2382 :type next_hop: str 2383 :param loc_prf: locPrf. 2384 :type loc_prf: str 2385 :param weight: weight. 2386 :type weight: int 2387 :param path: path. 2388 :type path: str 2389 """ 2390 2391 _attribute_map = { 2392 'network': {'key': 'network', 'type': 'str'}, 2393 'next_hop': {'key': 'nextHop', 'type': 'str'}, 2394 'loc_prf': {'key': 'locPrf', 'type': 'str'}, 2395 'weight': {'key': 'weight', 'type': 'int'}, 2396 'path': {'key': 'path', 'type': 'str'}, 2397 } 2398 2399 def __init__( 2400 self, 2401 *, 2402 network: Optional[str] = None, 2403 next_hop: Optional[str] = None, 2404 loc_prf: Optional[str] = None, 2405 weight: Optional[int] = None, 2406 path: Optional[str] = None, 2407 **kwargs 2408 ): 2409 super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) 2410 self.network = network 2411 self.next_hop = next_hop 2412 self.loc_prf = loc_prf 2413 self.weight = weight 2414 self.path = path 2415 2416 2417class ExpressRouteCircuitRoutesTableSummary(msrest.serialization.Model): 2418 """The routes table associated with the ExpressRouteCircuit. 2419 2420 :param neighbor: Neighbor. 2421 :type neighbor: str 2422 :param v: BGP version number spoken to the neighbor. 2423 :type v: int 2424 :param as_property: Autonomous system number. 2425 :type as_property: int 2426 :param up_down: The length of time that the BGP session has been in the Established state, or 2427 the current status if not in the Established state. 2428 :type up_down: str 2429 :param state_pfx_rcd: Current state of the BGP session, and the number of prefixes that have 2430 been received from a neighbor or peer group. 2431 :type state_pfx_rcd: str 2432 """ 2433 2434 _attribute_map = { 2435 'neighbor': {'key': 'neighbor', 'type': 'str'}, 2436 'v': {'key': 'v', 'type': 'int'}, 2437 'as_property': {'key': 'as', 'type': 'int'}, 2438 'up_down': {'key': 'upDown', 'type': 'str'}, 2439 'state_pfx_rcd': {'key': 'statePfxRcd', 'type': 'str'}, 2440 } 2441 2442 def __init__( 2443 self, 2444 *, 2445 neighbor: Optional[str] = None, 2446 v: Optional[int] = None, 2447 as_property: Optional[int] = None, 2448 up_down: Optional[str] = None, 2449 state_pfx_rcd: Optional[str] = None, 2450 **kwargs 2451 ): 2452 super(ExpressRouteCircuitRoutesTableSummary, self).__init__(**kwargs) 2453 self.neighbor = neighbor 2454 self.v = v 2455 self.as_property = as_property 2456 self.up_down = up_down 2457 self.state_pfx_rcd = state_pfx_rcd 2458 2459 2460class ExpressRouteCircuitsArpTableListResult(msrest.serialization.Model): 2461 """Response for ListArpTable associated with the Express Route Circuits API. 2462 2463 :param value: Gets list of the ARP table. 2464 :type value: list[~azure.mgmt.network.v2016_12_01.models.ExpressRouteCircuitArpTable] 2465 :param next_link: The URL to get the next set of results. 2466 :type next_link: str 2467 """ 2468 2469 _attribute_map = { 2470 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, 2471 'next_link': {'key': 'nextLink', 'type': 'str'}, 2472 } 2473 2474 def __init__( 2475 self, 2476 *, 2477 value: Optional[List["ExpressRouteCircuitArpTable"]] = None, 2478 next_link: Optional[str] = None, 2479 **kwargs 2480 ): 2481 super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) 2482 self.value = value 2483 self.next_link = next_link 2484 2485 2486class ExpressRouteCircuitServiceProviderProperties(msrest.serialization.Model): 2487 """Contains ServiceProviderProperties in an ExpressRouteCircuit. 2488 2489 :param service_provider_name: The serviceProviderName. 2490 :type service_provider_name: str 2491 :param peering_location: The peering location. 2492 :type peering_location: str 2493 :param bandwidth_in_mbps: The BandwidthInMbps. 2494 :type bandwidth_in_mbps: int 2495 """ 2496 2497 _attribute_map = { 2498 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, 2499 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, 2500 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, 2501 } 2502 2503 def __init__( 2504 self, 2505 *, 2506 service_provider_name: Optional[str] = None, 2507 peering_location: Optional[str] = None, 2508 bandwidth_in_mbps: Optional[int] = None, 2509 **kwargs 2510 ): 2511 super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) 2512 self.service_provider_name = service_provider_name 2513 self.peering_location = peering_location 2514 self.bandwidth_in_mbps = bandwidth_in_mbps 2515 2516 2517class ExpressRouteCircuitSku(msrest.serialization.Model): 2518 """Contains SKU in an ExpressRouteCircuit. 2519 2520 :param name: The name of the SKU. 2521 :type name: str 2522 :param tier: The tier of the SKU. Possible values are 'Standard' and 'Premium'. Possible values 2523 include: "Standard", "Premium". 2524 :type tier: str or ~azure.mgmt.network.v2016_12_01.models.ExpressRouteCircuitSkuTier 2525 :param family: The family of the SKU. Possible values are: 'UnlimitedData' and 'MeteredData'. 2526 Possible values include: "UnlimitedData", "MeteredData". 2527 :type family: str or ~azure.mgmt.network.v2016_12_01.models.ExpressRouteCircuitSkuFamily 2528 """ 2529 2530 _attribute_map = { 2531 'name': {'key': 'name', 'type': 'str'}, 2532 'tier': {'key': 'tier', 'type': 'str'}, 2533 'family': {'key': 'family', 'type': 'str'}, 2534 } 2535 2536 def __init__( 2537 self, 2538 *, 2539 name: Optional[str] = None, 2540 tier: Optional[Union[str, "ExpressRouteCircuitSkuTier"]] = None, 2541 family: Optional[Union[str, "ExpressRouteCircuitSkuFamily"]] = None, 2542 **kwargs 2543 ): 2544 super(ExpressRouteCircuitSku, self).__init__(**kwargs) 2545 self.name = name 2546 self.tier = tier 2547 self.family = family 2548 2549 2550class ExpressRouteCircuitsRoutesTableListResult(msrest.serialization.Model): 2551 """Response for ListRoutesTable associated with the Express Route Circuits API. 2552 2553 :param value: The list of routes table. 2554 :type value: list[~azure.mgmt.network.v2016_12_01.models.ExpressRouteCircuitRoutesTable] 2555 :param next_link: The URL to get the next set of results. 2556 :type next_link: str 2557 """ 2558 2559 _attribute_map = { 2560 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, 2561 'next_link': {'key': 'nextLink', 'type': 'str'}, 2562 } 2563 2564 def __init__( 2565 self, 2566 *, 2567 value: Optional[List["ExpressRouteCircuitRoutesTable"]] = None, 2568 next_link: Optional[str] = None, 2569 **kwargs 2570 ): 2571 super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) 2572 self.value = value 2573 self.next_link = next_link 2574 2575 2576class ExpressRouteCircuitsRoutesTableSummaryListResult(msrest.serialization.Model): 2577 """Response for ListRoutesTable associated with the Express Route Circuits API. 2578 2579 :param value: A list of the routes table. 2580 :type value: list[~azure.mgmt.network.v2016_12_01.models.ExpressRouteCircuitRoutesTableSummary] 2581 :param next_link: The URL to get the next set of results. 2582 :type next_link: str 2583 """ 2584 2585 _attribute_map = { 2586 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTableSummary]'}, 2587 'next_link': {'key': 'nextLink', 'type': 'str'}, 2588 } 2589 2590 def __init__( 2591 self, 2592 *, 2593 value: Optional[List["ExpressRouteCircuitRoutesTableSummary"]] = None, 2594 next_link: Optional[str] = None, 2595 **kwargs 2596 ): 2597 super(ExpressRouteCircuitsRoutesTableSummaryListResult, self).__init__(**kwargs) 2598 self.value = value 2599 self.next_link = next_link 2600 2601 2602class ExpressRouteCircuitStats(msrest.serialization.Model): 2603 """Contains stats associated with the peering. 2604 2605 :param primarybytes_in: Gets BytesIn of the peering. 2606 :type primarybytes_in: long 2607 :param primarybytes_out: Gets BytesOut of the peering. 2608 :type primarybytes_out: long 2609 :param secondarybytes_in: Gets BytesIn of the peering. 2610 :type secondarybytes_in: long 2611 :param secondarybytes_out: Gets BytesOut of the peering. 2612 :type secondarybytes_out: long 2613 """ 2614 2615 _attribute_map = { 2616 'primarybytes_in': {'key': 'primarybytesIn', 'type': 'long'}, 2617 'primarybytes_out': {'key': 'primarybytesOut', 'type': 'long'}, 2618 'secondarybytes_in': {'key': 'secondarybytesIn', 'type': 'long'}, 2619 'secondarybytes_out': {'key': 'secondarybytesOut', 'type': 'long'}, 2620 } 2621 2622 def __init__( 2623 self, 2624 *, 2625 primarybytes_in: Optional[int] = None, 2626 primarybytes_out: Optional[int] = None, 2627 secondarybytes_in: Optional[int] = None, 2628 secondarybytes_out: Optional[int] = None, 2629 **kwargs 2630 ): 2631 super(ExpressRouteCircuitStats, self).__init__(**kwargs) 2632 self.primarybytes_in = primarybytes_in 2633 self.primarybytes_out = primarybytes_out 2634 self.secondarybytes_in = secondarybytes_in 2635 self.secondarybytes_out = secondarybytes_out 2636 2637 2638class ExpressRouteServiceProvider(Resource): 2639 """A ExpressRouteResourceProvider object. 2640 2641 Variables are only populated by the server, and will be ignored when sending a request. 2642 2643 :param id: Resource ID. 2644 :type id: str 2645 :ivar name: Resource name. 2646 :vartype name: str 2647 :ivar type: Resource type. 2648 :vartype type: str 2649 :param location: Resource location. 2650 :type location: str 2651 :param tags: A set of tags. Resource tags. 2652 :type tags: dict[str, str] 2653 :param peering_locations: Get a list of peering locations. 2654 :type peering_locations: list[str] 2655 :param bandwidths_offered: Gets bandwidths offered. 2656 :type bandwidths_offered: 2657 list[~azure.mgmt.network.v2016_12_01.models.ExpressRouteServiceProviderBandwidthsOffered] 2658 :param provisioning_state: Gets the provisioning state of the resource. 2659 :type provisioning_state: str 2660 """ 2661 2662 _validation = { 2663 'name': {'readonly': True}, 2664 'type': {'readonly': True}, 2665 } 2666 2667 _attribute_map = { 2668 'id': {'key': 'id', 'type': 'str'}, 2669 'name': {'key': 'name', 'type': 'str'}, 2670 'type': {'key': 'type', 'type': 'str'}, 2671 'location': {'key': 'location', 'type': 'str'}, 2672 'tags': {'key': 'tags', 'type': '{str}'}, 2673 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, 2674 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, 2675 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2676 } 2677 2678 def __init__( 2679 self, 2680 *, 2681 id: Optional[str] = None, 2682 location: Optional[str] = None, 2683 tags: Optional[Dict[str, str]] = None, 2684 peering_locations: Optional[List[str]] = None, 2685 bandwidths_offered: Optional[List["ExpressRouteServiceProviderBandwidthsOffered"]] = None, 2686 provisioning_state: Optional[str] = None, 2687 **kwargs 2688 ): 2689 super(ExpressRouteServiceProvider, self).__init__(id=id, location=location, tags=tags, **kwargs) 2690 self.peering_locations = peering_locations 2691 self.bandwidths_offered = bandwidths_offered 2692 self.provisioning_state = provisioning_state 2693 2694 2695class ExpressRouteServiceProviderBandwidthsOffered(msrest.serialization.Model): 2696 """Contains bandwidths offered in ExpressRouteServiceProvider resources. 2697 2698 :param offer_name: The OfferName. 2699 :type offer_name: str 2700 :param value_in_mbps: The ValueInMbps. 2701 :type value_in_mbps: int 2702 """ 2703 2704 _attribute_map = { 2705 'offer_name': {'key': 'offerName', 'type': 'str'}, 2706 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, 2707 } 2708 2709 def __init__( 2710 self, 2711 *, 2712 offer_name: Optional[str] = None, 2713 value_in_mbps: Optional[int] = None, 2714 **kwargs 2715 ): 2716 super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) 2717 self.offer_name = offer_name 2718 self.value_in_mbps = value_in_mbps 2719 2720 2721class ExpressRouteServiceProviderListResult(msrest.serialization.Model): 2722 """Response for the ListExpressRouteServiceProvider API service call. 2723 2724 :param value: A list of ExpressRouteResourceProvider resources. 2725 :type value: list[~azure.mgmt.network.v2016_12_01.models.ExpressRouteServiceProvider] 2726 :param next_link: The URL to get the next set of results. 2727 :type next_link: str 2728 """ 2729 2730 _attribute_map = { 2731 'value': {'key': 'value', 'type': '[ExpressRouteServiceProvider]'}, 2732 'next_link': {'key': 'nextLink', 'type': 'str'}, 2733 } 2734 2735 def __init__( 2736 self, 2737 *, 2738 value: Optional[List["ExpressRouteServiceProvider"]] = None, 2739 next_link: Optional[str] = None, 2740 **kwargs 2741 ): 2742 super(ExpressRouteServiceProviderListResult, self).__init__(**kwargs) 2743 self.value = value 2744 self.next_link = next_link 2745 2746 2747class FlowLogInformation(msrest.serialization.Model): 2748 """Information on the configuration of flow log. 2749 2750 All required parameters must be populated in order to send to Azure. 2751 2752 :param target_resource_id: Required. The ID of the resource to configure for flow logging. 2753 :type target_resource_id: str 2754 :param storage_id: Required. ID of the storage account which is used to store the flow log. 2755 :type storage_id: str 2756 :param enabled: Required. Flag to enable/disable flow logging. 2757 :type enabled: bool 2758 :param retention_policy: Parameters that define the retention policy for flow log. 2759 :type retention_policy: ~azure.mgmt.network.v2016_12_01.models.RetentionPolicyParameters 2760 """ 2761 2762 _validation = { 2763 'target_resource_id': {'required': True}, 2764 'storage_id': {'required': True}, 2765 'enabled': {'required': True}, 2766 } 2767 2768 _attribute_map = { 2769 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 2770 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, 2771 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, 2772 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, 2773 } 2774 2775 def __init__( 2776 self, 2777 *, 2778 target_resource_id: str, 2779 storage_id: str, 2780 enabled: bool, 2781 retention_policy: Optional["RetentionPolicyParameters"] = None, 2782 **kwargs 2783 ): 2784 super(FlowLogInformation, self).__init__(**kwargs) 2785 self.target_resource_id = target_resource_id 2786 self.storage_id = storage_id 2787 self.enabled = enabled 2788 self.retention_policy = retention_policy 2789 2790 2791class FlowLogStatusParameters(msrest.serialization.Model): 2792 """Parameters that define a resource to query flow log status. 2793 2794 All required parameters must be populated in order to send to Azure. 2795 2796 :param target_resource_id: Required. The target resource where getting the flow logging status. 2797 :type target_resource_id: str 2798 """ 2799 2800 _validation = { 2801 'target_resource_id': {'required': True}, 2802 } 2803 2804 _attribute_map = { 2805 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 2806 } 2807 2808 def __init__( 2809 self, 2810 *, 2811 target_resource_id: str, 2812 **kwargs 2813 ): 2814 super(FlowLogStatusParameters, self).__init__(**kwargs) 2815 self.target_resource_id = target_resource_id 2816 2817 2818class FrontendIPConfiguration(SubResource): 2819 """Frontend IP address of the load balancer. 2820 2821 Variables are only populated by the server, and will be ignored when sending a request. 2822 2823 :param id: Resource ID. 2824 :type id: str 2825 :param name: The name of the resource that is unique within a resource group. This name can be 2826 used to access the resource. 2827 :type name: str 2828 :param etag: A unique read-only string that changes whenever the resource is updated. 2829 :type etag: str 2830 :ivar inbound_nat_rules: Read only. Inbound rules URIs that use this frontend IP. 2831 :vartype inbound_nat_rules: list[~azure.mgmt.network.v2016_12_01.models.SubResource] 2832 :ivar inbound_nat_pools: Read only. Inbound pools URIs that use this frontend IP. 2833 :vartype inbound_nat_pools: list[~azure.mgmt.network.v2016_12_01.models.SubResource] 2834 :ivar outbound_nat_rules: Read only. Outbound rules URIs that use this frontend IP. 2835 :vartype outbound_nat_rules: list[~azure.mgmt.network.v2016_12_01.models.SubResource] 2836 :ivar load_balancing_rules: Gets load balancing rules URIs that use this frontend IP. 2837 :vartype load_balancing_rules: list[~azure.mgmt.network.v2016_12_01.models.SubResource] 2838 :param private_ip_address: The private IP address of the IP configuration. 2839 :type private_ip_address: str 2840 :param private_ip_allocation_method: The Private IP allocation method. Possible values are: 2841 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 2842 :type private_ip_allocation_method: str or 2843 ~azure.mgmt.network.v2016_12_01.models.IPAllocationMethod 2844 :param subnet: The reference of the subnet resource. 2845 :type subnet: ~azure.mgmt.network.v2016_12_01.models.Subnet 2846 :param public_ip_address: The reference of the Public IP resource. 2847 :type public_ip_address: ~azure.mgmt.network.v2016_12_01.models.PublicIPAddress 2848 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 2849 values are: 'Updating', 'Deleting', and 'Failed'. 2850 :type provisioning_state: str 2851 """ 2852 2853 _validation = { 2854 'inbound_nat_rules': {'readonly': True}, 2855 'inbound_nat_pools': {'readonly': True}, 2856 'outbound_nat_rules': {'readonly': True}, 2857 'load_balancing_rules': {'readonly': True}, 2858 } 2859 2860 _attribute_map = { 2861 'id': {'key': 'id', 'type': 'str'}, 2862 'name': {'key': 'name', 'type': 'str'}, 2863 'etag': {'key': 'etag', 'type': 'str'}, 2864 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, 2865 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, 2866 'outbound_nat_rules': {'key': 'properties.outboundNatRules', 'type': '[SubResource]'}, 2867 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 2868 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 2869 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 2870 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 2871 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 2872 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2873 } 2874 2875 def __init__( 2876 self, 2877 *, 2878 id: Optional[str] = None, 2879 name: Optional[str] = None, 2880 etag: Optional[str] = None, 2881 private_ip_address: Optional[str] = None, 2882 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 2883 subnet: Optional["Subnet"] = None, 2884 public_ip_address: Optional["PublicIPAddress"] = None, 2885 provisioning_state: Optional[str] = None, 2886 **kwargs 2887 ): 2888 super(FrontendIPConfiguration, self).__init__(id=id, **kwargs) 2889 self.name = name 2890 self.etag = etag 2891 self.inbound_nat_rules = None 2892 self.inbound_nat_pools = None 2893 self.outbound_nat_rules = None 2894 self.load_balancing_rules = None 2895 self.private_ip_address = private_ip_address 2896 self.private_ip_allocation_method = private_ip_allocation_method 2897 self.subnet = subnet 2898 self.public_ip_address = public_ip_address 2899 self.provisioning_state = provisioning_state 2900 2901 2902class GatewayRoute(msrest.serialization.Model): 2903 """GatewayRoute. 2904 2905 Variables are only populated by the server, and will be ignored when sending a request. 2906 2907 :ivar local_address: The gateway's local address. 2908 :vartype local_address: str 2909 :ivar network: The route's network prefix. 2910 :vartype network: str 2911 :ivar next_hop: The route's next hop. 2912 :vartype next_hop: str 2913 :ivar source_peer: The peer this route was learned from. 2914 :vartype source_peer: str 2915 :ivar origin: The source this route was learned from. 2916 :vartype origin: str 2917 :ivar as_path: The route's AS path sequence. 2918 :vartype as_path: str 2919 :ivar weight: The route's weight. 2920 :vartype weight: int 2921 """ 2922 2923 _validation = { 2924 'local_address': {'readonly': True}, 2925 'network': {'readonly': True}, 2926 'next_hop': {'readonly': True}, 2927 'source_peer': {'readonly': True}, 2928 'origin': {'readonly': True}, 2929 'as_path': {'readonly': True}, 2930 'weight': {'readonly': True}, 2931 } 2932 2933 _attribute_map = { 2934 'local_address': {'key': 'localAddress', 'type': 'str'}, 2935 'network': {'key': 'network', 'type': 'str'}, 2936 'next_hop': {'key': 'nextHop', 'type': 'str'}, 2937 'source_peer': {'key': 'sourcePeer', 'type': 'str'}, 2938 'origin': {'key': 'origin', 'type': 'str'}, 2939 'as_path': {'key': 'asPath', 'type': 'str'}, 2940 'weight': {'key': 'weight', 'type': 'int'}, 2941 } 2942 2943 def __init__( 2944 self, 2945 **kwargs 2946 ): 2947 super(GatewayRoute, self).__init__(**kwargs) 2948 self.local_address = None 2949 self.network = None 2950 self.next_hop = None 2951 self.source_peer = None 2952 self.origin = None 2953 self.as_path = None 2954 self.weight = None 2955 2956 2957class GatewayRouteListResult(msrest.serialization.Model): 2958 """List of virtual network gateway routes. 2959 2960 :param value: List of gateway routes. 2961 :type value: list[~azure.mgmt.network.v2016_12_01.models.GatewayRoute] 2962 """ 2963 2964 _attribute_map = { 2965 'value': {'key': 'value', 'type': '[GatewayRoute]'}, 2966 } 2967 2968 def __init__( 2969 self, 2970 *, 2971 value: Optional[List["GatewayRoute"]] = None, 2972 **kwargs 2973 ): 2974 super(GatewayRouteListResult, self).__init__(**kwargs) 2975 self.value = value 2976 2977 2978class InboundNatPool(SubResource): 2979 """Inbound NAT pool of the load balancer. 2980 2981 :param id: Resource ID. 2982 :type id: str 2983 :param name: The name of the resource that is unique within a resource group. This name can be 2984 used to access the resource. 2985 :type name: str 2986 :param etag: A unique read-only string that changes whenever the resource is updated. 2987 :type etag: str 2988 :param frontend_ip_configuration: A reference to frontend IP addresses. 2989 :type frontend_ip_configuration: ~azure.mgmt.network.v2016_12_01.models.SubResource 2990 :param protocol: The transport protocol for the endpoint. Possible values are: 'Udp' or 'Tcp'. 2991 Possible values include: "Udp", "Tcp". 2992 :type protocol: str or ~azure.mgmt.network.v2016_12_01.models.TransportProtocol 2993 :param frontend_port_range_start: The first port number in the range of external ports that 2994 will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values 2995 range between 1 and 65534. 2996 :type frontend_port_range_start: int 2997 :param frontend_port_range_end: The last port number in the range of external ports that will 2998 be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range 2999 between 1 and 65535. 3000 :type frontend_port_range_end: int 3001 :param backend_port: The port used for internal connections on the endpoint. Acceptable values 3002 are between 1 and 65535. 3003 :type backend_port: int 3004 :param provisioning_state: Gets the provisioning state of the PublicIP resource. Possible 3005 values are: 'Updating', 'Deleting', and 'Failed'. 3006 :type provisioning_state: str 3007 """ 3008 3009 _attribute_map = { 3010 'id': {'key': 'id', 'type': 'str'}, 3011 'name': {'key': 'name', 'type': 'str'}, 3012 'etag': {'key': 'etag', 'type': 'str'}, 3013 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 3014 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 3015 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, 3016 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, 3017 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 3018 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3019 } 3020 3021 def __init__( 3022 self, 3023 *, 3024 id: Optional[str] = None, 3025 name: Optional[str] = None, 3026 etag: Optional[str] = None, 3027 frontend_ip_configuration: Optional["SubResource"] = None, 3028 protocol: Optional[Union[str, "TransportProtocol"]] = None, 3029 frontend_port_range_start: Optional[int] = None, 3030 frontend_port_range_end: Optional[int] = None, 3031 backend_port: Optional[int] = None, 3032 provisioning_state: Optional[str] = None, 3033 **kwargs 3034 ): 3035 super(InboundNatPool, self).__init__(id=id, **kwargs) 3036 self.name = name 3037 self.etag = etag 3038 self.frontend_ip_configuration = frontend_ip_configuration 3039 self.protocol = protocol 3040 self.frontend_port_range_start = frontend_port_range_start 3041 self.frontend_port_range_end = frontend_port_range_end 3042 self.backend_port = backend_port 3043 self.provisioning_state = provisioning_state 3044 3045 3046class InboundNatRule(SubResource): 3047 """Inbound NAT rule of the load balancer. 3048 3049 Variables are only populated by the server, and will be ignored when sending a request. 3050 3051 :param id: Resource ID. 3052 :type id: str 3053 :param name: Gets name of the resource that is unique within a resource group. This name can be 3054 used to access the resource. 3055 :type name: str 3056 :param etag: A unique read-only string that changes whenever the resource is updated. 3057 :type etag: str 3058 :param frontend_ip_configuration: A reference to frontend IP addresses. 3059 :type frontend_ip_configuration: ~azure.mgmt.network.v2016_12_01.models.SubResource 3060 :ivar backend_ip_configuration: A reference to a private IP address defined on a network 3061 interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations 3062 is forwarded to the backed IP. 3063 :vartype backend_ip_configuration: 3064 ~azure.mgmt.network.v2016_12_01.models.NetworkInterfaceIPConfiguration 3065 :param protocol: The transport protocol for the endpoint. Possible values are: 'Udp' or 'Tcp'. 3066 Possible values include: "Udp", "Tcp". 3067 :type protocol: str or ~azure.mgmt.network.v2016_12_01.models.TransportProtocol 3068 :param frontend_port: The port for the external endpoint. Port numbers for each rule must be 3069 unique within the Load Balancer. Acceptable values range from 1 to 65534. 3070 :type frontend_port: int 3071 :param backend_port: The port used for the internal endpoint. Acceptable values range from 1 to 3072 65535. 3073 :type backend_port: int 3074 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. The value can be set 3075 between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the 3076 protocol is set to TCP. 3077 :type idle_timeout_in_minutes: int 3078 :param enable_floating_ip: Configures a virtual machine's endpoint for the floating IP 3079 capability required to configure a SQL AlwaysOn Availability Group. This setting is required 3080 when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed 3081 after you create the endpoint. 3082 :type enable_floating_ip: bool 3083 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 3084 values are: 'Updating', 'Deleting', and 'Failed'. 3085 :type provisioning_state: str 3086 """ 3087 3088 _validation = { 3089 'backend_ip_configuration': {'readonly': True}, 3090 } 3091 3092 _attribute_map = { 3093 'id': {'key': 'id', 'type': 'str'}, 3094 'name': {'key': 'name', 'type': 'str'}, 3095 'etag': {'key': 'etag', 'type': 'str'}, 3096 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 3097 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, 3098 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 3099 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, 3100 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 3101 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 3102 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, 3103 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3104 } 3105 3106 def __init__( 3107 self, 3108 *, 3109 id: Optional[str] = None, 3110 name: Optional[str] = None, 3111 etag: Optional[str] = None, 3112 frontend_ip_configuration: Optional["SubResource"] = None, 3113 protocol: Optional[Union[str, "TransportProtocol"]] = None, 3114 frontend_port: Optional[int] = None, 3115 backend_port: Optional[int] = None, 3116 idle_timeout_in_minutes: Optional[int] = None, 3117 enable_floating_ip: Optional[bool] = None, 3118 provisioning_state: Optional[str] = None, 3119 **kwargs 3120 ): 3121 super(InboundNatRule, self).__init__(id=id, **kwargs) 3122 self.name = name 3123 self.etag = etag 3124 self.frontend_ip_configuration = frontend_ip_configuration 3125 self.backend_ip_configuration = None 3126 self.protocol = protocol 3127 self.frontend_port = frontend_port 3128 self.backend_port = backend_port 3129 self.idle_timeout_in_minutes = idle_timeout_in_minutes 3130 self.enable_floating_ip = enable_floating_ip 3131 self.provisioning_state = provisioning_state 3132 3133 3134class IPAddressAvailabilityResult(msrest.serialization.Model): 3135 """Response for CheckIPAddressAvailability API service call. 3136 3137 :param available: Private IP address availability. 3138 :type available: bool 3139 :param available_ip_addresses: Contains other available private IP addresses if the asked for 3140 address is taken. 3141 :type available_ip_addresses: list[str] 3142 """ 3143 3144 _attribute_map = { 3145 'available': {'key': 'available', 'type': 'bool'}, 3146 'available_ip_addresses': {'key': 'availableIPAddresses', 'type': '[str]'}, 3147 } 3148 3149 def __init__( 3150 self, 3151 *, 3152 available: Optional[bool] = None, 3153 available_ip_addresses: Optional[List[str]] = None, 3154 **kwargs 3155 ): 3156 super(IPAddressAvailabilityResult, self).__init__(**kwargs) 3157 self.available = available 3158 self.available_ip_addresses = available_ip_addresses 3159 3160 3161class IPConfiguration(SubResource): 3162 """IPConfiguration. 3163 3164 :param id: Resource ID. 3165 :type id: str 3166 :param name: The name of the resource that is unique within a resource group. This name can be 3167 used to access the resource. 3168 :type name: str 3169 :param etag: A unique read-only string that changes whenever the resource is updated. 3170 :type etag: str 3171 :param private_ip_address: The private IP address of the IP configuration. 3172 :type private_ip_address: str 3173 :param private_ip_allocation_method: The private IP allocation method. Possible values are 3174 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 3175 :type private_ip_allocation_method: str or 3176 ~azure.mgmt.network.v2016_12_01.models.IPAllocationMethod 3177 :param subnet: The reference of the subnet resource. 3178 :type subnet: ~azure.mgmt.network.v2016_12_01.models.Subnet 3179 :param public_ip_address: The reference of the public IP resource. 3180 :type public_ip_address: ~azure.mgmt.network.v2016_12_01.models.PublicIPAddress 3181 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 3182 values are: 'Updating', 'Deleting', and 'Failed'. 3183 :type provisioning_state: str 3184 """ 3185 3186 _attribute_map = { 3187 'id': {'key': 'id', 'type': 'str'}, 3188 'name': {'key': 'name', 'type': 'str'}, 3189 'etag': {'key': 'etag', 'type': 'str'}, 3190 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 3191 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 3192 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 3193 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 3194 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3195 } 3196 3197 def __init__( 3198 self, 3199 *, 3200 id: Optional[str] = None, 3201 name: Optional[str] = None, 3202 etag: Optional[str] = None, 3203 private_ip_address: Optional[str] = None, 3204 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 3205 subnet: Optional["Subnet"] = None, 3206 public_ip_address: Optional["PublicIPAddress"] = None, 3207 provisioning_state: Optional[str] = None, 3208 **kwargs 3209 ): 3210 super(IPConfiguration, self).__init__(id=id, **kwargs) 3211 self.name = name 3212 self.etag = etag 3213 self.private_ip_address = private_ip_address 3214 self.private_ip_allocation_method = private_ip_allocation_method 3215 self.subnet = subnet 3216 self.public_ip_address = public_ip_address 3217 self.provisioning_state = provisioning_state 3218 3219 3220class LoadBalancer(Resource): 3221 """LoadBalancer resource. 3222 3223 Variables are only populated by the server, and will be ignored when sending a request. 3224 3225 :param id: Resource ID. 3226 :type id: str 3227 :ivar name: Resource name. 3228 :vartype name: str 3229 :ivar type: Resource type. 3230 :vartype type: str 3231 :param location: Resource location. 3232 :type location: str 3233 :param tags: A set of tags. Resource tags. 3234 :type tags: dict[str, str] 3235 :param etag: A unique read-only string that changes whenever the resource is updated. 3236 :type etag: str 3237 :param frontend_ip_configurations: Object representing the frontend IPs to be used for the load 3238 balancer. 3239 :type frontend_ip_configurations: 3240 list[~azure.mgmt.network.v2016_12_01.models.FrontendIPConfiguration] 3241 :param backend_address_pools: Collection of backend address pools used by a load balancer. 3242 :type backend_address_pools: list[~azure.mgmt.network.v2016_12_01.models.BackendAddressPool] 3243 :param load_balancing_rules: Object collection representing the load balancing rules Gets the 3244 provisioning. 3245 :type load_balancing_rules: list[~azure.mgmt.network.v2016_12_01.models.LoadBalancingRule] 3246 :param probes: Collection of probe objects used in the load balancer. 3247 :type probes: list[~azure.mgmt.network.v2016_12_01.models.Probe] 3248 :param inbound_nat_rules: Collection of inbound NAT Rules used by a load balancer. Defining 3249 inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT 3250 pool. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are 3251 associated with individual virtual machines cannot reference an Inbound NAT pool. They have to 3252 reference individual inbound NAT rules. 3253 :type inbound_nat_rules: list[~azure.mgmt.network.v2016_12_01.models.InboundNatRule] 3254 :param inbound_nat_pools: Defines an external port range for inbound NAT to a single backend 3255 port on NICs associated with a load balancer. Inbound NAT rules are created automatically for 3256 each NIC associated with the Load Balancer using an external port from this range. Defining an 3257 Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat rules. 3258 Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with 3259 individual virtual machines cannot reference an inbound NAT pool. They have to reference 3260 individual inbound NAT rules. 3261 :type inbound_nat_pools: list[~azure.mgmt.network.v2016_12_01.models.InboundNatPool] 3262 :param outbound_nat_rules: The outbound NAT rules. 3263 :type outbound_nat_rules: list[~azure.mgmt.network.v2016_12_01.models.OutboundNatRule] 3264 :param resource_guid: The resource GUID property of the load balancer resource. 3265 :type resource_guid: str 3266 :param provisioning_state: Gets the provisioning state of the PublicIP resource. Possible 3267 values are: 'Updating', 'Deleting', and 'Failed'. 3268 :type provisioning_state: str 3269 """ 3270 3271 _validation = { 3272 'name': {'readonly': True}, 3273 'type': {'readonly': True}, 3274 } 3275 3276 _attribute_map = { 3277 'id': {'key': 'id', 'type': 'str'}, 3278 'name': {'key': 'name', 'type': 'str'}, 3279 'type': {'key': 'type', 'type': 'str'}, 3280 'location': {'key': 'location', 'type': 'str'}, 3281 'tags': {'key': 'tags', 'type': '{str}'}, 3282 'etag': {'key': 'etag', 'type': 'str'}, 3283 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, 3284 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, 3285 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, 3286 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, 3287 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, 3288 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, 3289 'outbound_nat_rules': {'key': 'properties.outboundNatRules', 'type': '[OutboundNatRule]'}, 3290 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 3291 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3292 } 3293 3294 def __init__( 3295 self, 3296 *, 3297 id: Optional[str] = None, 3298 location: Optional[str] = None, 3299 tags: Optional[Dict[str, str]] = None, 3300 etag: Optional[str] = None, 3301 frontend_ip_configurations: Optional[List["FrontendIPConfiguration"]] = None, 3302 backend_address_pools: Optional[List["BackendAddressPool"]] = None, 3303 load_balancing_rules: Optional[List["LoadBalancingRule"]] = None, 3304 probes: Optional[List["Probe"]] = None, 3305 inbound_nat_rules: Optional[List["InboundNatRule"]] = None, 3306 inbound_nat_pools: Optional[List["InboundNatPool"]] = None, 3307 outbound_nat_rules: Optional[List["OutboundNatRule"]] = None, 3308 resource_guid: Optional[str] = None, 3309 provisioning_state: Optional[str] = None, 3310 **kwargs 3311 ): 3312 super(LoadBalancer, self).__init__(id=id, location=location, tags=tags, **kwargs) 3313 self.etag = etag 3314 self.frontend_ip_configurations = frontend_ip_configurations 3315 self.backend_address_pools = backend_address_pools 3316 self.load_balancing_rules = load_balancing_rules 3317 self.probes = probes 3318 self.inbound_nat_rules = inbound_nat_rules 3319 self.inbound_nat_pools = inbound_nat_pools 3320 self.outbound_nat_rules = outbound_nat_rules 3321 self.resource_guid = resource_guid 3322 self.provisioning_state = provisioning_state 3323 3324 3325class LoadBalancerListResult(msrest.serialization.Model): 3326 """Response for ListLoadBalancers API service call. 3327 3328 :param value: A list of load balancers in a resource group. 3329 :type value: list[~azure.mgmt.network.v2016_12_01.models.LoadBalancer] 3330 :param next_link: The URL to get the next set of results. 3331 :type next_link: str 3332 """ 3333 3334 _attribute_map = { 3335 'value': {'key': 'value', 'type': '[LoadBalancer]'}, 3336 'next_link': {'key': 'nextLink', 'type': 'str'}, 3337 } 3338 3339 def __init__( 3340 self, 3341 *, 3342 value: Optional[List["LoadBalancer"]] = None, 3343 next_link: Optional[str] = None, 3344 **kwargs 3345 ): 3346 super(LoadBalancerListResult, self).__init__(**kwargs) 3347 self.value = value 3348 self.next_link = next_link 3349 3350 3351class LoadBalancingRule(SubResource): 3352 """A load balancing rule for a load balancer. 3353 3354 :param id: Resource ID. 3355 :type id: str 3356 :param name: The name of the resource that is unique within a resource group. This name can be 3357 used to access the resource. 3358 :type name: str 3359 :param etag: A unique read-only string that changes whenever the resource is updated. 3360 :type etag: str 3361 :param frontend_ip_configuration: A reference to frontend IP addresses. 3362 :type frontend_ip_configuration: ~azure.mgmt.network.v2016_12_01.models.SubResource 3363 :param backend_address_pool: A reference to a pool of DIPs. Inbound traffic is randomly load 3364 balanced across IPs in the backend IPs. 3365 :type backend_address_pool: ~azure.mgmt.network.v2016_12_01.models.SubResource 3366 :param probe: The reference of the load balancer probe used by the load balancing rule. 3367 :type probe: ~azure.mgmt.network.v2016_12_01.models.SubResource 3368 :param protocol: The transport protocol for the external endpoint. Possible values are 'Udp' or 3369 'Tcp'. Possible values include: "Udp", "Tcp". 3370 :type protocol: str or ~azure.mgmt.network.v2016_12_01.models.TransportProtocol 3371 :param load_distribution: The load distribution policy for this rule. Possible values are 3372 'Default', 'SourceIP', and 'SourceIPProtocol'. Possible values include: "Default", "SourceIP", 3373 "SourceIPProtocol". 3374 :type load_distribution: str or ~azure.mgmt.network.v2016_12_01.models.LoadDistribution 3375 :param frontend_port: The port for the external endpoint. Port numbers for each rule must be 3376 unique within the Load Balancer. Acceptable values are between 1 and 65534. 3377 :type frontend_port: int 3378 :param backend_port: The port used for internal connections on the endpoint. Acceptable values 3379 are between 1 and 65535. 3380 :type backend_port: int 3381 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. The value can be set 3382 between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the 3383 protocol is set to TCP. 3384 :type idle_timeout_in_minutes: int 3385 :param enable_floating_ip: Configures a virtual machine's endpoint for the floating IP 3386 capability required to configure a SQL AlwaysOn Availability Group. This setting is required 3387 when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed 3388 after you create the endpoint. 3389 :type enable_floating_ip: bool 3390 :param provisioning_state: Gets the provisioning state of the PublicIP resource. Possible 3391 values are: 'Updating', 'Deleting', and 'Failed'. 3392 :type provisioning_state: str 3393 """ 3394 3395 _attribute_map = { 3396 'id': {'key': 'id', 'type': 'str'}, 3397 'name': {'key': 'name', 'type': 'str'}, 3398 'etag': {'key': 'etag', 'type': 'str'}, 3399 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 3400 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 3401 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, 3402 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 3403 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, 3404 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, 3405 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 3406 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 3407 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, 3408 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3409 } 3410 3411 def __init__( 3412 self, 3413 *, 3414 id: Optional[str] = None, 3415 name: Optional[str] = None, 3416 etag: Optional[str] = None, 3417 frontend_ip_configuration: Optional["SubResource"] = None, 3418 backend_address_pool: Optional["SubResource"] = None, 3419 probe: Optional["SubResource"] = None, 3420 protocol: Optional[Union[str, "TransportProtocol"]] = None, 3421 load_distribution: Optional[Union[str, "LoadDistribution"]] = None, 3422 frontend_port: Optional[int] = None, 3423 backend_port: Optional[int] = None, 3424 idle_timeout_in_minutes: Optional[int] = None, 3425 enable_floating_ip: Optional[bool] = None, 3426 provisioning_state: Optional[str] = None, 3427 **kwargs 3428 ): 3429 super(LoadBalancingRule, self).__init__(id=id, **kwargs) 3430 self.name = name 3431 self.etag = etag 3432 self.frontend_ip_configuration = frontend_ip_configuration 3433 self.backend_address_pool = backend_address_pool 3434 self.probe = probe 3435 self.protocol = protocol 3436 self.load_distribution = load_distribution 3437 self.frontend_port = frontend_port 3438 self.backend_port = backend_port 3439 self.idle_timeout_in_minutes = idle_timeout_in_minutes 3440 self.enable_floating_ip = enable_floating_ip 3441 self.provisioning_state = provisioning_state 3442 3443 3444class LocalNetworkGateway(Resource): 3445 """A common class for general resource information. 3446 3447 Variables are only populated by the server, and will be ignored when sending a request. 3448 3449 :param id: Resource ID. 3450 :type id: str 3451 :ivar name: Resource name. 3452 :vartype name: str 3453 :ivar type: Resource type. 3454 :vartype type: str 3455 :param location: Resource location. 3456 :type location: str 3457 :param tags: A set of tags. Resource tags. 3458 :type tags: dict[str, str] 3459 :param etag: A unique read-only string that changes whenever the resource is updated. 3460 :type etag: str 3461 :param local_network_address_space: Local network site address space. 3462 :type local_network_address_space: ~azure.mgmt.network.v2016_12_01.models.AddressSpace 3463 :param gateway_ip_address: IP address of local network gateway. 3464 :type gateway_ip_address: str 3465 :param bgp_settings: Local network gateway's BGP speaker settings. 3466 :type bgp_settings: ~azure.mgmt.network.v2016_12_01.models.BgpSettings 3467 :param resource_guid: The resource GUID property of the LocalNetworkGateway resource. 3468 :type resource_guid: str 3469 :ivar provisioning_state: The provisioning state of the LocalNetworkGateway resource. Possible 3470 values are: 'Updating', 'Deleting', and 'Failed'. 3471 :vartype provisioning_state: str 3472 """ 3473 3474 _validation = { 3475 'name': {'readonly': True}, 3476 'type': {'readonly': True}, 3477 'provisioning_state': {'readonly': True}, 3478 } 3479 3480 _attribute_map = { 3481 'id': {'key': 'id', 'type': 'str'}, 3482 'name': {'key': 'name', 'type': 'str'}, 3483 'type': {'key': 'type', 'type': 'str'}, 3484 'location': {'key': 'location', 'type': 'str'}, 3485 'tags': {'key': 'tags', 'type': '{str}'}, 3486 'etag': {'key': 'etag', 'type': 'str'}, 3487 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, 3488 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, 3489 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, 3490 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 3491 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3492 } 3493 3494 def __init__( 3495 self, 3496 *, 3497 id: Optional[str] = None, 3498 location: Optional[str] = None, 3499 tags: Optional[Dict[str, str]] = None, 3500 etag: Optional[str] = None, 3501 local_network_address_space: Optional["AddressSpace"] = None, 3502 gateway_ip_address: Optional[str] = None, 3503 bgp_settings: Optional["BgpSettings"] = None, 3504 resource_guid: Optional[str] = None, 3505 **kwargs 3506 ): 3507 super(LocalNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 3508 self.etag = etag 3509 self.local_network_address_space = local_network_address_space 3510 self.gateway_ip_address = gateway_ip_address 3511 self.bgp_settings = bgp_settings 3512 self.resource_guid = resource_guid 3513 self.provisioning_state = None 3514 3515 3516class LocalNetworkGatewayListResult(msrest.serialization.Model): 3517 """Response for ListLocalNetworkGateways API service call. 3518 3519 :param value: A list of local network gateways that exists in a resource group. 3520 :type value: list[~azure.mgmt.network.v2016_12_01.models.LocalNetworkGateway] 3521 :param next_link: The URL to get the next set of results. 3522 :type next_link: str 3523 """ 3524 3525 _attribute_map = { 3526 'value': {'key': 'value', 'type': '[LocalNetworkGateway]'}, 3527 'next_link': {'key': 'nextLink', 'type': 'str'}, 3528 } 3529 3530 def __init__( 3531 self, 3532 *, 3533 value: Optional[List["LocalNetworkGateway"]] = None, 3534 next_link: Optional[str] = None, 3535 **kwargs 3536 ): 3537 super(LocalNetworkGatewayListResult, self).__init__(**kwargs) 3538 self.value = value 3539 self.next_link = next_link 3540 3541 3542class NetworkInterface(Resource): 3543 """A network interface in a resource group. 3544 3545 Variables are only populated by the server, and will be ignored when sending a request. 3546 3547 :param id: Resource ID. 3548 :type id: str 3549 :ivar name: Resource name. 3550 :vartype name: str 3551 :ivar type: Resource type. 3552 :vartype type: str 3553 :param location: Resource location. 3554 :type location: str 3555 :param tags: A set of tags. Resource tags. 3556 :type tags: dict[str, str] 3557 :param etag: A unique read-only string that changes whenever the resource is updated. 3558 :type etag: str 3559 :param virtual_machine: The reference of a virtual machine. 3560 :type virtual_machine: ~azure.mgmt.network.v2016_12_01.models.SubResource 3561 :param network_security_group: The reference of the NetworkSecurityGroup resource. 3562 :type network_security_group: ~azure.mgmt.network.v2016_12_01.models.NetworkSecurityGroup 3563 :param ip_configurations: A list of IPConfigurations of the network interface. 3564 :type ip_configurations: 3565 list[~azure.mgmt.network.v2016_12_01.models.NetworkInterfaceIPConfiguration] 3566 :param dns_settings: The DNS settings in network interface. 3567 :type dns_settings: ~azure.mgmt.network.v2016_12_01.models.NetworkInterfaceDnsSettings 3568 :param mac_address: The MAC address of the network interface. 3569 :type mac_address: str 3570 :param primary: Gets whether this is a primary network interface on a virtual machine. 3571 :type primary: bool 3572 :param enable_accelerated_networking: If the network interface is accelerated networking 3573 enabled. 3574 :type enable_accelerated_networking: bool 3575 :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on this network 3576 interface. 3577 :type enable_ip_forwarding: bool 3578 :param resource_guid: The resource GUID property of the network interface resource. 3579 :type resource_guid: str 3580 :param provisioning_state: The provisioning state of the public IP resource. Possible values 3581 are: 'Updating', 'Deleting', and 'Failed'. 3582 :type provisioning_state: str 3583 """ 3584 3585 _validation = { 3586 'name': {'readonly': True}, 3587 'type': {'readonly': True}, 3588 } 3589 3590 _attribute_map = { 3591 'id': {'key': 'id', 'type': 'str'}, 3592 'name': {'key': 'name', 'type': 'str'}, 3593 'type': {'key': 'type', 'type': 'str'}, 3594 'location': {'key': 'location', 'type': 'str'}, 3595 'tags': {'key': 'tags', 'type': '{str}'}, 3596 'etag': {'key': 'etag', 'type': 'str'}, 3597 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, 3598 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, 3599 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 3600 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, 3601 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, 3602 'primary': {'key': 'properties.primary', 'type': 'bool'}, 3603 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, 3604 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, 3605 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 3606 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3607 } 3608 3609 def __init__( 3610 self, 3611 *, 3612 id: Optional[str] = None, 3613 location: Optional[str] = None, 3614 tags: Optional[Dict[str, str]] = None, 3615 etag: Optional[str] = None, 3616 virtual_machine: Optional["SubResource"] = None, 3617 network_security_group: Optional["NetworkSecurityGroup"] = None, 3618 ip_configurations: Optional[List["NetworkInterfaceIPConfiguration"]] = None, 3619 dns_settings: Optional["NetworkInterfaceDnsSettings"] = None, 3620 mac_address: Optional[str] = None, 3621 primary: Optional[bool] = None, 3622 enable_accelerated_networking: Optional[bool] = None, 3623 enable_ip_forwarding: Optional[bool] = None, 3624 resource_guid: Optional[str] = None, 3625 provisioning_state: Optional[str] = None, 3626 **kwargs 3627 ): 3628 super(NetworkInterface, self).__init__(id=id, location=location, tags=tags, **kwargs) 3629 self.etag = etag 3630 self.virtual_machine = virtual_machine 3631 self.network_security_group = network_security_group 3632 self.ip_configurations = ip_configurations 3633 self.dns_settings = dns_settings 3634 self.mac_address = mac_address 3635 self.primary = primary 3636 self.enable_accelerated_networking = enable_accelerated_networking 3637 self.enable_ip_forwarding = enable_ip_forwarding 3638 self.resource_guid = resource_guid 3639 self.provisioning_state = provisioning_state 3640 3641 3642class NetworkInterfaceAssociation(msrest.serialization.Model): 3643 """Network interface and its custom security rules. 3644 3645 Variables are only populated by the server, and will be ignored when sending a request. 3646 3647 :ivar id: Network interface ID. 3648 :vartype id: str 3649 :param security_rules: Collection of custom security rules. 3650 :type security_rules: list[~azure.mgmt.network.v2016_12_01.models.SecurityRule] 3651 """ 3652 3653 _validation = { 3654 'id': {'readonly': True}, 3655 } 3656 3657 _attribute_map = { 3658 'id': {'key': 'id', 'type': 'str'}, 3659 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, 3660 } 3661 3662 def __init__( 3663 self, 3664 *, 3665 security_rules: Optional[List["SecurityRule"]] = None, 3666 **kwargs 3667 ): 3668 super(NetworkInterfaceAssociation, self).__init__(**kwargs) 3669 self.id = None 3670 self.security_rules = security_rules 3671 3672 3673class NetworkInterfaceDnsSettings(msrest.serialization.Model): 3674 """DNS settings of a network interface. 3675 3676 :param dns_servers: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure 3677 provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be 3678 the only value in dnsServers collection. 3679 :type dns_servers: list[str] 3680 :param applied_dns_servers: If the VM that uses this NIC is part of an Availability Set, then 3681 this list will have the union of all DNS servers from all NICs that are part of the 3682 Availability Set. This property is what is configured on each of those VMs. 3683 :type applied_dns_servers: list[str] 3684 :param internal_dns_name_label: Relative DNS name for this NIC used for internal communications 3685 between VMs in the same virtual network. 3686 :type internal_dns_name_label: str 3687 :param internal_fqdn: Fully qualified DNS name supporting internal communications between VMs 3688 in the same virtual network. 3689 :type internal_fqdn: str 3690 :param internal_domain_name_suffix: Even if internalDnsNameLabel is not specified, a DNS entry 3691 is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the 3692 VM name with the value of internalDomainNameSuffix. 3693 :type internal_domain_name_suffix: str 3694 """ 3695 3696 _attribute_map = { 3697 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, 3698 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, 3699 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, 3700 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, 3701 'internal_domain_name_suffix': {'key': 'internalDomainNameSuffix', 'type': 'str'}, 3702 } 3703 3704 def __init__( 3705 self, 3706 *, 3707 dns_servers: Optional[List[str]] = None, 3708 applied_dns_servers: Optional[List[str]] = None, 3709 internal_dns_name_label: Optional[str] = None, 3710 internal_fqdn: Optional[str] = None, 3711 internal_domain_name_suffix: Optional[str] = None, 3712 **kwargs 3713 ): 3714 super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) 3715 self.dns_servers = dns_servers 3716 self.applied_dns_servers = applied_dns_servers 3717 self.internal_dns_name_label = internal_dns_name_label 3718 self.internal_fqdn = internal_fqdn 3719 self.internal_domain_name_suffix = internal_domain_name_suffix 3720 3721 3722class NetworkInterfaceIPConfiguration(SubResource): 3723 """IPConfiguration in a network interface. 3724 3725 :param id: Resource ID. 3726 :type id: str 3727 :param name: The name of the resource that is unique within a resource group. This name can be 3728 used to access the resource. 3729 :type name: str 3730 :param etag: A unique read-only string that changes whenever the resource is updated. 3731 :type etag: str 3732 :param application_gateway_backend_address_pools: The reference of 3733 ApplicationGatewayBackendAddressPool resource. 3734 :type application_gateway_backend_address_pools: 3735 list[~azure.mgmt.network.v2016_12_01.models.ApplicationGatewayBackendAddressPool] 3736 :param load_balancer_backend_address_pools: The reference of LoadBalancerBackendAddressPool 3737 resource. 3738 :type load_balancer_backend_address_pools: 3739 list[~azure.mgmt.network.v2016_12_01.models.BackendAddressPool] 3740 :param load_balancer_inbound_nat_rules: A list of references of LoadBalancerInboundNatRules. 3741 :type load_balancer_inbound_nat_rules: 3742 list[~azure.mgmt.network.v2016_12_01.models.InboundNatRule] 3743 :param private_ip_address: 3744 :type private_ip_address: str 3745 :param private_ip_allocation_method: Defines how a private IP address is assigned. Possible 3746 values are: 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 3747 :type private_ip_allocation_method: str or 3748 ~azure.mgmt.network.v2016_12_01.models.IPAllocationMethod 3749 :param private_ip_address_version: Available from Api-Version 2016-03-30 onwards, it represents 3750 whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible 3751 values are: 'IPv4' and 'IPv6'. Possible values include: "IPv4", "IPv6". 3752 :type private_ip_address_version: str or ~azure.mgmt.network.v2016_12_01.models.IPVersion 3753 :param subnet: Subnet in a virtual network resource. 3754 :type subnet: ~azure.mgmt.network.v2016_12_01.models.Subnet 3755 :param primary: Gets whether this is a primary customer address on the network interface. 3756 :type primary: bool 3757 :param public_ip_address: Public IP address resource. 3758 :type public_ip_address: ~azure.mgmt.network.v2016_12_01.models.PublicIPAddress 3759 :param provisioning_state: 3760 :type provisioning_state: str 3761 """ 3762 3763 _attribute_map = { 3764 'id': {'key': 'id', 'type': 'str'}, 3765 'name': {'key': 'name', 'type': 'str'}, 3766 'etag': {'key': 'etag', 'type': 'str'}, 3767 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, 3768 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, 3769 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, 3770 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 3771 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 3772 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, 3773 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 3774 'primary': {'key': 'properties.primary', 'type': 'bool'}, 3775 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 3776 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3777 } 3778 3779 def __init__( 3780 self, 3781 *, 3782 id: Optional[str] = None, 3783 name: Optional[str] = None, 3784 etag: Optional[str] = None, 3785 application_gateway_backend_address_pools: Optional[List["ApplicationGatewayBackendAddressPool"]] = None, 3786 load_balancer_backend_address_pools: Optional[List["BackendAddressPool"]] = None, 3787 load_balancer_inbound_nat_rules: Optional[List["InboundNatRule"]] = None, 3788 private_ip_address: Optional[str] = None, 3789 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 3790 private_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 3791 subnet: Optional["Subnet"] = None, 3792 primary: Optional[bool] = None, 3793 public_ip_address: Optional["PublicIPAddress"] = None, 3794 provisioning_state: Optional[str] = None, 3795 **kwargs 3796 ): 3797 super(NetworkInterfaceIPConfiguration, self).__init__(id=id, **kwargs) 3798 self.name = name 3799 self.etag = etag 3800 self.application_gateway_backend_address_pools = application_gateway_backend_address_pools 3801 self.load_balancer_backend_address_pools = load_balancer_backend_address_pools 3802 self.load_balancer_inbound_nat_rules = load_balancer_inbound_nat_rules 3803 self.private_ip_address = private_ip_address 3804 self.private_ip_allocation_method = private_ip_allocation_method 3805 self.private_ip_address_version = private_ip_address_version 3806 self.subnet = subnet 3807 self.primary = primary 3808 self.public_ip_address = public_ip_address 3809 self.provisioning_state = provisioning_state 3810 3811 3812class NetworkInterfaceListResult(msrest.serialization.Model): 3813 """Response for the ListNetworkInterface API service call. 3814 3815 :param value: A list of network interfaces in a resource group. 3816 :type value: list[~azure.mgmt.network.v2016_12_01.models.NetworkInterface] 3817 :param next_link: The URL to get the next set of results. 3818 :type next_link: str 3819 """ 3820 3821 _attribute_map = { 3822 'value': {'key': 'value', 'type': '[NetworkInterface]'}, 3823 'next_link': {'key': 'nextLink', 'type': 'str'}, 3824 } 3825 3826 def __init__( 3827 self, 3828 *, 3829 value: Optional[List["NetworkInterface"]] = None, 3830 next_link: Optional[str] = None, 3831 **kwargs 3832 ): 3833 super(NetworkInterfaceListResult, self).__init__(**kwargs) 3834 self.value = value 3835 self.next_link = next_link 3836 3837 3838class NetworkSecurityGroup(Resource): 3839 """NetworkSecurityGroup resource. 3840 3841 Variables are only populated by the server, and will be ignored when sending a request. 3842 3843 :param id: Resource ID. 3844 :type id: str 3845 :ivar name: Resource name. 3846 :vartype name: str 3847 :ivar type: Resource type. 3848 :vartype type: str 3849 :param location: Resource location. 3850 :type location: str 3851 :param tags: A set of tags. Resource tags. 3852 :type tags: dict[str, str] 3853 :param etag: A unique read-only string that changes whenever the resource is updated. 3854 :type etag: str 3855 :param security_rules: A collection of security rules of the network security group. 3856 :type security_rules: list[~azure.mgmt.network.v2016_12_01.models.SecurityRule] 3857 :param default_security_rules: The default security rules of network security group. 3858 :type default_security_rules: list[~azure.mgmt.network.v2016_12_01.models.SecurityRule] 3859 :ivar network_interfaces: A collection of references to network interfaces. 3860 :vartype network_interfaces: list[~azure.mgmt.network.v2016_12_01.models.NetworkInterface] 3861 :ivar subnets: A collection of references to subnets. 3862 :vartype subnets: list[~azure.mgmt.network.v2016_12_01.models.Subnet] 3863 :param resource_guid: The resource GUID property of the network security group resource. 3864 :type resource_guid: str 3865 :param provisioning_state: The provisioning state of the public IP resource. Possible values 3866 are: 'Updating', 'Deleting', and 'Failed'. 3867 :type provisioning_state: str 3868 """ 3869 3870 _validation = { 3871 'name': {'readonly': True}, 3872 'type': {'readonly': True}, 3873 'network_interfaces': {'readonly': True}, 3874 'subnets': {'readonly': True}, 3875 } 3876 3877 _attribute_map = { 3878 'id': {'key': 'id', 'type': 'str'}, 3879 'name': {'key': 'name', 'type': 'str'}, 3880 'type': {'key': 'type', 'type': 'str'}, 3881 'location': {'key': 'location', 'type': 'str'}, 3882 'tags': {'key': 'tags', 'type': '{str}'}, 3883 'etag': {'key': 'etag', 'type': 'str'}, 3884 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, 3885 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, 3886 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, 3887 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 3888 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 3889 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3890 } 3891 3892 def __init__( 3893 self, 3894 *, 3895 id: Optional[str] = None, 3896 location: Optional[str] = None, 3897 tags: Optional[Dict[str, str]] = None, 3898 etag: Optional[str] = None, 3899 security_rules: Optional[List["SecurityRule"]] = None, 3900 default_security_rules: Optional[List["SecurityRule"]] = None, 3901 resource_guid: Optional[str] = None, 3902 provisioning_state: Optional[str] = None, 3903 **kwargs 3904 ): 3905 super(NetworkSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) 3906 self.etag = etag 3907 self.security_rules = security_rules 3908 self.default_security_rules = default_security_rules 3909 self.network_interfaces = None 3910 self.subnets = None 3911 self.resource_guid = resource_guid 3912 self.provisioning_state = provisioning_state 3913 3914 3915class NetworkSecurityGroupListResult(msrest.serialization.Model): 3916 """Response for ListNetworkSecurityGroups API service call. 3917 3918 :param value: A list of NetworkSecurityGroup resources. 3919 :type value: list[~azure.mgmt.network.v2016_12_01.models.NetworkSecurityGroup] 3920 :param next_link: The URL to get the next set of results. 3921 :type next_link: str 3922 """ 3923 3924 _attribute_map = { 3925 'value': {'key': 'value', 'type': '[NetworkSecurityGroup]'}, 3926 'next_link': {'key': 'nextLink', 'type': 'str'}, 3927 } 3928 3929 def __init__( 3930 self, 3931 *, 3932 value: Optional[List["NetworkSecurityGroup"]] = None, 3933 next_link: Optional[str] = None, 3934 **kwargs 3935 ): 3936 super(NetworkSecurityGroupListResult, self).__init__(**kwargs) 3937 self.value = value 3938 self.next_link = next_link 3939 3940 3941class NetworkWatcher(Resource): 3942 """Network watcher in a resource group. 3943 3944 Variables are only populated by the server, and will be ignored when sending a request. 3945 3946 :param id: Resource ID. 3947 :type id: str 3948 :ivar name: Resource name. 3949 :vartype name: str 3950 :ivar type: Resource type. 3951 :vartype type: str 3952 :param location: Resource location. 3953 :type location: str 3954 :param tags: A set of tags. Resource tags. 3955 :type tags: dict[str, str] 3956 :param etag: A unique read-only string that changes whenever the resource is updated. 3957 :type etag: str 3958 :ivar provisioning_state: The provisioning state of the resource. Possible values include: 3959 "Succeeded", "Updating", "Deleting", "Failed". 3960 :vartype provisioning_state: str or ~azure.mgmt.network.v2016_12_01.models.ProvisioningState 3961 """ 3962 3963 _validation = { 3964 'name': {'readonly': True}, 3965 'type': {'readonly': True}, 3966 'provisioning_state': {'readonly': True}, 3967 } 3968 3969 _attribute_map = { 3970 'id': {'key': 'id', 'type': 'str'}, 3971 'name': {'key': 'name', 'type': 'str'}, 3972 'type': {'key': 'type', 'type': 'str'}, 3973 'location': {'key': 'location', 'type': 'str'}, 3974 'tags': {'key': 'tags', 'type': '{str}'}, 3975 'etag': {'key': 'etag', 'type': 'str'}, 3976 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3977 } 3978 3979 def __init__( 3980 self, 3981 *, 3982 id: Optional[str] = None, 3983 location: Optional[str] = None, 3984 tags: Optional[Dict[str, str]] = None, 3985 etag: Optional[str] = None, 3986 **kwargs 3987 ): 3988 super(NetworkWatcher, self).__init__(id=id, location=location, tags=tags, **kwargs) 3989 self.etag = etag 3990 self.provisioning_state = None 3991 3992 3993class NetworkWatcherListResult(msrest.serialization.Model): 3994 """List of network watcher resources. 3995 3996 :param value: 3997 :type value: list[~azure.mgmt.network.v2016_12_01.models.NetworkWatcher] 3998 """ 3999 4000 _attribute_map = { 4001 'value': {'key': 'value', 'type': '[NetworkWatcher]'}, 4002 } 4003 4004 def __init__( 4005 self, 4006 *, 4007 value: Optional[List["NetworkWatcher"]] = None, 4008 **kwargs 4009 ): 4010 super(NetworkWatcherListResult, self).__init__(**kwargs) 4011 self.value = value 4012 4013 4014class NextHopParameters(msrest.serialization.Model): 4015 """Parameters that define the source and destination endpoint. 4016 4017 All required parameters must be populated in order to send to Azure. 4018 4019 :param target_resource_id: Required. The resource identifier of the target resource against 4020 which the action is to be performed. 4021 :type target_resource_id: str 4022 :param source_ip_address: Required. The source IP address. 4023 :type source_ip_address: str 4024 :param destination_ip_address: Required. The destination IP address. 4025 :type destination_ip_address: str 4026 :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP forwarding is 4027 enabled on any of the nics, then this parameter must be specified. Otherwise optional). 4028 :type target_nic_resource_id: str 4029 """ 4030 4031 _validation = { 4032 'target_resource_id': {'required': True}, 4033 'source_ip_address': {'required': True}, 4034 'destination_ip_address': {'required': True}, 4035 } 4036 4037 _attribute_map = { 4038 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 4039 'source_ip_address': {'key': 'sourceIPAddress', 'type': 'str'}, 4040 'destination_ip_address': {'key': 'destinationIPAddress', 'type': 'str'}, 4041 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, 4042 } 4043 4044 def __init__( 4045 self, 4046 *, 4047 target_resource_id: str, 4048 source_ip_address: str, 4049 destination_ip_address: str, 4050 target_nic_resource_id: Optional[str] = None, 4051 **kwargs 4052 ): 4053 super(NextHopParameters, self).__init__(**kwargs) 4054 self.target_resource_id = target_resource_id 4055 self.source_ip_address = source_ip_address 4056 self.destination_ip_address = destination_ip_address 4057 self.target_nic_resource_id = target_nic_resource_id 4058 4059 4060class NextHopResult(msrest.serialization.Model): 4061 """The information about next hop from the specified VM. 4062 4063 :param next_hop_type: Next hop type. Possible values include: "Internet", "VirtualAppliance", 4064 "VirtualNetworkGateway", "VnetLocal", "HyperNetGateway", "None". 4065 :type next_hop_type: str or ~azure.mgmt.network.v2016_12_01.models.NextHopType 4066 :param next_hop_ip_address: Next hop IP Address. 4067 :type next_hop_ip_address: str 4068 :param route_table_id: The resource identifier for the route table associated with the route 4069 being returned. If the route being returned does not correspond to any user created routes then 4070 this field will be the string 'System Route'. 4071 :type route_table_id: str 4072 """ 4073 4074 _attribute_map = { 4075 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, 4076 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, 4077 'route_table_id': {'key': 'routeTableId', 'type': 'str'}, 4078 } 4079 4080 def __init__( 4081 self, 4082 *, 4083 next_hop_type: Optional[Union[str, "NextHopType"]] = None, 4084 next_hop_ip_address: Optional[str] = None, 4085 route_table_id: Optional[str] = None, 4086 **kwargs 4087 ): 4088 super(NextHopResult, self).__init__(**kwargs) 4089 self.next_hop_type = next_hop_type 4090 self.next_hop_ip_address = next_hop_ip_address 4091 self.route_table_id = route_table_id 4092 4093 4094class OutboundNatRule(SubResource): 4095 """Outbound NAT pool of the load balancer. 4096 4097 :param id: Resource ID. 4098 :type id: str 4099 :param name: The name of the resource that is unique within a resource group. This name can be 4100 used to access the resource. 4101 :type name: str 4102 :param etag: A unique read-only string that changes whenever the resource is updated. 4103 :type etag: str 4104 :param allocated_outbound_ports: The number of outbound ports to be used for NAT. 4105 :type allocated_outbound_ports: int 4106 :param frontend_ip_configurations: The Frontend IP addresses of the load balancer. 4107 :type frontend_ip_configurations: list[~azure.mgmt.network.v2016_12_01.models.SubResource] 4108 :param backend_address_pool: A reference to a pool of DIPs. Outbound traffic is randomly load 4109 balanced across IPs in the backend IPs. 4110 :type backend_address_pool: ~azure.mgmt.network.v2016_12_01.models.SubResource 4111 :param provisioning_state: Gets the provisioning state of the PublicIP resource. Possible 4112 values are: 'Updating', 'Deleting', and 'Failed'. 4113 :type provisioning_state: str 4114 """ 4115 4116 _attribute_map = { 4117 'id': {'key': 'id', 'type': 'str'}, 4118 'name': {'key': 'name', 'type': 'str'}, 4119 'etag': {'key': 'etag', 'type': 'str'}, 4120 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, 4121 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, 4122 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 4123 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4124 } 4125 4126 def __init__( 4127 self, 4128 *, 4129 id: Optional[str] = None, 4130 name: Optional[str] = None, 4131 etag: Optional[str] = None, 4132 allocated_outbound_ports: Optional[int] = None, 4133 frontend_ip_configurations: Optional[List["SubResource"]] = None, 4134 backend_address_pool: Optional["SubResource"] = None, 4135 provisioning_state: Optional[str] = None, 4136 **kwargs 4137 ): 4138 super(OutboundNatRule, self).__init__(id=id, **kwargs) 4139 self.name = name 4140 self.etag = etag 4141 self.allocated_outbound_ports = allocated_outbound_ports 4142 self.frontend_ip_configurations = frontend_ip_configurations 4143 self.backend_address_pool = backend_address_pool 4144 self.provisioning_state = provisioning_state 4145 4146 4147class PacketCapture(msrest.serialization.Model): 4148 """Parameters that define the create packet capture operation. 4149 4150 All required parameters must be populated in order to send to Azure. 4151 4152 :param target: Required. The ID of the targeted resource, only VM is currently supported. 4153 :type target: str 4154 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 4155 are truncated. 4156 :type bytes_to_capture_per_packet: int 4157 :param total_bytes_per_session: Maximum size of the capture output. 4158 :type total_bytes_per_session: int 4159 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 4160 :type time_limit_in_seconds: int 4161 :param storage_location: Required. Describes the storage location for a packet capture session. 4162 :type storage_location: ~azure.mgmt.network.v2016_12_01.models.PacketCaptureStorageLocation 4163 :param filters: 4164 :type filters: list[~azure.mgmt.network.v2016_12_01.models.PacketCaptureFilter] 4165 """ 4166 4167 _validation = { 4168 'target': {'required': True}, 4169 'storage_location': {'required': True}, 4170 } 4171 4172 _attribute_map = { 4173 'target': {'key': 'properties.target', 'type': 'str'}, 4174 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, 4175 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, 4176 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, 4177 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, 4178 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, 4179 } 4180 4181 def __init__( 4182 self, 4183 *, 4184 target: str, 4185 storage_location: "PacketCaptureStorageLocation", 4186 bytes_to_capture_per_packet: Optional[int] = 0, 4187 total_bytes_per_session: Optional[int] = 1073741824, 4188 time_limit_in_seconds: Optional[int] = 18000, 4189 filters: Optional[List["PacketCaptureFilter"]] = None, 4190 **kwargs 4191 ): 4192 super(PacketCapture, self).__init__(**kwargs) 4193 self.target = target 4194 self.bytes_to_capture_per_packet = bytes_to_capture_per_packet 4195 self.total_bytes_per_session = total_bytes_per_session 4196 self.time_limit_in_seconds = time_limit_in_seconds 4197 self.storage_location = storage_location 4198 self.filters = filters 4199 4200 4201class PacketCaptureFilter(msrest.serialization.Model): 4202 """Filter that is applied to packet capture request. Multiple filters can be applied. 4203 4204 :param protocol: Protocol to be filtered on. Possible values include: "TCP", "UDP", "Any". 4205 Default value: "Any". 4206 :type protocol: str or ~azure.mgmt.network.v2016_12_01.models.PcProtocol 4207 :param local_ip_address: Local IP Address to be filtered on. Notation: "127.0.0.1" for single 4208 address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5"? for multiple entries. 4209 Multiple ranges not currently supported. Mixing ranges with multiple entries not currently 4210 supported. Default = null. 4211 :type local_ip_address: str 4212 :param remote_ip_address: Local IP Address to be filtered on. Notation: "127.0.0.1" for single 4213 address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5;" for multiple entries. 4214 Multiple ranges not currently supported. Mixing ranges with multiple entries not currently 4215 supported. Default = null. 4216 :type remote_ip_address: str 4217 :param local_port: Local port to be filtered on. Notation: "80" for single port entry."80-85" 4218 for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing 4219 ranges with multiple entries not currently supported. Default = null. 4220 :type local_port: str 4221 :param remote_port: Remote port to be filtered on. Notation: "80" for single port entry."80-85" 4222 for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing 4223 ranges with multiple entries not currently supported. Default = null. 4224 :type remote_port: str 4225 """ 4226 4227 _attribute_map = { 4228 'protocol': {'key': 'protocol', 'type': 'str'}, 4229 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, 4230 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, 4231 'local_port': {'key': 'localPort', 'type': 'str'}, 4232 'remote_port': {'key': 'remotePort', 'type': 'str'}, 4233 } 4234 4235 def __init__( 4236 self, 4237 *, 4238 protocol: Optional[Union[str, "PcProtocol"]] = "Any", 4239 local_ip_address: Optional[str] = None, 4240 remote_ip_address: Optional[str] = None, 4241 local_port: Optional[str] = None, 4242 remote_port: Optional[str] = None, 4243 **kwargs 4244 ): 4245 super(PacketCaptureFilter, self).__init__(**kwargs) 4246 self.protocol = protocol 4247 self.local_ip_address = local_ip_address 4248 self.remote_ip_address = remote_ip_address 4249 self.local_port = local_port 4250 self.remote_port = remote_port 4251 4252 4253class PacketCaptureListResult(msrest.serialization.Model): 4254 """List of packet capture sessions. 4255 4256 :param value: Information about packet capture sessions. 4257 :type value: list[~azure.mgmt.network.v2016_12_01.models.PacketCaptureResult] 4258 """ 4259 4260 _attribute_map = { 4261 'value': {'key': 'value', 'type': '[PacketCaptureResult]'}, 4262 } 4263 4264 def __init__( 4265 self, 4266 *, 4267 value: Optional[List["PacketCaptureResult"]] = None, 4268 **kwargs 4269 ): 4270 super(PacketCaptureListResult, self).__init__(**kwargs) 4271 self.value = value 4272 4273 4274class PacketCaptureParameters(msrest.serialization.Model): 4275 """Parameters that define the create packet capture operation. 4276 4277 All required parameters must be populated in order to send to Azure. 4278 4279 :param target: Required. The ID of the targeted resource, only VM is currently supported. 4280 :type target: str 4281 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 4282 are truncated. 4283 :type bytes_to_capture_per_packet: int 4284 :param total_bytes_per_session: Maximum size of the capture output. 4285 :type total_bytes_per_session: int 4286 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 4287 :type time_limit_in_seconds: int 4288 :param storage_location: Required. Describes the storage location for a packet capture session. 4289 :type storage_location: ~azure.mgmt.network.v2016_12_01.models.PacketCaptureStorageLocation 4290 :param filters: 4291 :type filters: list[~azure.mgmt.network.v2016_12_01.models.PacketCaptureFilter] 4292 """ 4293 4294 _validation = { 4295 'target': {'required': True}, 4296 'storage_location': {'required': True}, 4297 } 4298 4299 _attribute_map = { 4300 'target': {'key': 'target', 'type': 'str'}, 4301 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, 4302 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, 4303 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, 4304 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, 4305 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, 4306 } 4307 4308 def __init__( 4309 self, 4310 *, 4311 target: str, 4312 storage_location: "PacketCaptureStorageLocation", 4313 bytes_to_capture_per_packet: Optional[int] = 0, 4314 total_bytes_per_session: Optional[int] = 1073741824, 4315 time_limit_in_seconds: Optional[int] = 18000, 4316 filters: Optional[List["PacketCaptureFilter"]] = None, 4317 **kwargs 4318 ): 4319 super(PacketCaptureParameters, self).__init__(**kwargs) 4320 self.target = target 4321 self.bytes_to_capture_per_packet = bytes_to_capture_per_packet 4322 self.total_bytes_per_session = total_bytes_per_session 4323 self.time_limit_in_seconds = time_limit_in_seconds 4324 self.storage_location = storage_location 4325 self.filters = filters 4326 4327 4328class PacketCaptureQueryStatusResult(msrest.serialization.Model): 4329 """Status of packet capture session. 4330 4331 :param name: The name of the packet capture resource. 4332 :type name: str 4333 :param id: The ID of the packet capture resource. 4334 :type id: str 4335 :param capture_start_time: The start time of the packet capture session. 4336 :type capture_start_time: ~datetime.datetime 4337 :param packet_capture_status: The status of the packet capture session. Possible values 4338 include: "NotStarted", "Running", "Stopped", "Error", "Unknown". 4339 :type packet_capture_status: str or ~azure.mgmt.network.v2016_12_01.models.PcStatus 4340 :param stop_reason: The reason the current packet capture session was stopped. 4341 :type stop_reason: str 4342 :param packet_capture_error: List of errors of packet capture session. 4343 :type packet_capture_error: list[str or ~azure.mgmt.network.v2016_12_01.models.PcError] 4344 """ 4345 4346 _attribute_map = { 4347 'name': {'key': 'name', 'type': 'str'}, 4348 'id': {'key': 'id', 'type': 'str'}, 4349 'capture_start_time': {'key': 'captureStartTime', 'type': 'iso-8601'}, 4350 'packet_capture_status': {'key': 'packetCaptureStatus', 'type': 'str'}, 4351 'stop_reason': {'key': 'stopReason', 'type': 'str'}, 4352 'packet_capture_error': {'key': 'packetCaptureError', 'type': '[str]'}, 4353 } 4354 4355 def __init__( 4356 self, 4357 *, 4358 name: Optional[str] = None, 4359 id: Optional[str] = None, 4360 capture_start_time: Optional[datetime.datetime] = None, 4361 packet_capture_status: Optional[Union[str, "PcStatus"]] = None, 4362 stop_reason: Optional[str] = None, 4363 packet_capture_error: Optional[List[Union[str, "PcError"]]] = None, 4364 **kwargs 4365 ): 4366 super(PacketCaptureQueryStatusResult, self).__init__(**kwargs) 4367 self.name = name 4368 self.id = id 4369 self.capture_start_time = capture_start_time 4370 self.packet_capture_status = packet_capture_status 4371 self.stop_reason = stop_reason 4372 self.packet_capture_error = packet_capture_error 4373 4374 4375class PacketCaptureResult(msrest.serialization.Model): 4376 """Information about packet capture session. 4377 4378 Variables are only populated by the server, and will be ignored when sending a request. 4379 4380 :ivar name: Name of the packet capture session. 4381 :vartype name: str 4382 :ivar id: ID of the packet capture operation. 4383 :vartype id: str 4384 :param etag: 4385 :type etag: str 4386 :param target: The ID of the targeted resource, only VM is currently supported. 4387 :type target: str 4388 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 4389 are truncated. 4390 :type bytes_to_capture_per_packet: int 4391 :param total_bytes_per_session: Maximum size of the capture output. 4392 :type total_bytes_per_session: int 4393 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 4394 :type time_limit_in_seconds: int 4395 :param storage_location: Describes the storage location for a packet capture session. 4396 :type storage_location: ~azure.mgmt.network.v2016_12_01.models.PacketCaptureStorageLocation 4397 :param filters: 4398 :type filters: list[~azure.mgmt.network.v2016_12_01.models.PacketCaptureFilter] 4399 :param provisioning_state: The provisioning state of the packet capture session. Possible 4400 values include: "Succeeded", "Updating", "Deleting", "Failed". 4401 :type provisioning_state: str or ~azure.mgmt.network.v2016_12_01.models.ProvisioningState 4402 """ 4403 4404 _validation = { 4405 'name': {'readonly': True}, 4406 'id': {'readonly': True}, 4407 } 4408 4409 _attribute_map = { 4410 'name': {'key': 'name', 'type': 'str'}, 4411 'id': {'key': 'id', 'type': 'str'}, 4412 'etag': {'key': 'etag', 'type': 'str'}, 4413 'target': {'key': 'properties.target', 'type': 'str'}, 4414 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, 4415 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, 4416 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, 4417 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, 4418 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, 4419 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4420 } 4421 4422 def __init__( 4423 self, 4424 *, 4425 etag: Optional[str] = "A unique read-only string that changes whenever the resource is updated.", 4426 target: Optional[str] = None, 4427 bytes_to_capture_per_packet: Optional[int] = 0, 4428 total_bytes_per_session: Optional[int] = 1073741824, 4429 time_limit_in_seconds: Optional[int] = 18000, 4430 storage_location: Optional["PacketCaptureStorageLocation"] = None, 4431 filters: Optional[List["PacketCaptureFilter"]] = None, 4432 provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, 4433 **kwargs 4434 ): 4435 super(PacketCaptureResult, self).__init__(**kwargs) 4436 self.name = None 4437 self.id = None 4438 self.etag = etag 4439 self.target = target 4440 self.bytes_to_capture_per_packet = bytes_to_capture_per_packet 4441 self.total_bytes_per_session = total_bytes_per_session 4442 self.time_limit_in_seconds = time_limit_in_seconds 4443 self.storage_location = storage_location 4444 self.filters = filters 4445 self.provisioning_state = provisioning_state 4446 4447 4448class PacketCaptureResultProperties(PacketCaptureParameters): 4449 """Describes the properties of a packet capture session. 4450 4451 All required parameters must be populated in order to send to Azure. 4452 4453 :param target: Required. The ID of the targeted resource, only VM is currently supported. 4454 :type target: str 4455 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 4456 are truncated. 4457 :type bytes_to_capture_per_packet: int 4458 :param total_bytes_per_session: Maximum size of the capture output. 4459 :type total_bytes_per_session: int 4460 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 4461 :type time_limit_in_seconds: int 4462 :param storage_location: Required. Describes the storage location for a packet capture session. 4463 :type storage_location: ~azure.mgmt.network.v2016_12_01.models.PacketCaptureStorageLocation 4464 :param filters: 4465 :type filters: list[~azure.mgmt.network.v2016_12_01.models.PacketCaptureFilter] 4466 :param provisioning_state: The provisioning state of the packet capture session. Possible 4467 values include: "Succeeded", "Updating", "Deleting", "Failed". 4468 :type provisioning_state: str or ~azure.mgmt.network.v2016_12_01.models.ProvisioningState 4469 """ 4470 4471 _validation = { 4472 'target': {'required': True}, 4473 'storage_location': {'required': True}, 4474 } 4475 4476 _attribute_map = { 4477 'target': {'key': 'target', 'type': 'str'}, 4478 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, 4479 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, 4480 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, 4481 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, 4482 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, 4483 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 4484 } 4485 4486 def __init__( 4487 self, 4488 *, 4489 target: str, 4490 storage_location: "PacketCaptureStorageLocation", 4491 bytes_to_capture_per_packet: Optional[int] = 0, 4492 total_bytes_per_session: Optional[int] = 1073741824, 4493 time_limit_in_seconds: Optional[int] = 18000, 4494 filters: Optional[List["PacketCaptureFilter"]] = None, 4495 provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, 4496 **kwargs 4497 ): 4498 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) 4499 self.provisioning_state = provisioning_state 4500 4501 4502class PacketCaptureStorageLocation(msrest.serialization.Model): 4503 """Describes the storage location for a packet capture session. 4504 4505 :param storage_id: The ID of the storage account to save the packet capture session. Required 4506 if no local file path is provided. 4507 :type storage_id: str 4508 :param storage_path: The URI of the storage path to save the packet capture. Must be a 4509 well-formed URI describing the location to save the packet capture. 4510 :type storage_path: str 4511 :param file_path: A valid local path on the targeting VM. Must include the name of the capture 4512 file (*.cap). For linux virtual machine it must start with /var/captures. Required if no 4513 storage ID is provided, otherwise optional. 4514 :type file_path: str 4515 """ 4516 4517 _attribute_map = { 4518 'storage_id': {'key': 'storageId', 'type': 'str'}, 4519 'storage_path': {'key': 'storagePath', 'type': 'str'}, 4520 'file_path': {'key': 'filePath', 'type': 'str'}, 4521 } 4522 4523 def __init__( 4524 self, 4525 *, 4526 storage_id: Optional[str] = None, 4527 storage_path: Optional[str] = None, 4528 file_path: Optional[str] = None, 4529 **kwargs 4530 ): 4531 super(PacketCaptureStorageLocation, self).__init__(**kwargs) 4532 self.storage_id = storage_id 4533 self.storage_path = storage_path 4534 self.file_path = file_path 4535 4536 4537class PatchRouteFilter(SubResource): 4538 """Route Filter Resource. 4539 4540 Variables are only populated by the server, and will be ignored when sending a request. 4541 4542 :param id: Resource ID. 4543 :type id: str 4544 :ivar name: The name of the resource that is unique within a resource group. This name can be 4545 used to access the resource. 4546 :vartype name: str 4547 :ivar etag: A unique read-only string that changes whenever the resource is updated. 4548 :vartype etag: str 4549 :ivar type: Resource type. 4550 :vartype type: str 4551 :param tags: A set of tags. Resource tags. 4552 :type tags: dict[str, str] 4553 :param rules: Collection of RouteFilterRules contained within a route filter. 4554 :type rules: list[~azure.mgmt.network.v2016_12_01.models.RouteFilterRule] 4555 :ivar peerings: A collection of references to express route circuit peerings. 4556 :vartype peerings: list[~azure.mgmt.network.v2016_12_01.models.ExpressRouteCircuitPeering] 4557 :ivar provisioning_state: The provisioning state of the resource. Possible values are: 4558 'Updating', 'Deleting', 'Succeeded' and 'Failed'. 4559 :vartype provisioning_state: str 4560 """ 4561 4562 _validation = { 4563 'name': {'readonly': True}, 4564 'etag': {'readonly': True}, 4565 'type': {'readonly': True}, 4566 'peerings': {'readonly': True}, 4567 'provisioning_state': {'readonly': True}, 4568 } 4569 4570 _attribute_map = { 4571 'id': {'key': 'id', 'type': 'str'}, 4572 'name': {'key': 'name', 'type': 'str'}, 4573 'etag': {'key': 'etag', 'type': 'str'}, 4574 'type': {'key': 'type', 'type': 'str'}, 4575 'tags': {'key': 'tags', 'type': '{str}'}, 4576 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, 4577 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, 4578 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4579 } 4580 4581 def __init__( 4582 self, 4583 *, 4584 id: Optional[str] = None, 4585 tags: Optional[Dict[str, str]] = None, 4586 rules: Optional[List["RouteFilterRule"]] = None, 4587 **kwargs 4588 ): 4589 super(PatchRouteFilter, self).__init__(id=id, **kwargs) 4590 self.name = None 4591 self.etag = None 4592 self.type = None 4593 self.tags = tags 4594 self.rules = rules 4595 self.peerings = None 4596 self.provisioning_state = None 4597 4598 4599class PatchRouteFilterRule(SubResource): 4600 """Route Filter Rule Resource. 4601 4602 Variables are only populated by the server, and will be ignored when sending a request. 4603 4604 :param id: Resource ID. 4605 :type id: str 4606 :ivar name: The name of the resource that is unique within a resource group. This name can be 4607 used to access the resource. 4608 :vartype name: str 4609 :ivar etag: A unique read-only string that changes whenever the resource is updated. 4610 :vartype etag: str 4611 :param tags: A set of tags. Resource tags. 4612 :type tags: dict[str, str] 4613 :param access: The access type of the rule. Valid values are: 'Allow', 'Deny'. Possible values 4614 include: "Allow", "Deny". 4615 :type access: str or ~azure.mgmt.network.v2016_12_01.models.Access 4616 :param route_filter_rule_type: The rule type of the rule. Valid value is: 'Community'. Possible 4617 values include: "Community". 4618 :type route_filter_rule_type: str or ~azure.mgmt.network.v2016_12_01.models.RouteFilterRuleType 4619 :param communities: The collection for bgp community values to filter on. e.g. 4620 ['12076:5010','12076:5020']. 4621 :type communities: list[str] 4622 :ivar provisioning_state: The provisioning state of the resource. Possible values are: 4623 'Updating', 'Deleting', 'Succeeded' and 'Failed'. 4624 :vartype provisioning_state: str 4625 """ 4626 4627 _validation = { 4628 'name': {'readonly': True}, 4629 'etag': {'readonly': True}, 4630 'provisioning_state': {'readonly': True}, 4631 } 4632 4633 _attribute_map = { 4634 'id': {'key': 'id', 'type': 'str'}, 4635 'name': {'key': 'name', 'type': 'str'}, 4636 'etag': {'key': 'etag', 'type': 'str'}, 4637 'tags': {'key': 'tags', 'type': '{str}'}, 4638 'access': {'key': 'properties.access', 'type': 'str'}, 4639 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, 4640 'communities': {'key': 'properties.communities', 'type': '[str]'}, 4641 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4642 } 4643 4644 def __init__( 4645 self, 4646 *, 4647 id: Optional[str] = None, 4648 tags: Optional[Dict[str, str]] = None, 4649 access: Optional[Union[str, "Access"]] = None, 4650 route_filter_rule_type: Optional[Union[str, "RouteFilterRuleType"]] = None, 4651 communities: Optional[List[str]] = None, 4652 **kwargs 4653 ): 4654 super(PatchRouteFilterRule, self).__init__(id=id, **kwargs) 4655 self.name = None 4656 self.etag = None 4657 self.tags = tags 4658 self.access = access 4659 self.route_filter_rule_type = route_filter_rule_type 4660 self.communities = communities 4661 self.provisioning_state = None 4662 4663 4664class Probe(SubResource): 4665 """A load balancer probe. 4666 4667 Variables are only populated by the server, and will be ignored when sending a request. 4668 4669 :param id: Resource ID. 4670 :type id: str 4671 :param name: Gets name of the resource that is unique within a resource group. This name can be 4672 used to access the resource. 4673 :type name: str 4674 :param etag: A unique read-only string that changes whenever the resource is updated. 4675 :type etag: str 4676 :ivar load_balancing_rules: The load balancer rules that use this probe. 4677 :vartype load_balancing_rules: list[~azure.mgmt.network.v2016_12_01.models.SubResource] 4678 :param protocol: The protocol of the end point. Possible values are: 'Http' or 'Tcp'. If 'Tcp' 4679 is specified, a received ACK is required for the probe to be successful. If 'Http' is 4680 specified, a 200 OK response from the specifies URI is required for the probe to be successful. 4681 Possible values include: "Http", "Tcp". 4682 :type protocol: str or ~azure.mgmt.network.v2016_12_01.models.ProbeProtocol 4683 :param port: The port for communicating the probe. Possible values range from 1 to 65535, 4684 inclusive. 4685 :type port: int 4686 :param interval_in_seconds: The interval, in seconds, for how frequently to probe the endpoint 4687 for health status. Typically, the interval is slightly less than half the allocated timeout 4688 period (in seconds) which allows two full probes before taking the instance out of rotation. 4689 The default value is 15, the minimum value is 5. 4690 :type interval_in_seconds: int 4691 :param number_of_probes: The number of probes where if no response, will result in stopping 4692 further traffic from being delivered to the endpoint. This values allows endpoints to be taken 4693 out of rotation faster or slower than the typical times used in Azure. 4694 :type number_of_probes: int 4695 :param request_path: The URI used for requesting health status from the VM. Path is required if 4696 a protocol is set to http. Otherwise, it is not allowed. There is no default value. 4697 :type request_path: str 4698 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 4699 values are: 'Updating', 'Deleting', and 'Failed'. 4700 :type provisioning_state: str 4701 """ 4702 4703 _validation = { 4704 'load_balancing_rules': {'readonly': True}, 4705 } 4706 4707 _attribute_map = { 4708 'id': {'key': 'id', 'type': 'str'}, 4709 'name': {'key': 'name', 'type': 'str'}, 4710 'etag': {'key': 'etag', 'type': 'str'}, 4711 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 4712 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 4713 'port': {'key': 'properties.port', 'type': 'int'}, 4714 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, 4715 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, 4716 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, 4717 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4718 } 4719 4720 def __init__( 4721 self, 4722 *, 4723 id: Optional[str] = None, 4724 name: Optional[str] = None, 4725 etag: Optional[str] = None, 4726 protocol: Optional[Union[str, "ProbeProtocol"]] = None, 4727 port: Optional[int] = None, 4728 interval_in_seconds: Optional[int] = None, 4729 number_of_probes: Optional[int] = None, 4730 request_path: Optional[str] = None, 4731 provisioning_state: Optional[str] = None, 4732 **kwargs 4733 ): 4734 super(Probe, self).__init__(id=id, **kwargs) 4735 self.name = name 4736 self.etag = etag 4737 self.load_balancing_rules = None 4738 self.protocol = protocol 4739 self.port = port 4740 self.interval_in_seconds = interval_in_seconds 4741 self.number_of_probes = number_of_probes 4742 self.request_path = request_path 4743 self.provisioning_state = provisioning_state 4744 4745 4746class PublicIPAddress(Resource): 4747 """Public IP address resource. 4748 4749 Variables are only populated by the server, and will be ignored when sending a request. 4750 4751 :param id: Resource ID. 4752 :type id: str 4753 :ivar name: Resource name. 4754 :vartype name: str 4755 :ivar type: Resource type. 4756 :vartype type: str 4757 :param location: Resource location. 4758 :type location: str 4759 :param tags: A set of tags. Resource tags. 4760 :type tags: dict[str, str] 4761 :param etag: A unique read-only string that changes whenever the resource is updated. 4762 :type etag: str 4763 :param public_ip_allocation_method: The public IP allocation method. Possible values are: 4764 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 4765 :type public_ip_allocation_method: str or 4766 ~azure.mgmt.network.v2016_12_01.models.IPAllocationMethod 4767 :param public_ip_address_version: The public IP address version. Possible values are: 'IPv4' 4768 and 'IPv6'. Possible values include: "IPv4", "IPv6". 4769 :type public_ip_address_version: str or ~azure.mgmt.network.v2016_12_01.models.IPVersion 4770 :ivar ip_configuration: IPConfiguration. 4771 :vartype ip_configuration: ~azure.mgmt.network.v2016_12_01.models.IPConfiguration 4772 :param dns_settings: The FQDN of the DNS record associated with the public IP address. 4773 :type dns_settings: ~azure.mgmt.network.v2016_12_01.models.PublicIPAddressDnsSettings 4774 :param ip_address: 4775 :type ip_address: str 4776 :param idle_timeout_in_minutes: The idle timeout of the public IP address. 4777 :type idle_timeout_in_minutes: int 4778 :param resource_guid: The resource GUID property of the public IP resource. 4779 :type resource_guid: str 4780 :param provisioning_state: The provisioning state of the PublicIP resource. Possible values 4781 are: 'Updating', 'Deleting', and 'Failed'. 4782 :type provisioning_state: str 4783 """ 4784 4785 _validation = { 4786 'name': {'readonly': True}, 4787 'type': {'readonly': True}, 4788 'ip_configuration': {'readonly': True}, 4789 } 4790 4791 _attribute_map = { 4792 'id': {'key': 'id', 'type': 'str'}, 4793 'name': {'key': 'name', 'type': 'str'}, 4794 'type': {'key': 'type', 'type': 'str'}, 4795 'location': {'key': 'location', 'type': 'str'}, 4796 'tags': {'key': 'tags', 'type': '{str}'}, 4797 'etag': {'key': 'etag', 'type': 'str'}, 4798 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, 4799 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, 4800 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, 4801 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, 4802 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, 4803 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 4804 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 4805 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4806 } 4807 4808 def __init__( 4809 self, 4810 *, 4811 id: Optional[str] = None, 4812 location: Optional[str] = None, 4813 tags: Optional[Dict[str, str]] = None, 4814 etag: Optional[str] = None, 4815 public_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 4816 public_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 4817 dns_settings: Optional["PublicIPAddressDnsSettings"] = None, 4818 ip_address: Optional[str] = None, 4819 idle_timeout_in_minutes: Optional[int] = None, 4820 resource_guid: Optional[str] = None, 4821 provisioning_state: Optional[str] = None, 4822 **kwargs 4823 ): 4824 super(PublicIPAddress, self).__init__(id=id, location=location, tags=tags, **kwargs) 4825 self.etag = etag 4826 self.public_ip_allocation_method = public_ip_allocation_method 4827 self.public_ip_address_version = public_ip_address_version 4828 self.ip_configuration = None 4829 self.dns_settings = dns_settings 4830 self.ip_address = ip_address 4831 self.idle_timeout_in_minutes = idle_timeout_in_minutes 4832 self.resource_guid = resource_guid 4833 self.provisioning_state = provisioning_state 4834 4835 4836class PublicIPAddressDnsSettings(msrest.serialization.Model): 4837 """Contains FQDN of the DNS record associated with the public IP address. 4838 4839 :param domain_name_label: Gets or sets the Domain name label.The concatenation of the domain 4840 name label and the regionalized DNS zone make up the fully qualified domain name associated 4841 with the public IP address. If a domain name label is specified, an A DNS record is created for 4842 the public IP in the Microsoft Azure DNS system. 4843 :type domain_name_label: str 4844 :param fqdn: Gets the FQDN, Fully qualified domain name of the A DNS record associated with the 4845 public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. 4846 :type fqdn: str 4847 :param reverse_fqdn: Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name 4848 that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record 4849 is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. 4850 :type reverse_fqdn: str 4851 """ 4852 4853 _attribute_map = { 4854 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, 4855 'fqdn': {'key': 'fqdn', 'type': 'str'}, 4856 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, 4857 } 4858 4859 def __init__( 4860 self, 4861 *, 4862 domain_name_label: Optional[str] = None, 4863 fqdn: Optional[str] = None, 4864 reverse_fqdn: Optional[str] = None, 4865 **kwargs 4866 ): 4867 super(PublicIPAddressDnsSettings, self).__init__(**kwargs) 4868 self.domain_name_label = domain_name_label 4869 self.fqdn = fqdn 4870 self.reverse_fqdn = reverse_fqdn 4871 4872 4873class PublicIPAddressListResult(msrest.serialization.Model): 4874 """Response for ListPublicIpAddresses API service call. 4875 4876 :param value: A list of public IP addresses that exists in a resource group. 4877 :type value: list[~azure.mgmt.network.v2016_12_01.models.PublicIPAddress] 4878 :param next_link: The URL to get the next set of results. 4879 :type next_link: str 4880 """ 4881 4882 _attribute_map = { 4883 'value': {'key': 'value', 'type': '[PublicIPAddress]'}, 4884 'next_link': {'key': 'nextLink', 'type': 'str'}, 4885 } 4886 4887 def __init__( 4888 self, 4889 *, 4890 value: Optional[List["PublicIPAddress"]] = None, 4891 next_link: Optional[str] = None, 4892 **kwargs 4893 ): 4894 super(PublicIPAddressListResult, self).__init__(**kwargs) 4895 self.value = value 4896 self.next_link = next_link 4897 4898 4899class QueryTroubleshootingParameters(msrest.serialization.Model): 4900 """Parameters that define the resource to query the troubleshooting result. 4901 4902 All required parameters must be populated in order to send to Azure. 4903 4904 :param target_resource_id: Required. The target resource ID to query the troubleshooting 4905 result. 4906 :type target_resource_id: str 4907 """ 4908 4909 _validation = { 4910 'target_resource_id': {'required': True}, 4911 } 4912 4913 _attribute_map = { 4914 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 4915 } 4916 4917 def __init__( 4918 self, 4919 *, 4920 target_resource_id: str, 4921 **kwargs 4922 ): 4923 super(QueryTroubleshootingParameters, self).__init__(**kwargs) 4924 self.target_resource_id = target_resource_id 4925 4926 4927class ResourceNavigationLink(SubResource): 4928 """ResourceNavigationLink resource. 4929 4930 Variables are only populated by the server, and will be ignored when sending a request. 4931 4932 :param id: Resource ID. 4933 :type id: str 4934 :param name: Name of the resource that is unique within a resource group. This name can be used 4935 to access the resource. 4936 :type name: str 4937 :ivar etag: A unique read-only string that changes whenever the resource is updated. 4938 :vartype etag: str 4939 :param linked_resource_type: Resource type of the linked resource. 4940 :type linked_resource_type: str 4941 :param link: Link to the external resource. 4942 :type link: str 4943 :ivar provisioning_state: Provisioning state of the ResourceNavigationLink resource. 4944 :vartype provisioning_state: str 4945 """ 4946 4947 _validation = { 4948 'etag': {'readonly': True}, 4949 'provisioning_state': {'readonly': True}, 4950 } 4951 4952 _attribute_map = { 4953 'id': {'key': 'id', 'type': 'str'}, 4954 'name': {'key': 'name', 'type': 'str'}, 4955 'etag': {'key': 'etag', 'type': 'str'}, 4956 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, 4957 'link': {'key': 'properties.link', 'type': 'str'}, 4958 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4959 } 4960 4961 def __init__( 4962 self, 4963 *, 4964 id: Optional[str] = None, 4965 name: Optional[str] = None, 4966 linked_resource_type: Optional[str] = None, 4967 link: Optional[str] = None, 4968 **kwargs 4969 ): 4970 super(ResourceNavigationLink, self).__init__(id=id, **kwargs) 4971 self.name = name 4972 self.etag = None 4973 self.linked_resource_type = linked_resource_type 4974 self.link = link 4975 self.provisioning_state = None 4976 4977 4978class RetentionPolicyParameters(msrest.serialization.Model): 4979 """Parameters that define the retention policy for flow log. 4980 4981 :param days: Number of days to retain flow log records. 4982 :type days: int 4983 :param enabled: Flag to enable/disable retention. 4984 :type enabled: bool 4985 """ 4986 4987 _attribute_map = { 4988 'days': {'key': 'days', 'type': 'int'}, 4989 'enabled': {'key': 'enabled', 'type': 'bool'}, 4990 } 4991 4992 def __init__( 4993 self, 4994 *, 4995 days: Optional[int] = 0, 4996 enabled: Optional[bool] = False, 4997 **kwargs 4998 ): 4999 super(RetentionPolicyParameters, self).__init__(**kwargs) 5000 self.days = days 5001 self.enabled = enabled 5002 5003 5004class Route(SubResource): 5005 """Route resource. 5006 5007 :param id: Resource ID. 5008 :type id: str 5009 :param name: The name of the resource that is unique within a resource group. This name can be 5010 used to access the resource. 5011 :type name: str 5012 :param etag: A unique read-only string that changes whenever the resource is updated. 5013 :type etag: str 5014 :param address_prefix: The destination CIDR to which the route applies. 5015 :type address_prefix: str 5016 :param next_hop_type: The type of Azure hop the packet should be sent to. Possible values are: 5017 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible 5018 values include: "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None". 5019 :type next_hop_type: str or ~azure.mgmt.network.v2016_12_01.models.RouteNextHopType 5020 :param next_hop_ip_address: The IP address packets should be forwarded to. Next hop values are 5021 only allowed in routes where the next hop type is VirtualAppliance. 5022 :type next_hop_ip_address: str 5023 :param provisioning_state: The provisioning state of the resource. Possible values are: 5024 'Updating', 'Deleting', and 'Failed'. 5025 :type provisioning_state: str 5026 """ 5027 5028 _attribute_map = { 5029 'id': {'key': 'id', 'type': 'str'}, 5030 'name': {'key': 'name', 'type': 'str'}, 5031 'etag': {'key': 'etag', 'type': 'str'}, 5032 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 5033 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, 5034 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, 5035 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5036 } 5037 5038 def __init__( 5039 self, 5040 *, 5041 id: Optional[str] = None, 5042 name: Optional[str] = None, 5043 etag: Optional[str] = None, 5044 address_prefix: Optional[str] = None, 5045 next_hop_type: Optional[Union[str, "RouteNextHopType"]] = None, 5046 next_hop_ip_address: Optional[str] = None, 5047 provisioning_state: Optional[str] = None, 5048 **kwargs 5049 ): 5050 super(Route, self).__init__(id=id, **kwargs) 5051 self.name = name 5052 self.etag = etag 5053 self.address_prefix = address_prefix 5054 self.next_hop_type = next_hop_type 5055 self.next_hop_ip_address = next_hop_ip_address 5056 self.provisioning_state = provisioning_state 5057 5058 5059class RouteFilter(Resource): 5060 """Route Filter Resource. 5061 5062 Variables are only populated by the server, and will be ignored when sending a request. 5063 5064 :param id: Resource ID. 5065 :type id: str 5066 :ivar name: Resource name. 5067 :vartype name: str 5068 :ivar type: Resource type. 5069 :vartype type: str 5070 :param location: Resource location. 5071 :type location: str 5072 :param tags: A set of tags. Resource tags. 5073 :type tags: dict[str, str] 5074 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 5075 :vartype etag: str 5076 :param rules: Collection of RouteFilterRules contained within a route filter. 5077 :type rules: list[~azure.mgmt.network.v2016_12_01.models.RouteFilterRule] 5078 :ivar peerings: A collection of references to express route circuit peerings. 5079 :vartype peerings: list[~azure.mgmt.network.v2016_12_01.models.ExpressRouteCircuitPeering] 5080 :ivar provisioning_state: The provisioning state of the resource. Possible values are: 5081 'Updating', 'Deleting', 'Succeeded' and 'Failed'. 5082 :vartype provisioning_state: str 5083 """ 5084 5085 _validation = { 5086 'name': {'readonly': True}, 5087 'type': {'readonly': True}, 5088 'etag': {'readonly': True}, 5089 'peerings': {'readonly': True}, 5090 'provisioning_state': {'readonly': True}, 5091 } 5092 5093 _attribute_map = { 5094 'id': {'key': 'id', 'type': 'str'}, 5095 'name': {'key': 'name', 'type': 'str'}, 5096 'type': {'key': 'type', 'type': 'str'}, 5097 'location': {'key': 'location', 'type': 'str'}, 5098 'tags': {'key': 'tags', 'type': '{str}'}, 5099 'etag': {'key': 'etag', 'type': 'str'}, 5100 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, 5101 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, 5102 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5103 } 5104 5105 def __init__( 5106 self, 5107 *, 5108 id: Optional[str] = None, 5109 location: Optional[str] = None, 5110 tags: Optional[Dict[str, str]] = None, 5111 rules: Optional[List["RouteFilterRule"]] = None, 5112 **kwargs 5113 ): 5114 super(RouteFilter, self).__init__(id=id, location=location, tags=tags, **kwargs) 5115 self.etag = None 5116 self.rules = rules 5117 self.peerings = None 5118 self.provisioning_state = None 5119 5120 5121class RouteFilterListResult(msrest.serialization.Model): 5122 """Response for the ListRouteFilters API service call. 5123 5124 :param value: Gets a list of route filters in a resource group. 5125 :type value: list[~azure.mgmt.network.v2016_12_01.models.RouteFilter] 5126 :param next_link: The URL to get the next set of results. 5127 :type next_link: str 5128 """ 5129 5130 _attribute_map = { 5131 'value': {'key': 'value', 'type': '[RouteFilter]'}, 5132 'next_link': {'key': 'nextLink', 'type': 'str'}, 5133 } 5134 5135 def __init__( 5136 self, 5137 *, 5138 value: Optional[List["RouteFilter"]] = None, 5139 next_link: Optional[str] = None, 5140 **kwargs 5141 ): 5142 super(RouteFilterListResult, self).__init__(**kwargs) 5143 self.value = value 5144 self.next_link = next_link 5145 5146 5147class RouteFilterRule(SubResource): 5148 """Route Filter Rule Resource. 5149 5150 Variables are only populated by the server, and will be ignored when sending a request. 5151 5152 :param id: Resource ID. 5153 :type id: str 5154 :ivar name: The name of the resource that is unique within a resource group. This name can be 5155 used to access the resource. 5156 :vartype name: str 5157 :param location: Resource location. 5158 :type location: str 5159 :ivar etag: A unique read-only string that changes whenever the resource is updated. 5160 :vartype etag: str 5161 :param tags: A set of tags. Resource tags. 5162 :type tags: dict[str, str] 5163 :param access: The access type of the rule. Valid values are: 'Allow', 'Deny'. Possible values 5164 include: "Allow", "Deny". 5165 :type access: str or ~azure.mgmt.network.v2016_12_01.models.Access 5166 :param route_filter_rule_type: The rule type of the rule. Valid value is: 'Community'. Possible 5167 values include: "Community". 5168 :type route_filter_rule_type: str or ~azure.mgmt.network.v2016_12_01.models.RouteFilterRuleType 5169 :param communities: The collection for bgp community values to filter on. e.g. 5170 ['12076:5010','12076:5020']. 5171 :type communities: list[str] 5172 :ivar provisioning_state: The provisioning state of the resource. Possible values are: 5173 'Updating', 'Deleting', 'Succeeded' and 'Failed'. 5174 :vartype provisioning_state: str 5175 """ 5176 5177 _validation = { 5178 'name': {'readonly': True}, 5179 'etag': {'readonly': True}, 5180 'provisioning_state': {'readonly': True}, 5181 } 5182 5183 _attribute_map = { 5184 'id': {'key': 'id', 'type': 'str'}, 5185 'name': {'key': 'name', 'type': 'str'}, 5186 'location': {'key': 'location', 'type': 'str'}, 5187 'etag': {'key': 'etag', 'type': 'str'}, 5188 'tags': {'key': 'tags', 'type': '{str}'}, 5189 'access': {'key': 'properties.access', 'type': 'str'}, 5190 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, 5191 'communities': {'key': 'properties.communities', 'type': '[str]'}, 5192 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5193 } 5194 5195 def __init__( 5196 self, 5197 *, 5198 id: Optional[str] = None, 5199 location: Optional[str] = None, 5200 tags: Optional[Dict[str, str]] = None, 5201 access: Optional[Union[str, "Access"]] = None, 5202 route_filter_rule_type: Optional[Union[str, "RouteFilterRuleType"]] = None, 5203 communities: Optional[List[str]] = None, 5204 **kwargs 5205 ): 5206 super(RouteFilterRule, self).__init__(id=id, **kwargs) 5207 self.name = None 5208 self.location = location 5209 self.etag = None 5210 self.tags = tags 5211 self.access = access 5212 self.route_filter_rule_type = route_filter_rule_type 5213 self.communities = communities 5214 self.provisioning_state = None 5215 5216 5217class RouteFilterRuleListResult(msrest.serialization.Model): 5218 """Response for the ListRouteFilterRules API service call. 5219 5220 :param value: Gets a list of RouteFilterRules in a resource group. 5221 :type value: list[~azure.mgmt.network.v2016_12_01.models.RouteFilterRule] 5222 :param next_link: The URL to get the next set of results. 5223 :type next_link: str 5224 """ 5225 5226 _attribute_map = { 5227 'value': {'key': 'value', 'type': '[RouteFilterRule]'}, 5228 'next_link': {'key': 'nextLink', 'type': 'str'}, 5229 } 5230 5231 def __init__( 5232 self, 5233 *, 5234 value: Optional[List["RouteFilterRule"]] = None, 5235 next_link: Optional[str] = None, 5236 **kwargs 5237 ): 5238 super(RouteFilterRuleListResult, self).__init__(**kwargs) 5239 self.value = value 5240 self.next_link = next_link 5241 5242 5243class RouteListResult(msrest.serialization.Model): 5244 """Response for the ListRoute API service call. 5245 5246 :param value: Gets a list of routes in a resource group. 5247 :type value: list[~azure.mgmt.network.v2016_12_01.models.Route] 5248 :param next_link: The URL to get the next set of results. 5249 :type next_link: str 5250 """ 5251 5252 _attribute_map = { 5253 'value': {'key': 'value', 'type': '[Route]'}, 5254 'next_link': {'key': 'nextLink', 'type': 'str'}, 5255 } 5256 5257 def __init__( 5258 self, 5259 *, 5260 value: Optional[List["Route"]] = None, 5261 next_link: Optional[str] = None, 5262 **kwargs 5263 ): 5264 super(RouteListResult, self).__init__(**kwargs) 5265 self.value = value 5266 self.next_link = next_link 5267 5268 5269class RouteTable(Resource): 5270 """Route table resource. 5271 5272 Variables are only populated by the server, and will be ignored when sending a request. 5273 5274 :param id: Resource ID. 5275 :type id: str 5276 :ivar name: Resource name. 5277 :vartype name: str 5278 :ivar type: Resource type. 5279 :vartype type: str 5280 :param location: Resource location. 5281 :type location: str 5282 :param tags: A set of tags. Resource tags. 5283 :type tags: dict[str, str] 5284 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 5285 :type etag: str 5286 :param routes: Collection of routes contained within a route table. 5287 :type routes: list[~azure.mgmt.network.v2016_12_01.models.Route] 5288 :ivar subnets: A collection of references to subnets. 5289 :vartype subnets: list[~azure.mgmt.network.v2016_12_01.models.Subnet] 5290 :param provisioning_state: The provisioning state of the resource. Possible values are: 5291 'Updating', 'Deleting', and 'Failed'. 5292 :type provisioning_state: str 5293 """ 5294 5295 _validation = { 5296 'name': {'readonly': True}, 5297 'type': {'readonly': True}, 5298 'subnets': {'readonly': True}, 5299 } 5300 5301 _attribute_map = { 5302 'id': {'key': 'id', 'type': 'str'}, 5303 'name': {'key': 'name', 'type': 'str'}, 5304 'type': {'key': 'type', 'type': 'str'}, 5305 'location': {'key': 'location', 'type': 'str'}, 5306 'tags': {'key': 'tags', 'type': '{str}'}, 5307 'etag': {'key': 'etag', 'type': 'str'}, 5308 'routes': {'key': 'properties.routes', 'type': '[Route]'}, 5309 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 5310 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5311 } 5312 5313 def __init__( 5314 self, 5315 *, 5316 id: Optional[str] = None, 5317 location: Optional[str] = None, 5318 tags: Optional[Dict[str, str]] = None, 5319 etag: Optional[str] = None, 5320 routes: Optional[List["Route"]] = None, 5321 provisioning_state: Optional[str] = None, 5322 **kwargs 5323 ): 5324 super(RouteTable, self).__init__(id=id, location=location, tags=tags, **kwargs) 5325 self.etag = etag 5326 self.routes = routes 5327 self.subnets = None 5328 self.provisioning_state = provisioning_state 5329 5330 5331class RouteTableListResult(msrest.serialization.Model): 5332 """Response for the ListRouteTable API service call. 5333 5334 :param value: Gets a list of route tables in a resource group. 5335 :type value: list[~azure.mgmt.network.v2016_12_01.models.RouteTable] 5336 :param next_link: The URL to get the next set of results. 5337 :type next_link: str 5338 """ 5339 5340 _attribute_map = { 5341 'value': {'key': 'value', 'type': '[RouteTable]'}, 5342 'next_link': {'key': 'nextLink', 'type': 'str'}, 5343 } 5344 5345 def __init__( 5346 self, 5347 *, 5348 value: Optional[List["RouteTable"]] = None, 5349 next_link: Optional[str] = None, 5350 **kwargs 5351 ): 5352 super(RouteTableListResult, self).__init__(**kwargs) 5353 self.value = value 5354 self.next_link = next_link 5355 5356 5357class SecurityGroupNetworkInterface(msrest.serialization.Model): 5358 """Network interface and all its associated security rules. 5359 5360 :param id: ID of the network interface. 5361 :type id: str 5362 :param security_rule_associations: All security rules associated with the network interface. 5363 :type security_rule_associations: 5364 ~azure.mgmt.network.v2016_12_01.models.SecurityRuleAssociations 5365 """ 5366 5367 _attribute_map = { 5368 'id': {'key': 'id', 'type': 'str'}, 5369 'security_rule_associations': {'key': 'securityRuleAssociations', 'type': 'SecurityRuleAssociations'}, 5370 } 5371 5372 def __init__( 5373 self, 5374 *, 5375 id: Optional[str] = None, 5376 security_rule_associations: Optional["SecurityRuleAssociations"] = None, 5377 **kwargs 5378 ): 5379 super(SecurityGroupNetworkInterface, self).__init__(**kwargs) 5380 self.id = id 5381 self.security_rule_associations = security_rule_associations 5382 5383 5384class SecurityGroupViewParameters(msrest.serialization.Model): 5385 """Parameters that define the VM to check security groups for. 5386 5387 All required parameters must be populated in order to send to Azure. 5388 5389 :param target_resource_id: Required. ID of the target VM. 5390 :type target_resource_id: str 5391 """ 5392 5393 _validation = { 5394 'target_resource_id': {'required': True}, 5395 } 5396 5397 _attribute_map = { 5398 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 5399 } 5400 5401 def __init__( 5402 self, 5403 *, 5404 target_resource_id: str, 5405 **kwargs 5406 ): 5407 super(SecurityGroupViewParameters, self).__init__(**kwargs) 5408 self.target_resource_id = target_resource_id 5409 5410 5411class SecurityGroupViewResult(msrest.serialization.Model): 5412 """The information about security rules applied to the specified VM. 5413 5414 :param network_interfaces: List of network interfaces on the specified VM. 5415 :type network_interfaces: 5416 list[~azure.mgmt.network.v2016_12_01.models.SecurityGroupNetworkInterface] 5417 """ 5418 5419 _attribute_map = { 5420 'network_interfaces': {'key': 'networkInterfaces', 'type': '[SecurityGroupNetworkInterface]'}, 5421 } 5422 5423 def __init__( 5424 self, 5425 *, 5426 network_interfaces: Optional[List["SecurityGroupNetworkInterface"]] = None, 5427 **kwargs 5428 ): 5429 super(SecurityGroupViewResult, self).__init__(**kwargs) 5430 self.network_interfaces = network_interfaces 5431 5432 5433class SecurityRule(SubResource): 5434 """Network security rule. 5435 5436 :param id: Resource ID. 5437 :type id: str 5438 :param name: The name of the resource that is unique within a resource group. This name can be 5439 used to access the resource. 5440 :type name: str 5441 :param etag: A unique read-only string that changes whenever the resource is updated. 5442 :type etag: str 5443 :param description: A description for this rule. Restricted to 140 chars. 5444 :type description: str 5445 :param protocol: Network protocol this rule applies to. Possible values are 'Tcp', 'Udp', and 5446 '*'. Possible values include: "Tcp", "Udp", "*". 5447 :type protocol: str or ~azure.mgmt.network.v2016_12_01.models.SecurityRuleProtocol 5448 :param source_port_range: The source port or range. Integer or range between 0 and 65535. 5449 Asterisk '*' can also be used to match all ports. 5450 :type source_port_range: str 5451 :param destination_port_range: The destination port or range. Integer or range between 0 and 5452 65535. Asterisk '*' can also be used to match all ports. 5453 :type destination_port_range: str 5454 :param source_address_prefix: The CIDR or source IP range. Asterisk '*' can also be used to 5455 match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' 5456 can also be used. If this is an ingress rule, specifies where network traffic originates from. 5457 :type source_address_prefix: str 5458 :param destination_address_prefix: The destination address prefix. CIDR or source IP range. 5459 Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 5460 'AzureLoadBalancer' and 'Internet' can also be used. 5461 :type destination_address_prefix: str 5462 :param access: The network traffic is allowed or denied. Possible values are: 'Allow' and 5463 'Deny'. Possible values include: "Allow", "Deny". 5464 :type access: str or ~azure.mgmt.network.v2016_12_01.models.SecurityRuleAccess 5465 :param priority: The priority of the rule. The value can be between 100 and 4096. The priority 5466 number must be unique for each rule in the collection. The lower the priority number, the 5467 higher the priority of the rule. 5468 :type priority: int 5469 :param direction: The direction of the rule. The direction specifies if rule will be evaluated 5470 on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'. Possible values 5471 include: "Inbound", "Outbound". 5472 :type direction: str or ~azure.mgmt.network.v2016_12_01.models.SecurityRuleDirection 5473 :param provisioning_state: The provisioning state of the public IP resource. Possible values 5474 are: 'Updating', 'Deleting', and 'Failed'. 5475 :type provisioning_state: str 5476 """ 5477 5478 _attribute_map = { 5479 'id': {'key': 'id', 'type': 'str'}, 5480 'name': {'key': 'name', 'type': 'str'}, 5481 'etag': {'key': 'etag', 'type': 'str'}, 5482 'description': {'key': 'properties.description', 'type': 'str'}, 5483 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 5484 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, 5485 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, 5486 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, 5487 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, 5488 'access': {'key': 'properties.access', 'type': 'str'}, 5489 'priority': {'key': 'properties.priority', 'type': 'int'}, 5490 'direction': {'key': 'properties.direction', 'type': 'str'}, 5491 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5492 } 5493 5494 def __init__( 5495 self, 5496 *, 5497 id: Optional[str] = None, 5498 name: Optional[str] = None, 5499 etag: Optional[str] = None, 5500 description: Optional[str] = None, 5501 protocol: Optional[Union[str, "SecurityRuleProtocol"]] = None, 5502 source_port_range: Optional[str] = None, 5503 destination_port_range: Optional[str] = None, 5504 source_address_prefix: Optional[str] = None, 5505 destination_address_prefix: Optional[str] = None, 5506 access: Optional[Union[str, "SecurityRuleAccess"]] = None, 5507 priority: Optional[int] = None, 5508 direction: Optional[Union[str, "SecurityRuleDirection"]] = None, 5509 provisioning_state: Optional[str] = None, 5510 **kwargs 5511 ): 5512 super(SecurityRule, self).__init__(id=id, **kwargs) 5513 self.name = name 5514 self.etag = etag 5515 self.description = description 5516 self.protocol = protocol 5517 self.source_port_range = source_port_range 5518 self.destination_port_range = destination_port_range 5519 self.source_address_prefix = source_address_prefix 5520 self.destination_address_prefix = destination_address_prefix 5521 self.access = access 5522 self.priority = priority 5523 self.direction = direction 5524 self.provisioning_state = provisioning_state 5525 5526 5527class SecurityRuleAssociations(msrest.serialization.Model): 5528 """All security rules associated with the network interface. 5529 5530 :param network_interface_association: Network interface and its custom security rules. 5531 :type network_interface_association: 5532 ~azure.mgmt.network.v2016_12_01.models.NetworkInterfaceAssociation 5533 :param subnet_association: Network interface and its custom security rules. 5534 :type subnet_association: ~azure.mgmt.network.v2016_12_01.models.SubnetAssociation 5535 :param default_security_rules: Collection of default security rules of the network security 5536 group. 5537 :type default_security_rules: list[~azure.mgmt.network.v2016_12_01.models.SecurityRule] 5538 :param effective_security_rules: Collection of effective security rules. 5539 :type effective_security_rules: 5540 list[~azure.mgmt.network.v2016_12_01.models.EffectiveNetworkSecurityRule] 5541 """ 5542 5543 _attribute_map = { 5544 'network_interface_association': {'key': 'networkInterfaceAssociation', 'type': 'NetworkInterfaceAssociation'}, 5545 'subnet_association': {'key': 'subnetAssociation', 'type': 'SubnetAssociation'}, 5546 'default_security_rules': {'key': 'defaultSecurityRules', 'type': '[SecurityRule]'}, 5547 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, 5548 } 5549 5550 def __init__( 5551 self, 5552 *, 5553 network_interface_association: Optional["NetworkInterfaceAssociation"] = None, 5554 subnet_association: Optional["SubnetAssociation"] = None, 5555 default_security_rules: Optional[List["SecurityRule"]] = None, 5556 effective_security_rules: Optional[List["EffectiveNetworkSecurityRule"]] = None, 5557 **kwargs 5558 ): 5559 super(SecurityRuleAssociations, self).__init__(**kwargs) 5560 self.network_interface_association = network_interface_association 5561 self.subnet_association = subnet_association 5562 self.default_security_rules = default_security_rules 5563 self.effective_security_rules = effective_security_rules 5564 5565 5566class SecurityRuleListResult(msrest.serialization.Model): 5567 """Response for ListSecurityRule API service call. Retrieves all security rules that belongs to a network security group. 5568 5569 :param value: The security rules in a network security group. 5570 :type value: list[~azure.mgmt.network.v2016_12_01.models.SecurityRule] 5571 :param next_link: The URL to get the next set of results. 5572 :type next_link: str 5573 """ 5574 5575 _attribute_map = { 5576 'value': {'key': 'value', 'type': '[SecurityRule]'}, 5577 'next_link': {'key': 'nextLink', 'type': 'str'}, 5578 } 5579 5580 def __init__( 5581 self, 5582 *, 5583 value: Optional[List["SecurityRule"]] = None, 5584 next_link: Optional[str] = None, 5585 **kwargs 5586 ): 5587 super(SecurityRuleListResult, self).__init__(**kwargs) 5588 self.value = value 5589 self.next_link = next_link 5590 5591 5592class Subnet(SubResource): 5593 """Subnet in a virtual network resource. 5594 5595 Variables are only populated by the server, and will be ignored when sending a request. 5596 5597 :param id: Resource ID. 5598 :type id: str 5599 :param name: The name of the resource that is unique within a resource group. This name can be 5600 used to access the resource. 5601 :type name: str 5602 :param etag: A unique read-only string that changes whenever the resource is updated. 5603 :type etag: str 5604 :param address_prefix: The address prefix for the subnet. 5605 :type address_prefix: str 5606 :param network_security_group: The reference of the NetworkSecurityGroup resource. 5607 :type network_security_group: ~azure.mgmt.network.v2016_12_01.models.NetworkSecurityGroup 5608 :param route_table: The reference of the RouteTable resource. 5609 :type route_table: ~azure.mgmt.network.v2016_12_01.models.RouteTable 5610 :ivar ip_configurations: Gets an array of references to the network interface IP configurations 5611 using subnet. 5612 :vartype ip_configurations: list[~azure.mgmt.network.v2016_12_01.models.IPConfiguration] 5613 :param resource_navigation_links: Gets an array of references to the external resources using 5614 subnet. 5615 :type resource_navigation_links: 5616 list[~azure.mgmt.network.v2016_12_01.models.ResourceNavigationLink] 5617 :param provisioning_state: The provisioning state of the resource. 5618 :type provisioning_state: str 5619 """ 5620 5621 _validation = { 5622 'ip_configurations': {'readonly': True}, 5623 } 5624 5625 _attribute_map = { 5626 'id': {'key': 'id', 'type': 'str'}, 5627 'name': {'key': 'name', 'type': 'str'}, 5628 'etag': {'key': 'etag', 'type': 'str'}, 5629 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 5630 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, 5631 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, 5632 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, 5633 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, 5634 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5635 } 5636 5637 def __init__( 5638 self, 5639 *, 5640 id: Optional[str] = None, 5641 name: Optional[str] = None, 5642 etag: Optional[str] = None, 5643 address_prefix: Optional[str] = None, 5644 network_security_group: Optional["NetworkSecurityGroup"] = None, 5645 route_table: Optional["RouteTable"] = None, 5646 resource_navigation_links: Optional[List["ResourceNavigationLink"]] = None, 5647 provisioning_state: Optional[str] = None, 5648 **kwargs 5649 ): 5650 super(Subnet, self).__init__(id=id, **kwargs) 5651 self.name = name 5652 self.etag = etag 5653 self.address_prefix = address_prefix 5654 self.network_security_group = network_security_group 5655 self.route_table = route_table 5656 self.ip_configurations = None 5657 self.resource_navigation_links = resource_navigation_links 5658 self.provisioning_state = provisioning_state 5659 5660 5661class SubnetAssociation(msrest.serialization.Model): 5662 """Network interface and its custom security rules. 5663 5664 Variables are only populated by the server, and will be ignored when sending a request. 5665 5666 :ivar id: Subnet ID. 5667 :vartype id: str 5668 :param security_rules: Collection of custom security rules. 5669 :type security_rules: list[~azure.mgmt.network.v2016_12_01.models.SecurityRule] 5670 """ 5671 5672 _validation = { 5673 'id': {'readonly': True}, 5674 } 5675 5676 _attribute_map = { 5677 'id': {'key': 'id', 'type': 'str'}, 5678 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, 5679 } 5680 5681 def __init__( 5682 self, 5683 *, 5684 security_rules: Optional[List["SecurityRule"]] = None, 5685 **kwargs 5686 ): 5687 super(SubnetAssociation, self).__init__(**kwargs) 5688 self.id = None 5689 self.security_rules = security_rules 5690 5691 5692class SubnetListResult(msrest.serialization.Model): 5693 """Response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network. 5694 5695 :param value: The subnets in a virtual network. 5696 :type value: list[~azure.mgmt.network.v2016_12_01.models.Subnet] 5697 :param next_link: The URL to get the next set of results. 5698 :type next_link: str 5699 """ 5700 5701 _attribute_map = { 5702 'value': {'key': 'value', 'type': '[Subnet]'}, 5703 'next_link': {'key': 'nextLink', 'type': 'str'}, 5704 } 5705 5706 def __init__( 5707 self, 5708 *, 5709 value: Optional[List["Subnet"]] = None, 5710 next_link: Optional[str] = None, 5711 **kwargs 5712 ): 5713 super(SubnetListResult, self).__init__(**kwargs) 5714 self.value = value 5715 self.next_link = next_link 5716 5717 5718class Topology(msrest.serialization.Model): 5719 """Topology of the specified resource group. 5720 5721 Variables are only populated by the server, and will be ignored when sending a request. 5722 5723 :ivar id: GUID representing the operation id. 5724 :vartype id: str 5725 :ivar created_date_time: The datetime when the topology was initially created for the resource 5726 group. 5727 :vartype created_date_time: ~datetime.datetime 5728 :ivar last_modified: The datetime when the topology was last modified. 5729 :vartype last_modified: ~datetime.datetime 5730 :param resources: 5731 :type resources: list[~azure.mgmt.network.v2016_12_01.models.TopologyResource] 5732 """ 5733 5734 _validation = { 5735 'id': {'readonly': True}, 5736 'created_date_time': {'readonly': True}, 5737 'last_modified': {'readonly': True}, 5738 } 5739 5740 _attribute_map = { 5741 'id': {'key': 'id', 'type': 'str'}, 5742 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, 5743 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, 5744 'resources': {'key': 'resources', 'type': '[TopologyResource]'}, 5745 } 5746 5747 def __init__( 5748 self, 5749 *, 5750 resources: Optional[List["TopologyResource"]] = None, 5751 **kwargs 5752 ): 5753 super(Topology, self).__init__(**kwargs) 5754 self.id = None 5755 self.created_date_time = None 5756 self.last_modified = None 5757 self.resources = resources 5758 5759 5760class TopologyAssociation(msrest.serialization.Model): 5761 """Resources that have an association with the parent resource. 5762 5763 :param name: The name of the resource that is associated with the parent resource. 5764 :type name: str 5765 :param resource_id: The ID of the resource that is associated with the parent resource. 5766 :type resource_id: str 5767 :param association_type: The association type of the child resource to the parent resource. 5768 Possible values include: "Associated", "Contains". 5769 :type association_type: str or ~azure.mgmt.network.v2016_12_01.models.AssociationType 5770 """ 5771 5772 _attribute_map = { 5773 'name': {'key': 'name', 'type': 'str'}, 5774 'resource_id': {'key': 'resourceId', 'type': 'str'}, 5775 'association_type': {'key': 'associationType', 'type': 'str'}, 5776 } 5777 5778 def __init__( 5779 self, 5780 *, 5781 name: Optional[str] = None, 5782 resource_id: Optional[str] = None, 5783 association_type: Optional[Union[str, "AssociationType"]] = None, 5784 **kwargs 5785 ): 5786 super(TopologyAssociation, self).__init__(**kwargs) 5787 self.name = name 5788 self.resource_id = resource_id 5789 self.association_type = association_type 5790 5791 5792class TopologyParameters(msrest.serialization.Model): 5793 """Parameters that define the representation of topology. 5794 5795 All required parameters must be populated in order to send to Azure. 5796 5797 :param target_resource_group_name: Required. The name of the target resource group to perform 5798 topology on. 5799 :type target_resource_group_name: str 5800 """ 5801 5802 _validation = { 5803 'target_resource_group_name': {'required': True}, 5804 } 5805 5806 _attribute_map = { 5807 'target_resource_group_name': {'key': 'targetResourceGroupName', 'type': 'str'}, 5808 } 5809 5810 def __init__( 5811 self, 5812 *, 5813 target_resource_group_name: str, 5814 **kwargs 5815 ): 5816 super(TopologyParameters, self).__init__(**kwargs) 5817 self.target_resource_group_name = target_resource_group_name 5818 5819 5820class TopologyResource(msrest.serialization.Model): 5821 """The network resource topology information for the given resource group. 5822 5823 :param name: Name of the resource. 5824 :type name: str 5825 :param id: ID of the resource. 5826 :type id: str 5827 :param location: Resource location. 5828 :type location: str 5829 :param associations: Holds the associations the resource has with other resources in the 5830 resource group. 5831 :type associations: list[~azure.mgmt.network.v2016_12_01.models.TopologyAssociation] 5832 """ 5833 5834 _attribute_map = { 5835 'name': {'key': 'name', 'type': 'str'}, 5836 'id': {'key': 'id', 'type': 'str'}, 5837 'location': {'key': 'location', 'type': 'str'}, 5838 'associations': {'key': 'associations', 'type': '[TopologyAssociation]'}, 5839 } 5840 5841 def __init__( 5842 self, 5843 *, 5844 name: Optional[str] = None, 5845 id: Optional[str] = None, 5846 location: Optional[str] = None, 5847 associations: Optional[List["TopologyAssociation"]] = None, 5848 **kwargs 5849 ): 5850 super(TopologyResource, self).__init__(**kwargs) 5851 self.name = name 5852 self.id = id 5853 self.location = location 5854 self.associations = associations 5855 5856 5857class TroubleshootingDetails(msrest.serialization.Model): 5858 """Information gained from troubleshooting of specified resource. 5859 5860 :param id: The id of the get troubleshoot operation. 5861 :type id: str 5862 :param reason_type: Reason type of failure. 5863 :type reason_type: str 5864 :param summary: A summary of troubleshooting. 5865 :type summary: str 5866 :param detail: Details on troubleshooting results. 5867 :type detail: str 5868 :param recommended_actions: List of recommended actions. 5869 :type recommended_actions: 5870 list[~azure.mgmt.network.v2016_12_01.models.TroubleshootingRecommendedActions] 5871 """ 5872 5873 _attribute_map = { 5874 'id': {'key': 'id', 'type': 'str'}, 5875 'reason_type': {'key': 'reasonType', 'type': 'str'}, 5876 'summary': {'key': 'summary', 'type': 'str'}, 5877 'detail': {'key': 'detail', 'type': 'str'}, 5878 'recommended_actions': {'key': 'recommendedActions', 'type': '[TroubleshootingRecommendedActions]'}, 5879 } 5880 5881 def __init__( 5882 self, 5883 *, 5884 id: Optional[str] = None, 5885 reason_type: Optional[str] = None, 5886 summary: Optional[str] = None, 5887 detail: Optional[str] = None, 5888 recommended_actions: Optional[List["TroubleshootingRecommendedActions"]] = None, 5889 **kwargs 5890 ): 5891 super(TroubleshootingDetails, self).__init__(**kwargs) 5892 self.id = id 5893 self.reason_type = reason_type 5894 self.summary = summary 5895 self.detail = detail 5896 self.recommended_actions = recommended_actions 5897 5898 5899class TroubleshootingParameters(msrest.serialization.Model): 5900 """Parameters that define the resource to troubleshoot. 5901 5902 All required parameters must be populated in order to send to Azure. 5903 5904 :param target_resource_id: Required. The target resource to troubleshoot. 5905 :type target_resource_id: str 5906 :param storage_id: Required. The ID for the storage account to save the troubleshoot result. 5907 :type storage_id: str 5908 :param storage_path: Required. The path to the blob to save the troubleshoot result in. 5909 :type storage_path: str 5910 """ 5911 5912 _validation = { 5913 'target_resource_id': {'required': True}, 5914 'storage_id': {'required': True}, 5915 'storage_path': {'required': True}, 5916 } 5917 5918 _attribute_map = { 5919 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 5920 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, 5921 'storage_path': {'key': 'properties.storagePath', 'type': 'str'}, 5922 } 5923 5924 def __init__( 5925 self, 5926 *, 5927 target_resource_id: str, 5928 storage_id: str, 5929 storage_path: str, 5930 **kwargs 5931 ): 5932 super(TroubleshootingParameters, self).__init__(**kwargs) 5933 self.target_resource_id = target_resource_id 5934 self.storage_id = storage_id 5935 self.storage_path = storage_path 5936 5937 5938class TroubleshootingRecommendedActions(msrest.serialization.Model): 5939 """Recommended actions based on discovered issues. 5940 5941 :param action_id: ID of the recommended action. 5942 :type action_id: str 5943 :param action_text: Description of recommended actions. 5944 :type action_text: str 5945 :param action_uri: The uri linking to a documentation for the recommended troubleshooting 5946 actions. 5947 :type action_uri: str 5948 :param action_uri_text: The information from the URI for the recommended troubleshooting 5949 actions. 5950 :type action_uri_text: str 5951 """ 5952 5953 _attribute_map = { 5954 'action_id': {'key': 'actionId', 'type': 'str'}, 5955 'action_text': {'key': 'actionText', 'type': 'str'}, 5956 'action_uri': {'key': 'actionUri', 'type': 'str'}, 5957 'action_uri_text': {'key': 'actionUriText', 'type': 'str'}, 5958 } 5959 5960 def __init__( 5961 self, 5962 *, 5963 action_id: Optional[str] = None, 5964 action_text: Optional[str] = None, 5965 action_uri: Optional[str] = None, 5966 action_uri_text: Optional[str] = None, 5967 **kwargs 5968 ): 5969 super(TroubleshootingRecommendedActions, self).__init__(**kwargs) 5970 self.action_id = action_id 5971 self.action_text = action_text 5972 self.action_uri = action_uri 5973 self.action_uri_text = action_uri_text 5974 5975 5976class TroubleshootingResult(msrest.serialization.Model): 5977 """Troubleshooting information gained from specified resource. 5978 5979 :param start_time: The start time of the troubleshooting. 5980 :type start_time: ~datetime.datetime 5981 :param end_time: The end time of the troubleshooting. 5982 :type end_time: ~datetime.datetime 5983 :param code: The result code of the troubleshooting. 5984 :type code: str 5985 :param results: Information from troubleshooting. 5986 :type results: list[~azure.mgmt.network.v2016_12_01.models.TroubleshootingDetails] 5987 """ 5988 5989 _attribute_map = { 5990 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 5991 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 5992 'code': {'key': 'code', 'type': 'str'}, 5993 'results': {'key': 'results', 'type': '[TroubleshootingDetails]'}, 5994 } 5995 5996 def __init__( 5997 self, 5998 *, 5999 start_time: Optional[datetime.datetime] = None, 6000 end_time: Optional[datetime.datetime] = None, 6001 code: Optional[str] = None, 6002 results: Optional[List["TroubleshootingDetails"]] = None, 6003 **kwargs 6004 ): 6005 super(TroubleshootingResult, self).__init__(**kwargs) 6006 self.start_time = start_time 6007 self.end_time = end_time 6008 self.code = code 6009 self.results = results 6010 6011 6012class TunnelConnectionHealth(msrest.serialization.Model): 6013 """VirtualNetworkGatewayConnection properties. 6014 6015 Variables are only populated by the server, and will be ignored when sending a request. 6016 6017 :ivar tunnel: Tunnel name. 6018 :vartype tunnel: str 6019 :ivar connection_status: Virtual network Gateway connection status. Possible values include: 6020 "Unknown", "Connecting", "Connected", "NotConnected". 6021 :vartype connection_status: str or 6022 ~azure.mgmt.network.v2016_12_01.models.VirtualNetworkGatewayConnectionStatus 6023 :ivar ingress_bytes_transferred: The Ingress Bytes Transferred in this connection. 6024 :vartype ingress_bytes_transferred: long 6025 :ivar egress_bytes_transferred: The Egress Bytes Transferred in this connection. 6026 :vartype egress_bytes_transferred: long 6027 :ivar last_connection_established_utc_time: The time at which connection was established in Utc 6028 format. 6029 :vartype last_connection_established_utc_time: str 6030 """ 6031 6032 _validation = { 6033 'tunnel': {'readonly': True}, 6034 'connection_status': {'readonly': True}, 6035 'ingress_bytes_transferred': {'readonly': True}, 6036 'egress_bytes_transferred': {'readonly': True}, 6037 'last_connection_established_utc_time': {'readonly': True}, 6038 } 6039 6040 _attribute_map = { 6041 'tunnel': {'key': 'tunnel', 'type': 'str'}, 6042 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, 6043 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, 6044 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, 6045 'last_connection_established_utc_time': {'key': 'lastConnectionEstablishedUtcTime', 'type': 'str'}, 6046 } 6047 6048 def __init__( 6049 self, 6050 **kwargs 6051 ): 6052 super(TunnelConnectionHealth, self).__init__(**kwargs) 6053 self.tunnel = None 6054 self.connection_status = None 6055 self.ingress_bytes_transferred = None 6056 self.egress_bytes_transferred = None 6057 self.last_connection_established_utc_time = None 6058 6059 6060class Usage(msrest.serialization.Model): 6061 """Describes network resource usage. 6062 6063 All required parameters must be populated in order to send to Azure. 6064 6065 :param unit: Required. An enum describing the unit of measurement. Possible values include: 6066 "Count". 6067 :type unit: str or ~azure.mgmt.network.v2016_12_01.models.UsageUnit 6068 :param current_value: Required. The current value of the usage. 6069 :type current_value: long 6070 :param limit: Required. The limit of usage. 6071 :type limit: long 6072 :param name: Required. The name of the type of usage. 6073 :type name: ~azure.mgmt.network.v2016_12_01.models.UsageName 6074 """ 6075 6076 _validation = { 6077 'unit': {'required': True}, 6078 'current_value': {'required': True}, 6079 'limit': {'required': True}, 6080 'name': {'required': True}, 6081 } 6082 6083 _attribute_map = { 6084 'unit': {'key': 'unit', 'type': 'str'}, 6085 'current_value': {'key': 'currentValue', 'type': 'long'}, 6086 'limit': {'key': 'limit', 'type': 'long'}, 6087 'name': {'key': 'name', 'type': 'UsageName'}, 6088 } 6089 6090 def __init__( 6091 self, 6092 *, 6093 unit: Union[str, "UsageUnit"], 6094 current_value: int, 6095 limit: int, 6096 name: "UsageName", 6097 **kwargs 6098 ): 6099 super(Usage, self).__init__(**kwargs) 6100 self.unit = unit 6101 self.current_value = current_value 6102 self.limit = limit 6103 self.name = name 6104 6105 6106class UsageName(msrest.serialization.Model): 6107 """The usage names. 6108 6109 :param value: A string describing the resource name. 6110 :type value: str 6111 :param localized_value: A localized string describing the resource name. 6112 :type localized_value: str 6113 """ 6114 6115 _attribute_map = { 6116 'value': {'key': 'value', 'type': 'str'}, 6117 'localized_value': {'key': 'localizedValue', 'type': 'str'}, 6118 } 6119 6120 def __init__( 6121 self, 6122 *, 6123 value: Optional[str] = None, 6124 localized_value: Optional[str] = None, 6125 **kwargs 6126 ): 6127 super(UsageName, self).__init__(**kwargs) 6128 self.value = value 6129 self.localized_value = localized_value 6130 6131 6132class UsagesListResult(msrest.serialization.Model): 6133 """The list usages operation response. 6134 6135 :param value: The list network resource usages. 6136 :type value: list[~azure.mgmt.network.v2016_12_01.models.Usage] 6137 :param next_link: URL to get the next set of results. 6138 :type next_link: str 6139 """ 6140 6141 _attribute_map = { 6142 'value': {'key': 'value', 'type': '[Usage]'}, 6143 'next_link': {'key': 'nextLink', 'type': 'str'}, 6144 } 6145 6146 def __init__( 6147 self, 6148 *, 6149 value: Optional[List["Usage"]] = None, 6150 next_link: Optional[str] = None, 6151 **kwargs 6152 ): 6153 super(UsagesListResult, self).__init__(**kwargs) 6154 self.value = value 6155 self.next_link = next_link 6156 6157 6158class VerificationIPFlowParameters(msrest.serialization.Model): 6159 """Parameters that define the IP flow to be verified. 6160 6161 All required parameters must be populated in order to send to Azure. 6162 6163 :param target_resource_id: Required. The ID of the target resource to perform next-hop on. 6164 :type target_resource_id: str 6165 :param direction: Required. The direction of the packet represented as a 5-tuple. Possible 6166 values include: "Inbound", "Outbound". 6167 :type direction: str or ~azure.mgmt.network.v2016_12_01.models.Direction 6168 :param protocol: Required. Protocol to be verified on. Possible values include: "TCP", "UDP". 6169 :type protocol: str or ~azure.mgmt.network.v2016_12_01.models.Protocol 6170 :param local_port: Required. The local port. Acceptable values are a single integer in the 6171 range (0-65535). Support for * for the source port, which depends on the direction. 6172 :type local_port: str 6173 :param remote_port: Required. The remote port. Acceptable values are a single integer in the 6174 range (0-65535). Support for * for the source port, which depends on the direction. 6175 :type remote_port: str 6176 :param local_ip_address: Required. The local IP address. Acceptable values are valid IPv4 6177 addresses. 6178 :type local_ip_address: str 6179 :param remote_ip_address: Required. The remote IP address. Acceptable values are valid IPv4 6180 addresses. 6181 :type remote_ip_address: str 6182 :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP forwarding is 6183 enabled on any of them, then this parameter must be specified. Otherwise optional). 6184 :type target_nic_resource_id: str 6185 """ 6186 6187 _validation = { 6188 'target_resource_id': {'required': True}, 6189 'direction': {'required': True}, 6190 'protocol': {'required': True}, 6191 'local_port': {'required': True}, 6192 'remote_port': {'required': True}, 6193 'local_ip_address': {'required': True}, 6194 'remote_ip_address': {'required': True}, 6195 } 6196 6197 _attribute_map = { 6198 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 6199 'direction': {'key': 'direction', 'type': 'str'}, 6200 'protocol': {'key': 'protocol', 'type': 'str'}, 6201 'local_port': {'key': 'localPort', 'type': 'str'}, 6202 'remote_port': {'key': 'remotePort', 'type': 'str'}, 6203 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, 6204 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, 6205 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, 6206 } 6207 6208 def __init__( 6209 self, 6210 *, 6211 target_resource_id: str, 6212 direction: Union[str, "Direction"], 6213 protocol: Union[str, "Protocol"], 6214 local_port: str, 6215 remote_port: str, 6216 local_ip_address: str, 6217 remote_ip_address: str, 6218 target_nic_resource_id: Optional[str] = None, 6219 **kwargs 6220 ): 6221 super(VerificationIPFlowParameters, self).__init__(**kwargs) 6222 self.target_resource_id = target_resource_id 6223 self.direction = direction 6224 self.protocol = protocol 6225 self.local_port = local_port 6226 self.remote_port = remote_port 6227 self.local_ip_address = local_ip_address 6228 self.remote_ip_address = remote_ip_address 6229 self.target_nic_resource_id = target_nic_resource_id 6230 6231 6232class VerificationIPFlowResult(msrest.serialization.Model): 6233 """Results of IP flow verification on the target resource. 6234 6235 :param access: Indicates whether the traffic is allowed or denied. Possible values include: 6236 "Allow", "Deny". 6237 :type access: str or ~azure.mgmt.network.v2016_12_01.models.Access 6238 :param rule_name: Name of the rule. If input is not matched against any security rule, it is 6239 not displayed. 6240 :type rule_name: str 6241 """ 6242 6243 _attribute_map = { 6244 'access': {'key': 'access', 'type': 'str'}, 6245 'rule_name': {'key': 'ruleName', 'type': 'str'}, 6246 } 6247 6248 def __init__( 6249 self, 6250 *, 6251 access: Optional[Union[str, "Access"]] = None, 6252 rule_name: Optional[str] = None, 6253 **kwargs 6254 ): 6255 super(VerificationIPFlowResult, self).__init__(**kwargs) 6256 self.access = access 6257 self.rule_name = rule_name 6258 6259 6260class VirtualNetwork(Resource): 6261 """Virtual Network resource. 6262 6263 Variables are only populated by the server, and will be ignored when sending a request. 6264 6265 :param id: Resource ID. 6266 :type id: str 6267 :ivar name: Resource name. 6268 :vartype name: str 6269 :ivar type: Resource type. 6270 :vartype type: str 6271 :param location: Resource location. 6272 :type location: str 6273 :param tags: A set of tags. Resource tags. 6274 :type tags: dict[str, str] 6275 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 6276 :type etag: str 6277 :param address_space: The AddressSpace that contains an array of IP address ranges that can be 6278 used by subnets. 6279 :type address_space: ~azure.mgmt.network.v2016_12_01.models.AddressSpace 6280 :param dhcp_options: The dhcpOptions that contains an array of DNS servers available to VMs 6281 deployed in the virtual network. 6282 :type dhcp_options: ~azure.mgmt.network.v2016_12_01.models.DhcpOptions 6283 :param subnets: A list of subnets in a Virtual Network. 6284 :type subnets: list[~azure.mgmt.network.v2016_12_01.models.Subnet] 6285 :param virtual_network_peerings: A list of peerings in a Virtual Network. 6286 :type virtual_network_peerings: 6287 list[~azure.mgmt.network.v2016_12_01.models.VirtualNetworkPeering] 6288 :param resource_guid: The resourceGuid property of the Virtual Network resource. 6289 :type resource_guid: str 6290 :param provisioning_state: The provisioning state of the PublicIP resource. Possible values 6291 are: 'Updating', 'Deleting', and 'Failed'. 6292 :type provisioning_state: str 6293 """ 6294 6295 _validation = { 6296 'name': {'readonly': True}, 6297 'type': {'readonly': True}, 6298 } 6299 6300 _attribute_map = { 6301 'id': {'key': 'id', 'type': 'str'}, 6302 'name': {'key': 'name', 'type': 'str'}, 6303 'type': {'key': 'type', 'type': 'str'}, 6304 'location': {'key': 'location', 'type': 'str'}, 6305 'tags': {'key': 'tags', 'type': '{str}'}, 6306 'etag': {'key': 'etag', 'type': 'str'}, 6307 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, 6308 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, 6309 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 6310 'virtual_network_peerings': {'key': 'properties.virtualNetworkPeerings', 'type': '[VirtualNetworkPeering]'}, 6311 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 6312 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6313 } 6314 6315 def __init__( 6316 self, 6317 *, 6318 id: Optional[str] = None, 6319 location: Optional[str] = None, 6320 tags: Optional[Dict[str, str]] = None, 6321 etag: Optional[str] = None, 6322 address_space: Optional["AddressSpace"] = None, 6323 dhcp_options: Optional["DhcpOptions"] = None, 6324 subnets: Optional[List["Subnet"]] = None, 6325 virtual_network_peerings: Optional[List["VirtualNetworkPeering"]] = None, 6326 resource_guid: Optional[str] = None, 6327 provisioning_state: Optional[str] = None, 6328 **kwargs 6329 ): 6330 super(VirtualNetwork, self).__init__(id=id, location=location, tags=tags, **kwargs) 6331 self.etag = etag 6332 self.address_space = address_space 6333 self.dhcp_options = dhcp_options 6334 self.subnets = subnets 6335 self.virtual_network_peerings = virtual_network_peerings 6336 self.resource_guid = resource_guid 6337 self.provisioning_state = provisioning_state 6338 6339 6340class VirtualNetworkGateway(Resource): 6341 """A common class for general resource information. 6342 6343 Variables are only populated by the server, and will be ignored when sending a request. 6344 6345 :param id: Resource ID. 6346 :type id: str 6347 :ivar name: Resource name. 6348 :vartype name: str 6349 :ivar type: Resource type. 6350 :vartype type: str 6351 :param location: Resource location. 6352 :type location: str 6353 :param tags: A set of tags. Resource tags. 6354 :type tags: dict[str, str] 6355 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 6356 :type etag: str 6357 :param ip_configurations: IP configurations for virtual network gateway. 6358 :type ip_configurations: 6359 list[~azure.mgmt.network.v2016_12_01.models.VirtualNetworkGatewayIPConfiguration] 6360 :param gateway_type: The type of this virtual network gateway. Possible values are: 'Vpn' and 6361 'ExpressRoute'. Possible values include: "Vpn", "ExpressRoute". 6362 :type gateway_type: str or ~azure.mgmt.network.v2016_12_01.models.VirtualNetworkGatewayType 6363 :param vpn_type: The type of this virtual network gateway. Possible values are: 'PolicyBased' 6364 and 'RouteBased'. Possible values include: "PolicyBased", "RouteBased". 6365 :type vpn_type: str or ~azure.mgmt.network.v2016_12_01.models.VpnType 6366 :param enable_bgp: Whether BGP is enabled for this virtual network gateway or not. 6367 :type enable_bgp: bool 6368 :param active: ActiveActive flag. 6369 :type active: bool 6370 :param gateway_default_site: The reference of the LocalNetworkGateway resource which represents 6371 local network site having default routes. Assign Null value in case of removing existing 6372 default site setting. 6373 :type gateway_default_site: ~azure.mgmt.network.v2016_12_01.models.SubResource 6374 :param sku: The reference of the VirtualNetworkGatewaySku resource which represents the SKU 6375 selected for Virtual network gateway. 6376 :type sku: ~azure.mgmt.network.v2016_12_01.models.VirtualNetworkGatewaySku 6377 :param vpn_client_configuration: The reference of the VpnClientConfiguration resource which 6378 represents the P2S VpnClient configurations. 6379 :type vpn_client_configuration: ~azure.mgmt.network.v2016_12_01.models.VpnClientConfiguration 6380 :param bgp_settings: Virtual network gateway's BGP speaker settings. 6381 :type bgp_settings: ~azure.mgmt.network.v2016_12_01.models.BgpSettings 6382 :param resource_guid: The resource GUID property of the VirtualNetworkGateway resource. 6383 :type resource_guid: str 6384 :ivar provisioning_state: The provisioning state of the VirtualNetworkGateway resource. 6385 Possible values are: 'Updating', 'Deleting', and 'Failed'. 6386 :vartype provisioning_state: str 6387 """ 6388 6389 _validation = { 6390 'name': {'readonly': True}, 6391 'type': {'readonly': True}, 6392 'provisioning_state': {'readonly': True}, 6393 } 6394 6395 _attribute_map = { 6396 'id': {'key': 'id', 'type': 'str'}, 6397 'name': {'key': 'name', 'type': 'str'}, 6398 'type': {'key': 'type', 'type': 'str'}, 6399 'location': {'key': 'location', 'type': 'str'}, 6400 'tags': {'key': 'tags', 'type': '{str}'}, 6401 'etag': {'key': 'etag', 'type': 'str'}, 6402 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, 6403 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, 6404 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, 6405 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 6406 'active': {'key': 'properties.activeActive', 'type': 'bool'}, 6407 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, 6408 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, 6409 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, 6410 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, 6411 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 6412 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6413 } 6414 6415 def __init__( 6416 self, 6417 *, 6418 id: Optional[str] = None, 6419 location: Optional[str] = None, 6420 tags: Optional[Dict[str, str]] = None, 6421 etag: Optional[str] = None, 6422 ip_configurations: Optional[List["VirtualNetworkGatewayIPConfiguration"]] = None, 6423 gateway_type: Optional[Union[str, "VirtualNetworkGatewayType"]] = None, 6424 vpn_type: Optional[Union[str, "VpnType"]] = None, 6425 enable_bgp: Optional[bool] = None, 6426 active: Optional[bool] = None, 6427 gateway_default_site: Optional["SubResource"] = None, 6428 sku: Optional["VirtualNetworkGatewaySku"] = None, 6429 vpn_client_configuration: Optional["VpnClientConfiguration"] = None, 6430 bgp_settings: Optional["BgpSettings"] = None, 6431 resource_guid: Optional[str] = None, 6432 **kwargs 6433 ): 6434 super(VirtualNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 6435 self.etag = etag 6436 self.ip_configurations = ip_configurations 6437 self.gateway_type = gateway_type 6438 self.vpn_type = vpn_type 6439 self.enable_bgp = enable_bgp 6440 self.active = active 6441 self.gateway_default_site = gateway_default_site 6442 self.sku = sku 6443 self.vpn_client_configuration = vpn_client_configuration 6444 self.bgp_settings = bgp_settings 6445 self.resource_guid = resource_guid 6446 self.provisioning_state = None 6447 6448 6449class VirtualNetworkGatewayConnection(Resource): 6450 """A common class for general resource information. 6451 6452 Variables are only populated by the server, and will be ignored when sending a request. 6453 6454 All required parameters must be populated in order to send to Azure. 6455 6456 :param id: Resource ID. 6457 :type id: str 6458 :ivar name: Resource name. 6459 :vartype name: str 6460 :ivar type: Resource type. 6461 :vartype type: str 6462 :param location: Resource location. 6463 :type location: str 6464 :param tags: A set of tags. Resource tags. 6465 :type tags: dict[str, str] 6466 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 6467 :type etag: str 6468 :param authorization_key: The authorizationKey. 6469 :type authorization_key: str 6470 :param virtual_network_gateway1: Required. A common class for general resource information. 6471 :type virtual_network_gateway1: ~azure.mgmt.network.v2016_12_01.models.VirtualNetworkGateway 6472 :param virtual_network_gateway2: A common class for general resource information. 6473 :type virtual_network_gateway2: ~azure.mgmt.network.v2016_12_01.models.VirtualNetworkGateway 6474 :param local_network_gateway2: A common class for general resource information. 6475 :type local_network_gateway2: ~azure.mgmt.network.v2016_12_01.models.LocalNetworkGateway 6476 :param connection_type: Required. Gateway connection type. Possible values are: 6477 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values include: "IPsec", 6478 "Vnet2Vnet", "ExpressRoute", "VPNClient". 6479 :type connection_type: str or 6480 ~azure.mgmt.network.v2016_12_01.models.VirtualNetworkGatewayConnectionType 6481 :param routing_weight: The routing weight. 6482 :type routing_weight: int 6483 :param shared_key: The IPSec shared key. 6484 :type shared_key: str 6485 :ivar connection_status: Virtual network Gateway connection status. Possible values are 6486 'Unknown', 'Connecting', 'Connected' and 'NotConnected'. Possible values include: "Unknown", 6487 "Connecting", "Connected", "NotConnected". 6488 :vartype connection_status: str or 6489 ~azure.mgmt.network.v2016_12_01.models.VirtualNetworkGatewayConnectionStatus 6490 :ivar tunnel_connection_status: Collection of all tunnels' connection health status. 6491 :vartype tunnel_connection_status: 6492 list[~azure.mgmt.network.v2016_12_01.models.TunnelConnectionHealth] 6493 :ivar egress_bytes_transferred: The egress bytes transferred in this connection. 6494 :vartype egress_bytes_transferred: long 6495 :ivar ingress_bytes_transferred: The ingress bytes transferred in this connection. 6496 :vartype ingress_bytes_transferred: long 6497 :param peer: The reference to peerings resource. 6498 :type peer: ~azure.mgmt.network.v2016_12_01.models.SubResource 6499 :param enable_bgp: EnableBgp flag. 6500 :type enable_bgp: bool 6501 :param resource_guid: The resource GUID property of the VirtualNetworkGatewayConnection 6502 resource. 6503 :type resource_guid: str 6504 :ivar provisioning_state: The provisioning state of the VirtualNetworkGatewayConnection 6505 resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. 6506 :vartype provisioning_state: str 6507 """ 6508 6509 _validation = { 6510 'name': {'readonly': True}, 6511 'type': {'readonly': True}, 6512 'virtual_network_gateway1': {'required': True}, 6513 'connection_type': {'required': True}, 6514 'connection_status': {'readonly': True}, 6515 'tunnel_connection_status': {'readonly': True}, 6516 'egress_bytes_transferred': {'readonly': True}, 6517 'ingress_bytes_transferred': {'readonly': True}, 6518 'provisioning_state': {'readonly': True}, 6519 } 6520 6521 _attribute_map = { 6522 'id': {'key': 'id', 'type': 'str'}, 6523 'name': {'key': 'name', 'type': 'str'}, 6524 'type': {'key': 'type', 'type': 'str'}, 6525 'location': {'key': 'location', 'type': 'str'}, 6526 'tags': {'key': 'tags', 'type': '{str}'}, 6527 'etag': {'key': 'etag', 'type': 'str'}, 6528 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 6529 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, 6530 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, 6531 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, 6532 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, 6533 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, 6534 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 6535 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, 6536 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, 6537 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, 6538 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, 6539 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, 6540 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 6541 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 6542 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6543 } 6544 6545 def __init__( 6546 self, 6547 *, 6548 virtual_network_gateway1: "VirtualNetworkGateway", 6549 connection_type: Union[str, "VirtualNetworkGatewayConnectionType"], 6550 id: Optional[str] = None, 6551 location: Optional[str] = None, 6552 tags: Optional[Dict[str, str]] = None, 6553 etag: Optional[str] = None, 6554 authorization_key: Optional[str] = None, 6555 virtual_network_gateway2: Optional["VirtualNetworkGateway"] = None, 6556 local_network_gateway2: Optional["LocalNetworkGateway"] = None, 6557 routing_weight: Optional[int] = None, 6558 shared_key: Optional[str] = None, 6559 peer: Optional["SubResource"] = None, 6560 enable_bgp: Optional[bool] = None, 6561 resource_guid: Optional[str] = None, 6562 **kwargs 6563 ): 6564 super(VirtualNetworkGatewayConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) 6565 self.etag = etag 6566 self.authorization_key = authorization_key 6567 self.virtual_network_gateway1 = virtual_network_gateway1 6568 self.virtual_network_gateway2 = virtual_network_gateway2 6569 self.local_network_gateway2 = local_network_gateway2 6570 self.connection_type = connection_type 6571 self.routing_weight = routing_weight 6572 self.shared_key = shared_key 6573 self.connection_status = None 6574 self.tunnel_connection_status = None 6575 self.egress_bytes_transferred = None 6576 self.ingress_bytes_transferred = None 6577 self.peer = peer 6578 self.enable_bgp = enable_bgp 6579 self.resource_guid = resource_guid 6580 self.provisioning_state = None 6581 6582 6583class VirtualNetworkGatewayConnectionListResult(msrest.serialization.Model): 6584 """Response for the ListVirtualNetworkGatewayConnections API service call. 6585 6586 :param value: Gets a list of VirtualNetworkGatewayConnection resources that exists in a 6587 resource group. 6588 :type value: list[~azure.mgmt.network.v2016_12_01.models.VirtualNetworkGatewayConnection] 6589 :param next_link: The URL to get the next set of results. 6590 :type next_link: str 6591 """ 6592 6593 _attribute_map = { 6594 'value': {'key': 'value', 'type': '[VirtualNetworkGatewayConnection]'}, 6595 'next_link': {'key': 'nextLink', 'type': 'str'}, 6596 } 6597 6598 def __init__( 6599 self, 6600 *, 6601 value: Optional[List["VirtualNetworkGatewayConnection"]] = None, 6602 next_link: Optional[str] = None, 6603 **kwargs 6604 ): 6605 super(VirtualNetworkGatewayConnectionListResult, self).__init__(**kwargs) 6606 self.value = value 6607 self.next_link = next_link 6608 6609 6610class VirtualNetworkGatewayIPConfiguration(SubResource): 6611 """IP configuration for virtual network gateway. 6612 6613 Variables are only populated by the server, and will be ignored when sending a request. 6614 6615 :param id: Resource ID. 6616 :type id: str 6617 :param name: The name of the resource that is unique within a resource group. This name can be 6618 used to access the resource. 6619 :type name: str 6620 :param etag: A unique read-only string that changes whenever the resource is updated. 6621 :type etag: str 6622 :param private_ip_allocation_method: The private IP allocation method. Possible values are: 6623 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 6624 :type private_ip_allocation_method: str or 6625 ~azure.mgmt.network.v2016_12_01.models.IPAllocationMethod 6626 :param subnet: The reference of the subnet resource. 6627 :type subnet: ~azure.mgmt.network.v2016_12_01.models.SubResource 6628 :param public_ip_address: The reference of the public IP resource. 6629 :type public_ip_address: ~azure.mgmt.network.v2016_12_01.models.SubResource 6630 :ivar provisioning_state: The provisioning state of the public IP resource. Possible values 6631 are: 'Updating', 'Deleting', and 'Failed'. 6632 :vartype provisioning_state: str 6633 """ 6634 6635 _validation = { 6636 'provisioning_state': {'readonly': True}, 6637 } 6638 6639 _attribute_map = { 6640 'id': {'key': 'id', 'type': 'str'}, 6641 'name': {'key': 'name', 'type': 'str'}, 6642 'etag': {'key': 'etag', 'type': 'str'}, 6643 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 6644 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 6645 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, 6646 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6647 } 6648 6649 def __init__( 6650 self, 6651 *, 6652 id: Optional[str] = None, 6653 name: Optional[str] = None, 6654 etag: Optional[str] = None, 6655 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 6656 subnet: Optional["SubResource"] = None, 6657 public_ip_address: Optional["SubResource"] = None, 6658 **kwargs 6659 ): 6660 super(VirtualNetworkGatewayIPConfiguration, self).__init__(id=id, **kwargs) 6661 self.name = name 6662 self.etag = etag 6663 self.private_ip_allocation_method = private_ip_allocation_method 6664 self.subnet = subnet 6665 self.public_ip_address = public_ip_address 6666 self.provisioning_state = None 6667 6668 6669class VirtualNetworkGatewayListResult(msrest.serialization.Model): 6670 """Response for the ListVirtualNetworkGateways API service call. 6671 6672 :param value: Gets a list of VirtualNetworkGateway resources that exists in a resource group. 6673 :type value: list[~azure.mgmt.network.v2016_12_01.models.VirtualNetworkGateway] 6674 :param next_link: The URL to get the next set of results. 6675 :type next_link: str 6676 """ 6677 6678 _attribute_map = { 6679 'value': {'key': 'value', 'type': '[VirtualNetworkGateway]'}, 6680 'next_link': {'key': 'nextLink', 'type': 'str'}, 6681 } 6682 6683 def __init__( 6684 self, 6685 *, 6686 value: Optional[List["VirtualNetworkGateway"]] = None, 6687 next_link: Optional[str] = None, 6688 **kwargs 6689 ): 6690 super(VirtualNetworkGatewayListResult, self).__init__(**kwargs) 6691 self.value = value 6692 self.next_link = next_link 6693 6694 6695class VirtualNetworkGatewaySku(msrest.serialization.Model): 6696 """VirtualNetworkGatewaySku details. 6697 6698 :param name: Gateway SKU name. Possible values are: 'Basic', 'HighPerformance','Standard', and 6699 'UltraPerformance'. Possible values include: "Basic", "HighPerformance", "Standard", 6700 "UltraPerformance". 6701 :type name: str or ~azure.mgmt.network.v2016_12_01.models.VirtualNetworkGatewaySkuName 6702 :param tier: Gateway SKU tier. Possible values are: 'Basic', 'HighPerformance','Standard', and 6703 'UltraPerformance'. Possible values include: "Basic", "HighPerformance", "Standard", 6704 "UltraPerformance". 6705 :type tier: str or ~azure.mgmt.network.v2016_12_01.models.VirtualNetworkGatewaySkuTier 6706 :param capacity: The capacity. 6707 :type capacity: int 6708 """ 6709 6710 _attribute_map = { 6711 'name': {'key': 'name', 'type': 'str'}, 6712 'tier': {'key': 'tier', 'type': 'str'}, 6713 'capacity': {'key': 'capacity', 'type': 'int'}, 6714 } 6715 6716 def __init__( 6717 self, 6718 *, 6719 name: Optional[Union[str, "VirtualNetworkGatewaySkuName"]] = None, 6720 tier: Optional[Union[str, "VirtualNetworkGatewaySkuTier"]] = None, 6721 capacity: Optional[int] = None, 6722 **kwargs 6723 ): 6724 super(VirtualNetworkGatewaySku, self).__init__(**kwargs) 6725 self.name = name 6726 self.tier = tier 6727 self.capacity = capacity 6728 6729 6730class VirtualNetworkListResult(msrest.serialization.Model): 6731 """Response for the ListVirtualNetworks API service call. 6732 6733 :param value: Gets a list of VirtualNetwork resources in a resource group. 6734 :type value: list[~azure.mgmt.network.v2016_12_01.models.VirtualNetwork] 6735 :param next_link: The URL to get the next set of results. 6736 :type next_link: str 6737 """ 6738 6739 _attribute_map = { 6740 'value': {'key': 'value', 'type': '[VirtualNetwork]'}, 6741 'next_link': {'key': 'nextLink', 'type': 'str'}, 6742 } 6743 6744 def __init__( 6745 self, 6746 *, 6747 value: Optional[List["VirtualNetwork"]] = None, 6748 next_link: Optional[str] = None, 6749 **kwargs 6750 ): 6751 super(VirtualNetworkListResult, self).__init__(**kwargs) 6752 self.value = value 6753 self.next_link = next_link 6754 6755 6756class VirtualNetworkPeering(SubResource): 6757 """Peerings in a virtual network resource. 6758 6759 :param id: Resource ID. 6760 :type id: str 6761 :param name: The name of the resource that is unique within a resource group. This name can be 6762 used to access the resource. 6763 :type name: str 6764 :param etag: A unique read-only string that changes whenever the resource is updated. 6765 :type etag: str 6766 :param allow_virtual_network_access: Whether the VMs in the linked virtual network space would 6767 be able to access all the VMs in local Virtual network space. 6768 :type allow_virtual_network_access: bool 6769 :param allow_forwarded_traffic: Whether the forwarded traffic from the VMs in the remote 6770 virtual network will be allowed/disallowed. 6771 :type allow_forwarded_traffic: bool 6772 :param allow_gateway_transit: If gateway links can be used in remote virtual networking to link 6773 to this virtual network. 6774 :type allow_gateway_transit: bool 6775 :param use_remote_gateways: If remote gateways can be used on this virtual network. If the flag 6776 is set to true, and allowGatewayTransit on remote peering is also true, virtual network will 6777 use gateways of remote virtual network for transit. Only one peering can have this flag set to 6778 true. This flag cannot be set if virtual network already has a gateway. 6779 :type use_remote_gateways: bool 6780 :param remote_virtual_network: The reference of the remote virtual network. 6781 :type remote_virtual_network: ~azure.mgmt.network.v2016_12_01.models.SubResource 6782 :param peering_state: The status of the virtual network peering. Possible values are 6783 'Initiated', 'Connected', and 'Disconnected'. Possible values include: "Initiated", 6784 "Connected", "Disconnected". 6785 :type peering_state: str or ~azure.mgmt.network.v2016_12_01.models.VirtualNetworkPeeringState 6786 :param provisioning_state: The provisioning state of the resource. 6787 :type provisioning_state: str 6788 """ 6789 6790 _attribute_map = { 6791 'id': {'key': 'id', 'type': 'str'}, 6792 'name': {'key': 'name', 'type': 'str'}, 6793 'etag': {'key': 'etag', 'type': 'str'}, 6794 'allow_virtual_network_access': {'key': 'properties.allowVirtualNetworkAccess', 'type': 'bool'}, 6795 'allow_forwarded_traffic': {'key': 'properties.allowForwardedTraffic', 'type': 'bool'}, 6796 'allow_gateway_transit': {'key': 'properties.allowGatewayTransit', 'type': 'bool'}, 6797 'use_remote_gateways': {'key': 'properties.useRemoteGateways', 'type': 'bool'}, 6798 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, 6799 'peering_state': {'key': 'properties.peeringState', 'type': 'str'}, 6800 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6801 } 6802 6803 def __init__( 6804 self, 6805 *, 6806 id: Optional[str] = None, 6807 name: Optional[str] = None, 6808 etag: Optional[str] = None, 6809 allow_virtual_network_access: Optional[bool] = None, 6810 allow_forwarded_traffic: Optional[bool] = None, 6811 allow_gateway_transit: Optional[bool] = None, 6812 use_remote_gateways: Optional[bool] = None, 6813 remote_virtual_network: Optional["SubResource"] = None, 6814 peering_state: Optional[Union[str, "VirtualNetworkPeeringState"]] = None, 6815 provisioning_state: Optional[str] = None, 6816 **kwargs 6817 ): 6818 super(VirtualNetworkPeering, self).__init__(id=id, **kwargs) 6819 self.name = name 6820 self.etag = etag 6821 self.allow_virtual_network_access = allow_virtual_network_access 6822 self.allow_forwarded_traffic = allow_forwarded_traffic 6823 self.allow_gateway_transit = allow_gateway_transit 6824 self.use_remote_gateways = use_remote_gateways 6825 self.remote_virtual_network = remote_virtual_network 6826 self.peering_state = peering_state 6827 self.provisioning_state = provisioning_state 6828 6829 6830class VirtualNetworkPeeringListResult(msrest.serialization.Model): 6831 """Response for ListSubnets API service call. Retrieves all subnets that belong to a virtual network. 6832 6833 :param value: The peerings in a virtual network. 6834 :type value: list[~azure.mgmt.network.v2016_12_01.models.VirtualNetworkPeering] 6835 :param next_link: The URL to get the next set of results. 6836 :type next_link: str 6837 """ 6838 6839 _attribute_map = { 6840 'value': {'key': 'value', 'type': '[VirtualNetworkPeering]'}, 6841 'next_link': {'key': 'nextLink', 'type': 'str'}, 6842 } 6843 6844 def __init__( 6845 self, 6846 *, 6847 value: Optional[List["VirtualNetworkPeering"]] = None, 6848 next_link: Optional[str] = None, 6849 **kwargs 6850 ): 6851 super(VirtualNetworkPeeringListResult, self).__init__(**kwargs) 6852 self.value = value 6853 self.next_link = next_link 6854 6855 6856class VpnClientConfiguration(msrest.serialization.Model): 6857 """VpnClientConfiguration for P2S client. 6858 6859 :param vpn_client_address_pool: The reference of the address space resource which represents 6860 Address space for P2S VpnClient. 6861 :type vpn_client_address_pool: ~azure.mgmt.network.v2016_12_01.models.AddressSpace 6862 :param vpn_client_root_certificates: VpnClientRootCertificate for virtual network gateway. 6863 :type vpn_client_root_certificates: 6864 list[~azure.mgmt.network.v2016_12_01.models.VpnClientRootCertificate] 6865 :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for Virtual network 6866 gateway. 6867 :type vpn_client_revoked_certificates: 6868 list[~azure.mgmt.network.v2016_12_01.models.VpnClientRevokedCertificate] 6869 """ 6870 6871 _attribute_map = { 6872 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, 6873 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, 6874 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, 6875 } 6876 6877 def __init__( 6878 self, 6879 *, 6880 vpn_client_address_pool: Optional["AddressSpace"] = None, 6881 vpn_client_root_certificates: Optional[List["VpnClientRootCertificate"]] = None, 6882 vpn_client_revoked_certificates: Optional[List["VpnClientRevokedCertificate"]] = None, 6883 **kwargs 6884 ): 6885 super(VpnClientConfiguration, self).__init__(**kwargs) 6886 self.vpn_client_address_pool = vpn_client_address_pool 6887 self.vpn_client_root_certificates = vpn_client_root_certificates 6888 self.vpn_client_revoked_certificates = vpn_client_revoked_certificates 6889 6890 6891class VpnClientParameters(msrest.serialization.Model): 6892 """VpnClientParameters. 6893 6894 All required parameters must be populated in order to send to Azure. 6895 6896 :param processor_architecture: Required. VPN client Processor Architecture. Possible values 6897 are: 'AMD64' and 'X86'. Possible values include: "Amd64", "X86". 6898 :type processor_architecture: str or 6899 ~azure.mgmt.network.v2016_12_01.models.ProcessorArchitecture 6900 """ 6901 6902 _validation = { 6903 'processor_architecture': {'required': True}, 6904 } 6905 6906 _attribute_map = { 6907 'processor_architecture': {'key': 'ProcessorArchitecture', 'type': 'str'}, 6908 } 6909 6910 def __init__( 6911 self, 6912 *, 6913 processor_architecture: Union[str, "ProcessorArchitecture"], 6914 **kwargs 6915 ): 6916 super(VpnClientParameters, self).__init__(**kwargs) 6917 self.processor_architecture = processor_architecture 6918 6919 6920class VpnClientRevokedCertificate(SubResource): 6921 """VPN client revoked certificate of virtual network gateway. 6922 6923 Variables are only populated by the server, and will be ignored when sending a request. 6924 6925 :param id: Resource ID. 6926 :type id: str 6927 :param name: The name of the resource that is unique within a resource group. This name can be 6928 used to access the resource. 6929 :type name: str 6930 :param etag: A unique read-only string that changes whenever the resource is updated. 6931 :type etag: str 6932 :param thumbprint: The revoked VPN client certificate thumbprint. 6933 :type thumbprint: str 6934 :ivar provisioning_state: The provisioning state of the VPN client revoked certificate 6935 resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. 6936 :vartype provisioning_state: str 6937 """ 6938 6939 _validation = { 6940 'provisioning_state': {'readonly': True}, 6941 } 6942 6943 _attribute_map = { 6944 'id': {'key': 'id', 'type': 'str'}, 6945 'name': {'key': 'name', 'type': 'str'}, 6946 'etag': {'key': 'etag', 'type': 'str'}, 6947 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, 6948 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6949 } 6950 6951 def __init__( 6952 self, 6953 *, 6954 id: Optional[str] = None, 6955 name: Optional[str] = None, 6956 etag: Optional[str] = None, 6957 thumbprint: Optional[str] = None, 6958 **kwargs 6959 ): 6960 super(VpnClientRevokedCertificate, self).__init__(id=id, **kwargs) 6961 self.name = name 6962 self.etag = etag 6963 self.thumbprint = thumbprint 6964 self.provisioning_state = None 6965 6966 6967class VpnClientRootCertificate(SubResource): 6968 """VPN client root certificate of virtual network gateway. 6969 6970 Variables are only populated by the server, and will be ignored when sending a request. 6971 6972 All required parameters must be populated in order to send to Azure. 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 public_cert_data: Required. The certificate public data. 6982 :type public_cert_data: str 6983 :ivar provisioning_state: The provisioning state of the VPN client root certificate resource. 6984 Possible values are: 'Updating', 'Deleting', and 'Failed'. 6985 :vartype provisioning_state: str 6986 """ 6987 6988 _validation = { 6989 'public_cert_data': {'required': True}, 6990 'provisioning_state': {'readonly': True}, 6991 } 6992 6993 _attribute_map = { 6994 'id': {'key': 'id', 'type': 'str'}, 6995 'name': {'key': 'name', 'type': 'str'}, 6996 'etag': {'key': 'etag', 'type': 'str'}, 6997 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, 6998 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6999 } 7000 7001 def __init__( 7002 self, 7003 *, 7004 public_cert_data: str, 7005 id: Optional[str] = None, 7006 name: Optional[str] = None, 7007 etag: Optional[str] = None, 7008 **kwargs 7009 ): 7010 super(VpnClientRootCertificate, self).__init__(id=id, **kwargs) 7011 self.name = name 7012 self.etag = etag 7013 self.public_cert_data = public_cert_data 7014 self.provisioning_state = None 7015