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 9from typing import Dict, List, Optional, Union 10 11import msrest.serialization 12 13from ._network_management_client_enums import * 14 15 16class AddressSpace(msrest.serialization.Model): 17 """AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. 18 19 :param address_prefixes: A list of address blocks reserved for this virtual network in CIDR 20 notation. 21 :type address_prefixes: list[str] 22 """ 23 24 _attribute_map = { 25 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, 26 } 27 28 def __init__( 29 self, 30 *, 31 address_prefixes: Optional[List[str]] = None, 32 **kwargs 33 ): 34 super(AddressSpace, self).__init__(**kwargs) 35 self.address_prefixes = address_prefixes 36 37 38class Resource(msrest.serialization.Model): 39 """Azure resource manager resource properties. 40 41 Variables are only populated by the server, and will be ignored when sending a request. 42 43 :param id: Resource Identifier. 44 :type id: str 45 :ivar name: Resource name. 46 :vartype name: str 47 :ivar type: Resource type. 48 :vartype type: str 49 :param location: Resource location. 50 :type location: str 51 :param tags: A set of tags. Resource tags. 52 :type tags: dict[str, str] 53 """ 54 55 _validation = { 56 'name': {'readonly': True}, 57 'type': {'readonly': True}, 58 } 59 60 _attribute_map = { 61 'id': {'key': 'id', 'type': 'str'}, 62 'name': {'key': 'name', 'type': 'str'}, 63 'type': {'key': 'type', 'type': 'str'}, 64 'location': {'key': 'location', 'type': 'str'}, 65 'tags': {'key': 'tags', 'type': '{str}'}, 66 } 67 68 def __init__( 69 self, 70 *, 71 id: Optional[str] = None, 72 location: Optional[str] = None, 73 tags: Optional[Dict[str, str]] = None, 74 **kwargs 75 ): 76 super(Resource, self).__init__(**kwargs) 77 self.id = id 78 self.name = None 79 self.type = None 80 self.location = location 81 self.tags = tags 82 83 84class ApplicationGateway(Resource): 85 """Application gateway resource. 86 87 Variables are only populated by the server, and will be ignored when sending a request. 88 89 :param id: Resource Identifier. 90 :type id: str 91 :ivar name: Resource name. 92 :vartype name: str 93 :ivar type: Resource type. 94 :vartype type: str 95 :param location: Resource location. 96 :type location: str 97 :param tags: A set of tags. Resource tags. 98 :type tags: dict[str, str] 99 :param etag: A unique read-only string that changes whenever the resource is updated. 100 :type etag: str 101 :param sku: SKU of the application gateway resource. 102 :type sku: ~azure.mgmt.network.v2015_06_15.models.ApplicationGatewaySku 103 :ivar operational_state: Operational state of the application gateway resource. Possible values 104 are: 'Stopped', 'Started', 'Running', and 'Stopping'. Possible values include: "Stopped", 105 "Starting", "Running", "Stopping". 106 :vartype operational_state: str or 107 ~azure.mgmt.network.v2015_06_15.models.ApplicationGatewayOperationalState 108 :param gateway_ip_configurations: Gets or sets subnets of application gateway resource. 109 :type gateway_ip_configurations: 110 list[~azure.mgmt.network.v2015_06_15.models.ApplicationGatewayIPConfiguration] 111 :param ssl_certificates: SSL certificates of the application gateway resource. 112 :type ssl_certificates: 113 list[~azure.mgmt.network.v2015_06_15.models.ApplicationGatewaySslCertificate] 114 :param frontend_ip_configurations: Frontend IP addresses of the application gateway resource. 115 :type frontend_ip_configurations: 116 list[~azure.mgmt.network.v2015_06_15.models.ApplicationGatewayFrontendIPConfiguration] 117 :param frontend_ports: Frontend ports of the application gateway resource. 118 :type frontend_ports: 119 list[~azure.mgmt.network.v2015_06_15.models.ApplicationGatewayFrontendPort] 120 :param probes: Probes of the application gateway resource. 121 :type probes: list[~azure.mgmt.network.v2015_06_15.models.ApplicationGatewayProbe] 122 :param backend_address_pools: Backend address pool of the application gateway resource. 123 :type backend_address_pools: 124 list[~azure.mgmt.network.v2015_06_15.models.ApplicationGatewayBackendAddressPool] 125 :param backend_http_settings_collection: Backend http settings of the application gateway 126 resource. 127 :type backend_http_settings_collection: 128 list[~azure.mgmt.network.v2015_06_15.models.ApplicationGatewayBackendHttpSettings] 129 :param http_listeners: Http listeners of the application gateway resource. 130 :type http_listeners: 131 list[~azure.mgmt.network.v2015_06_15.models.ApplicationGatewayHttpListener] 132 :param url_path_maps: URL path map of the application gateway resource. 133 :type url_path_maps: list[~azure.mgmt.network.v2015_06_15.models.ApplicationGatewayUrlPathMap] 134 :param request_routing_rules: Request routing rules of the application gateway resource. 135 :type request_routing_rules: 136 list[~azure.mgmt.network.v2015_06_15.models.ApplicationGatewayRequestRoutingRule] 137 :param resource_guid: Resource GUID property of the application gateway resource. 138 :type resource_guid: str 139 :param provisioning_state: Provisioning state of the application gateway resource. Possible 140 values are: 'Updating', 'Deleting', and 'Failed'. 141 :type provisioning_state: str 142 """ 143 144 _validation = { 145 'name': {'readonly': True}, 146 'type': {'readonly': True}, 147 'operational_state': {'readonly': True}, 148 } 149 150 _attribute_map = { 151 'id': {'key': 'id', 'type': 'str'}, 152 'name': {'key': 'name', 'type': 'str'}, 153 'type': {'key': 'type', 'type': 'str'}, 154 'location': {'key': 'location', 'type': 'str'}, 155 'tags': {'key': 'tags', 'type': '{str}'}, 156 'etag': {'key': 'etag', 'type': 'str'}, 157 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, 158 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, 159 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, 160 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, 161 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, 162 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, 163 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, 164 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, 165 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, 166 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, 167 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, 168 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, 169 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 170 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 171 } 172 173 def __init__( 174 self, 175 *, 176 id: Optional[str] = None, 177 location: Optional[str] = None, 178 tags: Optional[Dict[str, str]] = None, 179 etag: Optional[str] = None, 180 sku: Optional["ApplicationGatewaySku"] = None, 181 gateway_ip_configurations: Optional[List["ApplicationGatewayIPConfiguration"]] = None, 182 ssl_certificates: Optional[List["ApplicationGatewaySslCertificate"]] = None, 183 frontend_ip_configurations: Optional[List["ApplicationGatewayFrontendIPConfiguration"]] = None, 184 frontend_ports: Optional[List["ApplicationGatewayFrontendPort"]] = None, 185 probes: Optional[List["ApplicationGatewayProbe"]] = None, 186 backend_address_pools: Optional[List["ApplicationGatewayBackendAddressPool"]] = None, 187 backend_http_settings_collection: Optional[List["ApplicationGatewayBackendHttpSettings"]] = None, 188 http_listeners: Optional[List["ApplicationGatewayHttpListener"]] = None, 189 url_path_maps: Optional[List["ApplicationGatewayUrlPathMap"]] = None, 190 request_routing_rules: Optional[List["ApplicationGatewayRequestRoutingRule"]] = None, 191 resource_guid: Optional[str] = None, 192 provisioning_state: Optional[str] = None, 193 **kwargs 194 ): 195 super(ApplicationGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 196 self.etag = etag 197 self.sku = sku 198 self.operational_state = None 199 self.gateway_ip_configurations = gateway_ip_configurations 200 self.ssl_certificates = ssl_certificates 201 self.frontend_ip_configurations = frontend_ip_configurations 202 self.frontend_ports = frontend_ports 203 self.probes = probes 204 self.backend_address_pools = backend_address_pools 205 self.backend_http_settings_collection = backend_http_settings_collection 206 self.http_listeners = http_listeners 207 self.url_path_maps = url_path_maps 208 self.request_routing_rules = request_routing_rules 209 self.resource_guid = resource_guid 210 self.provisioning_state = provisioning_state 211 212 213class ApplicationGatewayBackendAddress(msrest.serialization.Model): 214 """Backend address of an application gateway. 215 216 :param fqdn: Fully qualified domain name (FQDN). 217 :type fqdn: str 218 :param ip_address: IP address. 219 :type ip_address: str 220 """ 221 222 _attribute_map = { 223 'fqdn': {'key': 'fqdn', 'type': 'str'}, 224 'ip_address': {'key': 'ipAddress', 'type': 'str'}, 225 } 226 227 def __init__( 228 self, 229 *, 230 fqdn: Optional[str] = None, 231 ip_address: Optional[str] = None, 232 **kwargs 233 ): 234 super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) 235 self.fqdn = fqdn 236 self.ip_address = ip_address 237 238 239class SubResource(msrest.serialization.Model): 240 """Azure resource manager sub resource properties. 241 242 :param id: Resource Identifier. 243 :type id: str 244 """ 245 246 _attribute_map = { 247 'id': {'key': 'id', 'type': 'str'}, 248 } 249 250 def __init__( 251 self, 252 *, 253 id: Optional[str] = None, 254 **kwargs 255 ): 256 super(SubResource, self).__init__(**kwargs) 257 self.id = id 258 259 260class ApplicationGatewayBackendAddressPool(SubResource): 261 """Backend Address Pool of an application gateway. 262 263 :param id: Resource Identifier. 264 :type id: str 265 :param name: Resource that is unique within a resource group. This name can be used to access 266 the resource. 267 :type name: str 268 :param etag: A unique read-only string that changes whenever the resource is updated. 269 :type etag: str 270 :param backend_ip_configurations: Collection of references to IPs defined in network 271 interfaces. 272 :type backend_ip_configurations: 273 list[~azure.mgmt.network.v2015_06_15.models.NetworkInterfaceIPConfiguration] 274 :param backend_addresses: Backend addresses. 275 :type backend_addresses: 276 list[~azure.mgmt.network.v2015_06_15.models.ApplicationGatewayBackendAddress] 277 :param provisioning_state: Provisioning state of the backend address pool resource. Possible 278 values are: 'Updating', 'Deleting', and 'Failed'. 279 :type provisioning_state: str 280 """ 281 282 _attribute_map = { 283 'id': {'key': 'id', 'type': 'str'}, 284 'name': {'key': 'name', 'type': 'str'}, 285 'etag': {'key': 'etag', 'type': 'str'}, 286 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 287 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, 288 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 289 } 290 291 def __init__( 292 self, 293 *, 294 id: Optional[str] = None, 295 name: Optional[str] = None, 296 etag: Optional[str] = None, 297 backend_ip_configurations: Optional[List["NetworkInterfaceIPConfiguration"]] = None, 298 backend_addresses: Optional[List["ApplicationGatewayBackendAddress"]] = None, 299 provisioning_state: Optional[str] = None, 300 **kwargs 301 ): 302 super(ApplicationGatewayBackendAddressPool, self).__init__(id=id, **kwargs) 303 self.name = name 304 self.etag = etag 305 self.backend_ip_configurations = backend_ip_configurations 306 self.backend_addresses = backend_addresses 307 self.provisioning_state = provisioning_state 308 309 310class ApplicationGatewayBackendHttpSettings(SubResource): 311 """Backend address pool settings of an application gateway. 312 313 :param id: Resource Identifier. 314 :type id: str 315 :param name: Name of the resource that is unique within a resource group. This name can be used 316 to access the resource. 317 :type name: str 318 :param etag: A unique read-only string that changes whenever the resource is updated. 319 :type etag: str 320 :param port: Port. 321 :type port: int 322 :param protocol: Protocol. Possible values are: 'Http' and 'Https'. Possible values include: 323 "Http", "Https". 324 :type protocol: str or ~azure.mgmt.network.v2015_06_15.models.ApplicationGatewayProtocol 325 :param cookie_based_affinity: Cookie based affinity. Possible values are: 'Enabled' and 326 'Disabled'. Possible values include: "Enabled", "Disabled". 327 :type cookie_based_affinity: str or 328 ~azure.mgmt.network.v2015_06_15.models.ApplicationGatewayCookieBasedAffinity 329 :param request_timeout: Request timeout in seconds. Application Gateway will fail the request 330 if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 331 seconds. 332 :type request_timeout: int 333 :param probe: Probe resource of an application gateway. 334 :type probe: ~azure.mgmt.network.v2015_06_15.models.SubResource 335 :param provisioning_state: Gets or sets Provisioning state of the backend http settings 336 resource Updating/Deleting/Failed. 337 :type provisioning_state: str 338 """ 339 340 _attribute_map = { 341 'id': {'key': 'id', 'type': 'str'}, 342 'name': {'key': 'name', 'type': 'str'}, 343 'etag': {'key': 'etag', 'type': 'str'}, 344 'port': {'key': 'properties.port', 'type': 'int'}, 345 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 346 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, 347 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, 348 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, 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 port: Optional[int] = None, 359 protocol: Optional[Union[str, "ApplicationGatewayProtocol"]] = None, 360 cookie_based_affinity: Optional[Union[str, "ApplicationGatewayCookieBasedAffinity"]] = None, 361 request_timeout: Optional[int] = None, 362 probe: Optional["SubResource"] = None, 363 provisioning_state: Optional[str] = None, 364 **kwargs 365 ): 366 super(ApplicationGatewayBackendHttpSettings, self).__init__(id=id, **kwargs) 367 self.name = name 368 self.etag = etag 369 self.port = port 370 self.protocol = protocol 371 self.cookie_based_affinity = cookie_based_affinity 372 self.request_timeout = request_timeout 373 self.probe = probe 374 self.provisioning_state = provisioning_state 375 376 377class ApplicationGatewayFrontendIPConfiguration(SubResource): 378 """Frontend IP configuration of an application gateway. 379 380 :param id: Resource Identifier. 381 :type id: str 382 :param name: Name of the resource that is unique within a resource group. This name can be used 383 to access the resource. 384 :type name: str 385 :param etag: A unique read-only string that changes whenever the resource is updated. 386 :type etag: str 387 :param private_ip_address: PrivateIPAddress of the network interface IP Configuration. 388 :type private_ip_address: str 389 :param private_ip_allocation_method: PrivateIP allocation method. Possible values are: 'Static' 390 and 'Dynamic'. Possible values include: "Static", "Dynamic". 391 :type private_ip_allocation_method: str or 392 ~azure.mgmt.network.v2015_06_15.models.IPAllocationMethod 393 :param subnet: Reference of the subnet resource. 394 :type subnet: ~azure.mgmt.network.v2015_06_15.models.SubResource 395 :param public_ip_address: Reference of the PublicIP resource. 396 :type public_ip_address: ~azure.mgmt.network.v2015_06_15.models.SubResource 397 :param provisioning_state: Provisioning state of the public IP resource. Possible values are: 398 'Updating', 'Deleting', and 'Failed'. 399 :type provisioning_state: str 400 """ 401 402 _attribute_map = { 403 'id': {'key': 'id', 'type': 'str'}, 404 'name': {'key': 'name', 'type': 'str'}, 405 'etag': {'key': 'etag', 'type': 'str'}, 406 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 407 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 408 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 409 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, 410 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 411 } 412 413 def __init__( 414 self, 415 *, 416 id: Optional[str] = None, 417 name: Optional[str] = None, 418 etag: Optional[str] = None, 419 private_ip_address: Optional[str] = None, 420 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 421 subnet: Optional["SubResource"] = None, 422 public_ip_address: Optional["SubResource"] = None, 423 provisioning_state: Optional[str] = None, 424 **kwargs 425 ): 426 super(ApplicationGatewayFrontendIPConfiguration, self).__init__(id=id, **kwargs) 427 self.name = name 428 self.etag = etag 429 self.private_ip_address = private_ip_address 430 self.private_ip_allocation_method = private_ip_allocation_method 431 self.subnet = subnet 432 self.public_ip_address = public_ip_address 433 self.provisioning_state = provisioning_state 434 435 436class ApplicationGatewayFrontendPort(SubResource): 437 """Frontend port of an application gateway. 438 439 :param id: Resource Identifier. 440 :type id: str 441 :param name: Name of the resource that is unique within a resource group. This name can be used 442 to access the resource. 443 :type name: str 444 :param etag: A unique read-only string that changes whenever the resource is updated. 445 :type etag: str 446 :param port: Frontend port. 447 :type port: int 448 :param provisioning_state: Provisioning state of the frontend port resource. Possible values 449 are: 'Updating', 'Deleting', and 'Failed'. 450 :type provisioning_state: str 451 """ 452 453 _attribute_map = { 454 'id': {'key': 'id', 'type': 'str'}, 455 'name': {'key': 'name', 'type': 'str'}, 456 'etag': {'key': 'etag', 'type': 'str'}, 457 'port': {'key': 'properties.port', 'type': 'int'}, 458 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 459 } 460 461 def __init__( 462 self, 463 *, 464 id: Optional[str] = None, 465 name: Optional[str] = None, 466 etag: Optional[str] = None, 467 port: Optional[int] = None, 468 provisioning_state: Optional[str] = None, 469 **kwargs 470 ): 471 super(ApplicationGatewayFrontendPort, self).__init__(id=id, **kwargs) 472 self.name = name 473 self.etag = etag 474 self.port = port 475 self.provisioning_state = provisioning_state 476 477 478class ApplicationGatewayHttpListener(SubResource): 479 """Http listener of an application gateway. 480 481 :param id: Resource Identifier. 482 :type id: str 483 :param name: Name of the resource that is unique within a resource group. This name can be used 484 to access the resource. 485 :type name: str 486 :param etag: A unique read-only string that changes whenever the resource is updated. 487 :type etag: str 488 :param frontend_ip_configuration: Frontend IP configuration resource of an application gateway. 489 :type frontend_ip_configuration: ~azure.mgmt.network.v2015_06_15.models.SubResource 490 :param frontend_port: Frontend port resource of an application gateway. 491 :type frontend_port: ~azure.mgmt.network.v2015_06_15.models.SubResource 492 :param protocol: Protocol. Possible values are: 'Http' and 'Https'. Possible values include: 493 "Http", "Https". 494 :type protocol: str or ~azure.mgmt.network.v2015_06_15.models.ApplicationGatewayProtocol 495 :param host_name: Host name of HTTP listener. 496 :type host_name: str 497 :param ssl_certificate: SSL certificate resource of an application gateway. 498 :type ssl_certificate: ~azure.mgmt.network.v2015_06_15.models.SubResource 499 :param require_server_name_indication: Applicable only if protocol is https. Enables SNI for 500 multi-hosting. 501 :type require_server_name_indication: bool 502 :param provisioning_state: Provisioning state of the HTTP listener resource. Possible values 503 are: 'Updating', 'Deleting', and 'Failed'. 504 :type provisioning_state: str 505 """ 506 507 _attribute_map = { 508 'id': {'key': 'id', 'type': 'str'}, 509 'name': {'key': 'name', 'type': 'str'}, 510 'etag': {'key': 'etag', 'type': 'str'}, 511 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 512 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, 513 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 514 'host_name': {'key': 'properties.hostName', 'type': 'str'}, 515 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, 516 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, 517 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 518 } 519 520 def __init__( 521 self, 522 *, 523 id: Optional[str] = None, 524 name: Optional[str] = None, 525 etag: Optional[str] = None, 526 frontend_ip_configuration: Optional["SubResource"] = None, 527 frontend_port: Optional["SubResource"] = None, 528 protocol: Optional[Union[str, "ApplicationGatewayProtocol"]] = None, 529 host_name: Optional[str] = None, 530 ssl_certificate: Optional["SubResource"] = None, 531 require_server_name_indication: Optional[bool] = None, 532 provisioning_state: Optional[str] = None, 533 **kwargs 534 ): 535 super(ApplicationGatewayHttpListener, self).__init__(id=id, **kwargs) 536 self.name = name 537 self.etag = etag 538 self.frontend_ip_configuration = frontend_ip_configuration 539 self.frontend_port = frontend_port 540 self.protocol = protocol 541 self.host_name = host_name 542 self.ssl_certificate = ssl_certificate 543 self.require_server_name_indication = require_server_name_indication 544 self.provisioning_state = provisioning_state 545 546 547class ApplicationGatewayIPConfiguration(SubResource): 548 """IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. 549 550 :param id: Resource Identifier. 551 :type id: str 552 :param name: Name of the resource that is unique within a resource group. This name can be used 553 to access the resource. 554 :type name: str 555 :param etag: A unique read-only string that changes whenever the resource is updated. 556 :type etag: str 557 :param subnet: Reference of the subnet resource. A subnet from where application gateway gets 558 its private address. 559 :type subnet: ~azure.mgmt.network.v2015_06_15.models.SubResource 560 :param provisioning_state: Provisioning state of the application gateway subnet resource. 561 Possible values are: 'Updating', 'Deleting', and 'Failed'. 562 :type provisioning_state: str 563 """ 564 565 _attribute_map = { 566 'id': {'key': 'id', 'type': 'str'}, 567 'name': {'key': 'name', 'type': 'str'}, 568 'etag': {'key': 'etag', 'type': 'str'}, 569 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 570 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 571 } 572 573 def __init__( 574 self, 575 *, 576 id: Optional[str] = None, 577 name: Optional[str] = None, 578 etag: Optional[str] = None, 579 subnet: Optional["SubResource"] = None, 580 provisioning_state: Optional[str] = None, 581 **kwargs 582 ): 583 super(ApplicationGatewayIPConfiguration, self).__init__(id=id, **kwargs) 584 self.name = name 585 self.etag = etag 586 self.subnet = subnet 587 self.provisioning_state = provisioning_state 588 589 590class ApplicationGatewayListResult(msrest.serialization.Model): 591 """Response for ListApplicationGateways API service call. 592 593 :param value: List of an application gateways in a resource group. 594 :type value: list[~azure.mgmt.network.v2015_06_15.models.ApplicationGateway] 595 :param next_link: URL to get the next set of results. 596 :type next_link: str 597 """ 598 599 _attribute_map = { 600 'value': {'key': 'value', 'type': '[ApplicationGateway]'}, 601 'next_link': {'key': 'nextLink', 'type': 'str'}, 602 } 603 604 def __init__( 605 self, 606 *, 607 value: Optional[List["ApplicationGateway"]] = None, 608 next_link: Optional[str] = None, 609 **kwargs 610 ): 611 super(ApplicationGatewayListResult, self).__init__(**kwargs) 612 self.value = value 613 self.next_link = next_link 614 615 616class ApplicationGatewayPathRule(SubResource): 617 """Path rule of URL path map of an application gateway. 618 619 :param id: Resource Identifier. 620 :type id: str 621 :param name: Name of the resource that is unique within a resource group. This name can be used 622 to access the resource. 623 :type name: str 624 :param etag: A unique read-only string that changes whenever the resource is updated. 625 :type etag: str 626 :param paths: Path rules of URL path map. 627 :type paths: list[str] 628 :param backend_address_pool: Backend address pool resource of URL path map. 629 :type backend_address_pool: ~azure.mgmt.network.v2015_06_15.models.SubResource 630 :param backend_http_settings: Backend http settings resource of URL path map. 631 :type backend_http_settings: ~azure.mgmt.network.v2015_06_15.models.SubResource 632 :param provisioning_state: Path rule of URL path map resource. Possible values are: 'Updating', 633 'Deleting', and 'Failed'. 634 :type provisioning_state: str 635 """ 636 637 _attribute_map = { 638 'id': {'key': 'id', 'type': 'str'}, 639 'name': {'key': 'name', 'type': 'str'}, 640 'etag': {'key': 'etag', 'type': 'str'}, 641 'paths': {'key': 'properties.paths', 'type': '[str]'}, 642 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 643 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, 644 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 645 } 646 647 def __init__( 648 self, 649 *, 650 id: Optional[str] = None, 651 name: Optional[str] = None, 652 etag: Optional[str] = None, 653 paths: Optional[List[str]] = None, 654 backend_address_pool: Optional["SubResource"] = None, 655 backend_http_settings: Optional["SubResource"] = None, 656 provisioning_state: Optional[str] = None, 657 **kwargs 658 ): 659 super(ApplicationGatewayPathRule, self).__init__(id=id, **kwargs) 660 self.name = name 661 self.etag = etag 662 self.paths = paths 663 self.backend_address_pool = backend_address_pool 664 self.backend_http_settings = backend_http_settings 665 self.provisioning_state = provisioning_state 666 667 668class ApplicationGatewayProbe(SubResource): 669 """Probe of the application gateway. 670 671 :param id: Resource Identifier. 672 :type id: str 673 :param name: Name of the resource that is unique within a resource group. This name can be used 674 to access the resource. 675 :type name: str 676 :param etag: A unique read-only string that changes whenever the resource is updated. 677 :type etag: str 678 :param protocol: Protocol. Possible values are: 'Http' and 'Https'. Possible values include: 679 "Http", "Https". 680 :type protocol: str or ~azure.mgmt.network.v2015_06_15.models.ApplicationGatewayProtocol 681 :param host: Host name to send the probe to. 682 :type host: str 683 :param path: Relative path of probe. Valid path starts from '/'. Probe is sent to 684 :code:`<Protocol>`://:code:`<host>`::code:`<port>`:code:`<path>`. 685 :type path: str 686 :param interval: The probing interval in seconds. This is the time interval between two 687 consecutive probes. Acceptable values are from 1 second to 86400 seconds. 688 :type interval: int 689 :param timeout: the probe timeout in seconds. Probe marked as failed if valid response is not 690 received with this timeout period. Acceptable values are from 1 second to 86400 seconds. 691 :type timeout: int 692 :param unhealthy_threshold: The probe retry count. Backend server is marked down after 693 consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second 694 to 20. 695 :type unhealthy_threshold: int 696 :param provisioning_state: Provisioning state of the backend http settings resource. Possible 697 values are: 'Updating', 'Deleting', and 'Failed'. 698 :type provisioning_state: str 699 """ 700 701 _attribute_map = { 702 'id': {'key': 'id', 'type': 'str'}, 703 'name': {'key': 'name', 'type': 'str'}, 704 'etag': {'key': 'etag', 'type': 'str'}, 705 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 706 'host': {'key': 'properties.host', 'type': 'str'}, 707 'path': {'key': 'properties.path', 'type': 'str'}, 708 'interval': {'key': 'properties.interval', 'type': 'int'}, 709 'timeout': {'key': 'properties.timeout', 'type': 'int'}, 710 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, 711 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 712 } 713 714 def __init__( 715 self, 716 *, 717 id: Optional[str] = None, 718 name: Optional[str] = None, 719 etag: Optional[str] = None, 720 protocol: Optional[Union[str, "ApplicationGatewayProtocol"]] = None, 721 host: Optional[str] = None, 722 path: Optional[str] = None, 723 interval: Optional[int] = None, 724 timeout: Optional[int] = None, 725 unhealthy_threshold: Optional[int] = None, 726 provisioning_state: Optional[str] = None, 727 **kwargs 728 ): 729 super(ApplicationGatewayProbe, self).__init__(id=id, **kwargs) 730 self.name = name 731 self.etag = etag 732 self.protocol = protocol 733 self.host = host 734 self.path = path 735 self.interval = interval 736 self.timeout = timeout 737 self.unhealthy_threshold = unhealthy_threshold 738 self.provisioning_state = provisioning_state 739 740 741class ApplicationGatewayRequestRoutingRule(SubResource): 742 """Request routing rule of an application gateway. 743 744 :param id: Resource Identifier. 745 :type id: str 746 :param name: Name of the resource that is unique within a resource group. This name can be used 747 to access the resource. 748 :type name: str 749 :param etag: A unique read-only string that changes whenever the resource is updated. 750 :type etag: str 751 :param rule_type: Rule type. Possible values are: 'Basic' and 'PathBasedRouting'. Possible 752 values include: "Basic", "PathBasedRouting". 753 :type rule_type: str or 754 ~azure.mgmt.network.v2015_06_15.models.ApplicationGatewayRequestRoutingRuleType 755 :param backend_address_pool: Backend address pool resource of the application gateway. 756 :type backend_address_pool: ~azure.mgmt.network.v2015_06_15.models.SubResource 757 :param backend_http_settings: Frontend port resource of the application gateway. 758 :type backend_http_settings: ~azure.mgmt.network.v2015_06_15.models.SubResource 759 :param http_listener: Http listener resource of the application gateway. 760 :type http_listener: ~azure.mgmt.network.v2015_06_15.models.SubResource 761 :param url_path_map: URL path map resource of the application gateway. 762 :type url_path_map: ~azure.mgmt.network.v2015_06_15.models.SubResource 763 :param provisioning_state: Provisioning state of the request routing rule resource. Possible 764 values are: 'Updating', 'Deleting', and 'Failed'. 765 :type provisioning_state: str 766 """ 767 768 _attribute_map = { 769 'id': {'key': 'id', 'type': 'str'}, 770 'name': {'key': 'name', 'type': 'str'}, 771 'etag': {'key': 'etag', 'type': 'str'}, 772 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, 773 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 774 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, 775 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, 776 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, 777 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 778 } 779 780 def __init__( 781 self, 782 *, 783 id: Optional[str] = None, 784 name: Optional[str] = None, 785 etag: Optional[str] = None, 786 rule_type: Optional[Union[str, "ApplicationGatewayRequestRoutingRuleType"]] = None, 787 backend_address_pool: Optional["SubResource"] = None, 788 backend_http_settings: Optional["SubResource"] = None, 789 http_listener: Optional["SubResource"] = None, 790 url_path_map: Optional["SubResource"] = None, 791 provisioning_state: Optional[str] = None, 792 **kwargs 793 ): 794 super(ApplicationGatewayRequestRoutingRule, self).__init__(id=id, **kwargs) 795 self.name = name 796 self.etag = etag 797 self.rule_type = rule_type 798 self.backend_address_pool = backend_address_pool 799 self.backend_http_settings = backend_http_settings 800 self.http_listener = http_listener 801 self.url_path_map = url_path_map 802 self.provisioning_state = provisioning_state 803 804 805class ApplicationGatewaySku(msrest.serialization.Model): 806 """SKU of application gateway. 807 808 :param name: Name of an application gateway SKU. Possible values are: 'Standard_Small', 809 'Standard_Medium', 'Standard_Large', 'WAF_Medium', and 'WAF_Large'. Possible values include: 810 "Standard_Small", "Standard_Medium", "Standard_Large". 811 :type name: str or ~azure.mgmt.network.v2015_06_15.models.ApplicationGatewaySkuName 812 :param tier: Tier of an application gateway. Possible values include: "Standard". 813 :type tier: str or ~azure.mgmt.network.v2015_06_15.models.ApplicationGatewayTier 814 :param capacity: Capacity (instance count) of an application gateway. 815 :type capacity: int 816 """ 817 818 _attribute_map = { 819 'name': {'key': 'name', 'type': 'str'}, 820 'tier': {'key': 'tier', 'type': 'str'}, 821 'capacity': {'key': 'capacity', 'type': 'int'}, 822 } 823 824 def __init__( 825 self, 826 *, 827 name: Optional[Union[str, "ApplicationGatewaySkuName"]] = None, 828 tier: Optional[Union[str, "ApplicationGatewayTier"]] = None, 829 capacity: Optional[int] = None, 830 **kwargs 831 ): 832 super(ApplicationGatewaySku, self).__init__(**kwargs) 833 self.name = name 834 self.tier = tier 835 self.capacity = capacity 836 837 838class ApplicationGatewaySslCertificate(SubResource): 839 """SSL certificates of an application gateway. 840 841 :param id: Resource Identifier. 842 :type id: str 843 :param name: Name of the resource that is unique within a resource group. This name can be used 844 to access the resource. 845 :type name: str 846 :param etag: A unique read-only string that changes whenever the resource is updated. 847 :type etag: str 848 :param data: Base-64 encoded pfx certificate. Only applicable in PUT Request. 849 :type data: str 850 :param password: Password for the pfx file specified in data. Only applicable in PUT request. 851 :type password: str 852 :param public_cert_data: Base-64 encoded Public cert data corresponding to pfx specified in 853 data. Only applicable in GET request. 854 :type public_cert_data: str 855 :param provisioning_state: Provisioning state of the SSL certificate resource Possible values 856 are: 'Updating', 'Deleting', and 'Failed'. 857 :type provisioning_state: str 858 """ 859 860 _attribute_map = { 861 'id': {'key': 'id', 'type': 'str'}, 862 'name': {'key': 'name', 'type': 'str'}, 863 'etag': {'key': 'etag', 'type': 'str'}, 864 'data': {'key': 'properties.data', 'type': 'str'}, 865 'password': {'key': 'properties.password', 'type': 'str'}, 866 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, 867 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 868 } 869 870 def __init__( 871 self, 872 *, 873 id: Optional[str] = None, 874 name: Optional[str] = None, 875 etag: Optional[str] = None, 876 data: Optional[str] = None, 877 password: Optional[str] = None, 878 public_cert_data: Optional[str] = None, 879 provisioning_state: Optional[str] = None, 880 **kwargs 881 ): 882 super(ApplicationGatewaySslCertificate, self).__init__(id=id, **kwargs) 883 self.name = name 884 self.etag = etag 885 self.data = data 886 self.password = password 887 self.public_cert_data = public_cert_data 888 self.provisioning_state = provisioning_state 889 890 891class ApplicationGatewayUrlPathMap(SubResource): 892 """UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. 893 894 :param id: Resource Identifier. 895 :type id: str 896 :param name: Name of the resource that is unique within a resource group. This name can be used 897 to access the resource. 898 :type name: str 899 :param etag: A unique read-only string that changes whenever the resource is updated. 900 :type etag: str 901 :param default_backend_address_pool: Default backend address pool resource of URL path map. 902 :type default_backend_address_pool: ~azure.mgmt.network.v2015_06_15.models.SubResource 903 :param default_backend_http_settings: Default backend http settings resource of URL path map. 904 :type default_backend_http_settings: ~azure.mgmt.network.v2015_06_15.models.SubResource 905 :param path_rules: Path rule of URL path map resource. 906 :type path_rules: list[~azure.mgmt.network.v2015_06_15.models.ApplicationGatewayPathRule] 907 :param provisioning_state: Provisioning state of the backend http settings resource. Possible 908 values are: 'Updating', 'Deleting', and 'Failed'. 909 :type provisioning_state: str 910 """ 911 912 _attribute_map = { 913 'id': {'key': 'id', 'type': 'str'}, 914 'name': {'key': 'name', 'type': 'str'}, 915 'etag': {'key': 'etag', 'type': 'str'}, 916 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, 917 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, 918 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, 919 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 920 } 921 922 def __init__( 923 self, 924 *, 925 id: Optional[str] = None, 926 name: Optional[str] = None, 927 etag: Optional[str] = None, 928 default_backend_address_pool: Optional["SubResource"] = None, 929 default_backend_http_settings: Optional["SubResource"] = None, 930 path_rules: Optional[List["ApplicationGatewayPathRule"]] = None, 931 provisioning_state: Optional[str] = None, 932 **kwargs 933 ): 934 super(ApplicationGatewayUrlPathMap, self).__init__(id=id, **kwargs) 935 self.name = name 936 self.etag = etag 937 self.default_backend_address_pool = default_backend_address_pool 938 self.default_backend_http_settings = default_backend_http_settings 939 self.path_rules = path_rules 940 self.provisioning_state = provisioning_state 941 942 943class AuthorizationListResult(msrest.serialization.Model): 944 """Response for ListAuthorizations API service call retrieves all authorizations that belongs to an ExpressRouteCircuit. 945 946 :param value: The authorizations in an ExpressRoute Circuit. 947 :type value: list[~azure.mgmt.network.v2015_06_15.models.ExpressRouteCircuitAuthorization] 948 :param next_link: The URL to get the next set of results. 949 :type next_link: str 950 """ 951 952 _attribute_map = { 953 'value': {'key': 'value', 'type': '[ExpressRouteCircuitAuthorization]'}, 954 'next_link': {'key': 'nextLink', 'type': 'str'}, 955 } 956 957 def __init__( 958 self, 959 *, 960 value: Optional[List["ExpressRouteCircuitAuthorization"]] = None, 961 next_link: Optional[str] = None, 962 **kwargs 963 ): 964 super(AuthorizationListResult, self).__init__(**kwargs) 965 self.value = value 966 self.next_link = next_link 967 968 969class AzureAsyncOperationResult(msrest.serialization.Model): 970 """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. 971 972 :param status: Status of the Azure async operation. Possible values are: 'InProgress', 973 'Succeeded', and 'Failed'. Possible values include: "InProgress", "Succeeded", "Failed". 974 :type status: str or ~azure.mgmt.network.v2015_06_15.models.NetworkOperationStatus 975 :param error: Error object properties. 976 :type error: ~azure.mgmt.network.v2015_06_15.models.Error 977 """ 978 979 _attribute_map = { 980 'status': {'key': 'status', 'type': 'str'}, 981 'error': {'key': 'error', 'type': 'Error'}, 982 } 983 984 def __init__( 985 self, 986 *, 987 status: Optional[Union[str, "NetworkOperationStatus"]] = None, 988 error: Optional["Error"] = None, 989 **kwargs 990 ): 991 super(AzureAsyncOperationResult, self).__init__(**kwargs) 992 self.status = status 993 self.error = error 994 995 996class BackendAddressPool(SubResource): 997 """Pool of backend IP addresses. 998 999 Variables are only populated by the server, and will be ignored when sending a request. 1000 1001 :param id: Resource Identifier. 1002 :type id: str 1003 :param name: Gets name of the resource that is unique within a resource group. This name can be 1004 used to access the resource. 1005 :type name: str 1006 :param etag: A unique read-only string that changes whenever the resource is updated. 1007 :type etag: str 1008 :param backend_ip_configurations: Gets collection of references to IP addresses defined in 1009 network interfaces. 1010 :type backend_ip_configurations: 1011 list[~azure.mgmt.network.v2015_06_15.models.NetworkInterfaceIPConfiguration] 1012 :ivar load_balancing_rules: Gets load balancing rules that use this backend address pool. 1013 :vartype load_balancing_rules: list[~azure.mgmt.network.v2015_06_15.models.SubResource] 1014 :param outbound_nat_rule: Gets outbound rules that use this backend address pool. 1015 :type outbound_nat_rule: ~azure.mgmt.network.v2015_06_15.models.SubResource 1016 :param provisioning_state: Get provisioning state of the public IP resource. Possible values 1017 are: 'Updating', 'Deleting', and 'Failed'. 1018 :type provisioning_state: str 1019 """ 1020 1021 _validation = { 1022 'load_balancing_rules': {'readonly': True}, 1023 } 1024 1025 _attribute_map = { 1026 'id': {'key': 'id', 'type': 'str'}, 1027 'name': {'key': 'name', 'type': 'str'}, 1028 'etag': {'key': 'etag', 'type': 'str'}, 1029 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 1030 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 1031 'outbound_nat_rule': {'key': 'properties.outboundNatRule', 'type': 'SubResource'}, 1032 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1033 } 1034 1035 def __init__( 1036 self, 1037 *, 1038 id: Optional[str] = None, 1039 name: Optional[str] = None, 1040 etag: Optional[str] = None, 1041 backend_ip_configurations: Optional[List["NetworkInterfaceIPConfiguration"]] = None, 1042 outbound_nat_rule: Optional["SubResource"] = None, 1043 provisioning_state: Optional[str] = None, 1044 **kwargs 1045 ): 1046 super(BackendAddressPool, self).__init__(id=id, **kwargs) 1047 self.name = name 1048 self.etag = etag 1049 self.backend_ip_configurations = backend_ip_configurations 1050 self.load_balancing_rules = None 1051 self.outbound_nat_rule = outbound_nat_rule 1052 self.provisioning_state = provisioning_state 1053 1054 1055class BgpSettings(msrest.serialization.Model): 1056 """BgpSettings. 1057 1058 :param asn: Gets or sets this BGP speaker's ASN. 1059 :type asn: long 1060 :param bgp_peering_address: Gets or sets the BGP peering address and BGP identifier of this BGP 1061 speaker. 1062 :type bgp_peering_address: str 1063 :param peer_weight: Gets or sets the weight added to routes learned from this BGP speaker. 1064 :type peer_weight: int 1065 """ 1066 1067 _attribute_map = { 1068 'asn': {'key': 'asn', 'type': 'long'}, 1069 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, 1070 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, 1071 } 1072 1073 def __init__( 1074 self, 1075 *, 1076 asn: Optional[int] = None, 1077 bgp_peering_address: Optional[str] = None, 1078 peer_weight: Optional[int] = None, 1079 **kwargs 1080 ): 1081 super(BgpSettings, self).__init__(**kwargs) 1082 self.asn = asn 1083 self.bgp_peering_address = bgp_peering_address 1084 self.peer_weight = peer_weight 1085 1086 1087class ConnectionResetSharedKey(msrest.serialization.Model): 1088 """ConnectionResetSharedKey. 1089 1090 :param key_length: The virtual network connection reset shared key length. 1091 :type key_length: long 1092 """ 1093 1094 _attribute_map = { 1095 'key_length': {'key': 'keyLength', 'type': 'long'}, 1096 } 1097 1098 def __init__( 1099 self, 1100 *, 1101 key_length: Optional[int] = None, 1102 **kwargs 1103 ): 1104 super(ConnectionResetSharedKey, self).__init__(**kwargs) 1105 self.key_length = key_length 1106 1107 1108class ConnectionSharedKey(msrest.serialization.Model): 1109 """Response for GetConnectionSharedKey API service call. 1110 1111 :param value: The virtual network connection shared key value. 1112 :type value: str 1113 """ 1114 1115 _attribute_map = { 1116 'value': {'key': 'value', 'type': 'str'}, 1117 } 1118 1119 def __init__( 1120 self, 1121 *, 1122 value: Optional[str] = None, 1123 **kwargs 1124 ): 1125 super(ConnectionSharedKey, self).__init__(**kwargs) 1126 self.value = value 1127 1128 1129class ConnectionSharedKeyResult(msrest.serialization.Model): 1130 """Response for CheckConnectionSharedKey API service call. 1131 1132 :param value: The virtual network connection shared key value. 1133 :type value: str 1134 """ 1135 1136 _attribute_map = { 1137 'value': {'key': 'value', 'type': 'str'}, 1138 } 1139 1140 def __init__( 1141 self, 1142 *, 1143 value: Optional[str] = None, 1144 **kwargs 1145 ): 1146 super(ConnectionSharedKeyResult, self).__init__(**kwargs) 1147 self.value = value 1148 1149 1150class DhcpOptions(msrest.serialization.Model): 1151 """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. 1152 1153 :param dns_servers: The list of DNS servers IP addresses. 1154 :type dns_servers: list[str] 1155 """ 1156 1157 _attribute_map = { 1158 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, 1159 } 1160 1161 def __init__( 1162 self, 1163 *, 1164 dns_servers: Optional[List[str]] = None, 1165 **kwargs 1166 ): 1167 super(DhcpOptions, self).__init__(**kwargs) 1168 self.dns_servers = dns_servers 1169 1170 1171class DnsNameAvailabilityResult(msrest.serialization.Model): 1172 """Response for the CheckDnsNameAvailability API service call. 1173 1174 :param available: Domain availability (True/False). 1175 :type available: bool 1176 """ 1177 1178 _attribute_map = { 1179 'available': {'key': 'available', 'type': 'bool'}, 1180 } 1181 1182 def __init__( 1183 self, 1184 *, 1185 available: Optional[bool] = None, 1186 **kwargs 1187 ): 1188 super(DnsNameAvailabilityResult, self).__init__(**kwargs) 1189 self.available = available 1190 1191 1192class Error(msrest.serialization.Model): 1193 """Error object properties. 1194 1195 :param code: 1196 :type code: str 1197 :param message: 1198 :type message: str 1199 :param target: 1200 :type target: str 1201 :param details: 1202 :type details: list[~azure.mgmt.network.v2015_06_15.models.ErrorDetails] 1203 :param inner_error: 1204 :type inner_error: str 1205 """ 1206 1207 _attribute_map = { 1208 'code': {'key': 'code', 'type': 'str'}, 1209 'message': {'key': 'message', 'type': 'str'}, 1210 'target': {'key': 'target', 'type': 'str'}, 1211 'details': {'key': 'details', 'type': '[ErrorDetails]'}, 1212 'inner_error': {'key': 'innerError', 'type': 'str'}, 1213 } 1214 1215 def __init__( 1216 self, 1217 *, 1218 code: Optional[str] = None, 1219 message: Optional[str] = None, 1220 target: Optional[str] = None, 1221 details: Optional[List["ErrorDetails"]] = None, 1222 inner_error: Optional[str] = None, 1223 **kwargs 1224 ): 1225 super(Error, self).__init__(**kwargs) 1226 self.code = code 1227 self.message = message 1228 self.target = target 1229 self.details = details 1230 self.inner_error = inner_error 1231 1232 1233class ErrorDetails(msrest.serialization.Model): 1234 """Error details properties. 1235 1236 :param code: 1237 :type code: str 1238 :param target: 1239 :type target: str 1240 :param message: 1241 :type message: str 1242 """ 1243 1244 _attribute_map = { 1245 'code': {'key': 'code', 'type': 'str'}, 1246 'target': {'key': 'target', 'type': 'str'}, 1247 'message': {'key': 'message', 'type': 'str'}, 1248 } 1249 1250 def __init__( 1251 self, 1252 *, 1253 code: Optional[str] = None, 1254 target: Optional[str] = None, 1255 message: Optional[str] = None, 1256 **kwargs 1257 ): 1258 super(ErrorDetails, self).__init__(**kwargs) 1259 self.code = code 1260 self.target = target 1261 self.message = message 1262 1263 1264class ExpressRouteCircuit(Resource): 1265 """ExpressRouteCircuit resource. 1266 1267 Variables are only populated by the server, and will be ignored when sending a request. 1268 1269 :param id: Resource Identifier. 1270 :type id: str 1271 :ivar name: Resource name. 1272 :vartype name: str 1273 :ivar type: Resource type. 1274 :vartype type: str 1275 :param location: Resource location. 1276 :type location: str 1277 :param tags: A set of tags. Resource tags. 1278 :type tags: dict[str, str] 1279 :param sku: The SKU. 1280 :type sku: ~azure.mgmt.network.v2015_06_15.models.ExpressRouteCircuitSku 1281 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 1282 :type etag: str 1283 :param circuit_provisioning_state: The CircuitProvisioningState state of the resource. 1284 :type circuit_provisioning_state: str 1285 :param service_provider_provisioning_state: The ServiceProviderProvisioningState state of the 1286 resource. Possible values are 'NotProvisioned', 'Provisioning', 'Provisioned', and 1287 'Deprovisioning'. Possible values include: "NotProvisioned", "Provisioning", "Provisioned", 1288 "Deprovisioning". 1289 :type service_provider_provisioning_state: str or 1290 ~azure.mgmt.network.v2015_06_15.models.ServiceProviderProvisioningState 1291 :param authorizations: The list of authorizations. 1292 :type authorizations: 1293 list[~azure.mgmt.network.v2015_06_15.models.ExpressRouteCircuitAuthorization] 1294 :param peerings: The list of peerings. 1295 :type peerings: list[~azure.mgmt.network.v2015_06_15.models.ExpressRouteCircuitPeering] 1296 :param service_key: The ServiceKey. 1297 :type service_key: str 1298 :param service_provider_notes: The ServiceProviderNotes. 1299 :type service_provider_notes: str 1300 :param service_provider_properties: The ServiceProviderProperties. 1301 :type service_provider_properties: 1302 ~azure.mgmt.network.v2015_06_15.models.ExpressRouteCircuitServiceProviderProperties 1303 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 1304 values are: 'Updating', 'Deleting', and 'Failed'. 1305 :type provisioning_state: str 1306 """ 1307 1308 _validation = { 1309 'name': {'readonly': True}, 1310 'type': {'readonly': True}, 1311 } 1312 1313 _attribute_map = { 1314 'id': {'key': 'id', 'type': 'str'}, 1315 'name': {'key': 'name', 'type': 'str'}, 1316 'type': {'key': 'type', 'type': 'str'}, 1317 'location': {'key': 'location', 'type': 'str'}, 1318 'tags': {'key': 'tags', 'type': '{str}'}, 1319 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, 1320 'etag': {'key': 'etag', 'type': 'str'}, 1321 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, 1322 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, 1323 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, 1324 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, 1325 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, 1326 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, 1327 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, 1328 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1329 } 1330 1331 def __init__( 1332 self, 1333 *, 1334 id: Optional[str] = None, 1335 location: Optional[str] = None, 1336 tags: Optional[Dict[str, str]] = None, 1337 sku: Optional["ExpressRouteCircuitSku"] = None, 1338 etag: Optional[str] = None, 1339 circuit_provisioning_state: Optional[str] = None, 1340 service_provider_provisioning_state: Optional[Union[str, "ServiceProviderProvisioningState"]] = None, 1341 authorizations: Optional[List["ExpressRouteCircuitAuthorization"]] = None, 1342 peerings: Optional[List["ExpressRouteCircuitPeering"]] = None, 1343 service_key: Optional[str] = None, 1344 service_provider_notes: Optional[str] = None, 1345 service_provider_properties: Optional["ExpressRouteCircuitServiceProviderProperties"] = None, 1346 provisioning_state: Optional[str] = None, 1347 **kwargs 1348 ): 1349 super(ExpressRouteCircuit, self).__init__(id=id, location=location, tags=tags, **kwargs) 1350 self.sku = sku 1351 self.etag = etag 1352 self.circuit_provisioning_state = circuit_provisioning_state 1353 self.service_provider_provisioning_state = service_provider_provisioning_state 1354 self.authorizations = authorizations 1355 self.peerings = peerings 1356 self.service_key = service_key 1357 self.service_provider_notes = service_provider_notes 1358 self.service_provider_properties = service_provider_properties 1359 self.provisioning_state = provisioning_state 1360 1361 1362class ExpressRouteCircuitArpTable(msrest.serialization.Model): 1363 """The ARP table associated with the ExpressRouteCircuit. 1364 1365 :param ip_address: The IP address. 1366 :type ip_address: str 1367 :param mac_address: The MAC address. 1368 :type mac_address: str 1369 """ 1370 1371 _attribute_map = { 1372 'ip_address': {'key': 'ipAddress', 'type': 'str'}, 1373 'mac_address': {'key': 'macAddress', 'type': 'str'}, 1374 } 1375 1376 def __init__( 1377 self, 1378 *, 1379 ip_address: Optional[str] = None, 1380 mac_address: Optional[str] = None, 1381 **kwargs 1382 ): 1383 super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) 1384 self.ip_address = ip_address 1385 self.mac_address = mac_address 1386 1387 1388class ExpressRouteCircuitAuthorization(SubResource): 1389 """Authorization in an ExpressRouteCircuit resource. 1390 1391 :param id: Resource Identifier. 1392 :type id: str 1393 :param name: Gets name of the resource that is unique within a resource group. This name can be 1394 used to access the resource. 1395 :type name: str 1396 :param etag: A unique read-only string that changes whenever the resource is updated. 1397 :type etag: str 1398 :param authorization_key: The authorization key. 1399 :type authorization_key: str 1400 :param authorization_use_status: AuthorizationUseStatus. Possible values are: 'Available' and 1401 'InUse'. Possible values include: "Available", "InUse". 1402 :type authorization_use_status: str or 1403 ~azure.mgmt.network.v2015_06_15.models.AuthorizationUseStatus 1404 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 1405 values are: 'Updating', 'Deleting', and 'Failed'. 1406 :type provisioning_state: str 1407 """ 1408 1409 _attribute_map = { 1410 'id': {'key': 'id', 'type': 'str'}, 1411 'name': {'key': 'name', 'type': 'str'}, 1412 'etag': {'key': 'etag', 'type': 'str'}, 1413 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 1414 'authorization_use_status': {'key': 'properties.authorizationUseStatus', 'type': 'str'}, 1415 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1416 } 1417 1418 def __init__( 1419 self, 1420 *, 1421 id: Optional[str] = None, 1422 name: Optional[str] = None, 1423 etag: Optional[str] = None, 1424 authorization_key: Optional[str] = None, 1425 authorization_use_status: Optional[Union[str, "AuthorizationUseStatus"]] = None, 1426 provisioning_state: Optional[str] = None, 1427 **kwargs 1428 ): 1429 super(ExpressRouteCircuitAuthorization, self).__init__(id=id, **kwargs) 1430 self.name = name 1431 self.etag = etag 1432 self.authorization_key = authorization_key 1433 self.authorization_use_status = authorization_use_status 1434 self.provisioning_state = provisioning_state 1435 1436 1437class ExpressRouteCircuitListResult(msrest.serialization.Model): 1438 """Response for ListExpressRouteCircuit API service call. 1439 1440 :param value: A list of ExpressRouteCircuits in a resource group. 1441 :type value: list[~azure.mgmt.network.v2015_06_15.models.ExpressRouteCircuit] 1442 :param next_link: The URL to get the next set of results. 1443 :type next_link: str 1444 """ 1445 1446 _attribute_map = { 1447 'value': {'key': 'value', 'type': '[ExpressRouteCircuit]'}, 1448 'next_link': {'key': 'nextLink', 'type': 'str'}, 1449 } 1450 1451 def __init__( 1452 self, 1453 *, 1454 value: Optional[List["ExpressRouteCircuit"]] = None, 1455 next_link: Optional[str] = None, 1456 **kwargs 1457 ): 1458 super(ExpressRouteCircuitListResult, self).__init__(**kwargs) 1459 self.value = value 1460 self.next_link = next_link 1461 1462 1463class ExpressRouteCircuitPeering(SubResource): 1464 """Peering in an ExpressRouteCircuit resource. 1465 1466 :param id: Resource Identifier. 1467 :type id: str 1468 :param name: Gets name of the resource that is unique within a resource group. This name can be 1469 used to access the resource. 1470 :type name: str 1471 :param etag: A unique read-only string that changes whenever the resource is updated. 1472 :type etag: str 1473 :param peering_type: The PeeringType. Possible values are: 'AzurePublicPeering', 1474 'AzurePrivatePeering', and 'MicrosoftPeering'. Possible values include: "AzurePublicPeering", 1475 "AzurePrivatePeering", "MicrosoftPeering". 1476 :type peering_type: str or 1477 ~azure.mgmt.network.v2015_06_15.models.ExpressRouteCircuitPeeringType 1478 :param state: The state of peering. Possible values are: 'Disabled' and 'Enabled'. Possible 1479 values include: "Disabled", "Enabled". 1480 :type state: str or ~azure.mgmt.network.v2015_06_15.models.ExpressRouteCircuitPeeringState 1481 :param azure_asn: The Azure ASN. 1482 :type azure_asn: int 1483 :param peer_asn: The peer ASN. 1484 :type peer_asn: int 1485 :param primary_peer_address_prefix: The primary address prefix. 1486 :type primary_peer_address_prefix: str 1487 :param secondary_peer_address_prefix: The secondary address prefix. 1488 :type secondary_peer_address_prefix: str 1489 :param primary_azure_port: The primary port. 1490 :type primary_azure_port: str 1491 :param secondary_azure_port: The secondary port. 1492 :type secondary_azure_port: str 1493 :param shared_key: The shared key. 1494 :type shared_key: str 1495 :param vlan_id: The VLAN ID. 1496 :type vlan_id: int 1497 :param microsoft_peering_config: The Microsoft peering configuration. 1498 :type microsoft_peering_config: 1499 ~azure.mgmt.network.v2015_06_15.models.ExpressRouteCircuitPeeringConfig 1500 :param stats: Gets peering stats. 1501 :type stats: ~azure.mgmt.network.v2015_06_15.models.ExpressRouteCircuitStats 1502 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 1503 values are: 'Updating', 'Deleting', and 'Failed'. 1504 :type provisioning_state: str 1505 """ 1506 1507 _attribute_map = { 1508 'id': {'key': 'id', 'type': 'str'}, 1509 'name': {'key': 'name', 'type': 'str'}, 1510 'etag': {'key': 'etag', 'type': 'str'}, 1511 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, 1512 'state': {'key': 'properties.state', 'type': 'str'}, 1513 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, 1514 'peer_asn': {'key': 'properties.peerASN', 'type': 'int'}, 1515 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, 1516 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, 1517 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, 1518 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, 1519 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 1520 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, 1521 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, 1522 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, 1523 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1524 } 1525 1526 def __init__( 1527 self, 1528 *, 1529 id: Optional[str] = None, 1530 name: Optional[str] = None, 1531 etag: Optional[str] = None, 1532 peering_type: Optional[Union[str, "ExpressRouteCircuitPeeringType"]] = None, 1533 state: Optional[Union[str, "ExpressRouteCircuitPeeringState"]] = None, 1534 azure_asn: Optional[int] = None, 1535 peer_asn: Optional[int] = None, 1536 primary_peer_address_prefix: Optional[str] = None, 1537 secondary_peer_address_prefix: Optional[str] = None, 1538 primary_azure_port: Optional[str] = None, 1539 secondary_azure_port: Optional[str] = None, 1540 shared_key: Optional[str] = None, 1541 vlan_id: Optional[int] = None, 1542 microsoft_peering_config: Optional["ExpressRouteCircuitPeeringConfig"] = None, 1543 stats: Optional["ExpressRouteCircuitStats"] = None, 1544 provisioning_state: Optional[str] = None, 1545 **kwargs 1546 ): 1547 super(ExpressRouteCircuitPeering, self).__init__(id=id, **kwargs) 1548 self.name = name 1549 self.etag = etag 1550 self.peering_type = peering_type 1551 self.state = state 1552 self.azure_asn = azure_asn 1553 self.peer_asn = peer_asn 1554 self.primary_peer_address_prefix = primary_peer_address_prefix 1555 self.secondary_peer_address_prefix = secondary_peer_address_prefix 1556 self.primary_azure_port = primary_azure_port 1557 self.secondary_azure_port = secondary_azure_port 1558 self.shared_key = shared_key 1559 self.vlan_id = vlan_id 1560 self.microsoft_peering_config = microsoft_peering_config 1561 self.stats = stats 1562 self.provisioning_state = provisioning_state 1563 1564 1565class ExpressRouteCircuitPeeringConfig(msrest.serialization.Model): 1566 """Specifies the peering configuration. 1567 1568 :param advertised_public_prefixes: The reference of AdvertisedPublicPrefixes. 1569 :type advertised_public_prefixes: list[str] 1570 :param advertised_public_prefixes_state: AdvertisedPublicPrefixState of the Peering resource. 1571 Possible values are 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'. 1572 Possible values include: "NotConfigured", "Configuring", "Configured", "ValidationNeeded". 1573 :type advertised_public_prefixes_state: str or 1574 ~azure.mgmt.network.v2015_06_15.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState 1575 :param customer_asn: The CustomerASN of the peering. 1576 :type customer_asn: int 1577 :param routing_registry_name: The RoutingRegistryName of the configuration. 1578 :type routing_registry_name: str 1579 """ 1580 1581 _attribute_map = { 1582 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, 1583 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, 1584 'customer_asn': {'key': 'customerASN', 'type': 'int'}, 1585 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, 1586 } 1587 1588 def __init__( 1589 self, 1590 *, 1591 advertised_public_prefixes: Optional[List[str]] = None, 1592 advertised_public_prefixes_state: Optional[Union[str, "ExpressRouteCircuitPeeringAdvertisedPublicPrefixState"]] = None, 1593 customer_asn: Optional[int] = None, 1594 routing_registry_name: Optional[str] = None, 1595 **kwargs 1596 ): 1597 super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) 1598 self.advertised_public_prefixes = advertised_public_prefixes 1599 self.advertised_public_prefixes_state = advertised_public_prefixes_state 1600 self.customer_asn = customer_asn 1601 self.routing_registry_name = routing_registry_name 1602 1603 1604class ExpressRouteCircuitPeeringListResult(msrest.serialization.Model): 1605 """Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCircuit. 1606 1607 :param value: The peerings in an express route circuit. 1608 :type value: list[~azure.mgmt.network.v2015_06_15.models.ExpressRouteCircuitPeering] 1609 :param next_link: The URL to get the next set of results. 1610 :type next_link: str 1611 """ 1612 1613 _attribute_map = { 1614 'value': {'key': 'value', 'type': '[ExpressRouteCircuitPeering]'}, 1615 'next_link': {'key': 'nextLink', 'type': 'str'}, 1616 } 1617 1618 def __init__( 1619 self, 1620 *, 1621 value: Optional[List["ExpressRouteCircuitPeering"]] = None, 1622 next_link: Optional[str] = None, 1623 **kwargs 1624 ): 1625 super(ExpressRouteCircuitPeeringListResult, self).__init__(**kwargs) 1626 self.value = value 1627 self.next_link = next_link 1628 1629 1630class ExpressRouteCircuitRoutesTable(msrest.serialization.Model): 1631 """The routes table associated with the ExpressRouteCircuit. 1632 1633 All required parameters must be populated in order to send to Azure. 1634 1635 :param address_prefix: Gets AddressPrefix. 1636 :type address_prefix: str 1637 :param next_hop_type: Required. Gets NextHopType. Possible values include: 1638 "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None". 1639 :type next_hop_type: str or ~azure.mgmt.network.v2015_06_15.models.RouteNextHopType 1640 :param next_hop_ip: Gets NextHopIP. 1641 :type next_hop_ip: str 1642 :param as_path: Gets AsPath. 1643 :type as_path: str 1644 """ 1645 1646 _validation = { 1647 'next_hop_type': {'required': True}, 1648 } 1649 1650 _attribute_map = { 1651 'address_prefix': {'key': 'addressPrefix', 'type': 'str'}, 1652 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, 1653 'next_hop_ip': {'key': 'nextHopIP', 'type': 'str'}, 1654 'as_path': {'key': 'asPath', 'type': 'str'}, 1655 } 1656 1657 def __init__( 1658 self, 1659 *, 1660 next_hop_type: Union[str, "RouteNextHopType"], 1661 address_prefix: Optional[str] = None, 1662 next_hop_ip: Optional[str] = None, 1663 as_path: Optional[str] = None, 1664 **kwargs 1665 ): 1666 super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) 1667 self.address_prefix = address_prefix 1668 self.next_hop_type = next_hop_type 1669 self.next_hop_ip = next_hop_ip 1670 self.as_path = as_path 1671 1672 1673class ExpressRouteCircuitsArpTableListResult(msrest.serialization.Model): 1674 """Response for ListArpTable associated with the Express Route Circuits API. 1675 1676 :param value: Gets list of the ARP table. 1677 :type value: list[~azure.mgmt.network.v2015_06_15.models.ExpressRouteCircuitArpTable] 1678 :param next_link: The URL to get the next set of results. 1679 :type next_link: str 1680 """ 1681 1682 _attribute_map = { 1683 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, 1684 'next_link': {'key': 'nextLink', 'type': 'str'}, 1685 } 1686 1687 def __init__( 1688 self, 1689 *, 1690 value: Optional[List["ExpressRouteCircuitArpTable"]] = None, 1691 next_link: Optional[str] = None, 1692 **kwargs 1693 ): 1694 super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) 1695 self.value = value 1696 self.next_link = next_link 1697 1698 1699class ExpressRouteCircuitServiceProviderProperties(msrest.serialization.Model): 1700 """Contains ServiceProviderProperties in an ExpressRouteCircuit. 1701 1702 :param service_provider_name: The serviceProviderName. 1703 :type service_provider_name: str 1704 :param peering_location: The peering location. 1705 :type peering_location: str 1706 :param bandwidth_in_mbps: The BandwidthInMbps. 1707 :type bandwidth_in_mbps: int 1708 """ 1709 1710 _attribute_map = { 1711 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, 1712 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, 1713 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, 1714 } 1715 1716 def __init__( 1717 self, 1718 *, 1719 service_provider_name: Optional[str] = None, 1720 peering_location: Optional[str] = None, 1721 bandwidth_in_mbps: Optional[int] = None, 1722 **kwargs 1723 ): 1724 super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) 1725 self.service_provider_name = service_provider_name 1726 self.peering_location = peering_location 1727 self.bandwidth_in_mbps = bandwidth_in_mbps 1728 1729 1730class ExpressRouteCircuitSku(msrest.serialization.Model): 1731 """Contains SKU in an ExpressRouteCircuit. 1732 1733 :param name: The name of the SKU. 1734 :type name: str 1735 :param tier: The tier of the SKU. Possible values are 'Standard' and 'Premium'. Possible values 1736 include: "Standard", "Premium". 1737 :type tier: str or ~azure.mgmt.network.v2015_06_15.models.ExpressRouteCircuitSkuTier 1738 :param family: The family of the SKU. Possible values are: 'UnlimitedData' and 'MeteredData'. 1739 Possible values include: "UnlimitedData", "MeteredData". 1740 :type family: str or ~azure.mgmt.network.v2015_06_15.models.ExpressRouteCircuitSkuFamily 1741 """ 1742 1743 _attribute_map = { 1744 'name': {'key': 'name', 'type': 'str'}, 1745 'tier': {'key': 'tier', 'type': 'str'}, 1746 'family': {'key': 'family', 'type': 'str'}, 1747 } 1748 1749 def __init__( 1750 self, 1751 *, 1752 name: Optional[str] = None, 1753 tier: Optional[Union[str, "ExpressRouteCircuitSkuTier"]] = None, 1754 family: Optional[Union[str, "ExpressRouteCircuitSkuFamily"]] = None, 1755 **kwargs 1756 ): 1757 super(ExpressRouteCircuitSku, self).__init__(**kwargs) 1758 self.name = name 1759 self.tier = tier 1760 self.family = family 1761 1762 1763class ExpressRouteCircuitsRoutesTableListResult(msrest.serialization.Model): 1764 """Response for ListRoutesTable associated with the Express Route Circuits API. 1765 1766 :param value: The list of routes table. 1767 :type value: list[~azure.mgmt.network.v2015_06_15.models.ExpressRouteCircuitRoutesTable] 1768 :param next_link: The URL to get the next set of results. 1769 :type next_link: str 1770 """ 1771 1772 _attribute_map = { 1773 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, 1774 'next_link': {'key': 'nextLink', 'type': 'str'}, 1775 } 1776 1777 def __init__( 1778 self, 1779 *, 1780 value: Optional[List["ExpressRouteCircuitRoutesTable"]] = None, 1781 next_link: Optional[str] = None, 1782 **kwargs 1783 ): 1784 super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) 1785 self.value = value 1786 self.next_link = next_link 1787 1788 1789class ExpressRouteCircuitsStatsListResult(msrest.serialization.Model): 1790 """Response for ListStats from Express Route Circuits Api service call. 1791 1792 :param value: Gets List of Stats. 1793 :type value: list[~azure.mgmt.network.v2015_06_15.models.ExpressRouteCircuitStats] 1794 :param next_link: Gets the URL to get the next set of results. 1795 :type next_link: str 1796 """ 1797 1798 _attribute_map = { 1799 'value': {'key': 'value', 'type': '[ExpressRouteCircuitStats]'}, 1800 'next_link': {'key': 'nextLink', 'type': 'str'}, 1801 } 1802 1803 def __init__( 1804 self, 1805 *, 1806 value: Optional[List["ExpressRouteCircuitStats"]] = None, 1807 next_link: Optional[str] = None, 1808 **kwargs 1809 ): 1810 super(ExpressRouteCircuitsStatsListResult, self).__init__(**kwargs) 1811 self.value = value 1812 self.next_link = next_link 1813 1814 1815class ExpressRouteCircuitStats(msrest.serialization.Model): 1816 """Contains stats associated with the peering. 1817 1818 :param bytes_in: Gets BytesIn of the peering. 1819 :type bytes_in: int 1820 :param bytes_out: Gets BytesOut of the peering. 1821 :type bytes_out: int 1822 """ 1823 1824 _attribute_map = { 1825 'bytes_in': {'key': 'bytesIn', 'type': 'int'}, 1826 'bytes_out': {'key': 'bytesOut', 'type': 'int'}, 1827 } 1828 1829 def __init__( 1830 self, 1831 *, 1832 bytes_in: Optional[int] = None, 1833 bytes_out: Optional[int] = None, 1834 **kwargs 1835 ): 1836 super(ExpressRouteCircuitStats, self).__init__(**kwargs) 1837 self.bytes_in = bytes_in 1838 self.bytes_out = bytes_out 1839 1840 1841class ExpressRouteServiceProvider(Resource): 1842 """A ExpressRouteResourceProvider object. 1843 1844 Variables are only populated by the server, and will be ignored when sending a request. 1845 1846 :param id: Resource Identifier. 1847 :type id: str 1848 :ivar name: Resource name. 1849 :vartype name: str 1850 :ivar type: Resource type. 1851 :vartype type: str 1852 :param location: Resource location. 1853 :type location: str 1854 :param tags: A set of tags. Resource tags. 1855 :type tags: dict[str, str] 1856 :param peering_locations: Get a list of peering locations. 1857 :type peering_locations: list[str] 1858 :param bandwidths_offered: Gets bandwidths offered. 1859 :type bandwidths_offered: 1860 list[~azure.mgmt.network.v2015_06_15.models.ExpressRouteServiceProviderBandwidthsOffered] 1861 :param provisioning_state: Gets the provisioning state of the resource. 1862 :type provisioning_state: str 1863 """ 1864 1865 _validation = { 1866 'name': {'readonly': True}, 1867 'type': {'readonly': True}, 1868 } 1869 1870 _attribute_map = { 1871 'id': {'key': 'id', 'type': 'str'}, 1872 'name': {'key': 'name', 'type': 'str'}, 1873 'type': {'key': 'type', 'type': 'str'}, 1874 'location': {'key': 'location', 'type': 'str'}, 1875 'tags': {'key': 'tags', 'type': '{str}'}, 1876 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, 1877 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, 1878 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1879 } 1880 1881 def __init__( 1882 self, 1883 *, 1884 id: Optional[str] = None, 1885 location: Optional[str] = None, 1886 tags: Optional[Dict[str, str]] = None, 1887 peering_locations: Optional[List[str]] = None, 1888 bandwidths_offered: Optional[List["ExpressRouteServiceProviderBandwidthsOffered"]] = None, 1889 provisioning_state: Optional[str] = None, 1890 **kwargs 1891 ): 1892 super(ExpressRouteServiceProvider, self).__init__(id=id, location=location, tags=tags, **kwargs) 1893 self.peering_locations = peering_locations 1894 self.bandwidths_offered = bandwidths_offered 1895 self.provisioning_state = provisioning_state 1896 1897 1898class ExpressRouteServiceProviderBandwidthsOffered(msrest.serialization.Model): 1899 """Contains bandwidths offered in ExpressRouteServiceProvider resources. 1900 1901 :param offer_name: The OfferName. 1902 :type offer_name: str 1903 :param value_in_mbps: The ValueInMbps. 1904 :type value_in_mbps: int 1905 """ 1906 1907 _attribute_map = { 1908 'offer_name': {'key': 'offerName', 'type': 'str'}, 1909 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, 1910 } 1911 1912 def __init__( 1913 self, 1914 *, 1915 offer_name: Optional[str] = None, 1916 value_in_mbps: Optional[int] = None, 1917 **kwargs 1918 ): 1919 super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) 1920 self.offer_name = offer_name 1921 self.value_in_mbps = value_in_mbps 1922 1923 1924class ExpressRouteServiceProviderListResult(msrest.serialization.Model): 1925 """Response for the ListExpressRouteServiceProvider API service call. 1926 1927 :param value: A list of ExpressRouteResourceProvider resources. 1928 :type value: list[~azure.mgmt.network.v2015_06_15.models.ExpressRouteServiceProvider] 1929 :param next_link: The URL to get the next set of results. 1930 :type next_link: str 1931 """ 1932 1933 _attribute_map = { 1934 'value': {'key': 'value', 'type': '[ExpressRouteServiceProvider]'}, 1935 'next_link': {'key': 'nextLink', 'type': 'str'}, 1936 } 1937 1938 def __init__( 1939 self, 1940 *, 1941 value: Optional[List["ExpressRouteServiceProvider"]] = None, 1942 next_link: Optional[str] = None, 1943 **kwargs 1944 ): 1945 super(ExpressRouteServiceProviderListResult, self).__init__(**kwargs) 1946 self.value = value 1947 self.next_link = next_link 1948 1949 1950class FrontendIPConfiguration(SubResource): 1951 """Frontend IP address of the load balancer. 1952 1953 :param id: Resource Identifier. 1954 :type id: str 1955 :param name: The name of the resource that is unique within a resource group. This name can be 1956 used to access the resource. 1957 :type name: str 1958 :param etag: A unique read-only string that changes whenever the resource is updated. 1959 :type etag: str 1960 :param inbound_nat_rules: Read only. Inbound rules URIs that use this frontend IP. 1961 :type inbound_nat_rules: list[~azure.mgmt.network.v2015_06_15.models.SubResource] 1962 :param inbound_nat_pools: Read only. Inbound pools URIs that use this frontend IP. 1963 :type inbound_nat_pools: list[~azure.mgmt.network.v2015_06_15.models.SubResource] 1964 :param outbound_nat_rules: Read only. Outbound rules URIs that use this frontend IP. 1965 :type outbound_nat_rules: list[~azure.mgmt.network.v2015_06_15.models.SubResource] 1966 :param load_balancing_rules: Gets load balancing rules URIs that use this frontend IP. 1967 :type load_balancing_rules: list[~azure.mgmt.network.v2015_06_15.models.SubResource] 1968 :param private_ip_address: The private IP address of the IP configuration. 1969 :type private_ip_address: str 1970 :param private_ip_allocation_method: The Private IP allocation method. Possible values are: 1971 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 1972 :type private_ip_allocation_method: str or 1973 ~azure.mgmt.network.v2015_06_15.models.IPAllocationMethod 1974 :param subnet: The reference of the subnet resource. 1975 :type subnet: ~azure.mgmt.network.v2015_06_15.models.Subnet 1976 :param public_ip_address: The reference of the Public IP resource. 1977 :type public_ip_address: ~azure.mgmt.network.v2015_06_15.models.PublicIPAddress 1978 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 1979 values are: 'Updating', 'Deleting', and 'Failed'. 1980 :type provisioning_state: str 1981 """ 1982 1983 _attribute_map = { 1984 'id': {'key': 'id', 'type': 'str'}, 1985 'name': {'key': 'name', 'type': 'str'}, 1986 'etag': {'key': 'etag', 'type': 'str'}, 1987 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, 1988 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, 1989 'outbound_nat_rules': {'key': 'properties.outboundNatRules', 'type': '[SubResource]'}, 1990 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 1991 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 1992 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 1993 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 1994 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 1995 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1996 } 1997 1998 def __init__( 1999 self, 2000 *, 2001 id: Optional[str] = None, 2002 name: Optional[str] = None, 2003 etag: Optional[str] = None, 2004 inbound_nat_rules: Optional[List["SubResource"]] = None, 2005 inbound_nat_pools: Optional[List["SubResource"]] = None, 2006 outbound_nat_rules: Optional[List["SubResource"]] = None, 2007 load_balancing_rules: Optional[List["SubResource"]] = None, 2008 private_ip_address: Optional[str] = None, 2009 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 2010 subnet: Optional["Subnet"] = None, 2011 public_ip_address: Optional["PublicIPAddress"] = None, 2012 provisioning_state: Optional[str] = None, 2013 **kwargs 2014 ): 2015 super(FrontendIPConfiguration, self).__init__(id=id, **kwargs) 2016 self.name = name 2017 self.etag = etag 2018 self.inbound_nat_rules = inbound_nat_rules 2019 self.inbound_nat_pools = inbound_nat_pools 2020 self.outbound_nat_rules = outbound_nat_rules 2021 self.load_balancing_rules = load_balancing_rules 2022 self.private_ip_address = private_ip_address 2023 self.private_ip_allocation_method = private_ip_allocation_method 2024 self.subnet = subnet 2025 self.public_ip_address = public_ip_address 2026 self.provisioning_state = provisioning_state 2027 2028 2029class InboundNatPool(SubResource): 2030 """Inbound NAT pool of the load balancer. 2031 2032 :param id: Resource Identifier. 2033 :type id: str 2034 :param name: The name of the resource that is unique within a resource group. This name can be 2035 used to access the resource. 2036 :type name: str 2037 :param etag: A unique read-only string that changes whenever the resource is updated. 2038 :type etag: str 2039 :param frontend_ip_configuration: A reference to frontend IP addresses. 2040 :type frontend_ip_configuration: ~azure.mgmt.network.v2015_06_15.models.SubResource 2041 :param protocol: The transport protocol for the endpoint. Possible values are: 'Udp' or 'Tcp'. 2042 Possible values include: "Udp", "Tcp". 2043 :type protocol: str or ~azure.mgmt.network.v2015_06_15.models.TransportProtocol 2044 :param frontend_port_range_start: The first port number in the range of external ports that 2045 will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values 2046 range between 1 and 65534. 2047 :type frontend_port_range_start: int 2048 :param frontend_port_range_end: The last port number in the range of external ports that will 2049 be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range 2050 between 1 and 65535. 2051 :type frontend_port_range_end: int 2052 :param backend_port: The port used for internal connections on the endpoint. Acceptable values 2053 are between 1 and 65535. 2054 :type backend_port: int 2055 :param provisioning_state: Gets the provisioning state of the PublicIP resource. Possible 2056 values are: 'Updating', 'Deleting', and 'Failed'. 2057 :type provisioning_state: str 2058 """ 2059 2060 _attribute_map = { 2061 'id': {'key': 'id', 'type': 'str'}, 2062 'name': {'key': 'name', 'type': 'str'}, 2063 'etag': {'key': 'etag', 'type': 'str'}, 2064 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 2065 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 2066 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, 2067 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, 2068 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 2069 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2070 } 2071 2072 def __init__( 2073 self, 2074 *, 2075 id: Optional[str] = None, 2076 name: Optional[str] = None, 2077 etag: Optional[str] = None, 2078 frontend_ip_configuration: Optional["SubResource"] = None, 2079 protocol: Optional[Union[str, "TransportProtocol"]] = None, 2080 frontend_port_range_start: Optional[int] = None, 2081 frontend_port_range_end: Optional[int] = None, 2082 backend_port: Optional[int] = None, 2083 provisioning_state: Optional[str] = None, 2084 **kwargs 2085 ): 2086 super(InboundNatPool, self).__init__(id=id, **kwargs) 2087 self.name = name 2088 self.etag = etag 2089 self.frontend_ip_configuration = frontend_ip_configuration 2090 self.protocol = protocol 2091 self.frontend_port_range_start = frontend_port_range_start 2092 self.frontend_port_range_end = frontend_port_range_end 2093 self.backend_port = backend_port 2094 self.provisioning_state = provisioning_state 2095 2096 2097class InboundNatRule(SubResource): 2098 """Inbound NAT rule of the load balancer. 2099 2100 :param id: Resource Identifier. 2101 :type id: str 2102 :param name: Gets name of the resource that is unique within a resource group. This name can be 2103 used to access the resource. 2104 :type name: str 2105 :param etag: A unique read-only string that changes whenever the resource is updated. 2106 :type etag: str 2107 :param frontend_ip_configuration: A reference to frontend IP addresses. 2108 :type frontend_ip_configuration: ~azure.mgmt.network.v2015_06_15.models.SubResource 2109 :param backend_ip_configuration: A reference to a private IP address defined on a network 2110 interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations 2111 is forwarded to the backed IP. 2112 :type backend_ip_configuration: 2113 ~azure.mgmt.network.v2015_06_15.models.NetworkInterfaceIPConfiguration 2114 :param protocol: The transport protocol for the endpoint. Possible values are: 'Udp' or 'Tcp'. 2115 Possible values include: "Udp", "Tcp". 2116 :type protocol: str or ~azure.mgmt.network.v2015_06_15.models.TransportProtocol 2117 :param frontend_port: The port for the external endpoint. Port numbers for each rule must be 2118 unique within the Load Balancer. Acceptable values range from 1 to 65534. 2119 :type frontend_port: int 2120 :param backend_port: The port used for the internal endpoint. Acceptable values range from 1 to 2121 65535. 2122 :type backend_port: int 2123 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. The value can be set 2124 between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the 2125 protocol is set to TCP. 2126 :type idle_timeout_in_minutes: int 2127 :param enable_floating_ip: Configures a virtual machine's endpoint for the floating IP 2128 capability required to configure a SQL AlwaysOn Availability Group. This setting is required 2129 when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed 2130 after you create the endpoint. 2131 :type enable_floating_ip: bool 2132 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 2133 values are: 'Updating', 'Deleting', and 'Failed'. 2134 :type provisioning_state: str 2135 """ 2136 2137 _attribute_map = { 2138 'id': {'key': 'id', 'type': 'str'}, 2139 'name': {'key': 'name', 'type': 'str'}, 2140 'etag': {'key': 'etag', 'type': 'str'}, 2141 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 2142 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, 2143 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 2144 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, 2145 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 2146 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 2147 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, 2148 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2149 } 2150 2151 def __init__( 2152 self, 2153 *, 2154 id: Optional[str] = None, 2155 name: Optional[str] = None, 2156 etag: Optional[str] = None, 2157 frontend_ip_configuration: Optional["SubResource"] = None, 2158 backend_ip_configuration: Optional["NetworkInterfaceIPConfiguration"] = None, 2159 protocol: Optional[Union[str, "TransportProtocol"]] = None, 2160 frontend_port: Optional[int] = None, 2161 backend_port: Optional[int] = None, 2162 idle_timeout_in_minutes: Optional[int] = None, 2163 enable_floating_ip: Optional[bool] = None, 2164 provisioning_state: Optional[str] = None, 2165 **kwargs 2166 ): 2167 super(InboundNatRule, self).__init__(id=id, **kwargs) 2168 self.name = name 2169 self.etag = etag 2170 self.frontend_ip_configuration = frontend_ip_configuration 2171 self.backend_ip_configuration = backend_ip_configuration 2172 self.protocol = protocol 2173 self.frontend_port = frontend_port 2174 self.backend_port = backend_port 2175 self.idle_timeout_in_minutes = idle_timeout_in_minutes 2176 self.enable_floating_ip = enable_floating_ip 2177 self.provisioning_state = provisioning_state 2178 2179 2180class IPConfiguration(SubResource): 2181 """IPConfiguration. 2182 2183 :param id: Resource Identifier. 2184 :type id: str 2185 :param name: The name of the resource that is unique within a resource group. This name can be 2186 used to access the resource. 2187 :type name: str 2188 :param etag: A unique read-only string that changes whenever the resource is updated. 2189 :type etag: str 2190 :param private_ip_address: The private IP address of the IP configuration. 2191 :type private_ip_address: str 2192 :param private_ip_allocation_method: The private IP allocation method. Possible values are 2193 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 2194 :type private_ip_allocation_method: str or 2195 ~azure.mgmt.network.v2015_06_15.models.IPAllocationMethod 2196 :param subnet: The reference of the subnet resource. 2197 :type subnet: ~azure.mgmt.network.v2015_06_15.models.Subnet 2198 :param public_ip_address: The reference of the public IP resource. 2199 :type public_ip_address: ~azure.mgmt.network.v2015_06_15.models.PublicIPAddress 2200 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 2201 values are: 'Updating', 'Deleting', and 'Failed'. 2202 :type provisioning_state: str 2203 """ 2204 2205 _attribute_map = { 2206 'id': {'key': 'id', 'type': 'str'}, 2207 'name': {'key': 'name', 'type': 'str'}, 2208 'etag': {'key': 'etag', 'type': 'str'}, 2209 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 2210 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 2211 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 2212 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 2213 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2214 } 2215 2216 def __init__( 2217 self, 2218 *, 2219 id: Optional[str] = None, 2220 name: Optional[str] = None, 2221 etag: Optional[str] = None, 2222 private_ip_address: Optional[str] = None, 2223 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 2224 subnet: Optional["Subnet"] = None, 2225 public_ip_address: Optional["PublicIPAddress"] = None, 2226 provisioning_state: Optional[str] = None, 2227 **kwargs 2228 ): 2229 super(IPConfiguration, self).__init__(id=id, **kwargs) 2230 self.name = name 2231 self.etag = etag 2232 self.private_ip_address = private_ip_address 2233 self.private_ip_allocation_method = private_ip_allocation_method 2234 self.subnet = subnet 2235 self.public_ip_address = public_ip_address 2236 self.provisioning_state = provisioning_state 2237 2238 2239class LoadBalancer(Resource): 2240 """LoadBalancer resource. 2241 2242 Variables are only populated by the server, and will be ignored when sending a request. 2243 2244 :param id: Resource Identifier. 2245 :type id: str 2246 :ivar name: Resource name. 2247 :vartype name: str 2248 :ivar type: Resource type. 2249 :vartype type: str 2250 :param location: Resource location. 2251 :type location: str 2252 :param tags: A set of tags. Resource tags. 2253 :type tags: dict[str, str] 2254 :param etag: A unique read-only string that changes whenever the resource is updated. 2255 :type etag: str 2256 :param frontend_ip_configurations: Object representing the frontend IPs to be used for the load 2257 balancer. 2258 :type frontend_ip_configurations: 2259 list[~azure.mgmt.network.v2015_06_15.models.FrontendIPConfiguration] 2260 :param backend_address_pools: Collection of backend address pools used by a load balancer. 2261 :type backend_address_pools: list[~azure.mgmt.network.v2015_06_15.models.BackendAddressPool] 2262 :param load_balancing_rules: Object collection representing the load balancing rules Gets the 2263 provisioning. 2264 :type load_balancing_rules: list[~azure.mgmt.network.v2015_06_15.models.LoadBalancingRule] 2265 :param probes: Collection of probe objects used in the load balancer. 2266 :type probes: list[~azure.mgmt.network.v2015_06_15.models.Probe] 2267 :param inbound_nat_rules: Collection of inbound NAT Rules used by a load balancer. Defining 2268 inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT 2269 pool. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are 2270 associated with individual virtual machines cannot reference an Inbound NAT pool. They have to 2271 reference individual inbound NAT rules. 2272 :type inbound_nat_rules: list[~azure.mgmt.network.v2015_06_15.models.InboundNatRule] 2273 :param inbound_nat_pools: Defines an external port range for inbound NAT to a single backend 2274 port on NICs associated with a load balancer. Inbound NAT rules are created automatically for 2275 each NIC associated with the Load Balancer using an external port from this range. Defining an 2276 Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat rules. 2277 Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with 2278 individual virtual machines cannot reference an inbound NAT pool. They have to reference 2279 individual inbound NAT rules. 2280 :type inbound_nat_pools: list[~azure.mgmt.network.v2015_06_15.models.InboundNatPool] 2281 :param outbound_nat_rules: The outbound NAT rules. 2282 :type outbound_nat_rules: list[~azure.mgmt.network.v2015_06_15.models.OutboundNatRule] 2283 :param resource_guid: The resource GUID property of the load balancer resource. 2284 :type resource_guid: str 2285 :param provisioning_state: Gets the provisioning state of the PublicIP resource. Possible 2286 values are: 'Updating', 'Deleting', and 'Failed'. 2287 :type provisioning_state: str 2288 """ 2289 2290 _validation = { 2291 'name': {'readonly': True}, 2292 'type': {'readonly': True}, 2293 } 2294 2295 _attribute_map = { 2296 'id': {'key': 'id', 'type': 'str'}, 2297 'name': {'key': 'name', 'type': 'str'}, 2298 'type': {'key': 'type', 'type': 'str'}, 2299 'location': {'key': 'location', 'type': 'str'}, 2300 'tags': {'key': 'tags', 'type': '{str}'}, 2301 'etag': {'key': 'etag', 'type': 'str'}, 2302 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, 2303 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, 2304 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, 2305 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, 2306 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, 2307 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, 2308 'outbound_nat_rules': {'key': 'properties.outboundNatRules', 'type': '[OutboundNatRule]'}, 2309 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 2310 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2311 } 2312 2313 def __init__( 2314 self, 2315 *, 2316 id: Optional[str] = None, 2317 location: Optional[str] = None, 2318 tags: Optional[Dict[str, str]] = None, 2319 etag: Optional[str] = None, 2320 frontend_ip_configurations: Optional[List["FrontendIPConfiguration"]] = None, 2321 backend_address_pools: Optional[List["BackendAddressPool"]] = None, 2322 load_balancing_rules: Optional[List["LoadBalancingRule"]] = None, 2323 probes: Optional[List["Probe"]] = None, 2324 inbound_nat_rules: Optional[List["InboundNatRule"]] = None, 2325 inbound_nat_pools: Optional[List["InboundNatPool"]] = None, 2326 outbound_nat_rules: Optional[List["OutboundNatRule"]] = None, 2327 resource_guid: Optional[str] = None, 2328 provisioning_state: Optional[str] = None, 2329 **kwargs 2330 ): 2331 super(LoadBalancer, self).__init__(id=id, location=location, tags=tags, **kwargs) 2332 self.etag = etag 2333 self.frontend_ip_configurations = frontend_ip_configurations 2334 self.backend_address_pools = backend_address_pools 2335 self.load_balancing_rules = load_balancing_rules 2336 self.probes = probes 2337 self.inbound_nat_rules = inbound_nat_rules 2338 self.inbound_nat_pools = inbound_nat_pools 2339 self.outbound_nat_rules = outbound_nat_rules 2340 self.resource_guid = resource_guid 2341 self.provisioning_state = provisioning_state 2342 2343 2344class LoadBalancerListResult(msrest.serialization.Model): 2345 """Response for ListLoadBalancers API service call. 2346 2347 :param value: A list of load balancers in a resource group. 2348 :type value: list[~azure.mgmt.network.v2015_06_15.models.LoadBalancer] 2349 :param next_link: The URL to get the next set of results. 2350 :type next_link: str 2351 """ 2352 2353 _attribute_map = { 2354 'value': {'key': 'value', 'type': '[LoadBalancer]'}, 2355 'next_link': {'key': 'nextLink', 'type': 'str'}, 2356 } 2357 2358 def __init__( 2359 self, 2360 *, 2361 value: Optional[List["LoadBalancer"]] = None, 2362 next_link: Optional[str] = None, 2363 **kwargs 2364 ): 2365 super(LoadBalancerListResult, self).__init__(**kwargs) 2366 self.value = value 2367 self.next_link = next_link 2368 2369 2370class LoadBalancingRule(SubResource): 2371 """A load balancing rule for a load balancer. 2372 2373 :param id: Resource Identifier. 2374 :type id: str 2375 :param name: The name of the resource that is unique within a resource group. This name can be 2376 used to access the resource. 2377 :type name: str 2378 :param etag: A unique read-only string that changes whenever the resource is updated. 2379 :type etag: str 2380 :param frontend_ip_configuration: A reference to frontend IP addresses. 2381 :type frontend_ip_configuration: ~azure.mgmt.network.v2015_06_15.models.SubResource 2382 :param backend_address_pool: A reference to a pool of DIPs. Inbound traffic is randomly load 2383 balanced across IPs in the backend IPs. 2384 :type backend_address_pool: ~azure.mgmt.network.v2015_06_15.models.SubResource 2385 :param probe: The reference of the load balancer probe used by the load balancing rule. 2386 :type probe: ~azure.mgmt.network.v2015_06_15.models.SubResource 2387 :param protocol: The transport protocol for the external endpoint. Possible values are 'Udp' or 2388 'Tcp'. Possible values include: "Udp", "Tcp". 2389 :type protocol: str or ~azure.mgmt.network.v2015_06_15.models.TransportProtocol 2390 :param load_distribution: The load distribution policy for this rule. Possible values are 2391 'Default', 'SourceIP', and 'SourceIPProtocol'. Possible values include: "Default", "SourceIP", 2392 "SourceIPProtocol". 2393 :type load_distribution: str or ~azure.mgmt.network.v2015_06_15.models.LoadDistribution 2394 :param frontend_port: The port for the external endpoint. Port numbers for each rule must be 2395 unique within the Load Balancer. Acceptable values are between 1 and 65534. 2396 :type frontend_port: int 2397 :param backend_port: The port used for internal connections on the endpoint. Acceptable values 2398 are between 1 and 65535. 2399 :type backend_port: int 2400 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. The value can be set 2401 between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the 2402 protocol is set to TCP. 2403 :type idle_timeout_in_minutes: int 2404 :param enable_floating_ip: Configures a virtual machine's endpoint for the floating IP 2405 capability required to configure a SQL AlwaysOn Availability Group. This setting is required 2406 when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed 2407 after you create the endpoint. 2408 :type enable_floating_ip: bool 2409 :param provisioning_state: Gets the provisioning state of the PublicIP resource. Possible 2410 values are: 'Updating', 'Deleting', and 'Failed'. 2411 :type provisioning_state: str 2412 """ 2413 2414 _attribute_map = { 2415 'id': {'key': 'id', 'type': 'str'}, 2416 'name': {'key': 'name', 'type': 'str'}, 2417 'etag': {'key': 'etag', 'type': 'str'}, 2418 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 2419 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 2420 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, 2421 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 2422 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, 2423 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, 2424 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 2425 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 2426 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, 2427 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2428 } 2429 2430 def __init__( 2431 self, 2432 *, 2433 id: Optional[str] = None, 2434 name: Optional[str] = None, 2435 etag: Optional[str] = None, 2436 frontend_ip_configuration: Optional["SubResource"] = None, 2437 backend_address_pool: Optional["SubResource"] = None, 2438 probe: Optional["SubResource"] = None, 2439 protocol: Optional[Union[str, "TransportProtocol"]] = None, 2440 load_distribution: Optional[Union[str, "LoadDistribution"]] = None, 2441 frontend_port: Optional[int] = None, 2442 backend_port: Optional[int] = None, 2443 idle_timeout_in_minutes: Optional[int] = None, 2444 enable_floating_ip: Optional[bool] = None, 2445 provisioning_state: Optional[str] = None, 2446 **kwargs 2447 ): 2448 super(LoadBalancingRule, self).__init__(id=id, **kwargs) 2449 self.name = name 2450 self.etag = etag 2451 self.frontend_ip_configuration = frontend_ip_configuration 2452 self.backend_address_pool = backend_address_pool 2453 self.probe = probe 2454 self.protocol = protocol 2455 self.load_distribution = load_distribution 2456 self.frontend_port = frontend_port 2457 self.backend_port = backend_port 2458 self.idle_timeout_in_minutes = idle_timeout_in_minutes 2459 self.enable_floating_ip = enable_floating_ip 2460 self.provisioning_state = provisioning_state 2461 2462 2463class LocalNetworkGateway(Resource): 2464 """A common class for general resource information. 2465 2466 Variables are only populated by the server, and will be ignored when sending a request. 2467 2468 :param id: Resource Identifier. 2469 :type id: str 2470 :ivar name: Resource name. 2471 :vartype name: str 2472 :ivar type: Resource type. 2473 :vartype type: str 2474 :param location: Resource location. 2475 :type location: str 2476 :param tags: A set of tags. Resource tags. 2477 :type tags: dict[str, str] 2478 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 2479 :type etag: str 2480 :param local_network_address_space: Local network site address space. 2481 :type local_network_address_space: ~azure.mgmt.network.v2015_06_15.models.AddressSpace 2482 :param gateway_ip_address: IP address of local network gateway. 2483 :type gateway_ip_address: str 2484 :param bgp_settings: Local network gateway's BGP speaker settings. 2485 :type bgp_settings: ~azure.mgmt.network.v2015_06_15.models.BgpSettings 2486 :param resource_guid: The resource GUID property of the LocalNetworkGateway resource. 2487 :type resource_guid: str 2488 :param provisioning_state: Gets or sets Provisioning state of the LocalNetworkGateway resource 2489 Updating/Deleting/Failed. 2490 :type provisioning_state: str 2491 """ 2492 2493 _validation = { 2494 'name': {'readonly': True}, 2495 'type': {'readonly': True}, 2496 } 2497 2498 _attribute_map = { 2499 'id': {'key': 'id', 'type': 'str'}, 2500 'name': {'key': 'name', 'type': 'str'}, 2501 'type': {'key': 'type', 'type': 'str'}, 2502 'location': {'key': 'location', 'type': 'str'}, 2503 'tags': {'key': 'tags', 'type': '{str}'}, 2504 'etag': {'key': 'etag', 'type': 'str'}, 2505 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, 2506 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, 2507 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, 2508 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 2509 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2510 } 2511 2512 def __init__( 2513 self, 2514 *, 2515 id: Optional[str] = None, 2516 location: Optional[str] = None, 2517 tags: Optional[Dict[str, str]] = None, 2518 etag: Optional[str] = None, 2519 local_network_address_space: Optional["AddressSpace"] = None, 2520 gateway_ip_address: Optional[str] = None, 2521 bgp_settings: Optional["BgpSettings"] = None, 2522 resource_guid: Optional[str] = None, 2523 provisioning_state: Optional[str] = None, 2524 **kwargs 2525 ): 2526 super(LocalNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 2527 self.etag = etag 2528 self.local_network_address_space = local_network_address_space 2529 self.gateway_ip_address = gateway_ip_address 2530 self.bgp_settings = bgp_settings 2531 self.resource_guid = resource_guid 2532 self.provisioning_state = provisioning_state 2533 2534 2535class LocalNetworkGatewayListResult(msrest.serialization.Model): 2536 """Response for ListLocalNetworkGateways API service call. 2537 2538 :param value: A list of local network gateways that exists in a resource group. 2539 :type value: list[~azure.mgmt.network.v2015_06_15.models.LocalNetworkGateway] 2540 :param next_link: The URL to get the next set of results. 2541 :type next_link: str 2542 """ 2543 2544 _attribute_map = { 2545 'value': {'key': 'value', 'type': '[LocalNetworkGateway]'}, 2546 'next_link': {'key': 'nextLink', 'type': 'str'}, 2547 } 2548 2549 def __init__( 2550 self, 2551 *, 2552 value: Optional[List["LocalNetworkGateway"]] = None, 2553 next_link: Optional[str] = None, 2554 **kwargs 2555 ): 2556 super(LocalNetworkGatewayListResult, self).__init__(**kwargs) 2557 self.value = value 2558 self.next_link = next_link 2559 2560 2561class NetworkInterface(Resource): 2562 """A network interface in a resource group. 2563 2564 Variables are only populated by the server, and will be ignored when sending a request. 2565 2566 :param id: Resource Identifier. 2567 :type id: str 2568 :ivar name: Resource name. 2569 :vartype name: str 2570 :ivar type: Resource type. 2571 :vartype type: str 2572 :param location: Resource location. 2573 :type location: str 2574 :param tags: A set of tags. Resource tags. 2575 :type tags: dict[str, str] 2576 :param etag: A unique read-only string that changes whenever the resource is updated. 2577 :type etag: str 2578 :param virtual_machine: The reference of a virtual machine. 2579 :type virtual_machine: ~azure.mgmt.network.v2015_06_15.models.SubResource 2580 :param network_security_group: The reference of the NetworkSecurityGroup resource. 2581 :type network_security_group: ~azure.mgmt.network.v2015_06_15.models.NetworkSecurityGroup 2582 :param ip_configurations: A list of IPConfigurations of the network interface. 2583 :type ip_configurations: 2584 list[~azure.mgmt.network.v2015_06_15.models.NetworkInterfaceIPConfiguration] 2585 :param dns_settings: The DNS settings in network interface. 2586 :type dns_settings: ~azure.mgmt.network.v2015_06_15.models.NetworkInterfaceDnsSettings 2587 :param mac_address: The MAC address of the network interface. 2588 :type mac_address: str 2589 :param primary: Gets whether this is a primary network interface on a virtual machine. 2590 :type primary: bool 2591 :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on this network 2592 interface. 2593 :type enable_ip_forwarding: bool 2594 :param resource_guid: The resource GUID property of the network interface resource. 2595 :type resource_guid: str 2596 :param provisioning_state: The provisioning state of the public IP resource. Possible values 2597 are: 'Updating', 'Deleting', and 'Failed'. 2598 :type provisioning_state: str 2599 """ 2600 2601 _validation = { 2602 'name': {'readonly': True}, 2603 'type': {'readonly': True}, 2604 } 2605 2606 _attribute_map = { 2607 'id': {'key': 'id', 'type': 'str'}, 2608 'name': {'key': 'name', 'type': 'str'}, 2609 'type': {'key': 'type', 'type': 'str'}, 2610 'location': {'key': 'location', 'type': 'str'}, 2611 'tags': {'key': 'tags', 'type': '{str}'}, 2612 'etag': {'key': 'etag', 'type': 'str'}, 2613 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, 2614 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, 2615 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 2616 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, 2617 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, 2618 'primary': {'key': 'properties.primary', 'type': 'bool'}, 2619 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, 2620 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 2621 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2622 } 2623 2624 def __init__( 2625 self, 2626 *, 2627 id: Optional[str] = None, 2628 location: Optional[str] = None, 2629 tags: Optional[Dict[str, str]] = None, 2630 etag: Optional[str] = None, 2631 virtual_machine: Optional["SubResource"] = None, 2632 network_security_group: Optional["NetworkSecurityGroup"] = None, 2633 ip_configurations: Optional[List["NetworkInterfaceIPConfiguration"]] = None, 2634 dns_settings: Optional["NetworkInterfaceDnsSettings"] = None, 2635 mac_address: Optional[str] = None, 2636 primary: Optional[bool] = None, 2637 enable_ip_forwarding: Optional[bool] = None, 2638 resource_guid: Optional[str] = None, 2639 provisioning_state: Optional[str] = None, 2640 **kwargs 2641 ): 2642 super(NetworkInterface, self).__init__(id=id, location=location, tags=tags, **kwargs) 2643 self.etag = etag 2644 self.virtual_machine = virtual_machine 2645 self.network_security_group = network_security_group 2646 self.ip_configurations = ip_configurations 2647 self.dns_settings = dns_settings 2648 self.mac_address = mac_address 2649 self.primary = primary 2650 self.enable_ip_forwarding = enable_ip_forwarding 2651 self.resource_guid = resource_guid 2652 self.provisioning_state = provisioning_state 2653 2654 2655class NetworkInterfaceDnsSettings(msrest.serialization.Model): 2656 """DNS settings of a network interface. 2657 2658 :param dns_servers: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure 2659 provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be 2660 the only value in dnsServers collection. 2661 :type dns_servers: list[str] 2662 :param applied_dns_servers: If the VM that uses this NIC is part of an Availability Set, then 2663 this list will have the union of all DNS servers from all NICs that are part of the 2664 Availability Set. This property is what is configured on each of those VMs. 2665 :type applied_dns_servers: list[str] 2666 :param internal_dns_name_label: Relative DNS name for this NIC used for internal communications 2667 between VMs in the same virtual network. 2668 :type internal_dns_name_label: str 2669 :param internal_fqdn: Fully qualified DNS name supporting internal communications between VMs 2670 in the same virtual network. 2671 :type internal_fqdn: str 2672 """ 2673 2674 _attribute_map = { 2675 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, 2676 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, 2677 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, 2678 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, 2679 } 2680 2681 def __init__( 2682 self, 2683 *, 2684 dns_servers: Optional[List[str]] = None, 2685 applied_dns_servers: Optional[List[str]] = None, 2686 internal_dns_name_label: Optional[str] = None, 2687 internal_fqdn: Optional[str] = None, 2688 **kwargs 2689 ): 2690 super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) 2691 self.dns_servers = dns_servers 2692 self.applied_dns_servers = applied_dns_servers 2693 self.internal_dns_name_label = internal_dns_name_label 2694 self.internal_fqdn = internal_fqdn 2695 2696 2697class NetworkInterfaceIPConfiguration(SubResource): 2698 """IPConfiguration in a network interface. 2699 2700 :param id: Resource Identifier. 2701 :type id: str 2702 :param name: The name of the resource that is unique within a resource group. This name can be 2703 used to access the resource. 2704 :type name: str 2705 :param etag: A unique read-only string that changes whenever the resource is updated. 2706 :type etag: str 2707 :param load_balancer_backend_address_pools: The reference of LoadBalancerBackendAddressPool 2708 resource. 2709 :type load_balancer_backend_address_pools: 2710 list[~azure.mgmt.network.v2015_06_15.models.BackendAddressPool] 2711 :param load_balancer_inbound_nat_rules: A list of references of LoadBalancerInboundNatRules. 2712 :type load_balancer_inbound_nat_rules: 2713 list[~azure.mgmt.network.v2015_06_15.models.InboundNatRule] 2714 :param private_ip_address: 2715 :type private_ip_address: str 2716 :param private_ip_allocation_method: Defines how a private IP address is assigned. Possible 2717 values are: 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 2718 :type private_ip_allocation_method: str or 2719 ~azure.mgmt.network.v2015_06_15.models.IPAllocationMethod 2720 :param subnet: Subnet in a virtual network resource. 2721 :type subnet: ~azure.mgmt.network.v2015_06_15.models.Subnet 2722 :param primary: Gets whether this is a primary customer address on the network interface. 2723 :type primary: bool 2724 :param public_ip_address: Public IP address resource. 2725 :type public_ip_address: ~azure.mgmt.network.v2015_06_15.models.PublicIPAddress 2726 :param provisioning_state: 2727 :type provisioning_state: str 2728 """ 2729 2730 _attribute_map = { 2731 'id': {'key': 'id', 'type': 'str'}, 2732 'name': {'key': 'name', 'type': 'str'}, 2733 'etag': {'key': 'etag', 'type': 'str'}, 2734 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, 2735 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, 2736 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 2737 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 2738 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 2739 'primary': {'key': 'properties.primary', 'type': 'bool'}, 2740 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 2741 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2742 } 2743 2744 def __init__( 2745 self, 2746 *, 2747 id: Optional[str] = None, 2748 name: Optional[str] = None, 2749 etag: Optional[str] = None, 2750 load_balancer_backend_address_pools: Optional[List["BackendAddressPool"]] = None, 2751 load_balancer_inbound_nat_rules: Optional[List["InboundNatRule"]] = None, 2752 private_ip_address: Optional[str] = None, 2753 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 2754 subnet: Optional["Subnet"] = None, 2755 primary: Optional[bool] = None, 2756 public_ip_address: Optional["PublicIPAddress"] = None, 2757 provisioning_state: Optional[str] = None, 2758 **kwargs 2759 ): 2760 super(NetworkInterfaceIPConfiguration, self).__init__(id=id, **kwargs) 2761 self.name = name 2762 self.etag = etag 2763 self.load_balancer_backend_address_pools = load_balancer_backend_address_pools 2764 self.load_balancer_inbound_nat_rules = load_balancer_inbound_nat_rules 2765 self.private_ip_address = private_ip_address 2766 self.private_ip_allocation_method = private_ip_allocation_method 2767 self.subnet = subnet 2768 self.primary = primary 2769 self.public_ip_address = public_ip_address 2770 self.provisioning_state = provisioning_state 2771 2772 2773class NetworkInterfaceListResult(msrest.serialization.Model): 2774 """Response for the ListNetworkInterface API service call. 2775 2776 :param value: A list of network interfaces in a resource group. 2777 :type value: list[~azure.mgmt.network.v2015_06_15.models.NetworkInterface] 2778 :param next_link: The URL to get the next set of results. 2779 :type next_link: str 2780 """ 2781 2782 _attribute_map = { 2783 'value': {'key': 'value', 'type': '[NetworkInterface]'}, 2784 'next_link': {'key': 'nextLink', 'type': 'str'}, 2785 } 2786 2787 def __init__( 2788 self, 2789 *, 2790 value: Optional[List["NetworkInterface"]] = None, 2791 next_link: Optional[str] = None, 2792 **kwargs 2793 ): 2794 super(NetworkInterfaceListResult, self).__init__(**kwargs) 2795 self.value = value 2796 self.next_link = next_link 2797 2798 2799class NetworkSecurityGroup(Resource): 2800 """NetworkSecurityGroup resource. 2801 2802 Variables are only populated by the server, and will be ignored when sending a request. 2803 2804 :param id: Resource Identifier. 2805 :type id: str 2806 :ivar name: Resource name. 2807 :vartype name: str 2808 :ivar type: Resource type. 2809 :vartype type: str 2810 :param location: Resource location. 2811 :type location: str 2812 :param tags: A set of tags. Resource tags. 2813 :type tags: dict[str, str] 2814 :param etag: A unique read-only string that changes whenever the resource is updated. 2815 :type etag: str 2816 :param security_rules: A collection of security rules of the network security group. 2817 :type security_rules: list[~azure.mgmt.network.v2015_06_15.models.SecurityRule] 2818 :param default_security_rules: The default security rules of network security group. 2819 :type default_security_rules: list[~azure.mgmt.network.v2015_06_15.models.SecurityRule] 2820 :param network_interfaces: A collection of references to network interfaces. 2821 :type network_interfaces: list[~azure.mgmt.network.v2015_06_15.models.NetworkInterface] 2822 :param subnets: A collection of references to subnets. 2823 :type subnets: list[~azure.mgmt.network.v2015_06_15.models.Subnet] 2824 :param resource_guid: The resource GUID property of the network security group resource. 2825 :type resource_guid: str 2826 :param provisioning_state: The provisioning state of the public IP resource. Possible values 2827 are: 'Updating', 'Deleting', and 'Failed'. 2828 :type provisioning_state: str 2829 """ 2830 2831 _validation = { 2832 'name': {'readonly': True}, 2833 'type': {'readonly': True}, 2834 } 2835 2836 _attribute_map = { 2837 'id': {'key': 'id', 'type': 'str'}, 2838 'name': {'key': 'name', 'type': 'str'}, 2839 'type': {'key': 'type', 'type': 'str'}, 2840 'location': {'key': 'location', 'type': 'str'}, 2841 'tags': {'key': 'tags', 'type': '{str}'}, 2842 'etag': {'key': 'etag', 'type': 'str'}, 2843 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, 2844 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, 2845 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, 2846 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 2847 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 2848 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2849 } 2850 2851 def __init__( 2852 self, 2853 *, 2854 id: Optional[str] = None, 2855 location: Optional[str] = None, 2856 tags: Optional[Dict[str, str]] = None, 2857 etag: Optional[str] = None, 2858 security_rules: Optional[List["SecurityRule"]] = None, 2859 default_security_rules: Optional[List["SecurityRule"]] = None, 2860 network_interfaces: Optional[List["NetworkInterface"]] = None, 2861 subnets: Optional[List["Subnet"]] = None, 2862 resource_guid: Optional[str] = None, 2863 provisioning_state: Optional[str] = None, 2864 **kwargs 2865 ): 2866 super(NetworkSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) 2867 self.etag = etag 2868 self.security_rules = security_rules 2869 self.default_security_rules = default_security_rules 2870 self.network_interfaces = network_interfaces 2871 self.subnets = subnets 2872 self.resource_guid = resource_guid 2873 self.provisioning_state = provisioning_state 2874 2875 2876class NetworkSecurityGroupListResult(msrest.serialization.Model): 2877 """Response for ListNetworkSecurityGroups API service call. 2878 2879 :param value: A list of NetworkSecurityGroup resources. 2880 :type value: list[~azure.mgmt.network.v2015_06_15.models.NetworkSecurityGroup] 2881 :param next_link: The URL to get the next set of results. 2882 :type next_link: str 2883 """ 2884 2885 _attribute_map = { 2886 'value': {'key': 'value', 'type': '[NetworkSecurityGroup]'}, 2887 'next_link': {'key': 'nextLink', 'type': 'str'}, 2888 } 2889 2890 def __init__( 2891 self, 2892 *, 2893 value: Optional[List["NetworkSecurityGroup"]] = None, 2894 next_link: Optional[str] = None, 2895 **kwargs 2896 ): 2897 super(NetworkSecurityGroupListResult, self).__init__(**kwargs) 2898 self.value = value 2899 self.next_link = next_link 2900 2901 2902class OutboundNatRule(SubResource): 2903 """Outbound NAT pool of the load balancer. 2904 2905 :param id: Resource Identifier. 2906 :type id: str 2907 :param name: The name of the resource that is unique within a resource group. This name can be 2908 used to access the resource. 2909 :type name: str 2910 :param etag: A unique read-only string that changes whenever the resource is updated. 2911 :type etag: str 2912 :param allocated_outbound_ports: The number of outbound ports to be used for NAT. 2913 :type allocated_outbound_ports: int 2914 :param frontend_ip_configurations: The Frontend IP addresses of the load balancer. 2915 :type frontend_ip_configurations: list[~azure.mgmt.network.v2015_06_15.models.SubResource] 2916 :param backend_address_pool: A reference to a pool of DIPs. Outbound traffic is randomly load 2917 balanced across IPs in the backend IPs. 2918 :type backend_address_pool: ~azure.mgmt.network.v2015_06_15.models.SubResource 2919 :param provisioning_state: Gets the provisioning state of the PublicIP resource. Possible 2920 values are: 'Updating', 'Deleting', and 'Failed'. 2921 :type provisioning_state: str 2922 """ 2923 2924 _attribute_map = { 2925 'id': {'key': 'id', 'type': 'str'}, 2926 'name': {'key': 'name', 'type': 'str'}, 2927 'etag': {'key': 'etag', 'type': 'str'}, 2928 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, 2929 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, 2930 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 2931 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2932 } 2933 2934 def __init__( 2935 self, 2936 *, 2937 id: Optional[str] = None, 2938 name: Optional[str] = None, 2939 etag: Optional[str] = None, 2940 allocated_outbound_ports: Optional[int] = None, 2941 frontend_ip_configurations: Optional[List["SubResource"]] = None, 2942 backend_address_pool: Optional["SubResource"] = None, 2943 provisioning_state: Optional[str] = None, 2944 **kwargs 2945 ): 2946 super(OutboundNatRule, self).__init__(id=id, **kwargs) 2947 self.name = name 2948 self.etag = etag 2949 self.allocated_outbound_ports = allocated_outbound_ports 2950 self.frontend_ip_configurations = frontend_ip_configurations 2951 self.backend_address_pool = backend_address_pool 2952 self.provisioning_state = provisioning_state 2953 2954 2955class Probe(SubResource): 2956 """A load balancer probe. 2957 2958 :param id: Resource Identifier. 2959 :type id: str 2960 :param name: Gets name of the resource that is unique within a resource group. This name can be 2961 used to access the resource. 2962 :type name: str 2963 :param etag: A unique read-only string that changes whenever the resource is updated. 2964 :type etag: str 2965 :param load_balancing_rules: The load balancer rules that use this probe. 2966 :type load_balancing_rules: list[~azure.mgmt.network.v2015_06_15.models.SubResource] 2967 :param protocol: The protocol of the end point. Possible values are: 'Http' or 'Tcp'. If 'Tcp' 2968 is specified, a received ACK is required for the probe to be successful. If 'Http' is 2969 specified, a 200 OK response from the specifies URI is required for the probe to be successful. 2970 Possible values include: "Http", "Tcp". 2971 :type protocol: str or ~azure.mgmt.network.v2015_06_15.models.ProbeProtocol 2972 :param port: The port for communicating the probe. Possible values range from 1 to 65535, 2973 inclusive. 2974 :type port: int 2975 :param interval_in_seconds: The interval, in seconds, for how frequently to probe the endpoint 2976 for health status. Typically, the interval is slightly less than half the allocated timeout 2977 period (in seconds) which allows two full probes before taking the instance out of rotation. 2978 The default value is 15, the minimum value is 5. 2979 :type interval_in_seconds: int 2980 :param number_of_probes: The number of probes where if no response, will result in stopping 2981 further traffic from being delivered to the endpoint. This values allows endpoints to be taken 2982 out of rotation faster or slower than the typical times used in Azure. 2983 :type number_of_probes: int 2984 :param request_path: The URI used for requesting health status from the VM. Path is required if 2985 a protocol is set to http. Otherwise, it is not allowed. There is no default value. 2986 :type request_path: str 2987 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 2988 values are: 'Updating', 'Deleting', and 'Failed'. 2989 :type provisioning_state: str 2990 """ 2991 2992 _attribute_map = { 2993 'id': {'key': 'id', 'type': 'str'}, 2994 'name': {'key': 'name', 'type': 'str'}, 2995 'etag': {'key': 'etag', 'type': 'str'}, 2996 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 2997 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 2998 'port': {'key': 'properties.port', 'type': 'int'}, 2999 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, 3000 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, 3001 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, 3002 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3003 } 3004 3005 def __init__( 3006 self, 3007 *, 3008 id: Optional[str] = None, 3009 name: Optional[str] = None, 3010 etag: Optional[str] = None, 3011 load_balancing_rules: Optional[List["SubResource"]] = None, 3012 protocol: Optional[Union[str, "ProbeProtocol"]] = None, 3013 port: Optional[int] = None, 3014 interval_in_seconds: Optional[int] = None, 3015 number_of_probes: Optional[int] = None, 3016 request_path: Optional[str] = None, 3017 provisioning_state: Optional[str] = None, 3018 **kwargs 3019 ): 3020 super(Probe, self).__init__(id=id, **kwargs) 3021 self.name = name 3022 self.etag = etag 3023 self.load_balancing_rules = load_balancing_rules 3024 self.protocol = protocol 3025 self.port = port 3026 self.interval_in_seconds = interval_in_seconds 3027 self.number_of_probes = number_of_probes 3028 self.request_path = request_path 3029 self.provisioning_state = provisioning_state 3030 3031 3032class PublicIPAddress(Resource): 3033 """Public IP address resource. 3034 3035 Variables are only populated by the server, and will be ignored when sending a request. 3036 3037 :param id: Resource Identifier. 3038 :type id: str 3039 :ivar name: Resource name. 3040 :vartype name: str 3041 :ivar type: Resource type. 3042 :vartype type: str 3043 :param location: Resource location. 3044 :type location: str 3045 :param tags: A set of tags. Resource tags. 3046 :type tags: dict[str, str] 3047 :param etag: A unique read-only string that changes whenever the resource is updated. 3048 :type etag: str 3049 :param public_ip_allocation_method: The public IP allocation method. Possible values are: 3050 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 3051 :type public_ip_allocation_method: str or 3052 ~azure.mgmt.network.v2015_06_15.models.IPAllocationMethod 3053 :param ip_configuration: IPConfiguration. 3054 :type ip_configuration: ~azure.mgmt.network.v2015_06_15.models.IPConfiguration 3055 :param dns_settings: The FQDN of the DNS record associated with the public IP address. 3056 :type dns_settings: ~azure.mgmt.network.v2015_06_15.models.PublicIPAddressDnsSettings 3057 :param ip_address: 3058 :type ip_address: str 3059 :param idle_timeout_in_minutes: The idle timeout of the public IP address. 3060 :type idle_timeout_in_minutes: int 3061 :param resource_guid: The resource GUID property of the public IP resource. 3062 :type resource_guid: str 3063 :param provisioning_state: The provisioning state of the PublicIP resource. Possible values 3064 are: 'Updating', 'Deleting', and 'Failed'. 3065 :type provisioning_state: str 3066 """ 3067 3068 _validation = { 3069 'name': {'readonly': True}, 3070 'type': {'readonly': True}, 3071 } 3072 3073 _attribute_map = { 3074 'id': {'key': 'id', 'type': 'str'}, 3075 'name': {'key': 'name', 'type': 'str'}, 3076 'type': {'key': 'type', 'type': 'str'}, 3077 'location': {'key': 'location', 'type': 'str'}, 3078 'tags': {'key': 'tags', 'type': '{str}'}, 3079 'etag': {'key': 'etag', 'type': 'str'}, 3080 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, 3081 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, 3082 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, 3083 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, 3084 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 3085 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 3086 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3087 } 3088 3089 def __init__( 3090 self, 3091 *, 3092 id: Optional[str] = None, 3093 location: Optional[str] = None, 3094 tags: Optional[Dict[str, str]] = None, 3095 etag: Optional[str] = None, 3096 public_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 3097 ip_configuration: Optional["IPConfiguration"] = None, 3098 dns_settings: Optional["PublicIPAddressDnsSettings"] = None, 3099 ip_address: Optional[str] = None, 3100 idle_timeout_in_minutes: Optional[int] = None, 3101 resource_guid: Optional[str] = None, 3102 provisioning_state: Optional[str] = None, 3103 **kwargs 3104 ): 3105 super(PublicIPAddress, self).__init__(id=id, location=location, tags=tags, **kwargs) 3106 self.etag = etag 3107 self.public_ip_allocation_method = public_ip_allocation_method 3108 self.ip_configuration = ip_configuration 3109 self.dns_settings = dns_settings 3110 self.ip_address = ip_address 3111 self.idle_timeout_in_minutes = idle_timeout_in_minutes 3112 self.resource_guid = resource_guid 3113 self.provisioning_state = provisioning_state 3114 3115 3116class PublicIPAddressDnsSettings(msrest.serialization.Model): 3117 """Contains FQDN of the DNS record associated with the public IP address. 3118 3119 :param domain_name_label: Gets or sets the Domain name label.The concatenation of the domain 3120 name label and the regionalized DNS zone make up the fully qualified domain name associated 3121 with the public IP address. If a domain name label is specified, an A DNS record is created for 3122 the public IP in the Microsoft Azure DNS system. 3123 :type domain_name_label: str 3124 :param fqdn: Gets the FQDN, Fully qualified domain name of the A DNS record associated with the 3125 public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. 3126 :type fqdn: str 3127 :param reverse_fqdn: Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name 3128 that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record 3129 is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. 3130 :type reverse_fqdn: str 3131 """ 3132 3133 _attribute_map = { 3134 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, 3135 'fqdn': {'key': 'fqdn', 'type': 'str'}, 3136 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, 3137 } 3138 3139 def __init__( 3140 self, 3141 *, 3142 domain_name_label: Optional[str] = None, 3143 fqdn: Optional[str] = None, 3144 reverse_fqdn: Optional[str] = None, 3145 **kwargs 3146 ): 3147 super(PublicIPAddressDnsSettings, self).__init__(**kwargs) 3148 self.domain_name_label = domain_name_label 3149 self.fqdn = fqdn 3150 self.reverse_fqdn = reverse_fqdn 3151 3152 3153class PublicIPAddressListResult(msrest.serialization.Model): 3154 """Response for ListPublicIpAddresses API service call. 3155 3156 :param value: A list of public IP addresses that exists in a resource group. 3157 :type value: list[~azure.mgmt.network.v2015_06_15.models.PublicIPAddress] 3158 :param next_link: The URL to get the next set of results. 3159 :type next_link: str 3160 """ 3161 3162 _attribute_map = { 3163 'value': {'key': 'value', 'type': '[PublicIPAddress]'}, 3164 'next_link': {'key': 'nextLink', 'type': 'str'}, 3165 } 3166 3167 def __init__( 3168 self, 3169 *, 3170 value: Optional[List["PublicIPAddress"]] = None, 3171 next_link: Optional[str] = None, 3172 **kwargs 3173 ): 3174 super(PublicIPAddressListResult, self).__init__(**kwargs) 3175 self.value = value 3176 self.next_link = next_link 3177 3178 3179class Route(SubResource): 3180 """Route resource. 3181 3182 :param id: Resource Identifier. 3183 :type id: str 3184 :param name: The name of the resource that is unique within a resource group. This name can be 3185 used to access the resource. 3186 :type name: str 3187 :param etag: A unique read-only string that changes whenever the resource is updated. 3188 :type etag: str 3189 :param address_prefix: The destination CIDR to which the route applies. 3190 :type address_prefix: str 3191 :param next_hop_type: The type of Azure hop the packet should be sent to. Possible values are: 3192 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible 3193 values include: "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None". 3194 :type next_hop_type: str or ~azure.mgmt.network.v2015_06_15.models.RouteNextHopType 3195 :param next_hop_ip_address: The IP address packets should be forwarded to. Next hop values are 3196 only allowed in routes where the next hop type is VirtualAppliance. 3197 :type next_hop_ip_address: str 3198 :param provisioning_state: The provisioning state of the resource. Possible values are: 3199 'Updating', 'Deleting', and 'Failed'. 3200 :type provisioning_state: str 3201 """ 3202 3203 _attribute_map = { 3204 'id': {'key': 'id', 'type': 'str'}, 3205 'name': {'key': 'name', 'type': 'str'}, 3206 'etag': {'key': 'etag', 'type': 'str'}, 3207 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 3208 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, 3209 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, 3210 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3211 } 3212 3213 def __init__( 3214 self, 3215 *, 3216 id: Optional[str] = None, 3217 name: Optional[str] = None, 3218 etag: Optional[str] = None, 3219 address_prefix: Optional[str] = None, 3220 next_hop_type: Optional[Union[str, "RouteNextHopType"]] = None, 3221 next_hop_ip_address: Optional[str] = None, 3222 provisioning_state: Optional[str] = None, 3223 **kwargs 3224 ): 3225 super(Route, self).__init__(id=id, **kwargs) 3226 self.name = name 3227 self.etag = etag 3228 self.address_prefix = address_prefix 3229 self.next_hop_type = next_hop_type 3230 self.next_hop_ip_address = next_hop_ip_address 3231 self.provisioning_state = provisioning_state 3232 3233 3234class RouteListResult(msrest.serialization.Model): 3235 """Response for the ListRoute API service call. 3236 3237 :param value: Gets a list of routes in a resource group. 3238 :type value: list[~azure.mgmt.network.v2015_06_15.models.Route] 3239 :param next_link: The URL to get the next set of results. 3240 :type next_link: str 3241 """ 3242 3243 _attribute_map = { 3244 'value': {'key': 'value', 'type': '[Route]'}, 3245 'next_link': {'key': 'nextLink', 'type': 'str'}, 3246 } 3247 3248 def __init__( 3249 self, 3250 *, 3251 value: Optional[List["Route"]] = None, 3252 next_link: Optional[str] = None, 3253 **kwargs 3254 ): 3255 super(RouteListResult, self).__init__(**kwargs) 3256 self.value = value 3257 self.next_link = next_link 3258 3259 3260class RouteTable(Resource): 3261 """Route table resource. 3262 3263 Variables are only populated by the server, and will be ignored when sending a request. 3264 3265 :param id: Resource Identifier. 3266 :type id: str 3267 :ivar name: Resource name. 3268 :vartype name: str 3269 :ivar type: Resource type. 3270 :vartype type: str 3271 :param location: Resource location. 3272 :type location: str 3273 :param tags: A set of tags. Resource tags. 3274 :type tags: dict[str, str] 3275 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 3276 :type etag: str 3277 :param routes: Collection of routes contained within a route table. 3278 :type routes: list[~azure.mgmt.network.v2015_06_15.models.Route] 3279 :param subnets: A collection of references to subnets. 3280 :type subnets: list[~azure.mgmt.network.v2015_06_15.models.Subnet] 3281 :param provisioning_state: The provisioning state of the resource. Possible values are: 3282 'Updating', 'Deleting', and 'Failed'. 3283 :type provisioning_state: str 3284 """ 3285 3286 _validation = { 3287 'name': {'readonly': True}, 3288 'type': {'readonly': True}, 3289 } 3290 3291 _attribute_map = { 3292 'id': {'key': 'id', 'type': 'str'}, 3293 'name': {'key': 'name', 'type': 'str'}, 3294 'type': {'key': 'type', 'type': 'str'}, 3295 'location': {'key': 'location', 'type': 'str'}, 3296 'tags': {'key': 'tags', 'type': '{str}'}, 3297 'etag': {'key': 'etag', 'type': 'str'}, 3298 'routes': {'key': 'properties.routes', 'type': '[Route]'}, 3299 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 3300 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3301 } 3302 3303 def __init__( 3304 self, 3305 *, 3306 id: Optional[str] = None, 3307 location: Optional[str] = None, 3308 tags: Optional[Dict[str, str]] = None, 3309 etag: Optional[str] = None, 3310 routes: Optional[List["Route"]] = None, 3311 subnets: Optional[List["Subnet"]] = None, 3312 provisioning_state: Optional[str] = None, 3313 **kwargs 3314 ): 3315 super(RouteTable, self).__init__(id=id, location=location, tags=tags, **kwargs) 3316 self.etag = etag 3317 self.routes = routes 3318 self.subnets = subnets 3319 self.provisioning_state = provisioning_state 3320 3321 3322class RouteTableListResult(msrest.serialization.Model): 3323 """Response for the ListRouteTable API service call. 3324 3325 :param value: Gets a list of route tables in a resource group. 3326 :type value: list[~azure.mgmt.network.v2015_06_15.models.RouteTable] 3327 :param next_link: The URL to get the next set of results. 3328 :type next_link: str 3329 """ 3330 3331 _attribute_map = { 3332 'value': {'key': 'value', 'type': '[RouteTable]'}, 3333 'next_link': {'key': 'nextLink', 'type': 'str'}, 3334 } 3335 3336 def __init__( 3337 self, 3338 *, 3339 value: Optional[List["RouteTable"]] = None, 3340 next_link: Optional[str] = None, 3341 **kwargs 3342 ): 3343 super(RouteTableListResult, self).__init__(**kwargs) 3344 self.value = value 3345 self.next_link = next_link 3346 3347 3348class SecurityRule(SubResource): 3349 """Network security rule. 3350 3351 :param id: Resource Identifier. 3352 :type id: str 3353 :param name: The name of the resource that is unique within a resource group. This name can be 3354 used to access the resource. 3355 :type name: str 3356 :param etag: A unique read-only string that changes whenever the resource is updated. 3357 :type etag: str 3358 :param description: A description for this rule. Restricted to 140 chars. 3359 :type description: str 3360 :param protocol: Network protocol this rule applies to. Possible values are 'Tcp', 'Udp', and 3361 '*'. Possible values include: "Tcp", "Udp", "*". 3362 :type protocol: str or ~azure.mgmt.network.v2015_06_15.models.SecurityRuleProtocol 3363 :param source_port_range: The source port or range. Integer or range between 0 and 65535. 3364 Asterisk '*' can also be used to match all ports. 3365 :type source_port_range: str 3366 :param destination_port_range: The destination port or range. Integer or range between 0 and 3367 65535. Asterisk '*' can also be used to match all ports. 3368 :type destination_port_range: str 3369 :param source_address_prefix: The CIDR or source IP range. Asterisk '*' can also be used to 3370 match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' 3371 can also be used. If this is an ingress rule, specifies where network traffic originates from. 3372 :type source_address_prefix: str 3373 :param destination_address_prefix: The destination address prefix. CIDR or source IP range. 3374 Asterisk '*' can also be used to match all source IPs. Default tags such as 'VirtualNetwork', 3375 'AzureLoadBalancer' and 'Internet' can also be used. 3376 :type destination_address_prefix: str 3377 :param access: The network traffic is allowed or denied. Possible values are: 'Allow' and 3378 'Deny'. Possible values include: "Allow", "Deny". 3379 :type access: str or ~azure.mgmt.network.v2015_06_15.models.SecurityRuleAccess 3380 :param priority: The priority of the rule. The value can be between 100 and 4096. The priority 3381 number must be unique for each rule in the collection. The lower the priority number, the 3382 higher the priority of the rule. 3383 :type priority: int 3384 :param direction: The direction of the rule. The direction specifies if rule will be evaluated 3385 on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'. Possible values 3386 include: "Inbound", "Outbound". 3387 :type direction: str or ~azure.mgmt.network.v2015_06_15.models.SecurityRuleDirection 3388 :param provisioning_state: The provisioning state of the public IP resource. Possible values 3389 are: 'Updating', 'Deleting', and 'Failed'. 3390 :type provisioning_state: str 3391 """ 3392 3393 _attribute_map = { 3394 'id': {'key': 'id', 'type': 'str'}, 3395 'name': {'key': 'name', 'type': 'str'}, 3396 'etag': {'key': 'etag', 'type': 'str'}, 3397 'description': {'key': 'properties.description', 'type': 'str'}, 3398 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 3399 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, 3400 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, 3401 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, 3402 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, 3403 'access': {'key': 'properties.access', 'type': 'str'}, 3404 'priority': {'key': 'properties.priority', 'type': 'int'}, 3405 'direction': {'key': 'properties.direction', 'type': 'str'}, 3406 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3407 } 3408 3409 def __init__( 3410 self, 3411 *, 3412 id: Optional[str] = None, 3413 name: Optional[str] = None, 3414 etag: Optional[str] = None, 3415 description: Optional[str] = None, 3416 protocol: Optional[Union[str, "SecurityRuleProtocol"]] = None, 3417 source_port_range: Optional[str] = None, 3418 destination_port_range: Optional[str] = None, 3419 source_address_prefix: Optional[str] = None, 3420 destination_address_prefix: Optional[str] = None, 3421 access: Optional[Union[str, "SecurityRuleAccess"]] = None, 3422 priority: Optional[int] = None, 3423 direction: Optional[Union[str, "SecurityRuleDirection"]] = None, 3424 provisioning_state: Optional[str] = None, 3425 **kwargs 3426 ): 3427 super(SecurityRule, self).__init__(id=id, **kwargs) 3428 self.name = name 3429 self.etag = etag 3430 self.description = description 3431 self.protocol = protocol 3432 self.source_port_range = source_port_range 3433 self.destination_port_range = destination_port_range 3434 self.source_address_prefix = source_address_prefix 3435 self.destination_address_prefix = destination_address_prefix 3436 self.access = access 3437 self.priority = priority 3438 self.direction = direction 3439 self.provisioning_state = provisioning_state 3440 3441 3442class SecurityRuleListResult(msrest.serialization.Model): 3443 """Response for ListSecurityRule API service call. Retrieves all security rules that belongs to a network security group. 3444 3445 :param value: The security rules in a network security group. 3446 :type value: list[~azure.mgmt.network.v2015_06_15.models.SecurityRule] 3447 :param next_link: The URL to get the next set of results. 3448 :type next_link: str 3449 """ 3450 3451 _attribute_map = { 3452 'value': {'key': 'value', 'type': '[SecurityRule]'}, 3453 'next_link': {'key': 'nextLink', 'type': 'str'}, 3454 } 3455 3456 def __init__( 3457 self, 3458 *, 3459 value: Optional[List["SecurityRule"]] = None, 3460 next_link: Optional[str] = None, 3461 **kwargs 3462 ): 3463 super(SecurityRuleListResult, self).__init__(**kwargs) 3464 self.value = value 3465 self.next_link = next_link 3466 3467 3468class Subnet(SubResource): 3469 """Subnet in a virtual network resource. 3470 3471 :param id: Resource Identifier. 3472 :type id: str 3473 :param name: The name of the resource that is unique within a resource group. This name can be 3474 used to access the resource. 3475 :type name: str 3476 :param etag: A unique read-only string that changes whenever the resource is updated. 3477 :type etag: str 3478 :param address_prefix: The address prefix for the subnet. 3479 :type address_prefix: str 3480 :param network_security_group: The reference of the NetworkSecurityGroup resource. 3481 :type network_security_group: ~azure.mgmt.network.v2015_06_15.models.NetworkSecurityGroup 3482 :param route_table: The reference of the RouteTable resource. 3483 :type route_table: ~azure.mgmt.network.v2015_06_15.models.RouteTable 3484 :param ip_configurations: Gets an array of references to the network interface IP 3485 configurations using subnet. 3486 :type ip_configurations: list[~azure.mgmt.network.v2015_06_15.models.IPConfiguration] 3487 :param provisioning_state: The provisioning state of the resource. 3488 :type provisioning_state: str 3489 """ 3490 3491 _attribute_map = { 3492 'id': {'key': 'id', 'type': 'str'}, 3493 'name': {'key': 'name', 'type': 'str'}, 3494 'etag': {'key': 'etag', 'type': 'str'}, 3495 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 3496 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, 3497 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, 3498 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, 3499 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3500 } 3501 3502 def __init__( 3503 self, 3504 *, 3505 id: Optional[str] = None, 3506 name: Optional[str] = None, 3507 etag: Optional[str] = None, 3508 address_prefix: Optional[str] = None, 3509 network_security_group: Optional["NetworkSecurityGroup"] = None, 3510 route_table: Optional["RouteTable"] = None, 3511 ip_configurations: Optional[List["IPConfiguration"]] = None, 3512 provisioning_state: Optional[str] = None, 3513 **kwargs 3514 ): 3515 super(Subnet, self).__init__(id=id, **kwargs) 3516 self.name = name 3517 self.etag = etag 3518 self.address_prefix = address_prefix 3519 self.network_security_group = network_security_group 3520 self.route_table = route_table 3521 self.ip_configurations = ip_configurations 3522 self.provisioning_state = provisioning_state 3523 3524 3525class SubnetListResult(msrest.serialization.Model): 3526 """Response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network. 3527 3528 :param value: The subnets in a virtual network. 3529 :type value: list[~azure.mgmt.network.v2015_06_15.models.Subnet] 3530 :param next_link: The URL to get the next set of results. 3531 :type next_link: str 3532 """ 3533 3534 _attribute_map = { 3535 'value': {'key': 'value', 'type': '[Subnet]'}, 3536 'next_link': {'key': 'nextLink', 'type': 'str'}, 3537 } 3538 3539 def __init__( 3540 self, 3541 *, 3542 value: Optional[List["Subnet"]] = None, 3543 next_link: Optional[str] = None, 3544 **kwargs 3545 ): 3546 super(SubnetListResult, self).__init__(**kwargs) 3547 self.value = value 3548 self.next_link = next_link 3549 3550 3551class Usage(msrest.serialization.Model): 3552 """Describes network resource usage. 3553 3554 All required parameters must be populated in order to send to Azure. 3555 3556 :param unit: Required. An enum describing the unit of measurement. Possible values include: 3557 "Count". 3558 :type unit: str or ~azure.mgmt.network.v2015_06_15.models.UsageUnit 3559 :param current_value: Required. The current value of the usage. 3560 :type current_value: long 3561 :param limit: Required. The limit of usage. 3562 :type limit: long 3563 :param name: Required. The name of the type of usage. 3564 :type name: ~azure.mgmt.network.v2015_06_15.models.UsageName 3565 """ 3566 3567 _validation = { 3568 'unit': {'required': True}, 3569 'current_value': {'required': True}, 3570 'limit': {'required': True}, 3571 'name': {'required': True}, 3572 } 3573 3574 _attribute_map = { 3575 'unit': {'key': 'unit', 'type': 'str'}, 3576 'current_value': {'key': 'currentValue', 'type': 'long'}, 3577 'limit': {'key': 'limit', 'type': 'long'}, 3578 'name': {'key': 'name', 'type': 'UsageName'}, 3579 } 3580 3581 def __init__( 3582 self, 3583 *, 3584 unit: Union[str, "UsageUnit"], 3585 current_value: int, 3586 limit: int, 3587 name: "UsageName", 3588 **kwargs 3589 ): 3590 super(Usage, self).__init__(**kwargs) 3591 self.unit = unit 3592 self.current_value = current_value 3593 self.limit = limit 3594 self.name = name 3595 3596 3597class UsageName(msrest.serialization.Model): 3598 """The usage names. 3599 3600 :param value: A string describing the resource name. 3601 :type value: str 3602 :param localized_value: A localized string describing the resource name. 3603 :type localized_value: str 3604 """ 3605 3606 _attribute_map = { 3607 'value': {'key': 'value', 'type': 'str'}, 3608 'localized_value': {'key': 'localizedValue', 'type': 'str'}, 3609 } 3610 3611 def __init__( 3612 self, 3613 *, 3614 value: Optional[str] = None, 3615 localized_value: Optional[str] = None, 3616 **kwargs 3617 ): 3618 super(UsageName, self).__init__(**kwargs) 3619 self.value = value 3620 self.localized_value = localized_value 3621 3622 3623class UsagesListResult(msrest.serialization.Model): 3624 """The list usages operation response. 3625 3626 :param value: The list network resource usages. 3627 :type value: list[~azure.mgmt.network.v2015_06_15.models.Usage] 3628 :param next_link: URL to get the next set of results. 3629 :type next_link: str 3630 """ 3631 3632 _attribute_map = { 3633 'value': {'key': 'value', 'type': '[Usage]'}, 3634 'next_link': {'key': 'nextLink', 'type': 'str'}, 3635 } 3636 3637 def __init__( 3638 self, 3639 *, 3640 value: Optional[List["Usage"]] = None, 3641 next_link: Optional[str] = None, 3642 **kwargs 3643 ): 3644 super(UsagesListResult, self).__init__(**kwargs) 3645 self.value = value 3646 self.next_link = next_link 3647 3648 3649class VirtualNetwork(Resource): 3650 """Virtual Network resource. 3651 3652 Variables are only populated by the server, and will be ignored when sending a request. 3653 3654 :param id: Resource Identifier. 3655 :type id: str 3656 :ivar name: Resource name. 3657 :vartype name: str 3658 :ivar type: Resource type. 3659 :vartype type: str 3660 :param location: Resource location. 3661 :type location: str 3662 :param tags: A set of tags. Resource tags. 3663 :type tags: dict[str, str] 3664 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 3665 :type etag: str 3666 :param address_space: The AddressSpace that contains an array of IP address ranges that can be 3667 used by subnets. 3668 :type address_space: ~azure.mgmt.network.v2015_06_15.models.AddressSpace 3669 :param dhcp_options: The dhcpOptions that contains an array of DNS servers available to VMs 3670 deployed in the virtual network. 3671 :type dhcp_options: ~azure.mgmt.network.v2015_06_15.models.DhcpOptions 3672 :param subnets: A list of subnets in a Virtual Network. 3673 :type subnets: list[~azure.mgmt.network.v2015_06_15.models.Subnet] 3674 :param resource_guid: The resourceGuid property of the Virtual Network resource. 3675 :type resource_guid: str 3676 :param provisioning_state: The provisioning state of the PublicIP resource. Possible values 3677 are: 'Updating', 'Deleting', and 'Failed'. 3678 :type provisioning_state: str 3679 """ 3680 3681 _validation = { 3682 'name': {'readonly': True}, 3683 'type': {'readonly': True}, 3684 } 3685 3686 _attribute_map = { 3687 'id': {'key': 'id', 'type': 'str'}, 3688 'name': {'key': 'name', 'type': 'str'}, 3689 'type': {'key': 'type', 'type': 'str'}, 3690 'location': {'key': 'location', 'type': 'str'}, 3691 'tags': {'key': 'tags', 'type': '{str}'}, 3692 'etag': {'key': 'etag', 'type': 'str'}, 3693 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, 3694 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, 3695 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 3696 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 3697 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3698 } 3699 3700 def __init__( 3701 self, 3702 *, 3703 id: Optional[str] = None, 3704 location: Optional[str] = None, 3705 tags: Optional[Dict[str, str]] = None, 3706 etag: Optional[str] = None, 3707 address_space: Optional["AddressSpace"] = None, 3708 dhcp_options: Optional["DhcpOptions"] = None, 3709 subnets: Optional[List["Subnet"]] = None, 3710 resource_guid: Optional[str] = None, 3711 provisioning_state: Optional[str] = None, 3712 **kwargs 3713 ): 3714 super(VirtualNetwork, self).__init__(id=id, location=location, tags=tags, **kwargs) 3715 self.etag = etag 3716 self.address_space = address_space 3717 self.dhcp_options = dhcp_options 3718 self.subnets = subnets 3719 self.resource_guid = resource_guid 3720 self.provisioning_state = provisioning_state 3721 3722 3723class VirtualNetworkGateway(Resource): 3724 """A common class for general resource information. 3725 3726 Variables are only populated by the server, and will be ignored when sending a request. 3727 3728 :param id: Resource Identifier. 3729 :type id: str 3730 :ivar name: Resource name. 3731 :vartype name: str 3732 :ivar type: Resource type. 3733 :vartype type: str 3734 :param location: Resource location. 3735 :type location: str 3736 :param tags: A set of tags. Resource tags. 3737 :type tags: dict[str, str] 3738 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 3739 :type etag: str 3740 :param ip_configurations: IP configurations for virtual network gateway. 3741 :type ip_configurations: 3742 list[~azure.mgmt.network.v2015_06_15.models.VirtualNetworkGatewayIPConfiguration] 3743 :param gateway_type: The type of this virtual network gateway. Possible values are: 'Vpn' and 3744 'ExpressRoute'. Possible values include: "Vpn", "ExpressRoute". 3745 :type gateway_type: str or ~azure.mgmt.network.v2015_06_15.models.VirtualNetworkGatewayType 3746 :param vpn_type: The type of this virtual network gateway. Possible values are: 'PolicyBased' 3747 and 'RouteBased'. Possible values include: "PolicyBased", "RouteBased". 3748 :type vpn_type: str or ~azure.mgmt.network.v2015_06_15.models.VpnType 3749 :param enable_bgp: Whether BGP is enabled for this virtual network gateway or not. 3750 :type enable_bgp: bool 3751 :param gateway_default_site: The reference of the LocalNetworkGateway resource which represents 3752 local network site having default routes. Assign Null value in case of removing existing 3753 default site setting. 3754 :type gateway_default_site: ~azure.mgmt.network.v2015_06_15.models.SubResource 3755 :param sku: The reference of the VirtualNetworkGatewaySku resource which represents the SKU 3756 selected for Virtual network gateway. 3757 :type sku: ~azure.mgmt.network.v2015_06_15.models.VirtualNetworkGatewaySku 3758 :param vpn_client_configuration: The reference of the VpnClientConfiguration resource which 3759 represents the P2S VpnClient configurations. 3760 :type vpn_client_configuration: ~azure.mgmt.network.v2015_06_15.models.VpnClientConfiguration 3761 :param bgp_settings: Virtual network gateway's BGP speaker settings. 3762 :type bgp_settings: ~azure.mgmt.network.v2015_06_15.models.BgpSettings 3763 :param resource_guid: The resource GUID property of the VirtualNetworkGateway resource. 3764 :type resource_guid: str 3765 :param provisioning_state: The provisioning state of the VirtualNetworkGateway resource. 3766 Possible values are: 'Updating', 'Deleting', and 'Failed'. 3767 :type provisioning_state: str 3768 """ 3769 3770 _validation = { 3771 'name': {'readonly': True}, 3772 'type': {'readonly': True}, 3773 } 3774 3775 _attribute_map = { 3776 'id': {'key': 'id', 'type': 'str'}, 3777 'name': {'key': 'name', 'type': 'str'}, 3778 'type': {'key': 'type', 'type': 'str'}, 3779 'location': {'key': 'location', 'type': 'str'}, 3780 'tags': {'key': 'tags', 'type': '{str}'}, 3781 'etag': {'key': 'etag', 'type': 'str'}, 3782 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, 3783 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, 3784 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, 3785 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 3786 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, 3787 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, 3788 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, 3789 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, 3790 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 3791 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3792 } 3793 3794 def __init__( 3795 self, 3796 *, 3797 id: Optional[str] = None, 3798 location: Optional[str] = None, 3799 tags: Optional[Dict[str, str]] = None, 3800 etag: Optional[str] = None, 3801 ip_configurations: Optional[List["VirtualNetworkGatewayIPConfiguration"]] = None, 3802 gateway_type: Optional[Union[str, "VirtualNetworkGatewayType"]] = None, 3803 vpn_type: Optional[Union[str, "VpnType"]] = None, 3804 enable_bgp: Optional[bool] = None, 3805 gateway_default_site: Optional["SubResource"] = None, 3806 sku: Optional["VirtualNetworkGatewaySku"] = None, 3807 vpn_client_configuration: Optional["VpnClientConfiguration"] = None, 3808 bgp_settings: Optional["BgpSettings"] = None, 3809 resource_guid: Optional[str] = None, 3810 provisioning_state: Optional[str] = None, 3811 **kwargs 3812 ): 3813 super(VirtualNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 3814 self.etag = etag 3815 self.ip_configurations = ip_configurations 3816 self.gateway_type = gateway_type 3817 self.vpn_type = vpn_type 3818 self.enable_bgp = enable_bgp 3819 self.gateway_default_site = gateway_default_site 3820 self.sku = sku 3821 self.vpn_client_configuration = vpn_client_configuration 3822 self.bgp_settings = bgp_settings 3823 self.resource_guid = resource_guid 3824 self.provisioning_state = provisioning_state 3825 3826 3827class VirtualNetworkGatewayConnection(Resource): 3828 """A common class for general resource information. 3829 3830 Variables are only populated by the server, and will be ignored when sending a request. 3831 3832 :param id: Resource Identifier. 3833 :type id: str 3834 :ivar name: Resource name. 3835 :vartype name: str 3836 :ivar type: Resource type. 3837 :vartype type: str 3838 :param location: Resource location. 3839 :type location: str 3840 :param tags: A set of tags. Resource tags. 3841 :type tags: dict[str, str] 3842 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 3843 :type etag: str 3844 :param authorization_key: The authorizationKey. 3845 :type authorization_key: str 3846 :param virtual_network_gateway1: A common class for general resource information. 3847 :type virtual_network_gateway1: ~azure.mgmt.network.v2015_06_15.models.VirtualNetworkGateway 3848 :param virtual_network_gateway2: A common class for general resource information. 3849 :type virtual_network_gateway2: ~azure.mgmt.network.v2015_06_15.models.VirtualNetworkGateway 3850 :param local_network_gateway2: A common class for general resource information. 3851 :type local_network_gateway2: ~azure.mgmt.network.v2015_06_15.models.LocalNetworkGateway 3852 :param connection_type: Gateway connection type. Possible values are: 3853 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values include: "IPsec", 3854 "Vnet2Vnet", "ExpressRoute", "VPNClient". 3855 :type connection_type: str or 3856 ~azure.mgmt.network.v2015_06_15.models.VirtualNetworkGatewayConnectionType 3857 :param routing_weight: The routing weight. 3858 :type routing_weight: int 3859 :param shared_key: The IPSec shared key. 3860 :type shared_key: str 3861 :param connection_status: Virtual network Gateway connection status. Possible values are 3862 'Unknown', 'Connecting', 'Connected' and 'NotConnected'. Possible values include: "Unknown", 3863 "Connecting", "Connected", "NotConnected". 3864 :type connection_status: str or 3865 ~azure.mgmt.network.v2015_06_15.models.VirtualNetworkGatewayConnectionStatus 3866 :param egress_bytes_transferred: The egress bytes transferred in this connection. 3867 :type egress_bytes_transferred: long 3868 :param ingress_bytes_transferred: The ingress bytes transferred in this connection. 3869 :type ingress_bytes_transferred: long 3870 :param peer: The reference to peerings resource. 3871 :type peer: ~azure.mgmt.network.v2015_06_15.models.SubResource 3872 :param enable_bgp: EnableBgp flag. 3873 :type enable_bgp: bool 3874 :param resource_guid: The resource GUID property of the VirtualNetworkGatewayConnection 3875 resource. 3876 :type resource_guid: str 3877 :param provisioning_state: The provisioning state of the VirtualNetworkGatewayConnection 3878 resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. 3879 :type provisioning_state: str 3880 """ 3881 3882 _validation = { 3883 'name': {'readonly': True}, 3884 'type': {'readonly': True}, 3885 } 3886 3887 _attribute_map = { 3888 'id': {'key': 'id', 'type': 'str'}, 3889 'name': {'key': 'name', 'type': 'str'}, 3890 'type': {'key': 'type', 'type': 'str'}, 3891 'location': {'key': 'location', 'type': 'str'}, 3892 'tags': {'key': 'tags', 'type': '{str}'}, 3893 'etag': {'key': 'etag', 'type': 'str'}, 3894 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 3895 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, 3896 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, 3897 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, 3898 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, 3899 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, 3900 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 3901 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, 3902 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, 3903 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, 3904 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, 3905 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 3906 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 3907 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3908 } 3909 3910 def __init__( 3911 self, 3912 *, 3913 id: Optional[str] = None, 3914 location: Optional[str] = None, 3915 tags: Optional[Dict[str, str]] = None, 3916 etag: Optional[str] = None, 3917 authorization_key: Optional[str] = None, 3918 virtual_network_gateway1: Optional["VirtualNetworkGateway"] = None, 3919 virtual_network_gateway2: Optional["VirtualNetworkGateway"] = None, 3920 local_network_gateway2: Optional["LocalNetworkGateway"] = None, 3921 connection_type: Optional[Union[str, "VirtualNetworkGatewayConnectionType"]] = None, 3922 routing_weight: Optional[int] = None, 3923 shared_key: Optional[str] = None, 3924 connection_status: Optional[Union[str, "VirtualNetworkGatewayConnectionStatus"]] = None, 3925 egress_bytes_transferred: Optional[int] = None, 3926 ingress_bytes_transferred: Optional[int] = None, 3927 peer: Optional["SubResource"] = None, 3928 enable_bgp: Optional[bool] = None, 3929 resource_guid: Optional[str] = None, 3930 provisioning_state: Optional[str] = None, 3931 **kwargs 3932 ): 3933 super(VirtualNetworkGatewayConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) 3934 self.etag = etag 3935 self.authorization_key = authorization_key 3936 self.virtual_network_gateway1 = virtual_network_gateway1 3937 self.virtual_network_gateway2 = virtual_network_gateway2 3938 self.local_network_gateway2 = local_network_gateway2 3939 self.connection_type = connection_type 3940 self.routing_weight = routing_weight 3941 self.shared_key = shared_key 3942 self.connection_status = connection_status 3943 self.egress_bytes_transferred = egress_bytes_transferred 3944 self.ingress_bytes_transferred = ingress_bytes_transferred 3945 self.peer = peer 3946 self.enable_bgp = enable_bgp 3947 self.resource_guid = resource_guid 3948 self.provisioning_state = provisioning_state 3949 3950 3951class VirtualNetworkGatewayConnectionListResult(msrest.serialization.Model): 3952 """Response for the ListVirtualNetworkGatewayConnections API service call. 3953 3954 :param value: Gets a list of VirtualNetworkGatewayConnection resources that exists in a 3955 resource group. 3956 :type value: list[~azure.mgmt.network.v2015_06_15.models.VirtualNetworkGatewayConnection] 3957 :param next_link: The URL to get the next set of results. 3958 :type next_link: str 3959 """ 3960 3961 _attribute_map = { 3962 'value': {'key': 'value', 'type': '[VirtualNetworkGatewayConnection]'}, 3963 'next_link': {'key': 'nextLink', 'type': 'str'}, 3964 } 3965 3966 def __init__( 3967 self, 3968 *, 3969 value: Optional[List["VirtualNetworkGatewayConnection"]] = None, 3970 next_link: Optional[str] = None, 3971 **kwargs 3972 ): 3973 super(VirtualNetworkGatewayConnectionListResult, self).__init__(**kwargs) 3974 self.value = value 3975 self.next_link = next_link 3976 3977 3978class VirtualNetworkGatewayIPConfiguration(SubResource): 3979 """IP configuration for virtual network gateway. 3980 3981 :param id: Resource Identifier. 3982 :type id: str 3983 :param name: The name of the resource that is unique within a resource group. This name can be 3984 used to access the resource. 3985 :type name: str 3986 :param etag: A unique read-only string that changes whenever the resource is updated. 3987 :type etag: str 3988 :param private_ip_address: Gets or sets the privateIPAddress of the IP Configuration. 3989 :type private_ip_address: str 3990 :param private_ip_allocation_method: The private IP allocation method. Possible values are: 3991 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 3992 :type private_ip_allocation_method: str or 3993 ~azure.mgmt.network.v2015_06_15.models.IPAllocationMethod 3994 :param subnet: The reference of the subnet resource. 3995 :type subnet: ~azure.mgmt.network.v2015_06_15.models.SubResource 3996 :param public_ip_address: The reference of the public IP resource. 3997 :type public_ip_address: ~azure.mgmt.network.v2015_06_15.models.SubResource 3998 :param provisioning_state: The provisioning state of the public IP resource. Possible values 3999 are: 'Updating', 'Deleting', and 'Failed'. 4000 :type provisioning_state: str 4001 """ 4002 4003 _attribute_map = { 4004 'id': {'key': 'id', 'type': 'str'}, 4005 'name': {'key': 'name', 'type': 'str'}, 4006 'etag': {'key': 'etag', 'type': 'str'}, 4007 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 4008 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 4009 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 4010 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, 4011 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4012 } 4013 4014 def __init__( 4015 self, 4016 *, 4017 id: Optional[str] = None, 4018 name: Optional[str] = None, 4019 etag: Optional[str] = None, 4020 private_ip_address: Optional[str] = None, 4021 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 4022 subnet: Optional["SubResource"] = None, 4023 public_ip_address: Optional["SubResource"] = None, 4024 provisioning_state: Optional[str] = None, 4025 **kwargs 4026 ): 4027 super(VirtualNetworkGatewayIPConfiguration, self).__init__(id=id, **kwargs) 4028 self.name = name 4029 self.etag = etag 4030 self.private_ip_address = private_ip_address 4031 self.private_ip_allocation_method = private_ip_allocation_method 4032 self.subnet = subnet 4033 self.public_ip_address = public_ip_address 4034 self.provisioning_state = provisioning_state 4035 4036 4037class VirtualNetworkGatewayListResult(msrest.serialization.Model): 4038 """Response for the ListVirtualNetworkGateways API service call. 4039 4040 :param value: Gets a list of VirtualNetworkGateway resources that exists in a resource group. 4041 :type value: list[~azure.mgmt.network.v2015_06_15.models.VirtualNetworkGateway] 4042 :param next_link: The URL to get the next set of results. 4043 :type next_link: str 4044 """ 4045 4046 _attribute_map = { 4047 'value': {'key': 'value', 'type': '[VirtualNetworkGateway]'}, 4048 'next_link': {'key': 'nextLink', 'type': 'str'}, 4049 } 4050 4051 def __init__( 4052 self, 4053 *, 4054 value: Optional[List["VirtualNetworkGateway"]] = None, 4055 next_link: Optional[str] = None, 4056 **kwargs 4057 ): 4058 super(VirtualNetworkGatewayListResult, self).__init__(**kwargs) 4059 self.value = value 4060 self.next_link = next_link 4061 4062 4063class VirtualNetworkGatewaySku(msrest.serialization.Model): 4064 """VirtualNetworkGatewaySku details. 4065 4066 :param name: Gateway sku name -Basic/HighPerformance/Standard. Possible values include: 4067 "Basic", "HighPerformance", "Standard". 4068 :type name: str or ~azure.mgmt.network.v2015_06_15.models.VirtualNetworkGatewaySkuName 4069 :param tier: Gateway sku tier -Basic/HighPerformance/Standard. Possible values include: 4070 "Basic", "HighPerformance", "Standard". 4071 :type tier: str or ~azure.mgmt.network.v2015_06_15.models.VirtualNetworkGatewaySkuTier 4072 :param capacity: The capacity. 4073 :type capacity: int 4074 """ 4075 4076 _attribute_map = { 4077 'name': {'key': 'name', 'type': 'str'}, 4078 'tier': {'key': 'tier', 'type': 'str'}, 4079 'capacity': {'key': 'capacity', 'type': 'int'}, 4080 } 4081 4082 def __init__( 4083 self, 4084 *, 4085 name: Optional[Union[str, "VirtualNetworkGatewaySkuName"]] = None, 4086 tier: Optional[Union[str, "VirtualNetworkGatewaySkuTier"]] = None, 4087 capacity: Optional[int] = None, 4088 **kwargs 4089 ): 4090 super(VirtualNetworkGatewaySku, self).__init__(**kwargs) 4091 self.name = name 4092 self.tier = tier 4093 self.capacity = capacity 4094 4095 4096class VirtualNetworkListResult(msrest.serialization.Model): 4097 """Response for the ListVirtualNetworks API service call. 4098 4099 :param value: Gets a list of VirtualNetwork resources in a resource group. 4100 :type value: list[~azure.mgmt.network.v2015_06_15.models.VirtualNetwork] 4101 :param next_link: The URL to get the next set of results. 4102 :type next_link: str 4103 """ 4104 4105 _attribute_map = { 4106 'value': {'key': 'value', 'type': '[VirtualNetwork]'}, 4107 'next_link': {'key': 'nextLink', 'type': 'str'}, 4108 } 4109 4110 def __init__( 4111 self, 4112 *, 4113 value: Optional[List["VirtualNetwork"]] = None, 4114 next_link: Optional[str] = None, 4115 **kwargs 4116 ): 4117 super(VirtualNetworkListResult, self).__init__(**kwargs) 4118 self.value = value 4119 self.next_link = next_link 4120 4121 4122class VpnClientConfiguration(msrest.serialization.Model): 4123 """VpnClientConfiguration for P2S client. 4124 4125 :param vpn_client_address_pool: Gets or sets the reference of the Address space resource which 4126 represents Address space for P2S VpnClient. 4127 :type vpn_client_address_pool: ~azure.mgmt.network.v2015_06_15.models.AddressSpace 4128 :param vpn_client_root_certificates: VpnClientRootCertificate for Virtual network gateway. 4129 :type vpn_client_root_certificates: 4130 list[~azure.mgmt.network.v2015_06_15.models.VpnClientRootCertificate] 4131 :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for Virtual network 4132 gateway. 4133 :type vpn_client_revoked_certificates: 4134 list[~azure.mgmt.network.v2015_06_15.models.VpnClientRevokedCertificate] 4135 """ 4136 4137 _attribute_map = { 4138 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, 4139 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, 4140 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, 4141 } 4142 4143 def __init__( 4144 self, 4145 *, 4146 vpn_client_address_pool: Optional["AddressSpace"] = None, 4147 vpn_client_root_certificates: Optional[List["VpnClientRootCertificate"]] = None, 4148 vpn_client_revoked_certificates: Optional[List["VpnClientRevokedCertificate"]] = None, 4149 **kwargs 4150 ): 4151 super(VpnClientConfiguration, self).__init__(**kwargs) 4152 self.vpn_client_address_pool = vpn_client_address_pool 4153 self.vpn_client_root_certificates = vpn_client_root_certificates 4154 self.vpn_client_revoked_certificates = vpn_client_revoked_certificates 4155 4156 4157class VpnClientParameters(msrest.serialization.Model): 4158 """VpnClientParameters. 4159 4160 :param processor_architecture: VPN client Processor Architecture. Possible values are: 'AMD64' 4161 and 'X86'. Possible values include: "Amd64", "X86". 4162 :type processor_architecture: str or 4163 ~azure.mgmt.network.v2015_06_15.models.ProcessorArchitecture 4164 """ 4165 4166 _attribute_map = { 4167 'processor_architecture': {'key': 'ProcessorArchitecture', 'type': 'str'}, 4168 } 4169 4170 def __init__( 4171 self, 4172 *, 4173 processor_architecture: Optional[Union[str, "ProcessorArchitecture"]] = None, 4174 **kwargs 4175 ): 4176 super(VpnClientParameters, self).__init__(**kwargs) 4177 self.processor_architecture = processor_architecture 4178 4179 4180class VpnClientRevokedCertificate(SubResource): 4181 """VPN client revoked certificate of virtual network gateway. 4182 4183 :param id: Resource Identifier. 4184 :type id: str 4185 :param name: The name of the resource that is unique within a resource group. This name can be 4186 used to access the resource. 4187 :type name: str 4188 :param etag: A unique read-only string that changes whenever the resource is updated. 4189 :type etag: str 4190 :param thumbprint: The revoked VPN client certificate thumbprint. 4191 :type thumbprint: str 4192 :param provisioning_state: The provisioning state of the VPN client revoked certificate 4193 resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. 4194 :type provisioning_state: str 4195 """ 4196 4197 _attribute_map = { 4198 'id': {'key': 'id', 'type': 'str'}, 4199 'name': {'key': 'name', 'type': 'str'}, 4200 'etag': {'key': 'etag', 'type': 'str'}, 4201 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, 4202 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4203 } 4204 4205 def __init__( 4206 self, 4207 *, 4208 id: Optional[str] = None, 4209 name: Optional[str] = None, 4210 etag: Optional[str] = None, 4211 thumbprint: Optional[str] = None, 4212 provisioning_state: Optional[str] = None, 4213 **kwargs 4214 ): 4215 super(VpnClientRevokedCertificate, self).__init__(id=id, **kwargs) 4216 self.name = name 4217 self.etag = etag 4218 self.thumbprint = thumbprint 4219 self.provisioning_state = provisioning_state 4220 4221 4222class VpnClientRootCertificate(SubResource): 4223 """VPN client root certificate of virtual network gateway. 4224 4225 :param id: Resource Identifier. 4226 :type id: str 4227 :param name: The name of the resource that is unique within a resource group. This name can be 4228 used to access the resource. 4229 :type name: str 4230 :param etag: A unique read-only string that changes whenever the resource is updated. 4231 :type etag: str 4232 :param public_cert_data: Gets or sets the certificate public data. 4233 :type public_cert_data: str 4234 :param provisioning_state: The provisioning state of the VPN client root certificate resource. 4235 Possible values are: 'Updating', 'Deleting', and 'Failed'. 4236 :type provisioning_state: str 4237 """ 4238 4239 _attribute_map = { 4240 'id': {'key': 'id', 'type': 'str'}, 4241 'name': {'key': 'name', 'type': 'str'}, 4242 'etag': {'key': 'etag', 'type': 'str'}, 4243 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, 4244 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4245 } 4246 4247 def __init__( 4248 self, 4249 *, 4250 id: Optional[str] = None, 4251 name: Optional[str] = None, 4252 etag: Optional[str] = None, 4253 public_cert_data: Optional[str] = None, 4254 provisioning_state: Optional[str] = None, 4255 **kwargs 4256 ): 4257 super(VpnClientRootCertificate, self).__init__(id=id, **kwargs) 4258 self.name = name 4259 self.etag = etag 4260 self.public_cert_data = public_cert_data 4261 self.provisioning_state = provisioning_state 4262