1# coding=utf-8 2# -------------------------------------------------------------------------- 3# Copyright (c) Microsoft Corporation. All rights reserved. 4# Licensed under the MIT License. See License.txt in the project root for license information. 5# Code generated by Microsoft (R) AutoRest Code Generator. 6# Changes may cause incorrect behavior and will be lost if the code is regenerated. 7# -------------------------------------------------------------------------- 8 9import datetime 10from typing import Dict, List, Optional, Union 11 12import msrest.serialization 13 14from ._network_management_client_enums import * 15 16 17class AddressSpace(msrest.serialization.Model): 18 """AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. 19 20 :param address_prefixes: A list of address blocks reserved for this virtual network in CIDR 21 notation. 22 :type address_prefixes: list[str] 23 """ 24 25 _attribute_map = { 26 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, 27 } 28 29 def __init__( 30 self, 31 *, 32 address_prefixes: Optional[List[str]] = None, 33 **kwargs 34 ): 35 super(AddressSpace, self).__init__(**kwargs) 36 self.address_prefixes = address_prefixes 37 38 39class Resource(msrest.serialization.Model): 40 """Common resource representation. 41 42 Variables are only populated by the server, and will be ignored when sending a request. 43 44 :param id: Resource ID. 45 :type id: str 46 :ivar name: Resource name. 47 :vartype name: str 48 :ivar type: Resource type. 49 :vartype type: str 50 :param location: Resource location. 51 :type location: str 52 :param tags: A set of tags. Resource tags. 53 :type tags: dict[str, str] 54 """ 55 56 _validation = { 57 'name': {'readonly': True}, 58 'type': {'readonly': True}, 59 } 60 61 _attribute_map = { 62 'id': {'key': 'id', 'type': 'str'}, 63 'name': {'key': 'name', 'type': 'str'}, 64 'type': {'key': 'type', 'type': 'str'}, 65 'location': {'key': 'location', 'type': 'str'}, 66 'tags': {'key': 'tags', 'type': '{str}'}, 67 } 68 69 def __init__( 70 self, 71 *, 72 id: Optional[str] = None, 73 location: Optional[str] = None, 74 tags: Optional[Dict[str, str]] = None, 75 **kwargs 76 ): 77 super(Resource, self).__init__(**kwargs) 78 self.id = id 79 self.name = None 80 self.type = None 81 self.location = location 82 self.tags = tags 83 84 85class ApplicationGateway(Resource): 86 """Application gateway resource. 87 88 Variables are only populated by the server, and will be ignored when sending a request. 89 90 :param id: Resource ID. 91 :type id: str 92 :ivar name: Resource name. 93 :vartype name: str 94 :ivar type: Resource type. 95 :vartype type: str 96 :param location: Resource location. 97 :type location: str 98 :param tags: A set of tags. Resource tags. 99 :type tags: dict[str, str] 100 :param etag: A unique read-only string that changes whenever the resource is updated. 101 :type etag: str 102 :param sku: SKU of the application gateway resource. 103 :type sku: ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewaySku 104 :param ssl_policy: SSL policy of the application gateway resource. 105 :type ssl_policy: ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewaySslPolicy 106 :ivar operational_state: Operational state of the application gateway resource. Possible values 107 include: "Stopped", "Starting", "Running", "Stopping". 108 :vartype operational_state: str or 109 ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayOperationalState 110 :param gateway_ip_configurations: Subnets of application the gateway resource. 111 :type gateway_ip_configurations: 112 list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayIPConfiguration] 113 :param authentication_certificates: Authentication certificates of the application gateway 114 resource. 115 :type authentication_certificates: 116 list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayAuthenticationCertificate] 117 :param ssl_certificates: SSL certificates of the application gateway resource. 118 :type ssl_certificates: 119 list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewaySslCertificate] 120 :param frontend_ip_configurations: Frontend IP addresses of the application gateway resource. 121 :type frontend_ip_configurations: 122 list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayFrontendIPConfiguration] 123 :param frontend_ports: Frontend ports of the application gateway resource. 124 :type frontend_ports: 125 list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayFrontendPort] 126 :param probes: Probes of the application gateway resource. 127 :type probes: list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayProbe] 128 :param backend_address_pools: Backend address pool of the application gateway resource. 129 :type backend_address_pools: 130 list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayBackendAddressPool] 131 :param backend_http_settings_collection: Backend http settings of the application gateway 132 resource. 133 :type backend_http_settings_collection: 134 list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayBackendHttpSettings] 135 :param http_listeners: Http listeners of the application gateway resource. 136 :type http_listeners: 137 list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayHttpListener] 138 :param url_path_maps: URL path map of the application gateway resource. 139 :type url_path_maps: list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayUrlPathMap] 140 :param request_routing_rules: Request routing rules of the application gateway resource. 141 :type request_routing_rules: 142 list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayRequestRoutingRule] 143 :param redirect_configurations: Redirect configurations of the application gateway resource. 144 :type redirect_configurations: 145 list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayRedirectConfiguration] 146 :param web_application_firewall_configuration: Web application firewall configuration. 147 :type web_application_firewall_configuration: 148 ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayWebApplicationFirewallConfiguration 149 :param enable_http2: Whether HTTP2 is enabled on the application gateway resource. 150 :type enable_http2: bool 151 :param resource_guid: Resource GUID property of the application gateway resource. 152 :type resource_guid: str 153 :param provisioning_state: Provisioning state of the application gateway resource. Possible 154 values are: 'Updating', 'Deleting', and 'Failed'. 155 :type provisioning_state: str 156 """ 157 158 _validation = { 159 'name': {'readonly': True}, 160 'type': {'readonly': True}, 161 'operational_state': {'readonly': True}, 162 } 163 164 _attribute_map = { 165 'id': {'key': 'id', 'type': 'str'}, 166 'name': {'key': 'name', 'type': 'str'}, 167 'type': {'key': 'type', 'type': 'str'}, 168 'location': {'key': 'location', 'type': 'str'}, 169 'tags': {'key': 'tags', 'type': '{str}'}, 170 'etag': {'key': 'etag', 'type': 'str'}, 171 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, 172 'ssl_policy': {'key': 'properties.sslPolicy', 'type': 'ApplicationGatewaySslPolicy'}, 173 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, 174 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, 175 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[ApplicationGatewayAuthenticationCertificate]'}, 176 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, 177 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, 178 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, 179 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, 180 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, 181 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, 182 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, 183 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, 184 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, 185 'redirect_configurations': {'key': 'properties.redirectConfigurations', 'type': '[ApplicationGatewayRedirectConfiguration]'}, 186 'web_application_firewall_configuration': {'key': 'properties.webApplicationFirewallConfiguration', 'type': 'ApplicationGatewayWebApplicationFirewallConfiguration'}, 187 'enable_http2': {'key': 'properties.enableHttp2', 'type': 'bool'}, 188 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 189 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 190 } 191 192 def __init__( 193 self, 194 *, 195 id: Optional[str] = None, 196 location: Optional[str] = None, 197 tags: Optional[Dict[str, str]] = None, 198 etag: Optional[str] = None, 199 sku: Optional["ApplicationGatewaySku"] = None, 200 ssl_policy: Optional["ApplicationGatewaySslPolicy"] = None, 201 gateway_ip_configurations: Optional[List["ApplicationGatewayIPConfiguration"]] = None, 202 authentication_certificates: Optional[List["ApplicationGatewayAuthenticationCertificate"]] = None, 203 ssl_certificates: Optional[List["ApplicationGatewaySslCertificate"]] = None, 204 frontend_ip_configurations: Optional[List["ApplicationGatewayFrontendIPConfiguration"]] = None, 205 frontend_ports: Optional[List["ApplicationGatewayFrontendPort"]] = None, 206 probes: Optional[List["ApplicationGatewayProbe"]] = None, 207 backend_address_pools: Optional[List["ApplicationGatewayBackendAddressPool"]] = None, 208 backend_http_settings_collection: Optional[List["ApplicationGatewayBackendHttpSettings"]] = None, 209 http_listeners: Optional[List["ApplicationGatewayHttpListener"]] = None, 210 url_path_maps: Optional[List["ApplicationGatewayUrlPathMap"]] = None, 211 request_routing_rules: Optional[List["ApplicationGatewayRequestRoutingRule"]] = None, 212 redirect_configurations: Optional[List["ApplicationGatewayRedirectConfiguration"]] = None, 213 web_application_firewall_configuration: Optional["ApplicationGatewayWebApplicationFirewallConfiguration"] = None, 214 enable_http2: Optional[bool] = None, 215 resource_guid: Optional[str] = None, 216 provisioning_state: Optional[str] = None, 217 **kwargs 218 ): 219 super(ApplicationGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 220 self.etag = etag 221 self.sku = sku 222 self.ssl_policy = ssl_policy 223 self.operational_state = None 224 self.gateway_ip_configurations = gateway_ip_configurations 225 self.authentication_certificates = authentication_certificates 226 self.ssl_certificates = ssl_certificates 227 self.frontend_ip_configurations = frontend_ip_configurations 228 self.frontend_ports = frontend_ports 229 self.probes = probes 230 self.backend_address_pools = backend_address_pools 231 self.backend_http_settings_collection = backend_http_settings_collection 232 self.http_listeners = http_listeners 233 self.url_path_maps = url_path_maps 234 self.request_routing_rules = request_routing_rules 235 self.redirect_configurations = redirect_configurations 236 self.web_application_firewall_configuration = web_application_firewall_configuration 237 self.enable_http2 = enable_http2 238 self.resource_guid = resource_guid 239 self.provisioning_state = provisioning_state 240 241 242class SubResource(msrest.serialization.Model): 243 """Reference to another subresource. 244 245 :param id: Resource ID. 246 :type id: str 247 """ 248 249 _attribute_map = { 250 'id': {'key': 'id', 'type': 'str'}, 251 } 252 253 def __init__( 254 self, 255 *, 256 id: Optional[str] = None, 257 **kwargs 258 ): 259 super(SubResource, self).__init__(**kwargs) 260 self.id = id 261 262 263class ApplicationGatewayAuthenticationCertificate(SubResource): 264 """Authentication certificates of an application gateway. 265 266 :param id: Resource ID. 267 :type id: str 268 :param name: Name of the resource that is unique within a resource group. This name can be used 269 to access the resource. 270 :type name: str 271 :param etag: A unique read-only string that changes whenever the resource is updated. 272 :type etag: str 273 :param type: Type of the resource. 274 :type type: str 275 :param data: Certificate public data. 276 :type data: str 277 :param provisioning_state: Provisioning state of the authentication certificate resource. 278 Possible 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 'type': {'key': 'type', 'type': 'str'}, 287 'data': {'key': 'properties.data', 'type': 'str'}, 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 type: Optional[str] = None, 298 data: Optional[str] = None, 299 provisioning_state: Optional[str] = None, 300 **kwargs 301 ): 302 super(ApplicationGatewayAuthenticationCertificate, self).__init__(id=id, **kwargs) 303 self.name = name 304 self.etag = etag 305 self.type = type 306 self.data = data 307 self.provisioning_state = provisioning_state 308 309 310class ApplicationGatewayAvailableSslOptions(Resource): 311 """Response for ApplicationGatewayAvailableSslOptions API service call. 312 313 Variables are only populated by the server, and will be ignored when sending a request. 314 315 :param id: Resource ID. 316 :type id: str 317 :ivar name: Resource name. 318 :vartype name: str 319 :ivar type: Resource type. 320 :vartype type: str 321 :param location: Resource location. 322 :type location: str 323 :param tags: A set of tags. Resource tags. 324 :type tags: dict[str, str] 325 :param predefined_policies: List of available Ssl predefined policy. 326 :type predefined_policies: list[~azure.mgmt.network.v2018_01_01.models.SubResource] 327 :param default_policy: Name of the Ssl predefined policy applied by default to application 328 gateway. Possible values include: "AppGwSslPolicy20150501", "AppGwSslPolicy20170401", 329 "AppGwSslPolicy20170401S". 330 :type default_policy: str or 331 ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewaySslPolicyName 332 :param available_cipher_suites: List of available Ssl cipher suites. 333 :type available_cipher_suites: list[str or 334 ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewaySslCipherSuite] 335 :param available_protocols: List of available Ssl protocols. 336 :type available_protocols: list[str or 337 ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewaySslProtocol] 338 """ 339 340 _validation = { 341 'name': {'readonly': True}, 342 'type': {'readonly': True}, 343 } 344 345 _attribute_map = { 346 'id': {'key': 'id', 'type': 'str'}, 347 'name': {'key': 'name', 'type': 'str'}, 348 'type': {'key': 'type', 'type': 'str'}, 349 'location': {'key': 'location', 'type': 'str'}, 350 'tags': {'key': 'tags', 'type': '{str}'}, 351 'predefined_policies': {'key': 'properties.predefinedPolicies', 'type': '[SubResource]'}, 352 'default_policy': {'key': 'properties.defaultPolicy', 'type': 'str'}, 353 'available_cipher_suites': {'key': 'properties.availableCipherSuites', 'type': '[str]'}, 354 'available_protocols': {'key': 'properties.availableProtocols', 'type': '[str]'}, 355 } 356 357 def __init__( 358 self, 359 *, 360 id: Optional[str] = None, 361 location: Optional[str] = None, 362 tags: Optional[Dict[str, str]] = None, 363 predefined_policies: Optional[List["SubResource"]] = None, 364 default_policy: Optional[Union[str, "ApplicationGatewaySslPolicyName"]] = None, 365 available_cipher_suites: Optional[List[Union[str, "ApplicationGatewaySslCipherSuite"]]] = None, 366 available_protocols: Optional[List[Union[str, "ApplicationGatewaySslProtocol"]]] = None, 367 **kwargs 368 ): 369 super(ApplicationGatewayAvailableSslOptions, self).__init__(id=id, location=location, tags=tags, **kwargs) 370 self.predefined_policies = predefined_policies 371 self.default_policy = default_policy 372 self.available_cipher_suites = available_cipher_suites 373 self.available_protocols = available_protocols 374 375 376class ApplicationGatewayAvailableSslPredefinedPolicies(msrest.serialization.Model): 377 """Response for ApplicationGatewayAvailableSslOptions API service call. 378 379 :param value: List of available Ssl predefined policy. 380 :type value: list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewaySslPredefinedPolicy] 381 :param next_link: URL to get the next set of results. 382 :type next_link: str 383 """ 384 385 _attribute_map = { 386 'value': {'key': 'value', 'type': '[ApplicationGatewaySslPredefinedPolicy]'}, 387 'next_link': {'key': 'nextLink', 'type': 'str'}, 388 } 389 390 def __init__( 391 self, 392 *, 393 value: Optional[List["ApplicationGatewaySslPredefinedPolicy"]] = None, 394 next_link: Optional[str] = None, 395 **kwargs 396 ): 397 super(ApplicationGatewayAvailableSslPredefinedPolicies, self).__init__(**kwargs) 398 self.value = value 399 self.next_link = next_link 400 401 402class ApplicationGatewayAvailableWafRuleSetsResult(msrest.serialization.Model): 403 """Response for ApplicationGatewayAvailableWafRuleSets API service call. 404 405 :param value: The list of application gateway rule sets. 406 :type value: list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayFirewallRuleSet] 407 """ 408 409 _attribute_map = { 410 'value': {'key': 'value', 'type': '[ApplicationGatewayFirewallRuleSet]'}, 411 } 412 413 def __init__( 414 self, 415 *, 416 value: Optional[List["ApplicationGatewayFirewallRuleSet"]] = None, 417 **kwargs 418 ): 419 super(ApplicationGatewayAvailableWafRuleSetsResult, self).__init__(**kwargs) 420 self.value = value 421 422 423class ApplicationGatewayBackendAddress(msrest.serialization.Model): 424 """Backend address of an application gateway. 425 426 :param fqdn: Fully qualified domain name (FQDN). 427 :type fqdn: str 428 :param ip_address: IP address. 429 :type ip_address: str 430 """ 431 432 _attribute_map = { 433 'fqdn': {'key': 'fqdn', 'type': 'str'}, 434 'ip_address': {'key': 'ipAddress', 'type': 'str'}, 435 } 436 437 def __init__( 438 self, 439 *, 440 fqdn: Optional[str] = None, 441 ip_address: Optional[str] = None, 442 **kwargs 443 ): 444 super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) 445 self.fqdn = fqdn 446 self.ip_address = ip_address 447 448 449class ApplicationGatewayBackendAddressPool(SubResource): 450 """Backend Address Pool of an application gateway. 451 452 :param id: Resource ID. 453 :type id: str 454 :param name: Resource that is unique within a resource group. This name can be used to access 455 the resource. 456 :type name: str 457 :param etag: A unique read-only string that changes whenever the resource is updated. 458 :type etag: str 459 :param type: Type of the resource. 460 :type type: str 461 :param backend_ip_configurations: Collection of references to IPs defined in network 462 interfaces. 463 :type backend_ip_configurations: 464 list[~azure.mgmt.network.v2018_01_01.models.NetworkInterfaceIPConfiguration] 465 :param backend_addresses: Backend addresses. 466 :type backend_addresses: 467 list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayBackendAddress] 468 :param provisioning_state: Provisioning state of the backend address pool resource. Possible 469 values are: 'Updating', 'Deleting', and 'Failed'. 470 :type provisioning_state: str 471 """ 472 473 _attribute_map = { 474 'id': {'key': 'id', 'type': 'str'}, 475 'name': {'key': 'name', 'type': 'str'}, 476 'etag': {'key': 'etag', 'type': 'str'}, 477 'type': {'key': 'type', 'type': 'str'}, 478 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 479 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, 480 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 481 } 482 483 def __init__( 484 self, 485 *, 486 id: Optional[str] = None, 487 name: Optional[str] = None, 488 etag: Optional[str] = None, 489 type: Optional[str] = None, 490 backend_ip_configurations: Optional[List["NetworkInterfaceIPConfiguration"]] = None, 491 backend_addresses: Optional[List["ApplicationGatewayBackendAddress"]] = None, 492 provisioning_state: Optional[str] = None, 493 **kwargs 494 ): 495 super(ApplicationGatewayBackendAddressPool, self).__init__(id=id, **kwargs) 496 self.name = name 497 self.etag = etag 498 self.type = type 499 self.backend_ip_configurations = backend_ip_configurations 500 self.backend_addresses = backend_addresses 501 self.provisioning_state = provisioning_state 502 503 504class ApplicationGatewayBackendHealth(msrest.serialization.Model): 505 """List of ApplicationGatewayBackendHealthPool resources. 506 507 :param backend_address_pools: 508 :type backend_address_pools: 509 list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayBackendHealthPool] 510 """ 511 512 _attribute_map = { 513 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[ApplicationGatewayBackendHealthPool]'}, 514 } 515 516 def __init__( 517 self, 518 *, 519 backend_address_pools: Optional[List["ApplicationGatewayBackendHealthPool"]] = None, 520 **kwargs 521 ): 522 super(ApplicationGatewayBackendHealth, self).__init__(**kwargs) 523 self.backend_address_pools = backend_address_pools 524 525 526class ApplicationGatewayBackendHealthHttpSettings(msrest.serialization.Model): 527 """Application gateway BackendHealthHttp settings. 528 529 :param backend_http_settings: Reference of an ApplicationGatewayBackendHttpSettings resource. 530 :type backend_http_settings: 531 ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayBackendHttpSettings 532 :param servers: List of ApplicationGatewayBackendHealthServer resources. 533 :type servers: 534 list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayBackendHealthServer] 535 """ 536 537 _attribute_map = { 538 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'ApplicationGatewayBackendHttpSettings'}, 539 'servers': {'key': 'servers', 'type': '[ApplicationGatewayBackendHealthServer]'}, 540 } 541 542 def __init__( 543 self, 544 *, 545 backend_http_settings: Optional["ApplicationGatewayBackendHttpSettings"] = None, 546 servers: Optional[List["ApplicationGatewayBackendHealthServer"]] = None, 547 **kwargs 548 ): 549 super(ApplicationGatewayBackendHealthHttpSettings, self).__init__(**kwargs) 550 self.backend_http_settings = backend_http_settings 551 self.servers = servers 552 553 554class ApplicationGatewayBackendHealthPool(msrest.serialization.Model): 555 """Application gateway BackendHealth pool. 556 557 :param backend_address_pool: Reference of an ApplicationGatewayBackendAddressPool resource. 558 :type backend_address_pool: 559 ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayBackendAddressPool 560 :param backend_http_settings_collection: List of ApplicationGatewayBackendHealthHttpSettings 561 resources. 562 :type backend_http_settings_collection: 563 list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayBackendHealthHttpSettings] 564 """ 565 566 _attribute_map = { 567 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, 568 'backend_http_settings_collection': {'key': 'backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHealthHttpSettings]'}, 569 } 570 571 def __init__( 572 self, 573 *, 574 backend_address_pool: Optional["ApplicationGatewayBackendAddressPool"] = None, 575 backend_http_settings_collection: Optional[List["ApplicationGatewayBackendHealthHttpSettings"]] = None, 576 **kwargs 577 ): 578 super(ApplicationGatewayBackendHealthPool, self).__init__(**kwargs) 579 self.backend_address_pool = backend_address_pool 580 self.backend_http_settings_collection = backend_http_settings_collection 581 582 583class ApplicationGatewayBackendHealthServer(msrest.serialization.Model): 584 """Application gateway backendhealth http settings. 585 586 :param address: IP address or FQDN of backend server. 587 :type address: str 588 :param ip_configuration: Reference of IP configuration of backend server. 589 :type ip_configuration: ~azure.mgmt.network.v2018_01_01.models.NetworkInterfaceIPConfiguration 590 :param health: Health of backend server. Possible values include: "Unknown", "Up", "Down", 591 "Partial", "Draining". 592 :type health: str or 593 ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayBackendHealthServerHealth 594 """ 595 596 _attribute_map = { 597 'address': {'key': 'address', 'type': 'str'}, 598 'ip_configuration': {'key': 'ipConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, 599 'health': {'key': 'health', 'type': 'str'}, 600 } 601 602 def __init__( 603 self, 604 *, 605 address: Optional[str] = None, 606 ip_configuration: Optional["NetworkInterfaceIPConfiguration"] = None, 607 health: Optional[Union[str, "ApplicationGatewayBackendHealthServerHealth"]] = None, 608 **kwargs 609 ): 610 super(ApplicationGatewayBackendHealthServer, self).__init__(**kwargs) 611 self.address = address 612 self.ip_configuration = ip_configuration 613 self.health = health 614 615 616class ApplicationGatewayBackendHttpSettings(SubResource): 617 """Backend address pool settings of an application gateway. 618 619 :param id: Resource ID. 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 type: Type of the resource. 627 :type type: str 628 :param port: Port. 629 :type port: int 630 :param protocol: Protocol. Possible values include: "Http", "Https". 631 :type protocol: str or ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayProtocol 632 :param cookie_based_affinity: Cookie based affinity. Possible values include: "Enabled", 633 "Disabled". 634 :type cookie_based_affinity: str or 635 ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayCookieBasedAffinity 636 :param request_timeout: Request timeout in seconds. Application Gateway will fail the request 637 if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 638 seconds. 639 :type request_timeout: int 640 :param probe: Probe resource of an application gateway. 641 :type probe: ~azure.mgmt.network.v2018_01_01.models.SubResource 642 :param authentication_certificates: Array of references to application gateway authentication 643 certificates. 644 :type authentication_certificates: list[~azure.mgmt.network.v2018_01_01.models.SubResource] 645 :param connection_draining: Connection draining of the backend http settings resource. 646 :type connection_draining: 647 ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayConnectionDraining 648 :param host_name: Host header to be sent to the backend servers. 649 :type host_name: str 650 :param pick_host_name_from_backend_address: Whether to pick host header should be picked from 651 the host name of the backend server. Default value is false. 652 :type pick_host_name_from_backend_address: bool 653 :param affinity_cookie_name: Cookie name to use for the affinity cookie. 654 :type affinity_cookie_name: str 655 :param probe_enabled: Whether the probe is enabled. Default value is false. 656 :type probe_enabled: bool 657 :param path: Path which should be used as a prefix for all HTTP requests. Null means no path 658 will be prefixed. Default value is null. 659 :type path: str 660 :param provisioning_state: Provisioning state of the backend http settings resource. Possible 661 values are: 'Updating', 'Deleting', and 'Failed'. 662 :type provisioning_state: str 663 """ 664 665 _attribute_map = { 666 'id': {'key': 'id', 'type': 'str'}, 667 'name': {'key': 'name', 'type': 'str'}, 668 'etag': {'key': 'etag', 'type': 'str'}, 669 'type': {'key': 'type', 'type': 'str'}, 670 'port': {'key': 'properties.port', 'type': 'int'}, 671 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 672 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, 673 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, 674 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, 675 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[SubResource]'}, 676 'connection_draining': {'key': 'properties.connectionDraining', 'type': 'ApplicationGatewayConnectionDraining'}, 677 'host_name': {'key': 'properties.hostName', 'type': 'str'}, 678 'pick_host_name_from_backend_address': {'key': 'properties.pickHostNameFromBackendAddress', 'type': 'bool'}, 679 'affinity_cookie_name': {'key': 'properties.affinityCookieName', 'type': 'str'}, 680 'probe_enabled': {'key': 'properties.probeEnabled', 'type': 'bool'}, 681 'path': {'key': 'properties.path', 'type': 'str'}, 682 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 683 } 684 685 def __init__( 686 self, 687 *, 688 id: Optional[str] = None, 689 name: Optional[str] = None, 690 etag: Optional[str] = None, 691 type: Optional[str] = None, 692 port: Optional[int] = None, 693 protocol: Optional[Union[str, "ApplicationGatewayProtocol"]] = None, 694 cookie_based_affinity: Optional[Union[str, "ApplicationGatewayCookieBasedAffinity"]] = None, 695 request_timeout: Optional[int] = None, 696 probe: Optional["SubResource"] = None, 697 authentication_certificates: Optional[List["SubResource"]] = None, 698 connection_draining: Optional["ApplicationGatewayConnectionDraining"] = None, 699 host_name: Optional[str] = None, 700 pick_host_name_from_backend_address: Optional[bool] = None, 701 affinity_cookie_name: Optional[str] = None, 702 probe_enabled: Optional[bool] = None, 703 path: Optional[str] = None, 704 provisioning_state: Optional[str] = None, 705 **kwargs 706 ): 707 super(ApplicationGatewayBackendHttpSettings, self).__init__(id=id, **kwargs) 708 self.name = name 709 self.etag = etag 710 self.type = type 711 self.port = port 712 self.protocol = protocol 713 self.cookie_based_affinity = cookie_based_affinity 714 self.request_timeout = request_timeout 715 self.probe = probe 716 self.authentication_certificates = authentication_certificates 717 self.connection_draining = connection_draining 718 self.host_name = host_name 719 self.pick_host_name_from_backend_address = pick_host_name_from_backend_address 720 self.affinity_cookie_name = affinity_cookie_name 721 self.probe_enabled = probe_enabled 722 self.path = path 723 self.provisioning_state = provisioning_state 724 725 726class ApplicationGatewayConnectionDraining(msrest.serialization.Model): 727 """Connection draining allows open connections to a backend server to be active for a specified time after the backend server got removed from the configuration. 728 729 All required parameters must be populated in order to send to Azure. 730 731 :param enabled: Required. Whether connection draining is enabled or not. 732 :type enabled: bool 733 :param drain_timeout_in_sec: Required. The number of seconds connection draining is active. 734 Acceptable values are from 1 second to 3600 seconds. 735 :type drain_timeout_in_sec: int 736 """ 737 738 _validation = { 739 'enabled': {'required': True}, 740 'drain_timeout_in_sec': {'required': True, 'maximum': 3600, 'minimum': 1}, 741 } 742 743 _attribute_map = { 744 'enabled': {'key': 'enabled', 'type': 'bool'}, 745 'drain_timeout_in_sec': {'key': 'drainTimeoutInSec', 'type': 'int'}, 746 } 747 748 def __init__( 749 self, 750 *, 751 enabled: bool, 752 drain_timeout_in_sec: int, 753 **kwargs 754 ): 755 super(ApplicationGatewayConnectionDraining, self).__init__(**kwargs) 756 self.enabled = enabled 757 self.drain_timeout_in_sec = drain_timeout_in_sec 758 759 760class ApplicationGatewayFirewallDisabledRuleGroup(msrest.serialization.Model): 761 """Allows to disable rules within a rule group or an entire rule group. 762 763 All required parameters must be populated in order to send to Azure. 764 765 :param rule_group_name: Required. The name of the rule group that will be disabled. 766 :type rule_group_name: str 767 :param rules: The list of rules that will be disabled. If null, all rules of the rule group 768 will be disabled. 769 :type rules: list[int] 770 """ 771 772 _validation = { 773 'rule_group_name': {'required': True}, 774 } 775 776 _attribute_map = { 777 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, 778 'rules': {'key': 'rules', 'type': '[int]'}, 779 } 780 781 def __init__( 782 self, 783 *, 784 rule_group_name: str, 785 rules: Optional[List[int]] = None, 786 **kwargs 787 ): 788 super(ApplicationGatewayFirewallDisabledRuleGroup, self).__init__(**kwargs) 789 self.rule_group_name = rule_group_name 790 self.rules = rules 791 792 793class ApplicationGatewayFirewallRule(msrest.serialization.Model): 794 """A web application firewall rule. 795 796 All required parameters must be populated in order to send to Azure. 797 798 :param rule_id: Required. The identifier of the web application firewall rule. 799 :type rule_id: int 800 :param description: The description of the web application firewall rule. 801 :type description: str 802 """ 803 804 _validation = { 805 'rule_id': {'required': True}, 806 } 807 808 _attribute_map = { 809 'rule_id': {'key': 'ruleId', 'type': 'int'}, 810 'description': {'key': 'description', 'type': 'str'}, 811 } 812 813 def __init__( 814 self, 815 *, 816 rule_id: int, 817 description: Optional[str] = None, 818 **kwargs 819 ): 820 super(ApplicationGatewayFirewallRule, self).__init__(**kwargs) 821 self.rule_id = rule_id 822 self.description = description 823 824 825class ApplicationGatewayFirewallRuleGroup(msrest.serialization.Model): 826 """A web application firewall rule group. 827 828 All required parameters must be populated in order to send to Azure. 829 830 :param rule_group_name: Required. The name of the web application firewall rule group. 831 :type rule_group_name: str 832 :param description: The description of the web application firewall rule group. 833 :type description: str 834 :param rules: Required. The rules of the web application firewall rule group. 835 :type rules: list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayFirewallRule] 836 """ 837 838 _validation = { 839 'rule_group_name': {'required': True}, 840 'rules': {'required': True}, 841 } 842 843 _attribute_map = { 844 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, 845 'description': {'key': 'description', 'type': 'str'}, 846 'rules': {'key': 'rules', 'type': '[ApplicationGatewayFirewallRule]'}, 847 } 848 849 def __init__( 850 self, 851 *, 852 rule_group_name: str, 853 rules: List["ApplicationGatewayFirewallRule"], 854 description: Optional[str] = None, 855 **kwargs 856 ): 857 super(ApplicationGatewayFirewallRuleGroup, self).__init__(**kwargs) 858 self.rule_group_name = rule_group_name 859 self.description = description 860 self.rules = rules 861 862 863class ApplicationGatewayFirewallRuleSet(Resource): 864 """A web application firewall rule set. 865 866 Variables are only populated by the server, and will be ignored when sending a request. 867 868 :param id: Resource ID. 869 :type id: str 870 :ivar name: Resource name. 871 :vartype name: str 872 :ivar type: Resource type. 873 :vartype type: str 874 :param location: Resource location. 875 :type location: str 876 :param tags: A set of tags. Resource tags. 877 :type tags: dict[str, str] 878 :param provisioning_state: The provisioning state of the web application firewall rule set. 879 :type provisioning_state: str 880 :param rule_set_type: The type of the web application firewall rule set. 881 :type rule_set_type: str 882 :param rule_set_version: The version of the web application firewall rule set type. 883 :type rule_set_version: str 884 :param rule_groups: The rule groups of the web application firewall rule set. 885 :type rule_groups: 886 list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayFirewallRuleGroup] 887 """ 888 889 _validation = { 890 'name': {'readonly': True}, 891 'type': {'readonly': True}, 892 } 893 894 _attribute_map = { 895 'id': {'key': 'id', 'type': 'str'}, 896 'name': {'key': 'name', 'type': 'str'}, 897 'type': {'key': 'type', 'type': 'str'}, 898 'location': {'key': 'location', 'type': 'str'}, 899 'tags': {'key': 'tags', 'type': '{str}'}, 900 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 901 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, 902 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, 903 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ApplicationGatewayFirewallRuleGroup]'}, 904 } 905 906 def __init__( 907 self, 908 *, 909 id: Optional[str] = None, 910 location: Optional[str] = None, 911 tags: Optional[Dict[str, str]] = None, 912 provisioning_state: Optional[str] = None, 913 rule_set_type: Optional[str] = None, 914 rule_set_version: Optional[str] = None, 915 rule_groups: Optional[List["ApplicationGatewayFirewallRuleGroup"]] = None, 916 **kwargs 917 ): 918 super(ApplicationGatewayFirewallRuleSet, self).__init__(id=id, location=location, tags=tags, **kwargs) 919 self.provisioning_state = provisioning_state 920 self.rule_set_type = rule_set_type 921 self.rule_set_version = rule_set_version 922 self.rule_groups = rule_groups 923 924 925class ApplicationGatewayFrontendIPConfiguration(SubResource): 926 """Frontend IP configuration of an application gateway. 927 928 :param id: Resource ID. 929 :type id: str 930 :param name: Name of the resource that is unique within a resource group. This name can be used 931 to access the resource. 932 :type name: str 933 :param etag: A unique read-only string that changes whenever the resource is updated. 934 :type etag: str 935 :param type: Type of the resource. 936 :type type: str 937 :param private_ip_address: PrivateIPAddress of the network interface IP Configuration. 938 :type private_ip_address: str 939 :param private_ip_allocation_method: PrivateIP allocation method. Possible values include: 940 "Static", "Dynamic". 941 :type private_ip_allocation_method: str or 942 ~azure.mgmt.network.v2018_01_01.models.IPAllocationMethod 943 :param subnet: Reference of the subnet resource. 944 :type subnet: ~azure.mgmt.network.v2018_01_01.models.SubResource 945 :param public_ip_address: Reference of the PublicIP resource. 946 :type public_ip_address: ~azure.mgmt.network.v2018_01_01.models.SubResource 947 :param provisioning_state: Provisioning state of the public IP resource. Possible values are: 948 'Updating', 'Deleting', and 'Failed'. 949 :type provisioning_state: str 950 """ 951 952 _attribute_map = { 953 'id': {'key': 'id', 'type': 'str'}, 954 'name': {'key': 'name', 'type': 'str'}, 955 'etag': {'key': 'etag', 'type': 'str'}, 956 'type': {'key': 'type', 'type': 'str'}, 957 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 958 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 959 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 960 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, 961 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 962 } 963 964 def __init__( 965 self, 966 *, 967 id: Optional[str] = None, 968 name: Optional[str] = None, 969 etag: Optional[str] = None, 970 type: Optional[str] = None, 971 private_ip_address: Optional[str] = None, 972 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 973 subnet: Optional["SubResource"] = None, 974 public_ip_address: Optional["SubResource"] = None, 975 provisioning_state: Optional[str] = None, 976 **kwargs 977 ): 978 super(ApplicationGatewayFrontendIPConfiguration, self).__init__(id=id, **kwargs) 979 self.name = name 980 self.etag = etag 981 self.type = type 982 self.private_ip_address = private_ip_address 983 self.private_ip_allocation_method = private_ip_allocation_method 984 self.subnet = subnet 985 self.public_ip_address = public_ip_address 986 self.provisioning_state = provisioning_state 987 988 989class ApplicationGatewayFrontendPort(SubResource): 990 """Frontend port of an application gateway. 991 992 :param id: Resource ID. 993 :type id: str 994 :param name: Name of the resource that is unique within a resource group. This name can be used 995 to access the resource. 996 :type name: str 997 :param etag: A unique read-only string that changes whenever the resource is updated. 998 :type etag: str 999 :param type: Type of the resource. 1000 :type type: str 1001 :param port: Frontend port. 1002 :type port: int 1003 :param provisioning_state: Provisioning state of the frontend port resource. Possible values 1004 are: 'Updating', 'Deleting', and 'Failed'. 1005 :type provisioning_state: str 1006 """ 1007 1008 _attribute_map = { 1009 'id': {'key': 'id', 'type': 'str'}, 1010 'name': {'key': 'name', 'type': 'str'}, 1011 'etag': {'key': 'etag', 'type': 'str'}, 1012 'type': {'key': 'type', 'type': 'str'}, 1013 'port': {'key': 'properties.port', 'type': 'int'}, 1014 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1015 } 1016 1017 def __init__( 1018 self, 1019 *, 1020 id: Optional[str] = None, 1021 name: Optional[str] = None, 1022 etag: Optional[str] = None, 1023 type: Optional[str] = None, 1024 port: Optional[int] = None, 1025 provisioning_state: Optional[str] = None, 1026 **kwargs 1027 ): 1028 super(ApplicationGatewayFrontendPort, self).__init__(id=id, **kwargs) 1029 self.name = name 1030 self.etag = etag 1031 self.type = type 1032 self.port = port 1033 self.provisioning_state = provisioning_state 1034 1035 1036class ApplicationGatewayHttpListener(SubResource): 1037 """Http listener of an application gateway. 1038 1039 :param id: Resource ID. 1040 :type id: str 1041 :param name: Name of the resource that is unique within a resource group. This name can be used 1042 to access the resource. 1043 :type name: str 1044 :param etag: A unique read-only string that changes whenever the resource is updated. 1045 :type etag: str 1046 :param type: Type of the resource. 1047 :type type: str 1048 :param frontend_ip_configuration: Frontend IP configuration resource of an application gateway. 1049 :type frontend_ip_configuration: ~azure.mgmt.network.v2018_01_01.models.SubResource 1050 :param frontend_port: Frontend port resource of an application gateway. 1051 :type frontend_port: ~azure.mgmt.network.v2018_01_01.models.SubResource 1052 :param protocol: Protocol. Possible values include: "Http", "Https". 1053 :type protocol: str or ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayProtocol 1054 :param host_name: Host name of HTTP listener. 1055 :type host_name: str 1056 :param ssl_certificate: SSL certificate resource of an application gateway. 1057 :type ssl_certificate: ~azure.mgmt.network.v2018_01_01.models.SubResource 1058 :param require_server_name_indication: Applicable only if protocol is https. Enables SNI for 1059 multi-hosting. 1060 :type require_server_name_indication: bool 1061 :param provisioning_state: Provisioning state of the HTTP listener resource. Possible values 1062 are: 'Updating', 'Deleting', and 'Failed'. 1063 :type provisioning_state: str 1064 """ 1065 1066 _attribute_map = { 1067 'id': {'key': 'id', 'type': 'str'}, 1068 'name': {'key': 'name', 'type': 'str'}, 1069 'etag': {'key': 'etag', 'type': 'str'}, 1070 'type': {'key': 'type', 'type': 'str'}, 1071 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 1072 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, 1073 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 1074 'host_name': {'key': 'properties.hostName', 'type': 'str'}, 1075 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, 1076 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, 1077 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1078 } 1079 1080 def __init__( 1081 self, 1082 *, 1083 id: Optional[str] = None, 1084 name: Optional[str] = None, 1085 etag: Optional[str] = None, 1086 type: Optional[str] = None, 1087 frontend_ip_configuration: Optional["SubResource"] = None, 1088 frontend_port: Optional["SubResource"] = None, 1089 protocol: Optional[Union[str, "ApplicationGatewayProtocol"]] = None, 1090 host_name: Optional[str] = None, 1091 ssl_certificate: Optional["SubResource"] = None, 1092 require_server_name_indication: Optional[bool] = None, 1093 provisioning_state: Optional[str] = None, 1094 **kwargs 1095 ): 1096 super(ApplicationGatewayHttpListener, self).__init__(id=id, **kwargs) 1097 self.name = name 1098 self.etag = etag 1099 self.type = type 1100 self.frontend_ip_configuration = frontend_ip_configuration 1101 self.frontend_port = frontend_port 1102 self.protocol = protocol 1103 self.host_name = host_name 1104 self.ssl_certificate = ssl_certificate 1105 self.require_server_name_indication = require_server_name_indication 1106 self.provisioning_state = provisioning_state 1107 1108 1109class ApplicationGatewayIPConfiguration(SubResource): 1110 """IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. 1111 1112 :param id: Resource ID. 1113 :type id: str 1114 :param name: Name of the resource that is unique within a resource group. This name can be used 1115 to access the resource. 1116 :type name: str 1117 :param etag: A unique read-only string that changes whenever the resource is updated. 1118 :type etag: str 1119 :param type: Type of the resource. 1120 :type type: str 1121 :param subnet: Reference of the subnet resource. A subnet from where application gateway gets 1122 its private address. 1123 :type subnet: ~azure.mgmt.network.v2018_01_01.models.SubResource 1124 :param provisioning_state: Provisioning state of the application gateway subnet resource. 1125 Possible values are: 'Updating', 'Deleting', and 'Failed'. 1126 :type provisioning_state: str 1127 """ 1128 1129 _attribute_map = { 1130 'id': {'key': 'id', 'type': 'str'}, 1131 'name': {'key': 'name', 'type': 'str'}, 1132 'etag': {'key': 'etag', 'type': 'str'}, 1133 'type': {'key': 'type', 'type': 'str'}, 1134 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 1135 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1136 } 1137 1138 def __init__( 1139 self, 1140 *, 1141 id: Optional[str] = None, 1142 name: Optional[str] = None, 1143 etag: Optional[str] = None, 1144 type: Optional[str] = None, 1145 subnet: Optional["SubResource"] = None, 1146 provisioning_state: Optional[str] = None, 1147 **kwargs 1148 ): 1149 super(ApplicationGatewayIPConfiguration, self).__init__(id=id, **kwargs) 1150 self.name = name 1151 self.etag = etag 1152 self.type = type 1153 self.subnet = subnet 1154 self.provisioning_state = provisioning_state 1155 1156 1157class ApplicationGatewayListResult(msrest.serialization.Model): 1158 """Response for ListApplicationGateways API service call. 1159 1160 :param value: List of an application gateways in a resource group. 1161 :type value: list[~azure.mgmt.network.v2018_01_01.models.ApplicationGateway] 1162 :param next_link: URL to get the next set of results. 1163 :type next_link: str 1164 """ 1165 1166 _attribute_map = { 1167 'value': {'key': 'value', 'type': '[ApplicationGateway]'}, 1168 'next_link': {'key': 'nextLink', 'type': 'str'}, 1169 } 1170 1171 def __init__( 1172 self, 1173 *, 1174 value: Optional[List["ApplicationGateway"]] = None, 1175 next_link: Optional[str] = None, 1176 **kwargs 1177 ): 1178 super(ApplicationGatewayListResult, self).__init__(**kwargs) 1179 self.value = value 1180 self.next_link = next_link 1181 1182 1183class ApplicationGatewayPathRule(SubResource): 1184 """Path rule of URL path map of an application gateway. 1185 1186 :param id: Resource ID. 1187 :type id: str 1188 :param name: Name of the resource that is unique within a resource group. This name can be used 1189 to access the resource. 1190 :type name: str 1191 :param etag: A unique read-only string that changes whenever the resource is updated. 1192 :type etag: str 1193 :param type: Type of the resource. 1194 :type type: str 1195 :param paths: Path rules of URL path map. 1196 :type paths: list[str] 1197 :param backend_address_pool: Backend address pool resource of URL path map path rule. 1198 :type backend_address_pool: ~azure.mgmt.network.v2018_01_01.models.SubResource 1199 :param backend_http_settings: Backend http settings resource of URL path map path rule. 1200 :type backend_http_settings: ~azure.mgmt.network.v2018_01_01.models.SubResource 1201 :param redirect_configuration: Redirect configuration resource of URL path map path rule. 1202 :type redirect_configuration: ~azure.mgmt.network.v2018_01_01.models.SubResource 1203 :param provisioning_state: Path rule of URL path map resource. Possible values are: 'Updating', 1204 'Deleting', and 'Failed'. 1205 :type provisioning_state: str 1206 """ 1207 1208 _attribute_map = { 1209 'id': {'key': 'id', 'type': 'str'}, 1210 'name': {'key': 'name', 'type': 'str'}, 1211 'etag': {'key': 'etag', 'type': 'str'}, 1212 'type': {'key': 'type', 'type': 'str'}, 1213 'paths': {'key': 'properties.paths', 'type': '[str]'}, 1214 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 1215 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, 1216 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, 1217 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1218 } 1219 1220 def __init__( 1221 self, 1222 *, 1223 id: Optional[str] = None, 1224 name: Optional[str] = None, 1225 etag: Optional[str] = None, 1226 type: Optional[str] = None, 1227 paths: Optional[List[str]] = None, 1228 backend_address_pool: Optional["SubResource"] = None, 1229 backend_http_settings: Optional["SubResource"] = None, 1230 redirect_configuration: Optional["SubResource"] = None, 1231 provisioning_state: Optional[str] = None, 1232 **kwargs 1233 ): 1234 super(ApplicationGatewayPathRule, self).__init__(id=id, **kwargs) 1235 self.name = name 1236 self.etag = etag 1237 self.type = type 1238 self.paths = paths 1239 self.backend_address_pool = backend_address_pool 1240 self.backend_http_settings = backend_http_settings 1241 self.redirect_configuration = redirect_configuration 1242 self.provisioning_state = provisioning_state 1243 1244 1245class ApplicationGatewayProbe(SubResource): 1246 """Probe of the application gateway. 1247 1248 :param id: Resource ID. 1249 :type id: str 1250 :param name: Name of the resource that is unique within a resource group. This name can be used 1251 to access the resource. 1252 :type name: str 1253 :param etag: A unique read-only string that changes whenever the resource is updated. 1254 :type etag: str 1255 :param type: Type of the resource. 1256 :type type: str 1257 :param protocol: Protocol. Possible values include: "Http", "Https". 1258 :type protocol: str or ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayProtocol 1259 :param host: Host name to send the probe to. 1260 :type host: str 1261 :param path: Relative path of probe. Valid path starts from '/'. Probe is sent to 1262 :code:`<Protocol>`://:code:`<host>`::code:`<port>`:code:`<path>`. 1263 :type path: str 1264 :param interval: The probing interval in seconds. This is the time interval between two 1265 consecutive probes. Acceptable values are from 1 second to 86400 seconds. 1266 :type interval: int 1267 :param timeout: the probe timeout in seconds. Probe marked as failed if valid response is not 1268 received with this timeout period. Acceptable values are from 1 second to 86400 seconds. 1269 :type timeout: int 1270 :param unhealthy_threshold: The probe retry count. Backend server is marked down after 1271 consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second 1272 to 20. 1273 :type unhealthy_threshold: int 1274 :param pick_host_name_from_backend_http_settings: Whether the host header should be picked from 1275 the backend http settings. Default value is false. 1276 :type pick_host_name_from_backend_http_settings: bool 1277 :param min_servers: Minimum number of servers that are always marked healthy. Default value is 1278 0. 1279 :type min_servers: int 1280 :param match: Criterion for classifying a healthy probe response. 1281 :type match: ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayProbeHealthResponseMatch 1282 :param provisioning_state: Provisioning state of the backend http settings resource. Possible 1283 values are: 'Updating', 'Deleting', and 'Failed'. 1284 :type provisioning_state: str 1285 """ 1286 1287 _attribute_map = { 1288 'id': {'key': 'id', 'type': 'str'}, 1289 'name': {'key': 'name', 'type': 'str'}, 1290 'etag': {'key': 'etag', 'type': 'str'}, 1291 'type': {'key': 'type', 'type': 'str'}, 1292 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 1293 'host': {'key': 'properties.host', 'type': 'str'}, 1294 'path': {'key': 'properties.path', 'type': 'str'}, 1295 'interval': {'key': 'properties.interval', 'type': 'int'}, 1296 'timeout': {'key': 'properties.timeout', 'type': 'int'}, 1297 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, 1298 'pick_host_name_from_backend_http_settings': {'key': 'properties.pickHostNameFromBackendHttpSettings', 'type': 'bool'}, 1299 'min_servers': {'key': 'properties.minServers', 'type': 'int'}, 1300 'match': {'key': 'properties.match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, 1301 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1302 } 1303 1304 def __init__( 1305 self, 1306 *, 1307 id: Optional[str] = None, 1308 name: Optional[str] = None, 1309 etag: Optional[str] = None, 1310 type: Optional[str] = None, 1311 protocol: Optional[Union[str, "ApplicationGatewayProtocol"]] = None, 1312 host: Optional[str] = None, 1313 path: Optional[str] = None, 1314 interval: Optional[int] = None, 1315 timeout: Optional[int] = None, 1316 unhealthy_threshold: Optional[int] = None, 1317 pick_host_name_from_backend_http_settings: Optional[bool] = None, 1318 min_servers: Optional[int] = None, 1319 match: Optional["ApplicationGatewayProbeHealthResponseMatch"] = None, 1320 provisioning_state: Optional[str] = None, 1321 **kwargs 1322 ): 1323 super(ApplicationGatewayProbe, self).__init__(id=id, **kwargs) 1324 self.name = name 1325 self.etag = etag 1326 self.type = type 1327 self.protocol = protocol 1328 self.host = host 1329 self.path = path 1330 self.interval = interval 1331 self.timeout = timeout 1332 self.unhealthy_threshold = unhealthy_threshold 1333 self.pick_host_name_from_backend_http_settings = pick_host_name_from_backend_http_settings 1334 self.min_servers = min_servers 1335 self.match = match 1336 self.provisioning_state = provisioning_state 1337 1338 1339class ApplicationGatewayProbeHealthResponseMatch(msrest.serialization.Model): 1340 """Application gateway probe health response match. 1341 1342 :param body: Body that must be contained in the health response. Default value is empty. 1343 :type body: str 1344 :param status_codes: Allowed ranges of healthy status codes. Default range of healthy status 1345 codes is 200-399. 1346 :type status_codes: list[str] 1347 """ 1348 1349 _attribute_map = { 1350 'body': {'key': 'body', 'type': 'str'}, 1351 'status_codes': {'key': 'statusCodes', 'type': '[str]'}, 1352 } 1353 1354 def __init__( 1355 self, 1356 *, 1357 body: Optional[str] = None, 1358 status_codes: Optional[List[str]] = None, 1359 **kwargs 1360 ): 1361 super(ApplicationGatewayProbeHealthResponseMatch, self).__init__(**kwargs) 1362 self.body = body 1363 self.status_codes = status_codes 1364 1365 1366class ApplicationGatewayRedirectConfiguration(SubResource): 1367 """Redirect configuration of an application gateway. 1368 1369 :param id: Resource ID. 1370 :type id: str 1371 :param name: Name of the resource that is unique within a resource group. This name can be used 1372 to access the resource. 1373 :type name: str 1374 :param etag: A unique read-only string that changes whenever the resource is updated. 1375 :type etag: str 1376 :param type: Type of the resource. 1377 :type type: str 1378 :param redirect_type: Supported http redirection types - Permanent, Temporary, Found, SeeOther. 1379 Possible values include: "Permanent", "Found", "SeeOther", "Temporary". 1380 :type redirect_type: str or 1381 ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayRedirectType 1382 :param target_listener: Reference to a listener to redirect the request to. 1383 :type target_listener: ~azure.mgmt.network.v2018_01_01.models.SubResource 1384 :param target_url: Url to redirect the request to. 1385 :type target_url: str 1386 :param include_path: Include path in the redirected url. 1387 :type include_path: bool 1388 :param include_query_string: Include query string in the redirected url. 1389 :type include_query_string: bool 1390 :param request_routing_rules: Request routing specifying redirect configuration. 1391 :type request_routing_rules: list[~azure.mgmt.network.v2018_01_01.models.SubResource] 1392 :param url_path_maps: Url path maps specifying default redirect configuration. 1393 :type url_path_maps: list[~azure.mgmt.network.v2018_01_01.models.SubResource] 1394 :param path_rules: Path rules specifying redirect configuration. 1395 :type path_rules: list[~azure.mgmt.network.v2018_01_01.models.SubResource] 1396 """ 1397 1398 _attribute_map = { 1399 'id': {'key': 'id', 'type': 'str'}, 1400 'name': {'key': 'name', 'type': 'str'}, 1401 'etag': {'key': 'etag', 'type': 'str'}, 1402 'type': {'key': 'type', 'type': 'str'}, 1403 'redirect_type': {'key': 'properties.redirectType', 'type': 'str'}, 1404 'target_listener': {'key': 'properties.targetListener', 'type': 'SubResource'}, 1405 'target_url': {'key': 'properties.targetUrl', 'type': 'str'}, 1406 'include_path': {'key': 'properties.includePath', 'type': 'bool'}, 1407 'include_query_string': {'key': 'properties.includeQueryString', 'type': 'bool'}, 1408 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[SubResource]'}, 1409 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[SubResource]'}, 1410 'path_rules': {'key': 'properties.pathRules', 'type': '[SubResource]'}, 1411 } 1412 1413 def __init__( 1414 self, 1415 *, 1416 id: Optional[str] = None, 1417 name: Optional[str] = None, 1418 etag: Optional[str] = None, 1419 type: Optional[str] = None, 1420 redirect_type: Optional[Union[str, "ApplicationGatewayRedirectType"]] = None, 1421 target_listener: Optional["SubResource"] = None, 1422 target_url: Optional[str] = None, 1423 include_path: Optional[bool] = None, 1424 include_query_string: Optional[bool] = None, 1425 request_routing_rules: Optional[List["SubResource"]] = None, 1426 url_path_maps: Optional[List["SubResource"]] = None, 1427 path_rules: Optional[List["SubResource"]] = None, 1428 **kwargs 1429 ): 1430 super(ApplicationGatewayRedirectConfiguration, self).__init__(id=id, **kwargs) 1431 self.name = name 1432 self.etag = etag 1433 self.type = type 1434 self.redirect_type = redirect_type 1435 self.target_listener = target_listener 1436 self.target_url = target_url 1437 self.include_path = include_path 1438 self.include_query_string = include_query_string 1439 self.request_routing_rules = request_routing_rules 1440 self.url_path_maps = url_path_maps 1441 self.path_rules = path_rules 1442 1443 1444class ApplicationGatewayRequestRoutingRule(SubResource): 1445 """Request routing rule of an application gateway. 1446 1447 :param id: Resource ID. 1448 :type id: str 1449 :param name: Name of the resource that is unique within a resource group. This name can be used 1450 to access the resource. 1451 :type name: str 1452 :param etag: A unique read-only string that changes whenever the resource is updated. 1453 :type etag: str 1454 :param type: Type of the resource. 1455 :type type: str 1456 :param rule_type: Rule type. Possible values include: "Basic", "PathBasedRouting". 1457 :type rule_type: str or 1458 ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayRequestRoutingRuleType 1459 :param backend_address_pool: Backend address pool resource of the application gateway. 1460 :type backend_address_pool: ~azure.mgmt.network.v2018_01_01.models.SubResource 1461 :param backend_http_settings: Frontend port resource of the application gateway. 1462 :type backend_http_settings: ~azure.mgmt.network.v2018_01_01.models.SubResource 1463 :param http_listener: Http listener resource of the application gateway. 1464 :type http_listener: ~azure.mgmt.network.v2018_01_01.models.SubResource 1465 :param url_path_map: URL path map resource of the application gateway. 1466 :type url_path_map: ~azure.mgmt.network.v2018_01_01.models.SubResource 1467 :param redirect_configuration: Redirect configuration resource of the application gateway. 1468 :type redirect_configuration: ~azure.mgmt.network.v2018_01_01.models.SubResource 1469 :param provisioning_state: Provisioning state of the request routing rule resource. Possible 1470 values are: 'Updating', 'Deleting', and 'Failed'. 1471 :type provisioning_state: str 1472 """ 1473 1474 _attribute_map = { 1475 'id': {'key': 'id', 'type': 'str'}, 1476 'name': {'key': 'name', 'type': 'str'}, 1477 'etag': {'key': 'etag', 'type': 'str'}, 1478 'type': {'key': 'type', 'type': 'str'}, 1479 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, 1480 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 1481 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, 1482 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, 1483 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, 1484 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, 1485 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1486 } 1487 1488 def __init__( 1489 self, 1490 *, 1491 id: Optional[str] = None, 1492 name: Optional[str] = None, 1493 etag: Optional[str] = None, 1494 type: Optional[str] = None, 1495 rule_type: Optional[Union[str, "ApplicationGatewayRequestRoutingRuleType"]] = None, 1496 backend_address_pool: Optional["SubResource"] = None, 1497 backend_http_settings: Optional["SubResource"] = None, 1498 http_listener: Optional["SubResource"] = None, 1499 url_path_map: Optional["SubResource"] = None, 1500 redirect_configuration: Optional["SubResource"] = None, 1501 provisioning_state: Optional[str] = None, 1502 **kwargs 1503 ): 1504 super(ApplicationGatewayRequestRoutingRule, self).__init__(id=id, **kwargs) 1505 self.name = name 1506 self.etag = etag 1507 self.type = type 1508 self.rule_type = rule_type 1509 self.backend_address_pool = backend_address_pool 1510 self.backend_http_settings = backend_http_settings 1511 self.http_listener = http_listener 1512 self.url_path_map = url_path_map 1513 self.redirect_configuration = redirect_configuration 1514 self.provisioning_state = provisioning_state 1515 1516 1517class ApplicationGatewaySku(msrest.serialization.Model): 1518 """SKU of an application gateway. 1519 1520 :param name: Name of an application gateway SKU. Possible values include: "Standard_Small", 1521 "Standard_Medium", "Standard_Large", "WAF_Medium", "WAF_Large". 1522 :type name: str or ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewaySkuName 1523 :param tier: Tier of an application gateway. Possible values include: "Standard", "WAF". 1524 :type tier: str or ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayTier 1525 :param capacity: Capacity (instance count) of an application gateway. 1526 :type capacity: int 1527 """ 1528 1529 _attribute_map = { 1530 'name': {'key': 'name', 'type': 'str'}, 1531 'tier': {'key': 'tier', 'type': 'str'}, 1532 'capacity': {'key': 'capacity', 'type': 'int'}, 1533 } 1534 1535 def __init__( 1536 self, 1537 *, 1538 name: Optional[Union[str, "ApplicationGatewaySkuName"]] = None, 1539 tier: Optional[Union[str, "ApplicationGatewayTier"]] = None, 1540 capacity: Optional[int] = None, 1541 **kwargs 1542 ): 1543 super(ApplicationGatewaySku, self).__init__(**kwargs) 1544 self.name = name 1545 self.tier = tier 1546 self.capacity = capacity 1547 1548 1549class ApplicationGatewaySslCertificate(SubResource): 1550 """SSL certificates of an application gateway. 1551 1552 :param id: Resource ID. 1553 :type id: str 1554 :param name: Name of the resource that is unique within a resource group. This name can be used 1555 to access the resource. 1556 :type name: str 1557 :param etag: A unique read-only string that changes whenever the resource is updated. 1558 :type etag: str 1559 :param type: Type of the resource. 1560 :type type: str 1561 :param data: Base-64 encoded pfx certificate. Only applicable in PUT Request. 1562 :type data: str 1563 :param password: Password for the pfx file specified in data. Only applicable in PUT request. 1564 :type password: str 1565 :param public_cert_data: Base-64 encoded Public cert data corresponding to pfx specified in 1566 data. Only applicable in GET request. 1567 :type public_cert_data: str 1568 :param provisioning_state: Provisioning state of the SSL certificate resource Possible values 1569 are: 'Updating', 'Deleting', and 'Failed'. 1570 :type provisioning_state: str 1571 """ 1572 1573 _attribute_map = { 1574 'id': {'key': 'id', 'type': 'str'}, 1575 'name': {'key': 'name', 'type': 'str'}, 1576 'etag': {'key': 'etag', 'type': 'str'}, 1577 'type': {'key': 'type', 'type': 'str'}, 1578 'data': {'key': 'properties.data', 'type': 'str'}, 1579 'password': {'key': 'properties.password', 'type': 'str'}, 1580 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, 1581 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1582 } 1583 1584 def __init__( 1585 self, 1586 *, 1587 id: Optional[str] = None, 1588 name: Optional[str] = None, 1589 etag: Optional[str] = None, 1590 type: Optional[str] = None, 1591 data: Optional[str] = None, 1592 password: Optional[str] = None, 1593 public_cert_data: Optional[str] = None, 1594 provisioning_state: Optional[str] = None, 1595 **kwargs 1596 ): 1597 super(ApplicationGatewaySslCertificate, self).__init__(id=id, **kwargs) 1598 self.name = name 1599 self.etag = etag 1600 self.type = type 1601 self.data = data 1602 self.password = password 1603 self.public_cert_data = public_cert_data 1604 self.provisioning_state = provisioning_state 1605 1606 1607class ApplicationGatewaySslPolicy(msrest.serialization.Model): 1608 """Application Gateway Ssl policy. 1609 1610 :param disabled_ssl_protocols: Ssl protocols to be disabled on application gateway. 1611 :type disabled_ssl_protocols: list[str or 1612 ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewaySslProtocol] 1613 :param policy_type: Type of Ssl Policy. Possible values include: "Predefined", "Custom". 1614 :type policy_type: str or 1615 ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewaySslPolicyType 1616 :param policy_name: Name of Ssl predefined policy. Possible values include: 1617 "AppGwSslPolicy20150501", "AppGwSslPolicy20170401", "AppGwSslPolicy20170401S". 1618 :type policy_name: str or 1619 ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewaySslPolicyName 1620 :param cipher_suites: Ssl cipher suites to be enabled in the specified order to application 1621 gateway. 1622 :type cipher_suites: list[str or 1623 ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewaySslCipherSuite] 1624 :param min_protocol_version: Minimum version of Ssl protocol to be supported on application 1625 gateway. Possible values include: "TLSv1_0", "TLSv1_1", "TLSv1_2". 1626 :type min_protocol_version: str or 1627 ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewaySslProtocol 1628 """ 1629 1630 _attribute_map = { 1631 'disabled_ssl_protocols': {'key': 'disabledSslProtocols', 'type': '[str]'}, 1632 'policy_type': {'key': 'policyType', 'type': 'str'}, 1633 'policy_name': {'key': 'policyName', 'type': 'str'}, 1634 'cipher_suites': {'key': 'cipherSuites', 'type': '[str]'}, 1635 'min_protocol_version': {'key': 'minProtocolVersion', 'type': 'str'}, 1636 } 1637 1638 def __init__( 1639 self, 1640 *, 1641 disabled_ssl_protocols: Optional[List[Union[str, "ApplicationGatewaySslProtocol"]]] = None, 1642 policy_type: Optional[Union[str, "ApplicationGatewaySslPolicyType"]] = None, 1643 policy_name: Optional[Union[str, "ApplicationGatewaySslPolicyName"]] = None, 1644 cipher_suites: Optional[List[Union[str, "ApplicationGatewaySslCipherSuite"]]] = None, 1645 min_protocol_version: Optional[Union[str, "ApplicationGatewaySslProtocol"]] = None, 1646 **kwargs 1647 ): 1648 super(ApplicationGatewaySslPolicy, self).__init__(**kwargs) 1649 self.disabled_ssl_protocols = disabled_ssl_protocols 1650 self.policy_type = policy_type 1651 self.policy_name = policy_name 1652 self.cipher_suites = cipher_suites 1653 self.min_protocol_version = min_protocol_version 1654 1655 1656class ApplicationGatewaySslPredefinedPolicy(SubResource): 1657 """An Ssl predefined policy. 1658 1659 :param id: Resource ID. 1660 :type id: str 1661 :param name: Name of Ssl predefined policy. 1662 :type name: str 1663 :param cipher_suites: Ssl cipher suites to be enabled in the specified order for application 1664 gateway. 1665 :type cipher_suites: list[str or 1666 ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewaySslCipherSuite] 1667 :param min_protocol_version: Minimum version of Ssl protocol to be supported on application 1668 gateway. Possible values include: "TLSv1_0", "TLSv1_1", "TLSv1_2". 1669 :type min_protocol_version: str or 1670 ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewaySslProtocol 1671 """ 1672 1673 _attribute_map = { 1674 'id': {'key': 'id', 'type': 'str'}, 1675 'name': {'key': 'name', 'type': 'str'}, 1676 'cipher_suites': {'key': 'properties.cipherSuites', 'type': '[str]'}, 1677 'min_protocol_version': {'key': 'properties.minProtocolVersion', 'type': 'str'}, 1678 } 1679 1680 def __init__( 1681 self, 1682 *, 1683 id: Optional[str] = None, 1684 name: Optional[str] = None, 1685 cipher_suites: Optional[List[Union[str, "ApplicationGatewaySslCipherSuite"]]] = None, 1686 min_protocol_version: Optional[Union[str, "ApplicationGatewaySslProtocol"]] = None, 1687 **kwargs 1688 ): 1689 super(ApplicationGatewaySslPredefinedPolicy, self).__init__(id=id, **kwargs) 1690 self.name = name 1691 self.cipher_suites = cipher_suites 1692 self.min_protocol_version = min_protocol_version 1693 1694 1695class ApplicationGatewayUrlPathMap(SubResource): 1696 """UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. 1697 1698 :param id: Resource ID. 1699 :type id: str 1700 :param name: Name of the resource that is unique within a resource group. This name can be used 1701 to access the resource. 1702 :type name: str 1703 :param etag: A unique read-only string that changes whenever the resource is updated. 1704 :type etag: str 1705 :param type: Type of the resource. 1706 :type type: str 1707 :param default_backend_address_pool: Default backend address pool resource of URL path map. 1708 :type default_backend_address_pool: ~azure.mgmt.network.v2018_01_01.models.SubResource 1709 :param default_backend_http_settings: Default backend http settings resource of URL path map. 1710 :type default_backend_http_settings: ~azure.mgmt.network.v2018_01_01.models.SubResource 1711 :param default_redirect_configuration: Default redirect configuration resource of URL path map. 1712 :type default_redirect_configuration: ~azure.mgmt.network.v2018_01_01.models.SubResource 1713 :param path_rules: Path rule of URL path map resource. 1714 :type path_rules: list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayPathRule] 1715 :param provisioning_state: Provisioning state of the backend http settings resource. Possible 1716 values are: 'Updating', 'Deleting', and 'Failed'. 1717 :type provisioning_state: str 1718 """ 1719 1720 _attribute_map = { 1721 'id': {'key': 'id', 'type': 'str'}, 1722 'name': {'key': 'name', 'type': 'str'}, 1723 'etag': {'key': 'etag', 'type': 'str'}, 1724 'type': {'key': 'type', 'type': 'str'}, 1725 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, 1726 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, 1727 'default_redirect_configuration': {'key': 'properties.defaultRedirectConfiguration', 'type': 'SubResource'}, 1728 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, 1729 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1730 } 1731 1732 def __init__( 1733 self, 1734 *, 1735 id: Optional[str] = None, 1736 name: Optional[str] = None, 1737 etag: Optional[str] = None, 1738 type: Optional[str] = None, 1739 default_backend_address_pool: Optional["SubResource"] = None, 1740 default_backend_http_settings: Optional["SubResource"] = None, 1741 default_redirect_configuration: Optional["SubResource"] = None, 1742 path_rules: Optional[List["ApplicationGatewayPathRule"]] = None, 1743 provisioning_state: Optional[str] = None, 1744 **kwargs 1745 ): 1746 super(ApplicationGatewayUrlPathMap, self).__init__(id=id, **kwargs) 1747 self.name = name 1748 self.etag = etag 1749 self.type = type 1750 self.default_backend_address_pool = default_backend_address_pool 1751 self.default_backend_http_settings = default_backend_http_settings 1752 self.default_redirect_configuration = default_redirect_configuration 1753 self.path_rules = path_rules 1754 self.provisioning_state = provisioning_state 1755 1756 1757class ApplicationGatewayWebApplicationFirewallConfiguration(msrest.serialization.Model): 1758 """Application gateway web application firewall configuration. 1759 1760 All required parameters must be populated in order to send to Azure. 1761 1762 :param enabled: Required. Whether the web application firewall is enabled or not. 1763 :type enabled: bool 1764 :param firewall_mode: Required. Web application firewall mode. Possible values include: 1765 "Detection", "Prevention". 1766 :type firewall_mode: str or 1767 ~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayFirewallMode 1768 :param rule_set_type: Required. The type of the web application firewall rule set. Possible 1769 values are: 'OWASP'. 1770 :type rule_set_type: str 1771 :param rule_set_version: Required. The version of the rule set type. 1772 :type rule_set_version: str 1773 :param disabled_rule_groups: The disabled rule groups. 1774 :type disabled_rule_groups: 1775 list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayFirewallDisabledRuleGroup] 1776 :param request_body_check: Whether allow WAF to check request Body. 1777 :type request_body_check: bool 1778 :param max_request_body_size: Maximum request body size for WAF. 1779 :type max_request_body_size: int 1780 """ 1781 1782 _validation = { 1783 'enabled': {'required': True}, 1784 'firewall_mode': {'required': True}, 1785 'rule_set_type': {'required': True}, 1786 'rule_set_version': {'required': True}, 1787 'max_request_body_size': {'maximum': 128, 'minimum': 8}, 1788 } 1789 1790 _attribute_map = { 1791 'enabled': {'key': 'enabled', 'type': 'bool'}, 1792 'firewall_mode': {'key': 'firewallMode', 'type': 'str'}, 1793 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, 1794 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, 1795 'disabled_rule_groups': {'key': 'disabledRuleGroups', 'type': '[ApplicationGatewayFirewallDisabledRuleGroup]'}, 1796 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, 1797 'max_request_body_size': {'key': 'maxRequestBodySize', 'type': 'int'}, 1798 } 1799 1800 def __init__( 1801 self, 1802 *, 1803 enabled: bool, 1804 firewall_mode: Union[str, "ApplicationGatewayFirewallMode"], 1805 rule_set_type: str, 1806 rule_set_version: str, 1807 disabled_rule_groups: Optional[List["ApplicationGatewayFirewallDisabledRuleGroup"]] = None, 1808 request_body_check: Optional[bool] = None, 1809 max_request_body_size: Optional[int] = None, 1810 **kwargs 1811 ): 1812 super(ApplicationGatewayWebApplicationFirewallConfiguration, self).__init__(**kwargs) 1813 self.enabled = enabled 1814 self.firewall_mode = firewall_mode 1815 self.rule_set_type = rule_set_type 1816 self.rule_set_version = rule_set_version 1817 self.disabled_rule_groups = disabled_rule_groups 1818 self.request_body_check = request_body_check 1819 self.max_request_body_size = max_request_body_size 1820 1821 1822class ApplicationSecurityGroup(Resource): 1823 """An application security group in a resource group. 1824 1825 Variables are only populated by the server, and will be ignored when sending a request. 1826 1827 :param id: Resource ID. 1828 :type id: str 1829 :ivar name: Resource name. 1830 :vartype name: str 1831 :ivar type: Resource type. 1832 :vartype type: str 1833 :param location: Resource location. 1834 :type location: str 1835 :param tags: A set of tags. Resource tags. 1836 :type tags: dict[str, str] 1837 :ivar etag: A unique read-only string that changes whenever the resource is updated. 1838 :vartype etag: str 1839 :ivar resource_guid: The resource GUID property of the application security group resource. It 1840 uniquely identifies a resource, even if the user changes its name or migrate the resource 1841 across subscriptions or resource groups. 1842 :vartype resource_guid: str 1843 :ivar provisioning_state: The provisioning state of the application security group resource. 1844 Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'. 1845 :vartype provisioning_state: str 1846 """ 1847 1848 _validation = { 1849 'name': {'readonly': True}, 1850 'type': {'readonly': True}, 1851 'etag': {'readonly': True}, 1852 'resource_guid': {'readonly': True}, 1853 'provisioning_state': {'readonly': True}, 1854 } 1855 1856 _attribute_map = { 1857 'id': {'key': 'id', 'type': 'str'}, 1858 'name': {'key': 'name', 'type': 'str'}, 1859 'type': {'key': 'type', 'type': 'str'}, 1860 'location': {'key': 'location', 'type': 'str'}, 1861 'tags': {'key': 'tags', 'type': '{str}'}, 1862 'etag': {'key': 'etag', 'type': 'str'}, 1863 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 1864 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1865 } 1866 1867 def __init__( 1868 self, 1869 *, 1870 id: Optional[str] = None, 1871 location: Optional[str] = None, 1872 tags: Optional[Dict[str, str]] = None, 1873 **kwargs 1874 ): 1875 super(ApplicationSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) 1876 self.etag = None 1877 self.resource_guid = None 1878 self.provisioning_state = None 1879 1880 1881class ApplicationSecurityGroupListResult(msrest.serialization.Model): 1882 """A list of application security groups. 1883 1884 Variables are only populated by the server, and will be ignored when sending a request. 1885 1886 :param value: A list of application security groups. 1887 :type value: list[~azure.mgmt.network.v2018_01_01.models.ApplicationSecurityGroup] 1888 :ivar next_link: The URL to get the next set of results. 1889 :vartype next_link: str 1890 """ 1891 1892 _validation = { 1893 'next_link': {'readonly': True}, 1894 } 1895 1896 _attribute_map = { 1897 'value': {'key': 'value', 'type': '[ApplicationSecurityGroup]'}, 1898 'next_link': {'key': 'nextLink', 'type': 'str'}, 1899 } 1900 1901 def __init__( 1902 self, 1903 *, 1904 value: Optional[List["ApplicationSecurityGroup"]] = None, 1905 **kwargs 1906 ): 1907 super(ApplicationSecurityGroupListResult, self).__init__(**kwargs) 1908 self.value = value 1909 self.next_link = None 1910 1911 1912class AuthorizationListResult(msrest.serialization.Model): 1913 """Response for ListAuthorizations API service call retrieves all authorizations that belongs to an ExpressRouteCircuit. 1914 1915 :param value: The authorizations in an ExpressRoute Circuit. 1916 :type value: list[~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuitAuthorization] 1917 :param next_link: The URL to get the next set of results. 1918 :type next_link: str 1919 """ 1920 1921 _attribute_map = { 1922 'value': {'key': 'value', 'type': '[ExpressRouteCircuitAuthorization]'}, 1923 'next_link': {'key': 'nextLink', 'type': 'str'}, 1924 } 1925 1926 def __init__( 1927 self, 1928 *, 1929 value: Optional[List["ExpressRouteCircuitAuthorization"]] = None, 1930 next_link: Optional[str] = None, 1931 **kwargs 1932 ): 1933 super(AuthorizationListResult, self).__init__(**kwargs) 1934 self.value = value 1935 self.next_link = next_link 1936 1937 1938class Availability(msrest.serialization.Model): 1939 """Availability of the metric. 1940 1941 :param time_grain: The time grain of the availability. 1942 :type time_grain: str 1943 :param retention: The retention of the availability. 1944 :type retention: str 1945 :param blob_duration: Duration of the availability blob. 1946 :type blob_duration: str 1947 """ 1948 1949 _attribute_map = { 1950 'time_grain': {'key': 'timeGrain', 'type': 'str'}, 1951 'retention': {'key': 'retention', 'type': 'str'}, 1952 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, 1953 } 1954 1955 def __init__( 1956 self, 1957 *, 1958 time_grain: Optional[str] = None, 1959 retention: Optional[str] = None, 1960 blob_duration: Optional[str] = None, 1961 **kwargs 1962 ): 1963 super(Availability, self).__init__(**kwargs) 1964 self.time_grain = time_grain 1965 self.retention = retention 1966 self.blob_duration = blob_duration 1967 1968 1969class AvailableProvidersList(msrest.serialization.Model): 1970 """List of available countries with details. 1971 1972 All required parameters must be populated in order to send to Azure. 1973 1974 :param countries: Required. List of available countries. 1975 :type countries: list[~azure.mgmt.network.v2018_01_01.models.AvailableProvidersListCountry] 1976 """ 1977 1978 _validation = { 1979 'countries': {'required': True}, 1980 } 1981 1982 _attribute_map = { 1983 'countries': {'key': 'countries', 'type': '[AvailableProvidersListCountry]'}, 1984 } 1985 1986 def __init__( 1987 self, 1988 *, 1989 countries: List["AvailableProvidersListCountry"], 1990 **kwargs 1991 ): 1992 super(AvailableProvidersList, self).__init__(**kwargs) 1993 self.countries = countries 1994 1995 1996class AvailableProvidersListCity(msrest.serialization.Model): 1997 """City or town details. 1998 1999 :param city_name: The city or town name. 2000 :type city_name: str 2001 :param providers: A list of Internet service providers. 2002 :type providers: list[str] 2003 """ 2004 2005 _attribute_map = { 2006 'city_name': {'key': 'cityName', 'type': 'str'}, 2007 'providers': {'key': 'providers', 'type': '[str]'}, 2008 } 2009 2010 def __init__( 2011 self, 2012 *, 2013 city_name: Optional[str] = None, 2014 providers: Optional[List[str]] = None, 2015 **kwargs 2016 ): 2017 super(AvailableProvidersListCity, self).__init__(**kwargs) 2018 self.city_name = city_name 2019 self.providers = providers 2020 2021 2022class AvailableProvidersListCountry(msrest.serialization.Model): 2023 """Country details. 2024 2025 :param country_name: The country name. 2026 :type country_name: str 2027 :param providers: A list of Internet service providers. 2028 :type providers: list[str] 2029 :param states: List of available states in the country. 2030 :type states: list[~azure.mgmt.network.v2018_01_01.models.AvailableProvidersListState] 2031 """ 2032 2033 _attribute_map = { 2034 'country_name': {'key': 'countryName', 'type': 'str'}, 2035 'providers': {'key': 'providers', 'type': '[str]'}, 2036 'states': {'key': 'states', 'type': '[AvailableProvidersListState]'}, 2037 } 2038 2039 def __init__( 2040 self, 2041 *, 2042 country_name: Optional[str] = None, 2043 providers: Optional[List[str]] = None, 2044 states: Optional[List["AvailableProvidersListState"]] = None, 2045 **kwargs 2046 ): 2047 super(AvailableProvidersListCountry, self).__init__(**kwargs) 2048 self.country_name = country_name 2049 self.providers = providers 2050 self.states = states 2051 2052 2053class AvailableProvidersListParameters(msrest.serialization.Model): 2054 """Constraints that determine the list of available Internet service providers. 2055 2056 :param azure_locations: A list of Azure regions. 2057 :type azure_locations: list[str] 2058 :param country: The country for available providers list. 2059 :type country: str 2060 :param state: The state for available providers list. 2061 :type state: str 2062 :param city: The city or town for available providers list. 2063 :type city: str 2064 """ 2065 2066 _attribute_map = { 2067 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, 2068 'country': {'key': 'country', 'type': 'str'}, 2069 'state': {'key': 'state', 'type': 'str'}, 2070 'city': {'key': 'city', 'type': 'str'}, 2071 } 2072 2073 def __init__( 2074 self, 2075 *, 2076 azure_locations: Optional[List[str]] = None, 2077 country: Optional[str] = None, 2078 state: Optional[str] = None, 2079 city: Optional[str] = None, 2080 **kwargs 2081 ): 2082 super(AvailableProvidersListParameters, self).__init__(**kwargs) 2083 self.azure_locations = azure_locations 2084 self.country = country 2085 self.state = state 2086 self.city = city 2087 2088 2089class AvailableProvidersListState(msrest.serialization.Model): 2090 """State details. 2091 2092 :param state_name: The state name. 2093 :type state_name: str 2094 :param providers: A list of Internet service providers. 2095 :type providers: list[str] 2096 :param cities: List of available cities or towns in the state. 2097 :type cities: list[~azure.mgmt.network.v2018_01_01.models.AvailableProvidersListCity] 2098 """ 2099 2100 _attribute_map = { 2101 'state_name': {'key': 'stateName', 'type': 'str'}, 2102 'providers': {'key': 'providers', 'type': '[str]'}, 2103 'cities': {'key': 'cities', 'type': '[AvailableProvidersListCity]'}, 2104 } 2105 2106 def __init__( 2107 self, 2108 *, 2109 state_name: Optional[str] = None, 2110 providers: Optional[List[str]] = None, 2111 cities: Optional[List["AvailableProvidersListCity"]] = None, 2112 **kwargs 2113 ): 2114 super(AvailableProvidersListState, self).__init__(**kwargs) 2115 self.state_name = state_name 2116 self.providers = providers 2117 self.cities = cities 2118 2119 2120class AzureAsyncOperationResult(msrest.serialization.Model): 2121 """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. 2122 2123 :param status: Status of the Azure async operation. Possible values are: 'InProgress', 2124 'Succeeded', and 'Failed'. Possible values include: "InProgress", "Succeeded", "Failed". 2125 :type status: str or ~azure.mgmt.network.v2018_01_01.models.NetworkOperationStatus 2126 :param error: 2127 :type error: ~azure.mgmt.network.v2018_01_01.models.Error 2128 """ 2129 2130 _attribute_map = { 2131 'status': {'key': 'status', 'type': 'str'}, 2132 'error': {'key': 'error', 'type': 'Error'}, 2133 } 2134 2135 def __init__( 2136 self, 2137 *, 2138 status: Optional[Union[str, "NetworkOperationStatus"]] = None, 2139 error: Optional["Error"] = None, 2140 **kwargs 2141 ): 2142 super(AzureAsyncOperationResult, self).__init__(**kwargs) 2143 self.status = status 2144 self.error = error 2145 2146 2147class AzureReachabilityReport(msrest.serialization.Model): 2148 """Azure reachability report details. 2149 2150 All required parameters must be populated in order to send to Azure. 2151 2152 :param aggregation_level: Required. The aggregation level of Azure reachability report. Can be 2153 Country, State or City. 2154 :type aggregation_level: str 2155 :param provider_location: Required. Parameters that define a geographic location. 2156 :type provider_location: ~azure.mgmt.network.v2018_01_01.models.AzureReachabilityReportLocation 2157 :param reachability_report: Required. List of Azure reachability report items. 2158 :type reachability_report: 2159 list[~azure.mgmt.network.v2018_01_01.models.AzureReachabilityReportItem] 2160 """ 2161 2162 _validation = { 2163 'aggregation_level': {'required': True}, 2164 'provider_location': {'required': True}, 2165 'reachability_report': {'required': True}, 2166 } 2167 2168 _attribute_map = { 2169 'aggregation_level': {'key': 'aggregationLevel', 'type': 'str'}, 2170 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, 2171 'reachability_report': {'key': 'reachabilityReport', 'type': '[AzureReachabilityReportItem]'}, 2172 } 2173 2174 def __init__( 2175 self, 2176 *, 2177 aggregation_level: str, 2178 provider_location: "AzureReachabilityReportLocation", 2179 reachability_report: List["AzureReachabilityReportItem"], 2180 **kwargs 2181 ): 2182 super(AzureReachabilityReport, self).__init__(**kwargs) 2183 self.aggregation_level = aggregation_level 2184 self.provider_location = provider_location 2185 self.reachability_report = reachability_report 2186 2187 2188class AzureReachabilityReportItem(msrest.serialization.Model): 2189 """Azure reachability report details for a given provider location. 2190 2191 :param provider: The Internet service provider. 2192 :type provider: str 2193 :param azure_location: The Azure region. 2194 :type azure_location: str 2195 :param latencies: List of latency details for each of the time series. 2196 :type latencies: 2197 list[~azure.mgmt.network.v2018_01_01.models.AzureReachabilityReportLatencyInfo] 2198 """ 2199 2200 _attribute_map = { 2201 'provider': {'key': 'provider', 'type': 'str'}, 2202 'azure_location': {'key': 'azureLocation', 'type': 'str'}, 2203 'latencies': {'key': 'latencies', 'type': '[AzureReachabilityReportLatencyInfo]'}, 2204 } 2205 2206 def __init__( 2207 self, 2208 *, 2209 provider: Optional[str] = None, 2210 azure_location: Optional[str] = None, 2211 latencies: Optional[List["AzureReachabilityReportLatencyInfo"]] = None, 2212 **kwargs 2213 ): 2214 super(AzureReachabilityReportItem, self).__init__(**kwargs) 2215 self.provider = provider 2216 self.azure_location = azure_location 2217 self.latencies = latencies 2218 2219 2220class AzureReachabilityReportLatencyInfo(msrest.serialization.Model): 2221 """Details on latency for a time series. 2222 2223 :param time_stamp: The time stamp. 2224 :type time_stamp: ~datetime.datetime 2225 :param score: The relative latency score between 1 and 100, higher values indicating a faster 2226 connection. 2227 :type score: int 2228 """ 2229 2230 _validation = { 2231 'score': {'maximum': 100, 'minimum': 1}, 2232 } 2233 2234 _attribute_map = { 2235 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, 2236 'score': {'key': 'score', 'type': 'int'}, 2237 } 2238 2239 def __init__( 2240 self, 2241 *, 2242 time_stamp: Optional[datetime.datetime] = None, 2243 score: Optional[int] = None, 2244 **kwargs 2245 ): 2246 super(AzureReachabilityReportLatencyInfo, self).__init__(**kwargs) 2247 self.time_stamp = time_stamp 2248 self.score = score 2249 2250 2251class AzureReachabilityReportLocation(msrest.serialization.Model): 2252 """Parameters that define a geographic location. 2253 2254 All required parameters must be populated in order to send to Azure. 2255 2256 :param country: Required. The name of the country. 2257 :type country: str 2258 :param state: The name of the state. 2259 :type state: str 2260 :param city: The name of the city or town. 2261 :type city: str 2262 """ 2263 2264 _validation = { 2265 'country': {'required': True}, 2266 } 2267 2268 _attribute_map = { 2269 'country': {'key': 'country', 'type': 'str'}, 2270 'state': {'key': 'state', 'type': 'str'}, 2271 'city': {'key': 'city', 'type': 'str'}, 2272 } 2273 2274 def __init__( 2275 self, 2276 *, 2277 country: str, 2278 state: Optional[str] = None, 2279 city: Optional[str] = None, 2280 **kwargs 2281 ): 2282 super(AzureReachabilityReportLocation, self).__init__(**kwargs) 2283 self.country = country 2284 self.state = state 2285 self.city = city 2286 2287 2288class AzureReachabilityReportParameters(msrest.serialization.Model): 2289 """Geographic and time constraints for Azure reachability report. 2290 2291 All required parameters must be populated in order to send to Azure. 2292 2293 :param provider_location: Required. Parameters that define a geographic location. 2294 :type provider_location: ~azure.mgmt.network.v2018_01_01.models.AzureReachabilityReportLocation 2295 :param providers: List of Internet service providers. 2296 :type providers: list[str] 2297 :param azure_locations: Optional Azure regions to scope the query to. 2298 :type azure_locations: list[str] 2299 :param start_time: Required. The start time for the Azure reachability report. 2300 :type start_time: ~datetime.datetime 2301 :param end_time: Required. The end time for the Azure reachability report. 2302 :type end_time: ~datetime.datetime 2303 """ 2304 2305 _validation = { 2306 'provider_location': {'required': True}, 2307 'start_time': {'required': True}, 2308 'end_time': {'required': True}, 2309 } 2310 2311 _attribute_map = { 2312 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, 2313 'providers': {'key': 'providers', 'type': '[str]'}, 2314 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, 2315 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 2316 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 2317 } 2318 2319 def __init__( 2320 self, 2321 *, 2322 provider_location: "AzureReachabilityReportLocation", 2323 start_time: datetime.datetime, 2324 end_time: datetime.datetime, 2325 providers: Optional[List[str]] = None, 2326 azure_locations: Optional[List[str]] = None, 2327 **kwargs 2328 ): 2329 super(AzureReachabilityReportParameters, self).__init__(**kwargs) 2330 self.provider_location = provider_location 2331 self.providers = providers 2332 self.azure_locations = azure_locations 2333 self.start_time = start_time 2334 self.end_time = end_time 2335 2336 2337class BackendAddressPool(SubResource): 2338 """Pool of backend IP addresses. 2339 2340 Variables are only populated by the server, and will be ignored when sending a request. 2341 2342 :param id: Resource ID. 2343 :type id: str 2344 :param name: Gets name of the resource that is unique within a resource group. This name can be 2345 used to access the resource. 2346 :type name: str 2347 :param etag: A unique read-only string that changes whenever the resource is updated. 2348 :type etag: str 2349 :ivar backend_ip_configurations: Gets collection of references to IP addresses defined in 2350 network interfaces. 2351 :vartype backend_ip_configurations: 2352 list[~azure.mgmt.network.v2018_01_01.models.NetworkInterfaceIPConfiguration] 2353 :ivar load_balancing_rules: Gets load balancing rules that use this backend address pool. 2354 :vartype load_balancing_rules: list[~azure.mgmt.network.v2018_01_01.models.SubResource] 2355 :ivar outbound_nat_rule: Gets outbound rules that use this backend address pool. 2356 :vartype outbound_nat_rule: ~azure.mgmt.network.v2018_01_01.models.SubResource 2357 :param provisioning_state: Get provisioning state of the public IP resource. Possible values 2358 are: 'Updating', 'Deleting', and 'Failed'. 2359 :type provisioning_state: str 2360 """ 2361 2362 _validation = { 2363 'backend_ip_configurations': {'readonly': True}, 2364 'load_balancing_rules': {'readonly': True}, 2365 'outbound_nat_rule': {'readonly': True}, 2366 } 2367 2368 _attribute_map = { 2369 'id': {'key': 'id', 'type': 'str'}, 2370 'name': {'key': 'name', 'type': 'str'}, 2371 'etag': {'key': 'etag', 'type': 'str'}, 2372 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 2373 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 2374 'outbound_nat_rule': {'key': 'properties.outboundNatRule', 'type': 'SubResource'}, 2375 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2376 } 2377 2378 def __init__( 2379 self, 2380 *, 2381 id: Optional[str] = None, 2382 name: Optional[str] = None, 2383 etag: Optional[str] = None, 2384 provisioning_state: Optional[str] = None, 2385 **kwargs 2386 ): 2387 super(BackendAddressPool, self).__init__(id=id, **kwargs) 2388 self.name = name 2389 self.etag = etag 2390 self.backend_ip_configurations = None 2391 self.load_balancing_rules = None 2392 self.outbound_nat_rule = None 2393 self.provisioning_state = provisioning_state 2394 2395 2396class BGPCommunity(msrest.serialization.Model): 2397 """Contains bgp community information offered in Service Community resources. 2398 2399 :param service_supported_region: The region which the service support. e.g. For O365, region is 2400 Global. 2401 :type service_supported_region: str 2402 :param community_name: The name of the bgp community. e.g. Skype. 2403 :type community_name: str 2404 :param community_value: The value of the bgp community. For more information: 2405 https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. 2406 :type community_value: str 2407 :param community_prefixes: The prefixes that the bgp community contains. 2408 :type community_prefixes: list[str] 2409 :param is_authorized_to_use: Customer is authorized to use bgp community or not. 2410 :type is_authorized_to_use: bool 2411 :param service_group: The service group of the bgp community contains. 2412 :type service_group: str 2413 """ 2414 2415 _attribute_map = { 2416 'service_supported_region': {'key': 'serviceSupportedRegion', 'type': 'str'}, 2417 'community_name': {'key': 'communityName', 'type': 'str'}, 2418 'community_value': {'key': 'communityValue', 'type': 'str'}, 2419 'community_prefixes': {'key': 'communityPrefixes', 'type': '[str]'}, 2420 'is_authorized_to_use': {'key': 'isAuthorizedToUse', 'type': 'bool'}, 2421 'service_group': {'key': 'serviceGroup', 'type': 'str'}, 2422 } 2423 2424 def __init__( 2425 self, 2426 *, 2427 service_supported_region: Optional[str] = None, 2428 community_name: Optional[str] = None, 2429 community_value: Optional[str] = None, 2430 community_prefixes: Optional[List[str]] = None, 2431 is_authorized_to_use: Optional[bool] = None, 2432 service_group: Optional[str] = None, 2433 **kwargs 2434 ): 2435 super(BGPCommunity, self).__init__(**kwargs) 2436 self.service_supported_region = service_supported_region 2437 self.community_name = community_name 2438 self.community_value = community_value 2439 self.community_prefixes = community_prefixes 2440 self.is_authorized_to_use = is_authorized_to_use 2441 self.service_group = service_group 2442 2443 2444class BgpPeerStatus(msrest.serialization.Model): 2445 """BGP peer status details. 2446 2447 Variables are only populated by the server, and will be ignored when sending a request. 2448 2449 :ivar local_address: The virtual network gateway's local address. 2450 :vartype local_address: str 2451 :ivar neighbor: The remote BGP peer. 2452 :vartype neighbor: str 2453 :ivar asn: The autonomous system number of the remote BGP peer. 2454 :vartype asn: int 2455 :ivar state: The BGP peer state. Possible values include: "Unknown", "Stopped", "Idle", 2456 "Connecting", "Connected". 2457 :vartype state: str or ~azure.mgmt.network.v2018_01_01.models.BgpPeerState 2458 :ivar connected_duration: For how long the peering has been up. 2459 :vartype connected_duration: str 2460 :ivar routes_received: The number of routes learned from this peer. 2461 :vartype routes_received: long 2462 :ivar messages_sent: The number of BGP messages sent. 2463 :vartype messages_sent: long 2464 :ivar messages_received: The number of BGP messages received. 2465 :vartype messages_received: long 2466 """ 2467 2468 _validation = { 2469 'local_address': {'readonly': True}, 2470 'neighbor': {'readonly': True}, 2471 'asn': {'readonly': True}, 2472 'state': {'readonly': True}, 2473 'connected_duration': {'readonly': True}, 2474 'routes_received': {'readonly': True}, 2475 'messages_sent': {'readonly': True}, 2476 'messages_received': {'readonly': True}, 2477 } 2478 2479 _attribute_map = { 2480 'local_address': {'key': 'localAddress', 'type': 'str'}, 2481 'neighbor': {'key': 'neighbor', 'type': 'str'}, 2482 'asn': {'key': 'asn', 'type': 'int'}, 2483 'state': {'key': 'state', 'type': 'str'}, 2484 'connected_duration': {'key': 'connectedDuration', 'type': 'str'}, 2485 'routes_received': {'key': 'routesReceived', 'type': 'long'}, 2486 'messages_sent': {'key': 'messagesSent', 'type': 'long'}, 2487 'messages_received': {'key': 'messagesReceived', 'type': 'long'}, 2488 } 2489 2490 def __init__( 2491 self, 2492 **kwargs 2493 ): 2494 super(BgpPeerStatus, self).__init__(**kwargs) 2495 self.local_address = None 2496 self.neighbor = None 2497 self.asn = None 2498 self.state = None 2499 self.connected_duration = None 2500 self.routes_received = None 2501 self.messages_sent = None 2502 self.messages_received = None 2503 2504 2505class BgpPeerStatusListResult(msrest.serialization.Model): 2506 """Response for list BGP peer status API service call. 2507 2508 :param value: List of BGP peers. 2509 :type value: list[~azure.mgmt.network.v2018_01_01.models.BgpPeerStatus] 2510 """ 2511 2512 _attribute_map = { 2513 'value': {'key': 'value', 'type': '[BgpPeerStatus]'}, 2514 } 2515 2516 def __init__( 2517 self, 2518 *, 2519 value: Optional[List["BgpPeerStatus"]] = None, 2520 **kwargs 2521 ): 2522 super(BgpPeerStatusListResult, self).__init__(**kwargs) 2523 self.value = value 2524 2525 2526class BgpServiceCommunity(Resource): 2527 """Service Community Properties. 2528 2529 Variables are only populated by the server, and will be ignored when sending a request. 2530 2531 :param id: Resource ID. 2532 :type id: str 2533 :ivar name: Resource name. 2534 :vartype name: str 2535 :ivar type: Resource type. 2536 :vartype type: str 2537 :param location: Resource location. 2538 :type location: str 2539 :param tags: A set of tags. Resource tags. 2540 :type tags: dict[str, str] 2541 :param service_name: The name of the bgp community. e.g. Skype. 2542 :type service_name: str 2543 :param bgp_communities: Get a list of bgp communities. 2544 :type bgp_communities: list[~azure.mgmt.network.v2018_01_01.models.BGPCommunity] 2545 """ 2546 2547 _validation = { 2548 'name': {'readonly': True}, 2549 'type': {'readonly': True}, 2550 } 2551 2552 _attribute_map = { 2553 'id': {'key': 'id', 'type': 'str'}, 2554 'name': {'key': 'name', 'type': 'str'}, 2555 'type': {'key': 'type', 'type': 'str'}, 2556 'location': {'key': 'location', 'type': 'str'}, 2557 'tags': {'key': 'tags', 'type': '{str}'}, 2558 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, 2559 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': '[BGPCommunity]'}, 2560 } 2561 2562 def __init__( 2563 self, 2564 *, 2565 id: Optional[str] = None, 2566 location: Optional[str] = None, 2567 tags: Optional[Dict[str, str]] = None, 2568 service_name: Optional[str] = None, 2569 bgp_communities: Optional[List["BGPCommunity"]] = None, 2570 **kwargs 2571 ): 2572 super(BgpServiceCommunity, self).__init__(id=id, location=location, tags=tags, **kwargs) 2573 self.service_name = service_name 2574 self.bgp_communities = bgp_communities 2575 2576 2577class BgpServiceCommunityListResult(msrest.serialization.Model): 2578 """Response for the ListServiceCommunity API service call. 2579 2580 :param value: A list of service community resources. 2581 :type value: list[~azure.mgmt.network.v2018_01_01.models.BgpServiceCommunity] 2582 :param next_link: The URL to get the next set of results. 2583 :type next_link: str 2584 """ 2585 2586 _attribute_map = { 2587 'value': {'key': 'value', 'type': '[BgpServiceCommunity]'}, 2588 'next_link': {'key': 'nextLink', 'type': 'str'}, 2589 } 2590 2591 def __init__( 2592 self, 2593 *, 2594 value: Optional[List["BgpServiceCommunity"]] = None, 2595 next_link: Optional[str] = None, 2596 **kwargs 2597 ): 2598 super(BgpServiceCommunityListResult, self).__init__(**kwargs) 2599 self.value = value 2600 self.next_link = next_link 2601 2602 2603class BgpSettings(msrest.serialization.Model): 2604 """BGP settings details. 2605 2606 :param asn: The BGP speaker's ASN. 2607 :type asn: long 2608 :param bgp_peering_address: The BGP peering address and BGP identifier of this BGP speaker. 2609 :type bgp_peering_address: str 2610 :param peer_weight: The weight added to routes learned from this BGP speaker. 2611 :type peer_weight: int 2612 """ 2613 2614 _attribute_map = { 2615 'asn': {'key': 'asn', 'type': 'long'}, 2616 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, 2617 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, 2618 } 2619 2620 def __init__( 2621 self, 2622 *, 2623 asn: Optional[int] = None, 2624 bgp_peering_address: Optional[str] = None, 2625 peer_weight: Optional[int] = None, 2626 **kwargs 2627 ): 2628 super(BgpSettings, self).__init__(**kwargs) 2629 self.asn = asn 2630 self.bgp_peering_address = bgp_peering_address 2631 self.peer_weight = peer_weight 2632 2633 2634class ConnectionMonitor(msrest.serialization.Model): 2635 """Parameters that define the operation to create a connection monitor. 2636 2637 All required parameters must be populated in order to send to Azure. 2638 2639 :param location: Connection monitor location. 2640 :type location: str 2641 :param tags: A set of tags. Connection monitor tags. 2642 :type tags: dict[str, str] 2643 :param source: Required. Describes the source of connection monitor. 2644 :type source: ~azure.mgmt.network.v2018_01_01.models.ConnectionMonitorSource 2645 :param destination: Required. Describes the destination of connection monitor. 2646 :type destination: ~azure.mgmt.network.v2018_01_01.models.ConnectionMonitorDestination 2647 :param auto_start: Determines if the connection monitor will start automatically once created. 2648 :type auto_start: bool 2649 :param monitoring_interval_in_seconds: Monitoring interval in seconds. 2650 :type monitoring_interval_in_seconds: int 2651 """ 2652 2653 _validation = { 2654 'source': {'required': True}, 2655 'destination': {'required': True}, 2656 } 2657 2658 _attribute_map = { 2659 'location': {'key': 'location', 'type': 'str'}, 2660 'tags': {'key': 'tags', 'type': '{str}'}, 2661 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, 2662 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, 2663 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, 2664 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, 2665 } 2666 2667 def __init__( 2668 self, 2669 *, 2670 source: "ConnectionMonitorSource", 2671 destination: "ConnectionMonitorDestination", 2672 location: Optional[str] = None, 2673 tags: Optional[Dict[str, str]] = None, 2674 auto_start: Optional[bool] = True, 2675 monitoring_interval_in_seconds: Optional[int] = 60, 2676 **kwargs 2677 ): 2678 super(ConnectionMonitor, self).__init__(**kwargs) 2679 self.location = location 2680 self.tags = tags 2681 self.source = source 2682 self.destination = destination 2683 self.auto_start = auto_start 2684 self.monitoring_interval_in_seconds = monitoring_interval_in_seconds 2685 2686 2687class ConnectionMonitorDestination(msrest.serialization.Model): 2688 """Describes the destination of connection monitor. 2689 2690 :param resource_id: The ID of the resource used as the destination by connection monitor. 2691 :type resource_id: str 2692 :param address: Address of the connection monitor destination (IP or domain name). 2693 :type address: str 2694 :param port: The destination port used by connection monitor. 2695 :type port: int 2696 """ 2697 2698 _attribute_map = { 2699 'resource_id': {'key': 'resourceId', 'type': 'str'}, 2700 'address': {'key': 'address', 'type': 'str'}, 2701 'port': {'key': 'port', 'type': 'int'}, 2702 } 2703 2704 def __init__( 2705 self, 2706 *, 2707 resource_id: Optional[str] = None, 2708 address: Optional[str] = None, 2709 port: Optional[int] = None, 2710 **kwargs 2711 ): 2712 super(ConnectionMonitorDestination, self).__init__(**kwargs) 2713 self.resource_id = resource_id 2714 self.address = address 2715 self.port = port 2716 2717 2718class ConnectionMonitorListResult(msrest.serialization.Model): 2719 """List of connection monitors. 2720 2721 :param value: Information about connection monitors. 2722 :type value: list[~azure.mgmt.network.v2018_01_01.models.ConnectionMonitorResult] 2723 """ 2724 2725 _attribute_map = { 2726 'value': {'key': 'value', 'type': '[ConnectionMonitorResult]'}, 2727 } 2728 2729 def __init__( 2730 self, 2731 *, 2732 value: Optional[List["ConnectionMonitorResult"]] = None, 2733 **kwargs 2734 ): 2735 super(ConnectionMonitorListResult, self).__init__(**kwargs) 2736 self.value = value 2737 2738 2739class ConnectionMonitorParameters(msrest.serialization.Model): 2740 """Parameters that define the operation to create a connection monitor. 2741 2742 All required parameters must be populated in order to send to Azure. 2743 2744 :param source: Required. Describes the source of connection monitor. 2745 :type source: ~azure.mgmt.network.v2018_01_01.models.ConnectionMonitorSource 2746 :param destination: Required. Describes the destination of connection monitor. 2747 :type destination: ~azure.mgmt.network.v2018_01_01.models.ConnectionMonitorDestination 2748 :param auto_start: Determines if the connection monitor will start automatically once created. 2749 :type auto_start: bool 2750 :param monitoring_interval_in_seconds: Monitoring interval in seconds. 2751 :type monitoring_interval_in_seconds: int 2752 """ 2753 2754 _validation = { 2755 'source': {'required': True}, 2756 'destination': {'required': True}, 2757 } 2758 2759 _attribute_map = { 2760 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, 2761 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, 2762 'auto_start': {'key': 'autoStart', 'type': 'bool'}, 2763 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, 2764 } 2765 2766 def __init__( 2767 self, 2768 *, 2769 source: "ConnectionMonitorSource", 2770 destination: "ConnectionMonitorDestination", 2771 auto_start: Optional[bool] = True, 2772 monitoring_interval_in_seconds: Optional[int] = 60, 2773 **kwargs 2774 ): 2775 super(ConnectionMonitorParameters, self).__init__(**kwargs) 2776 self.source = source 2777 self.destination = destination 2778 self.auto_start = auto_start 2779 self.monitoring_interval_in_seconds = monitoring_interval_in_seconds 2780 2781 2782class ConnectionMonitorQueryResult(msrest.serialization.Model): 2783 """List of connection states snapshots. 2784 2785 :param states: Information about connection states. 2786 :type states: list[~azure.mgmt.network.v2018_01_01.models.ConnectionStateSnapshot] 2787 """ 2788 2789 _attribute_map = { 2790 'states': {'key': 'states', 'type': '[ConnectionStateSnapshot]'}, 2791 } 2792 2793 def __init__( 2794 self, 2795 *, 2796 states: Optional[List["ConnectionStateSnapshot"]] = None, 2797 **kwargs 2798 ): 2799 super(ConnectionMonitorQueryResult, self).__init__(**kwargs) 2800 self.states = states 2801 2802 2803class ConnectionMonitorResult(msrest.serialization.Model): 2804 """Information about the connection monitor. 2805 2806 Variables are only populated by the server, and will be ignored when sending a request. 2807 2808 :ivar name: Name of the connection monitor. 2809 :vartype name: str 2810 :ivar id: ID of the connection monitor. 2811 :vartype id: str 2812 :param etag: 2813 :type etag: str 2814 :ivar type: Connection monitor type. 2815 :vartype type: str 2816 :param location: Connection monitor location. 2817 :type location: str 2818 :param tags: A set of tags. Connection monitor tags. 2819 :type tags: dict[str, str] 2820 :param source: Describes the source of connection monitor. 2821 :type source: ~azure.mgmt.network.v2018_01_01.models.ConnectionMonitorSource 2822 :param destination: Describes the destination of connection monitor. 2823 :type destination: ~azure.mgmt.network.v2018_01_01.models.ConnectionMonitorDestination 2824 :param auto_start: Determines if the connection monitor will start automatically once created. 2825 :type auto_start: bool 2826 :param monitoring_interval_in_seconds: Monitoring interval in seconds. 2827 :type monitoring_interval_in_seconds: int 2828 :param provisioning_state: The provisioning state of the connection monitor. Possible values 2829 include: "Succeeded", "Updating", "Deleting", "Failed". 2830 :type provisioning_state: str or ~azure.mgmt.network.v2018_01_01.models.ProvisioningState 2831 :param start_time: The date and time when the connection monitor was started. 2832 :type start_time: ~datetime.datetime 2833 :param monitoring_status: The monitoring status of the connection monitor. 2834 :type monitoring_status: str 2835 """ 2836 2837 _validation = { 2838 'name': {'readonly': True}, 2839 'id': {'readonly': True}, 2840 'type': {'readonly': True}, 2841 } 2842 2843 _attribute_map = { 2844 'name': {'key': 'name', 'type': 'str'}, 2845 'id': {'key': 'id', 'type': 'str'}, 2846 'etag': {'key': 'etag', 'type': 'str'}, 2847 'type': {'key': 'type', 'type': 'str'}, 2848 'location': {'key': 'location', 'type': 'str'}, 2849 'tags': {'key': 'tags', 'type': '{str}'}, 2850 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, 2851 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, 2852 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, 2853 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, 2854 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2855 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, 2856 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, 2857 } 2858 2859 def __init__( 2860 self, 2861 *, 2862 etag: Optional[str] = "A unique read-only string that changes whenever the resource is updated.", 2863 location: Optional[str] = None, 2864 tags: Optional[Dict[str, str]] = None, 2865 source: Optional["ConnectionMonitorSource"] = None, 2866 destination: Optional["ConnectionMonitorDestination"] = None, 2867 auto_start: Optional[bool] = True, 2868 monitoring_interval_in_seconds: Optional[int] = 60, 2869 provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, 2870 start_time: Optional[datetime.datetime] = None, 2871 monitoring_status: Optional[str] = None, 2872 **kwargs 2873 ): 2874 super(ConnectionMonitorResult, self).__init__(**kwargs) 2875 self.name = None 2876 self.id = None 2877 self.etag = etag 2878 self.type = None 2879 self.location = location 2880 self.tags = tags 2881 self.source = source 2882 self.destination = destination 2883 self.auto_start = auto_start 2884 self.monitoring_interval_in_seconds = monitoring_interval_in_seconds 2885 self.provisioning_state = provisioning_state 2886 self.start_time = start_time 2887 self.monitoring_status = monitoring_status 2888 2889 2890class ConnectionMonitorResultProperties(ConnectionMonitorParameters): 2891 """Describes the properties of a connection monitor. 2892 2893 All required parameters must be populated in order to send to Azure. 2894 2895 :param source: Required. Describes the source of connection monitor. 2896 :type source: ~azure.mgmt.network.v2018_01_01.models.ConnectionMonitorSource 2897 :param destination: Required. Describes the destination of connection monitor. 2898 :type destination: ~azure.mgmt.network.v2018_01_01.models.ConnectionMonitorDestination 2899 :param auto_start: Determines if the connection monitor will start automatically once created. 2900 :type auto_start: bool 2901 :param monitoring_interval_in_seconds: Monitoring interval in seconds. 2902 :type monitoring_interval_in_seconds: int 2903 :param provisioning_state: The provisioning state of the connection monitor. Possible values 2904 include: "Succeeded", "Updating", "Deleting", "Failed". 2905 :type provisioning_state: str or ~azure.mgmt.network.v2018_01_01.models.ProvisioningState 2906 :param start_time: The date and time when the connection monitor was started. 2907 :type start_time: ~datetime.datetime 2908 :param monitoring_status: The monitoring status of the connection monitor. 2909 :type monitoring_status: str 2910 """ 2911 2912 _validation = { 2913 'source': {'required': True}, 2914 'destination': {'required': True}, 2915 } 2916 2917 _attribute_map = { 2918 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, 2919 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, 2920 'auto_start': {'key': 'autoStart', 'type': 'bool'}, 2921 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, 2922 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 2923 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 2924 'monitoring_status': {'key': 'monitoringStatus', 'type': 'str'}, 2925 } 2926 2927 def __init__( 2928 self, 2929 *, 2930 source: "ConnectionMonitorSource", 2931 destination: "ConnectionMonitorDestination", 2932 auto_start: Optional[bool] = True, 2933 monitoring_interval_in_seconds: Optional[int] = 60, 2934 provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, 2935 start_time: Optional[datetime.datetime] = None, 2936 monitoring_status: Optional[str] = None, 2937 **kwargs 2938 ): 2939 super(ConnectionMonitorResultProperties, self).__init__(source=source, destination=destination, auto_start=auto_start, monitoring_interval_in_seconds=monitoring_interval_in_seconds, **kwargs) 2940 self.provisioning_state = provisioning_state 2941 self.start_time = start_time 2942 self.monitoring_status = monitoring_status 2943 2944 2945class ConnectionMonitorSource(msrest.serialization.Model): 2946 """Describes the source of connection monitor. 2947 2948 All required parameters must be populated in order to send to Azure. 2949 2950 :param resource_id: Required. The ID of the resource used as the source by connection monitor. 2951 :type resource_id: str 2952 :param port: The source port used by connection monitor. 2953 :type port: int 2954 """ 2955 2956 _validation = { 2957 'resource_id': {'required': True}, 2958 } 2959 2960 _attribute_map = { 2961 'resource_id': {'key': 'resourceId', 'type': 'str'}, 2962 'port': {'key': 'port', 'type': 'int'}, 2963 } 2964 2965 def __init__( 2966 self, 2967 *, 2968 resource_id: str, 2969 port: Optional[int] = None, 2970 **kwargs 2971 ): 2972 super(ConnectionMonitorSource, self).__init__(**kwargs) 2973 self.resource_id = resource_id 2974 self.port = port 2975 2976 2977class ConnectionResetSharedKey(msrest.serialization.Model): 2978 """The virtual network connection reset shared key. 2979 2980 All required parameters must be populated in order to send to Azure. 2981 2982 :param key_length: Required. The virtual network connection reset shared key length, should 2983 between 1 and 128. 2984 :type key_length: int 2985 """ 2986 2987 _validation = { 2988 'key_length': {'required': True, 'maximum': 128, 'minimum': 1}, 2989 } 2990 2991 _attribute_map = { 2992 'key_length': {'key': 'keyLength', 'type': 'int'}, 2993 } 2994 2995 def __init__( 2996 self, 2997 *, 2998 key_length: int, 2999 **kwargs 3000 ): 3001 super(ConnectionResetSharedKey, self).__init__(**kwargs) 3002 self.key_length = key_length 3003 3004 3005class ConnectionSharedKey(msrest.serialization.Model): 3006 """Response for GetConnectionSharedKey API service call. 3007 3008 All required parameters must be populated in order to send to Azure. 3009 3010 :param value: Required. The virtual network connection shared key value. 3011 :type value: str 3012 """ 3013 3014 _validation = { 3015 'value': {'required': True}, 3016 } 3017 3018 _attribute_map = { 3019 'value': {'key': 'value', 'type': 'str'}, 3020 } 3021 3022 def __init__( 3023 self, 3024 *, 3025 value: str, 3026 **kwargs 3027 ): 3028 super(ConnectionSharedKey, self).__init__(**kwargs) 3029 self.value = value 3030 3031 3032class ConnectionStateSnapshot(msrest.serialization.Model): 3033 """Connection state snapshot. 3034 3035 Variables are only populated by the server, and will be ignored when sending a request. 3036 3037 :param connection_state: The connection state. Possible values include: "Reachable", 3038 "Unreachable", "Unknown". 3039 :type connection_state: str or ~azure.mgmt.network.v2018_01_01.models.ConnectionState 3040 :param start_time: The start time of the connection snapshot. 3041 :type start_time: ~datetime.datetime 3042 :param end_time: The end time of the connection snapshot. 3043 :type end_time: ~datetime.datetime 3044 :param evaluation_state: Connectivity analysis evaluation state. Possible values include: 3045 "NotStarted", "InProgress", "Completed". 3046 :type evaluation_state: str or ~azure.mgmt.network.v2018_01_01.models.EvaluationState 3047 :ivar hops: List of hops between the source and the destination. 3048 :vartype hops: list[~azure.mgmt.network.v2018_01_01.models.ConnectivityHop] 3049 """ 3050 3051 _validation = { 3052 'hops': {'readonly': True}, 3053 } 3054 3055 _attribute_map = { 3056 'connection_state': {'key': 'connectionState', 'type': 'str'}, 3057 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 3058 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 3059 'evaluation_state': {'key': 'evaluationState', 'type': 'str'}, 3060 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, 3061 } 3062 3063 def __init__( 3064 self, 3065 *, 3066 connection_state: Optional[Union[str, "ConnectionState"]] = None, 3067 start_time: Optional[datetime.datetime] = None, 3068 end_time: Optional[datetime.datetime] = None, 3069 evaluation_state: Optional[Union[str, "EvaluationState"]] = None, 3070 **kwargs 3071 ): 3072 super(ConnectionStateSnapshot, self).__init__(**kwargs) 3073 self.connection_state = connection_state 3074 self.start_time = start_time 3075 self.end_time = end_time 3076 self.evaluation_state = evaluation_state 3077 self.hops = None 3078 3079 3080class ConnectivityDestination(msrest.serialization.Model): 3081 """Parameters that define destination of connection. 3082 3083 :param resource_id: The ID of the resource to which a connection attempt will be made. 3084 :type resource_id: str 3085 :param address: The IP address or URI the resource to which a connection attempt will be made. 3086 :type address: str 3087 :param port: Port on which check connectivity will be performed. 3088 :type port: int 3089 """ 3090 3091 _attribute_map = { 3092 'resource_id': {'key': 'resourceId', 'type': 'str'}, 3093 'address': {'key': 'address', 'type': 'str'}, 3094 'port': {'key': 'port', 'type': 'int'}, 3095 } 3096 3097 def __init__( 3098 self, 3099 *, 3100 resource_id: Optional[str] = None, 3101 address: Optional[str] = None, 3102 port: Optional[int] = None, 3103 **kwargs 3104 ): 3105 super(ConnectivityDestination, self).__init__(**kwargs) 3106 self.resource_id = resource_id 3107 self.address = address 3108 self.port = port 3109 3110 3111class ConnectivityHop(msrest.serialization.Model): 3112 """Information about a hop between the source and the destination. 3113 3114 Variables are only populated by the server, and will be ignored when sending a request. 3115 3116 :ivar type: The type of the hop. 3117 :vartype type: str 3118 :ivar id: The ID of the hop. 3119 :vartype id: str 3120 :ivar address: The IP address of the hop. 3121 :vartype address: str 3122 :ivar resource_id: The ID of the resource corresponding to this hop. 3123 :vartype resource_id: str 3124 :ivar next_hop_ids: List of next hop identifiers. 3125 :vartype next_hop_ids: list[str] 3126 :ivar issues: List of issues. 3127 :vartype issues: list[~azure.mgmt.network.v2018_01_01.models.ConnectivityIssue] 3128 """ 3129 3130 _validation = { 3131 'type': {'readonly': True}, 3132 'id': {'readonly': True}, 3133 'address': {'readonly': True}, 3134 'resource_id': {'readonly': True}, 3135 'next_hop_ids': {'readonly': True}, 3136 'issues': {'readonly': True}, 3137 } 3138 3139 _attribute_map = { 3140 'type': {'key': 'type', 'type': 'str'}, 3141 'id': {'key': 'id', 'type': 'str'}, 3142 'address': {'key': 'address', 'type': 'str'}, 3143 'resource_id': {'key': 'resourceId', 'type': 'str'}, 3144 'next_hop_ids': {'key': 'nextHopIds', 'type': '[str]'}, 3145 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, 3146 } 3147 3148 def __init__( 3149 self, 3150 **kwargs 3151 ): 3152 super(ConnectivityHop, self).__init__(**kwargs) 3153 self.type = None 3154 self.id = None 3155 self.address = None 3156 self.resource_id = None 3157 self.next_hop_ids = None 3158 self.issues = None 3159 3160 3161class ConnectivityInformation(msrest.serialization.Model): 3162 """Information on the connectivity status. 3163 3164 Variables are only populated by the server, and will be ignored when sending a request. 3165 3166 :ivar hops: List of hops between the source and the destination. 3167 :vartype hops: list[~azure.mgmt.network.v2018_01_01.models.ConnectivityHop] 3168 :ivar connection_status: The connection status. Possible values include: "Unknown", 3169 "Connected", "Disconnected", "Degraded". 3170 :vartype connection_status: str or ~azure.mgmt.network.v2018_01_01.models.ConnectionStatus 3171 :ivar avg_latency_in_ms: Average latency in milliseconds. 3172 :vartype avg_latency_in_ms: int 3173 :ivar min_latency_in_ms: Minimum latency in milliseconds. 3174 :vartype min_latency_in_ms: int 3175 :ivar max_latency_in_ms: Maximum latency in milliseconds. 3176 :vartype max_latency_in_ms: int 3177 :ivar probes_sent: Total number of probes sent. 3178 :vartype probes_sent: int 3179 :ivar probes_failed: Number of failed probes. 3180 :vartype probes_failed: int 3181 """ 3182 3183 _validation = { 3184 'hops': {'readonly': True}, 3185 'connection_status': {'readonly': True}, 3186 'avg_latency_in_ms': {'readonly': True}, 3187 'min_latency_in_ms': {'readonly': True}, 3188 'max_latency_in_ms': {'readonly': True}, 3189 'probes_sent': {'readonly': True}, 3190 'probes_failed': {'readonly': True}, 3191 } 3192 3193 _attribute_map = { 3194 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, 3195 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, 3196 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, 3197 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, 3198 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, 3199 'probes_sent': {'key': 'probesSent', 'type': 'int'}, 3200 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, 3201 } 3202 3203 def __init__( 3204 self, 3205 **kwargs 3206 ): 3207 super(ConnectivityInformation, self).__init__(**kwargs) 3208 self.hops = None 3209 self.connection_status = None 3210 self.avg_latency_in_ms = None 3211 self.min_latency_in_ms = None 3212 self.max_latency_in_ms = None 3213 self.probes_sent = None 3214 self.probes_failed = None 3215 3216 3217class ConnectivityIssue(msrest.serialization.Model): 3218 """Information about an issue encountered in the process of checking for connectivity. 3219 3220 Variables are only populated by the server, and will be ignored when sending a request. 3221 3222 :ivar origin: The origin of the issue. Possible values include: "Local", "Inbound", "Outbound". 3223 :vartype origin: str or ~azure.mgmt.network.v2018_01_01.models.Origin 3224 :ivar severity: The severity of the issue. Possible values include: "Error", "Warning". 3225 :vartype severity: str or ~azure.mgmt.network.v2018_01_01.models.Severity 3226 :ivar type: The type of issue. Possible values include: "Unknown", "AgentStopped", 3227 "GuestFirewall", "DnsResolution", "SocketBind", "NetworkSecurityRule", "UserDefinedRoute", 3228 "PortThrottled", "Platform". 3229 :vartype type: str or ~azure.mgmt.network.v2018_01_01.models.IssueType 3230 :ivar context: Provides additional context on the issue. 3231 :vartype context: list[dict[str, str]] 3232 """ 3233 3234 _validation = { 3235 'origin': {'readonly': True}, 3236 'severity': {'readonly': True}, 3237 'type': {'readonly': True}, 3238 'context': {'readonly': True}, 3239 } 3240 3241 _attribute_map = { 3242 'origin': {'key': 'origin', 'type': 'str'}, 3243 'severity': {'key': 'severity', 'type': 'str'}, 3244 'type': {'key': 'type', 'type': 'str'}, 3245 'context': {'key': 'context', 'type': '[{str}]'}, 3246 } 3247 3248 def __init__( 3249 self, 3250 **kwargs 3251 ): 3252 super(ConnectivityIssue, self).__init__(**kwargs) 3253 self.origin = None 3254 self.severity = None 3255 self.type = None 3256 self.context = None 3257 3258 3259class ConnectivityParameters(msrest.serialization.Model): 3260 """Parameters that determine how the connectivity check will be performed. 3261 3262 All required parameters must be populated in order to send to Azure. 3263 3264 :param source: Required. Parameters that define the source of the connection. 3265 :type source: ~azure.mgmt.network.v2018_01_01.models.ConnectivitySource 3266 :param destination: Required. Parameters that define destination of connection. 3267 :type destination: ~azure.mgmt.network.v2018_01_01.models.ConnectivityDestination 3268 """ 3269 3270 _validation = { 3271 'source': {'required': True}, 3272 'destination': {'required': True}, 3273 } 3274 3275 _attribute_map = { 3276 'source': {'key': 'source', 'type': 'ConnectivitySource'}, 3277 'destination': {'key': 'destination', 'type': 'ConnectivityDestination'}, 3278 } 3279 3280 def __init__( 3281 self, 3282 *, 3283 source: "ConnectivitySource", 3284 destination: "ConnectivityDestination", 3285 **kwargs 3286 ): 3287 super(ConnectivityParameters, self).__init__(**kwargs) 3288 self.source = source 3289 self.destination = destination 3290 3291 3292class ConnectivitySource(msrest.serialization.Model): 3293 """Parameters that define the source of the connection. 3294 3295 All required parameters must be populated in order to send to Azure. 3296 3297 :param resource_id: Required. The ID of the resource from which a connectivity check will be 3298 initiated. 3299 :type resource_id: str 3300 :param port: The source port from which a connectivity check will be performed. 3301 :type port: int 3302 """ 3303 3304 _validation = { 3305 'resource_id': {'required': True}, 3306 } 3307 3308 _attribute_map = { 3309 'resource_id': {'key': 'resourceId', 'type': 'str'}, 3310 'port': {'key': 'port', 'type': 'int'}, 3311 } 3312 3313 def __init__( 3314 self, 3315 *, 3316 resource_id: str, 3317 port: Optional[int] = None, 3318 **kwargs 3319 ): 3320 super(ConnectivitySource, self).__init__(**kwargs) 3321 self.resource_id = resource_id 3322 self.port = port 3323 3324 3325class DhcpOptions(msrest.serialization.Model): 3326 """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. 3327 3328 :param dns_servers: The list of DNS servers IP addresses. 3329 :type dns_servers: list[str] 3330 """ 3331 3332 _attribute_map = { 3333 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, 3334 } 3335 3336 def __init__( 3337 self, 3338 *, 3339 dns_servers: Optional[List[str]] = None, 3340 **kwargs 3341 ): 3342 super(DhcpOptions, self).__init__(**kwargs) 3343 self.dns_servers = dns_servers 3344 3345 3346class Dimension(msrest.serialization.Model): 3347 """Dimension of the metric. 3348 3349 :param name: The name of the dimension. 3350 :type name: str 3351 :param display_name: The display name of the dimension. 3352 :type display_name: str 3353 :param internal_name: The internal name of the dimension. 3354 :type internal_name: str 3355 """ 3356 3357 _attribute_map = { 3358 'name': {'key': 'name', 'type': 'str'}, 3359 'display_name': {'key': 'displayName', 'type': 'str'}, 3360 'internal_name': {'key': 'internalName', 'type': 'str'}, 3361 } 3362 3363 def __init__( 3364 self, 3365 *, 3366 name: Optional[str] = None, 3367 display_name: Optional[str] = None, 3368 internal_name: Optional[str] = None, 3369 **kwargs 3370 ): 3371 super(Dimension, self).__init__(**kwargs) 3372 self.name = name 3373 self.display_name = display_name 3374 self.internal_name = internal_name 3375 3376 3377class DnsNameAvailabilityResult(msrest.serialization.Model): 3378 """Response for the CheckDnsNameAvailability API service call. 3379 3380 :param available: Domain availability (True/False). 3381 :type available: bool 3382 """ 3383 3384 _attribute_map = { 3385 'available': {'key': 'available', 'type': 'bool'}, 3386 } 3387 3388 def __init__( 3389 self, 3390 *, 3391 available: Optional[bool] = None, 3392 **kwargs 3393 ): 3394 super(DnsNameAvailabilityResult, self).__init__(**kwargs) 3395 self.available = available 3396 3397 3398class EffectiveNetworkSecurityGroup(msrest.serialization.Model): 3399 """Effective network security group. 3400 3401 :param network_security_group: The ID of network security group that is applied. 3402 :type network_security_group: ~azure.mgmt.network.v2018_01_01.models.SubResource 3403 :param association: Associated resources. 3404 :type association: 3405 ~azure.mgmt.network.v2018_01_01.models.EffectiveNetworkSecurityGroupAssociation 3406 :param effective_security_rules: A collection of effective security rules. 3407 :type effective_security_rules: 3408 list[~azure.mgmt.network.v2018_01_01.models.EffectiveNetworkSecurityRule] 3409 :param tag_map: Mapping of tags to list of IP Addresses included within the tag. 3410 :type tag_map: str 3411 """ 3412 3413 _attribute_map = { 3414 'network_security_group': {'key': 'networkSecurityGroup', 'type': 'SubResource'}, 3415 'association': {'key': 'association', 'type': 'EffectiveNetworkSecurityGroupAssociation'}, 3416 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, 3417 'tag_map': {'key': 'tagMap', 'type': 'str'}, 3418 } 3419 3420 def __init__( 3421 self, 3422 *, 3423 network_security_group: Optional["SubResource"] = None, 3424 association: Optional["EffectiveNetworkSecurityGroupAssociation"] = None, 3425 effective_security_rules: Optional[List["EffectiveNetworkSecurityRule"]] = None, 3426 tag_map: Optional[str] = None, 3427 **kwargs 3428 ): 3429 super(EffectiveNetworkSecurityGroup, self).__init__(**kwargs) 3430 self.network_security_group = network_security_group 3431 self.association = association 3432 self.effective_security_rules = effective_security_rules 3433 self.tag_map = tag_map 3434 3435 3436class EffectiveNetworkSecurityGroupAssociation(msrest.serialization.Model): 3437 """The effective network security group association. 3438 3439 :param subnet: The ID of the subnet if assigned. 3440 :type subnet: ~azure.mgmt.network.v2018_01_01.models.SubResource 3441 :param network_interface: The ID of the network interface if assigned. 3442 :type network_interface: ~azure.mgmt.network.v2018_01_01.models.SubResource 3443 """ 3444 3445 _attribute_map = { 3446 'subnet': {'key': 'subnet', 'type': 'SubResource'}, 3447 'network_interface': {'key': 'networkInterface', 'type': 'SubResource'}, 3448 } 3449 3450 def __init__( 3451 self, 3452 *, 3453 subnet: Optional["SubResource"] = None, 3454 network_interface: Optional["SubResource"] = None, 3455 **kwargs 3456 ): 3457 super(EffectiveNetworkSecurityGroupAssociation, self).__init__(**kwargs) 3458 self.subnet = subnet 3459 self.network_interface = network_interface 3460 3461 3462class EffectiveNetworkSecurityGroupListResult(msrest.serialization.Model): 3463 """Response for list effective network security groups API service call. 3464 3465 Variables are only populated by the server, and will be ignored when sending a request. 3466 3467 :param value: A list of effective network security groups. 3468 :type value: list[~azure.mgmt.network.v2018_01_01.models.EffectiveNetworkSecurityGroup] 3469 :ivar next_link: The URL to get the next set of results. 3470 :vartype next_link: str 3471 """ 3472 3473 _validation = { 3474 'next_link': {'readonly': True}, 3475 } 3476 3477 _attribute_map = { 3478 'value': {'key': 'value', 'type': '[EffectiveNetworkSecurityGroup]'}, 3479 'next_link': {'key': 'nextLink', 'type': 'str'}, 3480 } 3481 3482 def __init__( 3483 self, 3484 *, 3485 value: Optional[List["EffectiveNetworkSecurityGroup"]] = None, 3486 **kwargs 3487 ): 3488 super(EffectiveNetworkSecurityGroupListResult, self).__init__(**kwargs) 3489 self.value = value 3490 self.next_link = None 3491 3492 3493class EffectiveNetworkSecurityRule(msrest.serialization.Model): 3494 """Effective network security rules. 3495 3496 :param name: The name of the security rule specified by the user (if created by the user). 3497 :type name: str 3498 :param protocol: The network protocol this rule applies to. Possible values are: 'Tcp', 'Udp', 3499 and 'All'. Possible values include: "Tcp", "Udp", "All". 3500 :type protocol: str or ~azure.mgmt.network.v2018_01_01.models.EffectiveSecurityRuleProtocol 3501 :param source_port_range: The source port or range. 3502 :type source_port_range: str 3503 :param destination_port_range: The destination port or range. 3504 :type destination_port_range: str 3505 :param source_port_ranges: The source port ranges. Expected values include a single integer 3506 between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*). 3507 :type source_port_ranges: list[str] 3508 :param destination_port_ranges: The destination port ranges. Expected values include a single 3509 integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*). 3510 :type destination_port_ranges: list[str] 3511 :param source_address_prefix: The source address prefix. 3512 :type source_address_prefix: str 3513 :param destination_address_prefix: The destination address prefix. 3514 :type destination_address_prefix: str 3515 :param source_address_prefixes: The source address prefixes. Expected values include CIDR IP 3516 ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the 3517 asterisk (*). 3518 :type source_address_prefixes: list[str] 3519 :param destination_address_prefixes: The destination address prefixes. Expected values include 3520 CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and 3521 the asterisk (*). 3522 :type destination_address_prefixes: list[str] 3523 :param expanded_source_address_prefix: The expanded source address prefix. 3524 :type expanded_source_address_prefix: list[str] 3525 :param expanded_destination_address_prefix: Expanded destination address prefix. 3526 :type expanded_destination_address_prefix: list[str] 3527 :param access: Whether network traffic is allowed or denied. Possible values are: 'Allow' and 3528 'Deny'. Possible values include: "Allow", "Deny". 3529 :type access: str or ~azure.mgmt.network.v2018_01_01.models.SecurityRuleAccess 3530 :param priority: The priority of the rule. 3531 :type priority: int 3532 :param direction: The direction of the rule. Possible values are: 'Inbound and Outbound'. 3533 Possible values include: "Inbound", "Outbound". 3534 :type direction: str or ~azure.mgmt.network.v2018_01_01.models.SecurityRuleDirection 3535 """ 3536 3537 _attribute_map = { 3538 'name': {'key': 'name', 'type': 'str'}, 3539 'protocol': {'key': 'protocol', 'type': 'str'}, 3540 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, 3541 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, 3542 'source_port_ranges': {'key': 'sourcePortRanges', 'type': '[str]'}, 3543 'destination_port_ranges': {'key': 'destinationPortRanges', 'type': '[str]'}, 3544 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, 3545 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, 3546 'source_address_prefixes': {'key': 'sourceAddressPrefixes', 'type': '[str]'}, 3547 'destination_address_prefixes': {'key': 'destinationAddressPrefixes', 'type': '[str]'}, 3548 'expanded_source_address_prefix': {'key': 'expandedSourceAddressPrefix', 'type': '[str]'}, 3549 'expanded_destination_address_prefix': {'key': 'expandedDestinationAddressPrefix', 'type': '[str]'}, 3550 'access': {'key': 'access', 'type': 'str'}, 3551 'priority': {'key': 'priority', 'type': 'int'}, 3552 'direction': {'key': 'direction', 'type': 'str'}, 3553 } 3554 3555 def __init__( 3556 self, 3557 *, 3558 name: Optional[str] = None, 3559 protocol: Optional[Union[str, "EffectiveSecurityRuleProtocol"]] = None, 3560 source_port_range: Optional[str] = None, 3561 destination_port_range: Optional[str] = None, 3562 source_port_ranges: Optional[List[str]] = None, 3563 destination_port_ranges: Optional[List[str]] = None, 3564 source_address_prefix: Optional[str] = None, 3565 destination_address_prefix: Optional[str] = None, 3566 source_address_prefixes: Optional[List[str]] = None, 3567 destination_address_prefixes: Optional[List[str]] = None, 3568 expanded_source_address_prefix: Optional[List[str]] = None, 3569 expanded_destination_address_prefix: Optional[List[str]] = None, 3570 access: Optional[Union[str, "SecurityRuleAccess"]] = None, 3571 priority: Optional[int] = None, 3572 direction: Optional[Union[str, "SecurityRuleDirection"]] = None, 3573 **kwargs 3574 ): 3575 super(EffectiveNetworkSecurityRule, self).__init__(**kwargs) 3576 self.name = name 3577 self.protocol = protocol 3578 self.source_port_range = source_port_range 3579 self.destination_port_range = destination_port_range 3580 self.source_port_ranges = source_port_ranges 3581 self.destination_port_ranges = destination_port_ranges 3582 self.source_address_prefix = source_address_prefix 3583 self.destination_address_prefix = destination_address_prefix 3584 self.source_address_prefixes = source_address_prefixes 3585 self.destination_address_prefixes = destination_address_prefixes 3586 self.expanded_source_address_prefix = expanded_source_address_prefix 3587 self.expanded_destination_address_prefix = expanded_destination_address_prefix 3588 self.access = access 3589 self.priority = priority 3590 self.direction = direction 3591 3592 3593class EffectiveRoute(msrest.serialization.Model): 3594 """Effective Route. 3595 3596 :param name: The name of the user defined route. This is optional. 3597 :type name: str 3598 :param source: Who created the route. Possible values are: 'Unknown', 'User', 3599 'VirtualNetworkGateway', and 'Default'. Possible values include: "Unknown", "User", 3600 "VirtualNetworkGateway", "Default". 3601 :type source: str or ~azure.mgmt.network.v2018_01_01.models.EffectiveRouteSource 3602 :param state: The value of effective route. Possible values are: 'Active' and 'Invalid'. 3603 Possible values include: "Active", "Invalid". 3604 :type state: str or ~azure.mgmt.network.v2018_01_01.models.EffectiveRouteState 3605 :param address_prefix: The address prefixes of the effective routes in CIDR notation. 3606 :type address_prefix: list[str] 3607 :param next_hop_ip_address: The IP address of the next hop of the effective route. 3608 :type next_hop_ip_address: list[str] 3609 :param next_hop_type: The type of Azure hop the packet should be sent to. Possible values are: 3610 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible 3611 values include: "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None". 3612 :type next_hop_type: str or ~azure.mgmt.network.v2018_01_01.models.RouteNextHopType 3613 """ 3614 3615 _attribute_map = { 3616 'name': {'key': 'name', 'type': 'str'}, 3617 'source': {'key': 'source', 'type': 'str'}, 3618 'state': {'key': 'state', 'type': 'str'}, 3619 'address_prefix': {'key': 'addressPrefix', 'type': '[str]'}, 3620 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': '[str]'}, 3621 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, 3622 } 3623 3624 def __init__( 3625 self, 3626 *, 3627 name: Optional[str] = None, 3628 source: Optional[Union[str, "EffectiveRouteSource"]] = None, 3629 state: Optional[Union[str, "EffectiveRouteState"]] = None, 3630 address_prefix: Optional[List[str]] = None, 3631 next_hop_ip_address: Optional[List[str]] = None, 3632 next_hop_type: Optional[Union[str, "RouteNextHopType"]] = None, 3633 **kwargs 3634 ): 3635 super(EffectiveRoute, self).__init__(**kwargs) 3636 self.name = name 3637 self.source = source 3638 self.state = state 3639 self.address_prefix = address_prefix 3640 self.next_hop_ip_address = next_hop_ip_address 3641 self.next_hop_type = next_hop_type 3642 3643 3644class EffectiveRouteListResult(msrest.serialization.Model): 3645 """Response for list effective route API service call. 3646 3647 Variables are only populated by the server, and will be ignored when sending a request. 3648 3649 :param value: A list of effective routes. 3650 :type value: list[~azure.mgmt.network.v2018_01_01.models.EffectiveRoute] 3651 :ivar next_link: The URL to get the next set of results. 3652 :vartype next_link: str 3653 """ 3654 3655 _validation = { 3656 'next_link': {'readonly': True}, 3657 } 3658 3659 _attribute_map = { 3660 'value': {'key': 'value', 'type': '[EffectiveRoute]'}, 3661 'next_link': {'key': 'nextLink', 'type': 'str'}, 3662 } 3663 3664 def __init__( 3665 self, 3666 *, 3667 value: Optional[List["EffectiveRoute"]] = None, 3668 **kwargs 3669 ): 3670 super(EffectiveRouteListResult, self).__init__(**kwargs) 3671 self.value = value 3672 self.next_link = None 3673 3674 3675class EndpointServiceResult(SubResource): 3676 """Endpoint service. 3677 3678 Variables are only populated by the server, and will be ignored when sending a request. 3679 3680 :param id: Resource ID. 3681 :type id: str 3682 :ivar name: Name of the endpoint service. 3683 :vartype name: str 3684 :ivar type: Type of the endpoint service. 3685 :vartype type: str 3686 """ 3687 3688 _validation = { 3689 'name': {'readonly': True}, 3690 'type': {'readonly': True}, 3691 } 3692 3693 _attribute_map = { 3694 'id': {'key': 'id', 'type': 'str'}, 3695 'name': {'key': 'name', 'type': 'str'}, 3696 'type': {'key': 'type', 'type': 'str'}, 3697 } 3698 3699 def __init__( 3700 self, 3701 *, 3702 id: Optional[str] = None, 3703 **kwargs 3704 ): 3705 super(EndpointServiceResult, self).__init__(id=id, **kwargs) 3706 self.name = None 3707 self.type = None 3708 3709 3710class EndpointServicesListResult(msrest.serialization.Model): 3711 """Response for the ListAvailableEndpointServices API service call. 3712 3713 :param value: List of available endpoint services in a region. 3714 :type value: list[~azure.mgmt.network.v2018_01_01.models.EndpointServiceResult] 3715 :param next_link: The URL to get the next set of results. 3716 :type next_link: str 3717 """ 3718 3719 _attribute_map = { 3720 'value': {'key': 'value', 'type': '[EndpointServiceResult]'}, 3721 'next_link': {'key': 'nextLink', 'type': 'str'}, 3722 } 3723 3724 def __init__( 3725 self, 3726 *, 3727 value: Optional[List["EndpointServiceResult"]] = None, 3728 next_link: Optional[str] = None, 3729 **kwargs 3730 ): 3731 super(EndpointServicesListResult, self).__init__(**kwargs) 3732 self.value = value 3733 self.next_link = next_link 3734 3735 3736class Error(msrest.serialization.Model): 3737 """Error. 3738 3739 :param code: 3740 :type code: str 3741 :param message: 3742 :type message: str 3743 :param target: 3744 :type target: str 3745 :param details: 3746 :type details: list[~azure.mgmt.network.v2018_01_01.models.ErrorDetails] 3747 :param inner_error: 3748 :type inner_error: str 3749 """ 3750 3751 _attribute_map = { 3752 'code': {'key': 'code', 'type': 'str'}, 3753 'message': {'key': 'message', 'type': 'str'}, 3754 'target': {'key': 'target', 'type': 'str'}, 3755 'details': {'key': 'details', 'type': '[ErrorDetails]'}, 3756 'inner_error': {'key': 'innerError', 'type': 'str'}, 3757 } 3758 3759 def __init__( 3760 self, 3761 *, 3762 code: Optional[str] = None, 3763 message: Optional[str] = None, 3764 target: Optional[str] = None, 3765 details: Optional[List["ErrorDetails"]] = None, 3766 inner_error: Optional[str] = None, 3767 **kwargs 3768 ): 3769 super(Error, self).__init__(**kwargs) 3770 self.code = code 3771 self.message = message 3772 self.target = target 3773 self.details = details 3774 self.inner_error = inner_error 3775 3776 3777class ErrorDetails(msrest.serialization.Model): 3778 """ErrorDetails. 3779 3780 :param code: 3781 :type code: str 3782 :param target: 3783 :type target: str 3784 :param message: 3785 :type message: str 3786 """ 3787 3788 _attribute_map = { 3789 'code': {'key': 'code', 'type': 'str'}, 3790 'target': {'key': 'target', 'type': 'str'}, 3791 'message': {'key': 'message', 'type': 'str'}, 3792 } 3793 3794 def __init__( 3795 self, 3796 *, 3797 code: Optional[str] = None, 3798 target: Optional[str] = None, 3799 message: Optional[str] = None, 3800 **kwargs 3801 ): 3802 super(ErrorDetails, self).__init__(**kwargs) 3803 self.code = code 3804 self.target = target 3805 self.message = message 3806 3807 3808class ExpressRouteCircuit(Resource): 3809 """ExpressRouteCircuit resource. 3810 3811 Variables are only populated by the server, and will be ignored when sending a request. 3812 3813 :param id: Resource ID. 3814 :type id: str 3815 :ivar name: Resource name. 3816 :vartype name: str 3817 :ivar type: Resource type. 3818 :vartype type: str 3819 :param location: Resource location. 3820 :type location: str 3821 :param tags: A set of tags. Resource tags. 3822 :type tags: dict[str, str] 3823 :param sku: The SKU. 3824 :type sku: ~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuitSku 3825 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 3826 :vartype etag: str 3827 :param allow_classic_operations: Allow classic operations. 3828 :type allow_classic_operations: bool 3829 :param circuit_provisioning_state: The CircuitProvisioningState state of the resource. 3830 :type circuit_provisioning_state: str 3831 :param service_provider_provisioning_state: The ServiceProviderProvisioningState state of the 3832 resource. Possible values are 'NotProvisioned', 'Provisioning', 'Provisioned', and 3833 'Deprovisioning'. Possible values include: "NotProvisioned", "Provisioning", "Provisioned", 3834 "Deprovisioning". 3835 :type service_provider_provisioning_state: str or 3836 ~azure.mgmt.network.v2018_01_01.models.ServiceProviderProvisioningState 3837 :param authorizations: The list of authorizations. 3838 :type authorizations: 3839 list[~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuitAuthorization] 3840 :param peerings: The list of peerings. 3841 :type peerings: list[~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuitPeering] 3842 :param service_key: The ServiceKey. 3843 :type service_key: str 3844 :param service_provider_notes: The ServiceProviderNotes. 3845 :type service_provider_notes: str 3846 :param service_provider_properties: The ServiceProviderProperties. 3847 :type service_provider_properties: 3848 ~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuitServiceProviderProperties 3849 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 3850 values are: 'Updating', 'Deleting', and 'Failed'. 3851 :type provisioning_state: str 3852 :param gateway_manager_etag: The GatewayManager Etag. 3853 :type gateway_manager_etag: str 3854 """ 3855 3856 _validation = { 3857 'name': {'readonly': True}, 3858 'type': {'readonly': True}, 3859 'etag': {'readonly': True}, 3860 } 3861 3862 _attribute_map = { 3863 'id': {'key': 'id', 'type': 'str'}, 3864 'name': {'key': 'name', 'type': 'str'}, 3865 'type': {'key': 'type', 'type': 'str'}, 3866 'location': {'key': 'location', 'type': 'str'}, 3867 'tags': {'key': 'tags', 'type': '{str}'}, 3868 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, 3869 'etag': {'key': 'etag', 'type': 'str'}, 3870 'allow_classic_operations': {'key': 'properties.allowClassicOperations', 'type': 'bool'}, 3871 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, 3872 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, 3873 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, 3874 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, 3875 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, 3876 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, 3877 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, 3878 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3879 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, 3880 } 3881 3882 def __init__( 3883 self, 3884 *, 3885 id: Optional[str] = None, 3886 location: Optional[str] = None, 3887 tags: Optional[Dict[str, str]] = None, 3888 sku: Optional["ExpressRouteCircuitSku"] = None, 3889 allow_classic_operations: Optional[bool] = None, 3890 circuit_provisioning_state: Optional[str] = None, 3891 service_provider_provisioning_state: Optional[Union[str, "ServiceProviderProvisioningState"]] = None, 3892 authorizations: Optional[List["ExpressRouteCircuitAuthorization"]] = None, 3893 peerings: Optional[List["ExpressRouteCircuitPeering"]] = None, 3894 service_key: Optional[str] = None, 3895 service_provider_notes: Optional[str] = None, 3896 service_provider_properties: Optional["ExpressRouteCircuitServiceProviderProperties"] = None, 3897 provisioning_state: Optional[str] = None, 3898 gateway_manager_etag: Optional[str] = None, 3899 **kwargs 3900 ): 3901 super(ExpressRouteCircuit, self).__init__(id=id, location=location, tags=tags, **kwargs) 3902 self.sku = sku 3903 self.etag = None 3904 self.allow_classic_operations = allow_classic_operations 3905 self.circuit_provisioning_state = circuit_provisioning_state 3906 self.service_provider_provisioning_state = service_provider_provisioning_state 3907 self.authorizations = authorizations 3908 self.peerings = peerings 3909 self.service_key = service_key 3910 self.service_provider_notes = service_provider_notes 3911 self.service_provider_properties = service_provider_properties 3912 self.provisioning_state = provisioning_state 3913 self.gateway_manager_etag = gateway_manager_etag 3914 3915 3916class ExpressRouteCircuitArpTable(msrest.serialization.Model): 3917 """The ARP table associated with the ExpressRouteCircuit. 3918 3919 :param age: Age. 3920 :type age: int 3921 :param interface: Interface. 3922 :type interface: str 3923 :param ip_address: The IP address. 3924 :type ip_address: str 3925 :param mac_address: The MAC address. 3926 :type mac_address: str 3927 """ 3928 3929 _attribute_map = { 3930 'age': {'key': 'age', 'type': 'int'}, 3931 'interface': {'key': 'interface', 'type': 'str'}, 3932 'ip_address': {'key': 'ipAddress', 'type': 'str'}, 3933 'mac_address': {'key': 'macAddress', 'type': 'str'}, 3934 } 3935 3936 def __init__( 3937 self, 3938 *, 3939 age: Optional[int] = None, 3940 interface: Optional[str] = None, 3941 ip_address: Optional[str] = None, 3942 mac_address: Optional[str] = None, 3943 **kwargs 3944 ): 3945 super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) 3946 self.age = age 3947 self.interface = interface 3948 self.ip_address = ip_address 3949 self.mac_address = mac_address 3950 3951 3952class ExpressRouteCircuitAuthorization(SubResource): 3953 """Authorization in an ExpressRouteCircuit resource. 3954 3955 Variables are only populated by the server, and will be ignored when sending a request. 3956 3957 :param id: Resource ID. 3958 :type id: str 3959 :param name: Gets name of the resource that is unique within a resource group. This name can be 3960 used to access the resource. 3961 :type name: str 3962 :ivar etag: A unique read-only string that changes whenever the resource is updated. 3963 :vartype etag: str 3964 :param authorization_key: The authorization key. 3965 :type authorization_key: str 3966 :param authorization_use_status: AuthorizationUseStatus. Possible values are: 'Available' and 3967 'InUse'. Possible values include: "Available", "InUse". 3968 :type authorization_use_status: str or 3969 ~azure.mgmt.network.v2018_01_01.models.AuthorizationUseStatus 3970 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 3971 values are: 'Updating', 'Deleting', and 'Failed'. 3972 :type provisioning_state: str 3973 """ 3974 3975 _validation = { 3976 'etag': {'readonly': True}, 3977 } 3978 3979 _attribute_map = { 3980 'id': {'key': 'id', 'type': 'str'}, 3981 'name': {'key': 'name', 'type': 'str'}, 3982 'etag': {'key': 'etag', 'type': 'str'}, 3983 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 3984 'authorization_use_status': {'key': 'properties.authorizationUseStatus', 'type': 'str'}, 3985 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3986 } 3987 3988 def __init__( 3989 self, 3990 *, 3991 id: Optional[str] = None, 3992 name: Optional[str] = None, 3993 authorization_key: Optional[str] = None, 3994 authorization_use_status: Optional[Union[str, "AuthorizationUseStatus"]] = None, 3995 provisioning_state: Optional[str] = None, 3996 **kwargs 3997 ): 3998 super(ExpressRouteCircuitAuthorization, self).__init__(id=id, **kwargs) 3999 self.name = name 4000 self.etag = None 4001 self.authorization_key = authorization_key 4002 self.authorization_use_status = authorization_use_status 4003 self.provisioning_state = provisioning_state 4004 4005 4006class ExpressRouteCircuitListResult(msrest.serialization.Model): 4007 """Response for ListExpressRouteCircuit API service call. 4008 4009 :param value: A list of ExpressRouteCircuits in a resource group. 4010 :type value: list[~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuit] 4011 :param next_link: The URL to get the next set of results. 4012 :type next_link: str 4013 """ 4014 4015 _attribute_map = { 4016 'value': {'key': 'value', 'type': '[ExpressRouteCircuit]'}, 4017 'next_link': {'key': 'nextLink', 'type': 'str'}, 4018 } 4019 4020 def __init__( 4021 self, 4022 *, 4023 value: Optional[List["ExpressRouteCircuit"]] = None, 4024 next_link: Optional[str] = None, 4025 **kwargs 4026 ): 4027 super(ExpressRouteCircuitListResult, self).__init__(**kwargs) 4028 self.value = value 4029 self.next_link = next_link 4030 4031 4032class ExpressRouteCircuitPeering(SubResource): 4033 """Peering in an ExpressRouteCircuit resource. 4034 4035 Variables are only populated by the server, and will be ignored when sending a request. 4036 4037 :param id: Resource ID. 4038 :type id: str 4039 :param name: Gets name of the resource that is unique within a resource group. This name can be 4040 used to access the resource. 4041 :type name: str 4042 :ivar etag: A unique read-only string that changes whenever the resource is updated. 4043 :vartype etag: str 4044 :param peering_type: The PeeringType. Possible values are: 'AzurePublicPeering', 4045 'AzurePrivatePeering', and 'MicrosoftPeering'. Possible values include: "AzurePublicPeering", 4046 "AzurePrivatePeering", "MicrosoftPeering". 4047 :type peering_type: str or 4048 ~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuitPeeringType 4049 :param state: The state of peering. Possible values are: 'Disabled' and 'Enabled'. Possible 4050 values include: "Disabled", "Enabled". 4051 :type state: str or ~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuitPeeringState 4052 :param azure_asn: The Azure ASN. 4053 :type azure_asn: int 4054 :param peer_asn: The peer ASN. 4055 :type peer_asn: long 4056 :param primary_peer_address_prefix: The primary address prefix. 4057 :type primary_peer_address_prefix: str 4058 :param secondary_peer_address_prefix: The secondary address prefix. 4059 :type secondary_peer_address_prefix: str 4060 :param primary_azure_port: The primary port. 4061 :type primary_azure_port: str 4062 :param secondary_azure_port: The secondary port. 4063 :type secondary_azure_port: str 4064 :param shared_key: The shared key. 4065 :type shared_key: str 4066 :param vlan_id: The VLAN ID. 4067 :type vlan_id: int 4068 :param microsoft_peering_config: The Microsoft peering configuration. 4069 :type microsoft_peering_config: 4070 ~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuitPeeringConfig 4071 :param stats: Gets peering stats. 4072 :type stats: ~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuitStats 4073 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 4074 values are: 'Updating', 'Deleting', and 'Failed'. 4075 :type provisioning_state: str 4076 :param gateway_manager_etag: The GatewayManager Etag. 4077 :type gateway_manager_etag: str 4078 :param last_modified_by: Gets whether the provider or the customer last modified the peering. 4079 :type last_modified_by: str 4080 :param route_filter: The reference of the RouteFilter resource. 4081 :type route_filter: ~azure.mgmt.network.v2018_01_01.models.RouteFilter 4082 :param ipv6_peering_config: The IPv6 peering configuration. 4083 :type ipv6_peering_config: 4084 ~azure.mgmt.network.v2018_01_01.models.Ipv6ExpressRouteCircuitPeeringConfig 4085 """ 4086 4087 _validation = { 4088 'etag': {'readonly': True}, 4089 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, 4090 } 4091 4092 _attribute_map = { 4093 'id': {'key': 'id', 'type': 'str'}, 4094 'name': {'key': 'name', 'type': 'str'}, 4095 'etag': {'key': 'etag', 'type': 'str'}, 4096 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, 4097 'state': {'key': 'properties.state', 'type': 'str'}, 4098 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, 4099 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, 4100 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, 4101 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, 4102 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, 4103 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, 4104 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 4105 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, 4106 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, 4107 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, 4108 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4109 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, 4110 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, 4111 'route_filter': {'key': 'properties.routeFilter', 'type': 'RouteFilter'}, 4112 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, 4113 } 4114 4115 def __init__( 4116 self, 4117 *, 4118 id: Optional[str] = None, 4119 name: Optional[str] = None, 4120 peering_type: Optional[Union[str, "ExpressRouteCircuitPeeringType"]] = None, 4121 state: Optional[Union[str, "ExpressRouteCircuitPeeringState"]] = None, 4122 azure_asn: Optional[int] = None, 4123 peer_asn: Optional[int] = None, 4124 primary_peer_address_prefix: Optional[str] = None, 4125 secondary_peer_address_prefix: Optional[str] = None, 4126 primary_azure_port: Optional[str] = None, 4127 secondary_azure_port: Optional[str] = None, 4128 shared_key: Optional[str] = None, 4129 vlan_id: Optional[int] = None, 4130 microsoft_peering_config: Optional["ExpressRouteCircuitPeeringConfig"] = None, 4131 stats: Optional["ExpressRouteCircuitStats"] = None, 4132 provisioning_state: Optional[str] = None, 4133 gateway_manager_etag: Optional[str] = None, 4134 last_modified_by: Optional[str] = None, 4135 route_filter: Optional["RouteFilter"] = None, 4136 ipv6_peering_config: Optional["Ipv6ExpressRouteCircuitPeeringConfig"] = None, 4137 **kwargs 4138 ): 4139 super(ExpressRouteCircuitPeering, self).__init__(id=id, **kwargs) 4140 self.name = name 4141 self.etag = None 4142 self.peering_type = peering_type 4143 self.state = state 4144 self.azure_asn = azure_asn 4145 self.peer_asn = peer_asn 4146 self.primary_peer_address_prefix = primary_peer_address_prefix 4147 self.secondary_peer_address_prefix = secondary_peer_address_prefix 4148 self.primary_azure_port = primary_azure_port 4149 self.secondary_azure_port = secondary_azure_port 4150 self.shared_key = shared_key 4151 self.vlan_id = vlan_id 4152 self.microsoft_peering_config = microsoft_peering_config 4153 self.stats = stats 4154 self.provisioning_state = provisioning_state 4155 self.gateway_manager_etag = gateway_manager_etag 4156 self.last_modified_by = last_modified_by 4157 self.route_filter = route_filter 4158 self.ipv6_peering_config = ipv6_peering_config 4159 4160 4161class ExpressRouteCircuitPeeringConfig(msrest.serialization.Model): 4162 """Specifies the peering configuration. 4163 4164 :param advertised_public_prefixes: The reference of AdvertisedPublicPrefixes. 4165 :type advertised_public_prefixes: list[str] 4166 :param advertised_communities: The communities of bgp peering. Specified for microsoft peering. 4167 :type advertised_communities: list[str] 4168 :param advertised_public_prefixes_state: AdvertisedPublicPrefixState of the Peering resource. 4169 Possible values are 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'. 4170 Possible values include: "NotConfigured", "Configuring", "Configured", "ValidationNeeded". 4171 :type advertised_public_prefixes_state: str or 4172 ~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState 4173 :param legacy_mode: The legacy mode of the peering. 4174 :type legacy_mode: int 4175 :param customer_asn: The CustomerASN of the peering. 4176 :type customer_asn: int 4177 :param routing_registry_name: The RoutingRegistryName of the configuration. 4178 :type routing_registry_name: str 4179 """ 4180 4181 _attribute_map = { 4182 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, 4183 'advertised_communities': {'key': 'advertisedCommunities', 'type': '[str]'}, 4184 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, 4185 'legacy_mode': {'key': 'legacyMode', 'type': 'int'}, 4186 'customer_asn': {'key': 'customerASN', 'type': 'int'}, 4187 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, 4188 } 4189 4190 def __init__( 4191 self, 4192 *, 4193 advertised_public_prefixes: Optional[List[str]] = None, 4194 advertised_communities: Optional[List[str]] = None, 4195 advertised_public_prefixes_state: Optional[Union[str, "ExpressRouteCircuitPeeringAdvertisedPublicPrefixState"]] = None, 4196 legacy_mode: Optional[int] = None, 4197 customer_asn: Optional[int] = None, 4198 routing_registry_name: Optional[str] = None, 4199 **kwargs 4200 ): 4201 super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) 4202 self.advertised_public_prefixes = advertised_public_prefixes 4203 self.advertised_communities = advertised_communities 4204 self.advertised_public_prefixes_state = advertised_public_prefixes_state 4205 self.legacy_mode = legacy_mode 4206 self.customer_asn = customer_asn 4207 self.routing_registry_name = routing_registry_name 4208 4209 4210class ExpressRouteCircuitPeeringListResult(msrest.serialization.Model): 4211 """Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCircuit. 4212 4213 :param value: The peerings in an express route circuit. 4214 :type value: list[~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuitPeering] 4215 :param next_link: The URL to get the next set of results. 4216 :type next_link: str 4217 """ 4218 4219 _attribute_map = { 4220 'value': {'key': 'value', 'type': '[ExpressRouteCircuitPeering]'}, 4221 'next_link': {'key': 'nextLink', 'type': 'str'}, 4222 } 4223 4224 def __init__( 4225 self, 4226 *, 4227 value: Optional[List["ExpressRouteCircuitPeering"]] = None, 4228 next_link: Optional[str] = None, 4229 **kwargs 4230 ): 4231 super(ExpressRouteCircuitPeeringListResult, self).__init__(**kwargs) 4232 self.value = value 4233 self.next_link = next_link 4234 4235 4236class ExpressRouteCircuitRoutesTable(msrest.serialization.Model): 4237 """The routes table associated with the ExpressRouteCircuit. 4238 4239 :param network: network. 4240 :type network: str 4241 :param next_hop: nextHop. 4242 :type next_hop: str 4243 :param loc_prf: locPrf. 4244 :type loc_prf: str 4245 :param weight: weight. 4246 :type weight: int 4247 :param path: path. 4248 :type path: str 4249 """ 4250 4251 _attribute_map = { 4252 'network': {'key': 'network', 'type': 'str'}, 4253 'next_hop': {'key': 'nextHop', 'type': 'str'}, 4254 'loc_prf': {'key': 'locPrf', 'type': 'str'}, 4255 'weight': {'key': 'weight', 'type': 'int'}, 4256 'path': {'key': 'path', 'type': 'str'}, 4257 } 4258 4259 def __init__( 4260 self, 4261 *, 4262 network: Optional[str] = None, 4263 next_hop: Optional[str] = None, 4264 loc_prf: Optional[str] = None, 4265 weight: Optional[int] = None, 4266 path: Optional[str] = None, 4267 **kwargs 4268 ): 4269 super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) 4270 self.network = network 4271 self.next_hop = next_hop 4272 self.loc_prf = loc_prf 4273 self.weight = weight 4274 self.path = path 4275 4276 4277class ExpressRouteCircuitRoutesTableSummary(msrest.serialization.Model): 4278 """The routes table associated with the ExpressRouteCircuit. 4279 4280 :param neighbor: Neighbor. 4281 :type neighbor: str 4282 :param v: BGP version number spoken to the neighbor. 4283 :type v: int 4284 :param as_property: Autonomous system number. 4285 :type as_property: int 4286 :param up_down: The length of time that the BGP session has been in the Established state, or 4287 the current status if not in the Established state. 4288 :type up_down: str 4289 :param state_pfx_rcd: Current state of the BGP session, and the number of prefixes that have 4290 been received from a neighbor or peer group. 4291 :type state_pfx_rcd: str 4292 """ 4293 4294 _attribute_map = { 4295 'neighbor': {'key': 'neighbor', 'type': 'str'}, 4296 'v': {'key': 'v', 'type': 'int'}, 4297 'as_property': {'key': 'as', 'type': 'int'}, 4298 'up_down': {'key': 'upDown', 'type': 'str'}, 4299 'state_pfx_rcd': {'key': 'statePfxRcd', 'type': 'str'}, 4300 } 4301 4302 def __init__( 4303 self, 4304 *, 4305 neighbor: Optional[str] = None, 4306 v: Optional[int] = None, 4307 as_property: Optional[int] = None, 4308 up_down: Optional[str] = None, 4309 state_pfx_rcd: Optional[str] = None, 4310 **kwargs 4311 ): 4312 super(ExpressRouteCircuitRoutesTableSummary, self).__init__(**kwargs) 4313 self.neighbor = neighbor 4314 self.v = v 4315 self.as_property = as_property 4316 self.up_down = up_down 4317 self.state_pfx_rcd = state_pfx_rcd 4318 4319 4320class ExpressRouteCircuitsArpTableListResult(msrest.serialization.Model): 4321 """Response for ListArpTable associated with the Express Route Circuits API. 4322 4323 :param value: Gets list of the ARP table. 4324 :type value: list[~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuitArpTable] 4325 :param next_link: The URL to get the next set of results. 4326 :type next_link: str 4327 """ 4328 4329 _attribute_map = { 4330 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, 4331 'next_link': {'key': 'nextLink', 'type': 'str'}, 4332 } 4333 4334 def __init__( 4335 self, 4336 *, 4337 value: Optional[List["ExpressRouteCircuitArpTable"]] = None, 4338 next_link: Optional[str] = None, 4339 **kwargs 4340 ): 4341 super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) 4342 self.value = value 4343 self.next_link = next_link 4344 4345 4346class ExpressRouteCircuitServiceProviderProperties(msrest.serialization.Model): 4347 """Contains ServiceProviderProperties in an ExpressRouteCircuit. 4348 4349 :param service_provider_name: The serviceProviderName. 4350 :type service_provider_name: str 4351 :param peering_location: The peering location. 4352 :type peering_location: str 4353 :param bandwidth_in_mbps: The BandwidthInMbps. 4354 :type bandwidth_in_mbps: int 4355 """ 4356 4357 _attribute_map = { 4358 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, 4359 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, 4360 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, 4361 } 4362 4363 def __init__( 4364 self, 4365 *, 4366 service_provider_name: Optional[str] = None, 4367 peering_location: Optional[str] = None, 4368 bandwidth_in_mbps: Optional[int] = None, 4369 **kwargs 4370 ): 4371 super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) 4372 self.service_provider_name = service_provider_name 4373 self.peering_location = peering_location 4374 self.bandwidth_in_mbps = bandwidth_in_mbps 4375 4376 4377class ExpressRouteCircuitSku(msrest.serialization.Model): 4378 """Contains SKU in an ExpressRouteCircuit. 4379 4380 :param name: The name of the SKU. 4381 :type name: str 4382 :param tier: The tier of the SKU. Possible values are 'Standard' and 'Premium'. Possible values 4383 include: "Standard", "Premium". 4384 :type tier: str or ~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuitSkuTier 4385 :param family: The family of the SKU. Possible values are: 'UnlimitedData' and 'MeteredData'. 4386 Possible values include: "UnlimitedData", "MeteredData". 4387 :type family: str or ~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuitSkuFamily 4388 """ 4389 4390 _attribute_map = { 4391 'name': {'key': 'name', 'type': 'str'}, 4392 'tier': {'key': 'tier', 'type': 'str'}, 4393 'family': {'key': 'family', 'type': 'str'}, 4394 } 4395 4396 def __init__( 4397 self, 4398 *, 4399 name: Optional[str] = None, 4400 tier: Optional[Union[str, "ExpressRouteCircuitSkuTier"]] = None, 4401 family: Optional[Union[str, "ExpressRouteCircuitSkuFamily"]] = None, 4402 **kwargs 4403 ): 4404 super(ExpressRouteCircuitSku, self).__init__(**kwargs) 4405 self.name = name 4406 self.tier = tier 4407 self.family = family 4408 4409 4410class ExpressRouteCircuitsRoutesTableListResult(msrest.serialization.Model): 4411 """Response for ListRoutesTable associated with the Express Route Circuits API. 4412 4413 :param value: The list of routes table. 4414 :type value: list[~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuitRoutesTable] 4415 :param next_link: The URL to get the next set of results. 4416 :type next_link: str 4417 """ 4418 4419 _attribute_map = { 4420 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, 4421 'next_link': {'key': 'nextLink', 'type': 'str'}, 4422 } 4423 4424 def __init__( 4425 self, 4426 *, 4427 value: Optional[List["ExpressRouteCircuitRoutesTable"]] = None, 4428 next_link: Optional[str] = None, 4429 **kwargs 4430 ): 4431 super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) 4432 self.value = value 4433 self.next_link = next_link 4434 4435 4436class ExpressRouteCircuitsRoutesTableSummaryListResult(msrest.serialization.Model): 4437 """Response for ListRoutesTable associated with the Express Route Circuits API. 4438 4439 :param value: A list of the routes table. 4440 :type value: list[~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuitRoutesTableSummary] 4441 :param next_link: The URL to get the next set of results. 4442 :type next_link: str 4443 """ 4444 4445 _attribute_map = { 4446 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTableSummary]'}, 4447 'next_link': {'key': 'nextLink', 'type': 'str'}, 4448 } 4449 4450 def __init__( 4451 self, 4452 *, 4453 value: Optional[List["ExpressRouteCircuitRoutesTableSummary"]] = None, 4454 next_link: Optional[str] = None, 4455 **kwargs 4456 ): 4457 super(ExpressRouteCircuitsRoutesTableSummaryListResult, self).__init__(**kwargs) 4458 self.value = value 4459 self.next_link = next_link 4460 4461 4462class ExpressRouteCircuitStats(msrest.serialization.Model): 4463 """Contains stats associated with the peering. 4464 4465 :param primarybytes_in: Gets BytesIn of the peering. 4466 :type primarybytes_in: long 4467 :param primarybytes_out: Gets BytesOut of the peering. 4468 :type primarybytes_out: long 4469 :param secondarybytes_in: Gets BytesIn of the peering. 4470 :type secondarybytes_in: long 4471 :param secondarybytes_out: Gets BytesOut of the peering. 4472 :type secondarybytes_out: long 4473 """ 4474 4475 _attribute_map = { 4476 'primarybytes_in': {'key': 'primarybytesIn', 'type': 'long'}, 4477 'primarybytes_out': {'key': 'primarybytesOut', 'type': 'long'}, 4478 'secondarybytes_in': {'key': 'secondarybytesIn', 'type': 'long'}, 4479 'secondarybytes_out': {'key': 'secondarybytesOut', 'type': 'long'}, 4480 } 4481 4482 def __init__( 4483 self, 4484 *, 4485 primarybytes_in: Optional[int] = None, 4486 primarybytes_out: Optional[int] = None, 4487 secondarybytes_in: Optional[int] = None, 4488 secondarybytes_out: Optional[int] = None, 4489 **kwargs 4490 ): 4491 super(ExpressRouteCircuitStats, self).__init__(**kwargs) 4492 self.primarybytes_in = primarybytes_in 4493 self.primarybytes_out = primarybytes_out 4494 self.secondarybytes_in = secondarybytes_in 4495 self.secondarybytes_out = secondarybytes_out 4496 4497 4498class ExpressRouteServiceProvider(Resource): 4499 """A ExpressRouteResourceProvider object. 4500 4501 Variables are only populated by the server, and will be ignored when sending a request. 4502 4503 :param id: Resource ID. 4504 :type id: str 4505 :ivar name: Resource name. 4506 :vartype name: str 4507 :ivar type: Resource type. 4508 :vartype type: str 4509 :param location: Resource location. 4510 :type location: str 4511 :param tags: A set of tags. Resource tags. 4512 :type tags: dict[str, str] 4513 :param peering_locations: Get a list of peering locations. 4514 :type peering_locations: list[str] 4515 :param bandwidths_offered: Gets bandwidths offered. 4516 :type bandwidths_offered: 4517 list[~azure.mgmt.network.v2018_01_01.models.ExpressRouteServiceProviderBandwidthsOffered] 4518 :param provisioning_state: Gets the provisioning state of the resource. 4519 :type provisioning_state: str 4520 """ 4521 4522 _validation = { 4523 'name': {'readonly': True}, 4524 'type': {'readonly': True}, 4525 } 4526 4527 _attribute_map = { 4528 'id': {'key': 'id', 'type': 'str'}, 4529 'name': {'key': 'name', 'type': 'str'}, 4530 'type': {'key': 'type', 'type': 'str'}, 4531 'location': {'key': 'location', 'type': 'str'}, 4532 'tags': {'key': 'tags', 'type': '{str}'}, 4533 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, 4534 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, 4535 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4536 } 4537 4538 def __init__( 4539 self, 4540 *, 4541 id: Optional[str] = None, 4542 location: Optional[str] = None, 4543 tags: Optional[Dict[str, str]] = None, 4544 peering_locations: Optional[List[str]] = None, 4545 bandwidths_offered: Optional[List["ExpressRouteServiceProviderBandwidthsOffered"]] = None, 4546 provisioning_state: Optional[str] = None, 4547 **kwargs 4548 ): 4549 super(ExpressRouteServiceProvider, self).__init__(id=id, location=location, tags=tags, **kwargs) 4550 self.peering_locations = peering_locations 4551 self.bandwidths_offered = bandwidths_offered 4552 self.provisioning_state = provisioning_state 4553 4554 4555class ExpressRouteServiceProviderBandwidthsOffered(msrest.serialization.Model): 4556 """Contains bandwidths offered in ExpressRouteServiceProvider resources. 4557 4558 :param offer_name: The OfferName. 4559 :type offer_name: str 4560 :param value_in_mbps: The ValueInMbps. 4561 :type value_in_mbps: int 4562 """ 4563 4564 _attribute_map = { 4565 'offer_name': {'key': 'offerName', 'type': 'str'}, 4566 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, 4567 } 4568 4569 def __init__( 4570 self, 4571 *, 4572 offer_name: Optional[str] = None, 4573 value_in_mbps: Optional[int] = None, 4574 **kwargs 4575 ): 4576 super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) 4577 self.offer_name = offer_name 4578 self.value_in_mbps = value_in_mbps 4579 4580 4581class ExpressRouteServiceProviderListResult(msrest.serialization.Model): 4582 """Response for the ListExpressRouteServiceProvider API service call. 4583 4584 :param value: A list of ExpressRouteResourceProvider resources. 4585 :type value: list[~azure.mgmt.network.v2018_01_01.models.ExpressRouteServiceProvider] 4586 :param next_link: The URL to get the next set of results. 4587 :type next_link: str 4588 """ 4589 4590 _attribute_map = { 4591 'value': {'key': 'value', 'type': '[ExpressRouteServiceProvider]'}, 4592 'next_link': {'key': 'nextLink', 'type': 'str'}, 4593 } 4594 4595 def __init__( 4596 self, 4597 *, 4598 value: Optional[List["ExpressRouteServiceProvider"]] = None, 4599 next_link: Optional[str] = None, 4600 **kwargs 4601 ): 4602 super(ExpressRouteServiceProviderListResult, self).__init__(**kwargs) 4603 self.value = value 4604 self.next_link = next_link 4605 4606 4607class FlowLogInformation(msrest.serialization.Model): 4608 """Information on the configuration of flow log and traffic analytics (optional). 4609 4610 All required parameters must be populated in order to send to Azure. 4611 4612 :param target_resource_id: Required. The ID of the resource to configure for flow logging. 4613 :type target_resource_id: str 4614 :param network_watcher_flow_analytics_configuration: Parameters that define the configuration 4615 of traffic analytics. 4616 :type network_watcher_flow_analytics_configuration: 4617 ~azure.mgmt.network.v2018_01_01.models.TrafficAnalyticsConfigurationProperties 4618 :param storage_id: Required. ID of the storage account which is used to store the flow log. 4619 :type storage_id: str 4620 :param enabled: Required. Flag to enable/disable flow logging. 4621 :type enabled: bool 4622 :param retention_policy: Parameters that define the retention policy for flow log. 4623 :type retention_policy: ~azure.mgmt.network.v2018_01_01.models.RetentionPolicyParameters 4624 """ 4625 4626 _validation = { 4627 'target_resource_id': {'required': True}, 4628 'storage_id': {'required': True}, 4629 'enabled': {'required': True}, 4630 } 4631 4632 _attribute_map = { 4633 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 4634 'network_watcher_flow_analytics_configuration': {'key': 'flowAnalyticsConfiguration.networkWatcherFlowAnalyticsConfiguration', 'type': 'TrafficAnalyticsConfigurationProperties'}, 4635 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, 4636 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, 4637 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, 4638 } 4639 4640 def __init__( 4641 self, 4642 *, 4643 target_resource_id: str, 4644 storage_id: str, 4645 enabled: bool, 4646 network_watcher_flow_analytics_configuration: Optional["TrafficAnalyticsConfigurationProperties"] = None, 4647 retention_policy: Optional["RetentionPolicyParameters"] = None, 4648 **kwargs 4649 ): 4650 super(FlowLogInformation, self).__init__(**kwargs) 4651 self.target_resource_id = target_resource_id 4652 self.network_watcher_flow_analytics_configuration = network_watcher_flow_analytics_configuration 4653 self.storage_id = storage_id 4654 self.enabled = enabled 4655 self.retention_policy = retention_policy 4656 4657 4658class FlowLogStatusParameters(msrest.serialization.Model): 4659 """Parameters that define a resource to query flow log and traffic analytics (optional) status. 4660 4661 All required parameters must be populated in order to send to Azure. 4662 4663 :param target_resource_id: Required. The target resource where getting the flow logging and 4664 traffic analytics (optional) status. 4665 :type target_resource_id: str 4666 """ 4667 4668 _validation = { 4669 'target_resource_id': {'required': True}, 4670 } 4671 4672 _attribute_map = { 4673 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 4674 } 4675 4676 def __init__( 4677 self, 4678 *, 4679 target_resource_id: str, 4680 **kwargs 4681 ): 4682 super(FlowLogStatusParameters, self).__init__(**kwargs) 4683 self.target_resource_id = target_resource_id 4684 4685 4686class FrontendIPConfiguration(SubResource): 4687 """Frontend IP address of the load balancer. 4688 4689 Variables are only populated by the server, and will be ignored when sending a request. 4690 4691 :param id: Resource ID. 4692 :type id: str 4693 :param name: The name of the resource that is unique within a resource group. This name can be 4694 used to access the resource. 4695 :type name: str 4696 :param etag: A unique read-only string that changes whenever the resource is updated. 4697 :type etag: str 4698 :param zones: A list of availability zones denoting the IP allocated for the resource needs to 4699 come from. 4700 :type zones: list[str] 4701 :ivar inbound_nat_rules: Read only. Inbound rules URIs that use this frontend IP. 4702 :vartype inbound_nat_rules: list[~azure.mgmt.network.v2018_01_01.models.SubResource] 4703 :ivar inbound_nat_pools: Read only. Inbound pools URIs that use this frontend IP. 4704 :vartype inbound_nat_pools: list[~azure.mgmt.network.v2018_01_01.models.SubResource] 4705 :ivar outbound_nat_rules: Read only. Outbound rules URIs that use this frontend IP. 4706 :vartype outbound_nat_rules: list[~azure.mgmt.network.v2018_01_01.models.SubResource] 4707 :ivar load_balancing_rules: Gets load balancing rules URIs that use this frontend IP. 4708 :vartype load_balancing_rules: list[~azure.mgmt.network.v2018_01_01.models.SubResource] 4709 :param private_ip_address: The private IP address of the IP configuration. 4710 :type private_ip_address: str 4711 :param private_ip_allocation_method: The Private IP allocation method. Possible values are: 4712 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 4713 :type private_ip_allocation_method: str or 4714 ~azure.mgmt.network.v2018_01_01.models.IPAllocationMethod 4715 :param subnet: The reference of the subnet resource. 4716 :type subnet: ~azure.mgmt.network.v2018_01_01.models.Subnet 4717 :param public_ip_address: The reference of the Public IP resource. 4718 :type public_ip_address: ~azure.mgmt.network.v2018_01_01.models.PublicIPAddress 4719 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 4720 values are: 'Updating', 'Deleting', and 'Failed'. 4721 :type provisioning_state: str 4722 """ 4723 4724 _validation = { 4725 'inbound_nat_rules': {'readonly': True}, 4726 'inbound_nat_pools': {'readonly': True}, 4727 'outbound_nat_rules': {'readonly': True}, 4728 'load_balancing_rules': {'readonly': True}, 4729 } 4730 4731 _attribute_map = { 4732 'id': {'key': 'id', 'type': 'str'}, 4733 'name': {'key': 'name', 'type': 'str'}, 4734 'etag': {'key': 'etag', 'type': 'str'}, 4735 'zones': {'key': 'zones', 'type': '[str]'}, 4736 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, 4737 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, 4738 'outbound_nat_rules': {'key': 'properties.outboundNatRules', 'type': '[SubResource]'}, 4739 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 4740 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 4741 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 4742 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 4743 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 4744 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4745 } 4746 4747 def __init__( 4748 self, 4749 *, 4750 id: Optional[str] = None, 4751 name: Optional[str] = None, 4752 etag: Optional[str] = None, 4753 zones: Optional[List[str]] = None, 4754 private_ip_address: Optional[str] = None, 4755 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 4756 subnet: Optional["Subnet"] = None, 4757 public_ip_address: Optional["PublicIPAddress"] = None, 4758 provisioning_state: Optional[str] = None, 4759 **kwargs 4760 ): 4761 super(FrontendIPConfiguration, self).__init__(id=id, **kwargs) 4762 self.name = name 4763 self.etag = etag 4764 self.zones = zones 4765 self.inbound_nat_rules = None 4766 self.inbound_nat_pools = None 4767 self.outbound_nat_rules = None 4768 self.load_balancing_rules = None 4769 self.private_ip_address = private_ip_address 4770 self.private_ip_allocation_method = private_ip_allocation_method 4771 self.subnet = subnet 4772 self.public_ip_address = public_ip_address 4773 self.provisioning_state = provisioning_state 4774 4775 4776class GatewayRoute(msrest.serialization.Model): 4777 """Gateway routing details. 4778 4779 Variables are only populated by the server, and will be ignored when sending a request. 4780 4781 :ivar local_address: The gateway's local address. 4782 :vartype local_address: str 4783 :ivar network: The route's network prefix. 4784 :vartype network: str 4785 :ivar next_hop: The route's next hop. 4786 :vartype next_hop: str 4787 :ivar source_peer: The peer this route was learned from. 4788 :vartype source_peer: str 4789 :ivar origin: The source this route was learned from. 4790 :vartype origin: str 4791 :ivar as_path: The route's AS path sequence. 4792 :vartype as_path: str 4793 :ivar weight: The route's weight. 4794 :vartype weight: int 4795 """ 4796 4797 _validation = { 4798 'local_address': {'readonly': True}, 4799 'network': {'readonly': True}, 4800 'next_hop': {'readonly': True}, 4801 'source_peer': {'readonly': True}, 4802 'origin': {'readonly': True}, 4803 'as_path': {'readonly': True}, 4804 'weight': {'readonly': True}, 4805 } 4806 4807 _attribute_map = { 4808 'local_address': {'key': 'localAddress', 'type': 'str'}, 4809 'network': {'key': 'network', 'type': 'str'}, 4810 'next_hop': {'key': 'nextHop', 'type': 'str'}, 4811 'source_peer': {'key': 'sourcePeer', 'type': 'str'}, 4812 'origin': {'key': 'origin', 'type': 'str'}, 4813 'as_path': {'key': 'asPath', 'type': 'str'}, 4814 'weight': {'key': 'weight', 'type': 'int'}, 4815 } 4816 4817 def __init__( 4818 self, 4819 **kwargs 4820 ): 4821 super(GatewayRoute, self).__init__(**kwargs) 4822 self.local_address = None 4823 self.network = None 4824 self.next_hop = None 4825 self.source_peer = None 4826 self.origin = None 4827 self.as_path = None 4828 self.weight = None 4829 4830 4831class GatewayRouteListResult(msrest.serialization.Model): 4832 """List of virtual network gateway routes. 4833 4834 :param value: List of gateway routes. 4835 :type value: list[~azure.mgmt.network.v2018_01_01.models.GatewayRoute] 4836 """ 4837 4838 _attribute_map = { 4839 'value': {'key': 'value', 'type': '[GatewayRoute]'}, 4840 } 4841 4842 def __init__( 4843 self, 4844 *, 4845 value: Optional[List["GatewayRoute"]] = None, 4846 **kwargs 4847 ): 4848 super(GatewayRouteListResult, self).__init__(**kwargs) 4849 self.value = value 4850 4851 4852class InboundNatPool(SubResource): 4853 """Inbound NAT pool of the load balancer. 4854 4855 :param id: Resource ID. 4856 :type id: str 4857 :param name: The name of the resource that is unique within a resource group. This name can be 4858 used to access the resource. 4859 :type name: str 4860 :param etag: A unique read-only string that changes whenever the resource is updated. 4861 :type etag: str 4862 :param frontend_ip_configuration: A reference to frontend IP addresses. 4863 :type frontend_ip_configuration: ~azure.mgmt.network.v2018_01_01.models.SubResource 4864 :param protocol: The transport protocol for the endpoint. Possible values are 'Udp' or 'Tcp' or 4865 'All.'. Possible values include: "Udp", "Tcp", "All". 4866 :type protocol: str or ~azure.mgmt.network.v2018_01_01.models.TransportProtocol 4867 :param frontend_port_range_start: The first port number in the range of external ports that 4868 will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values 4869 range between 1 and 65534. 4870 :type frontend_port_range_start: int 4871 :param frontend_port_range_end: The last port number in the range of external ports that will 4872 be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range 4873 between 1 and 65535. 4874 :type frontend_port_range_end: int 4875 :param backend_port: The port used for internal connections on the endpoint. Acceptable values 4876 are between 1 and 65535. 4877 :type backend_port: int 4878 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. The value can be set 4879 between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the 4880 protocol is set to TCP. 4881 :type idle_timeout_in_minutes: int 4882 :param enable_floating_ip: Configures a virtual machine's endpoint for the floating IP 4883 capability required to configure a SQL AlwaysOn Availability Group. This setting is required 4884 when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed 4885 after you create the endpoint. 4886 :type enable_floating_ip: bool 4887 :param provisioning_state: Gets the provisioning state of the PublicIP resource. Possible 4888 values are: 'Updating', 'Deleting', and 'Failed'. 4889 :type provisioning_state: str 4890 """ 4891 4892 _attribute_map = { 4893 'id': {'key': 'id', 'type': 'str'}, 4894 'name': {'key': 'name', 'type': 'str'}, 4895 'etag': {'key': 'etag', 'type': 'str'}, 4896 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 4897 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 4898 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, 4899 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, 4900 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 4901 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 4902 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, 4903 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4904 } 4905 4906 def __init__( 4907 self, 4908 *, 4909 id: Optional[str] = None, 4910 name: Optional[str] = None, 4911 etag: Optional[str] = None, 4912 frontend_ip_configuration: Optional["SubResource"] = None, 4913 protocol: Optional[Union[str, "TransportProtocol"]] = None, 4914 frontend_port_range_start: Optional[int] = None, 4915 frontend_port_range_end: Optional[int] = None, 4916 backend_port: Optional[int] = None, 4917 idle_timeout_in_minutes: Optional[int] = None, 4918 enable_floating_ip: Optional[bool] = None, 4919 provisioning_state: Optional[str] = None, 4920 **kwargs 4921 ): 4922 super(InboundNatPool, self).__init__(id=id, **kwargs) 4923 self.name = name 4924 self.etag = etag 4925 self.frontend_ip_configuration = frontend_ip_configuration 4926 self.protocol = protocol 4927 self.frontend_port_range_start = frontend_port_range_start 4928 self.frontend_port_range_end = frontend_port_range_end 4929 self.backend_port = backend_port 4930 self.idle_timeout_in_minutes = idle_timeout_in_minutes 4931 self.enable_floating_ip = enable_floating_ip 4932 self.provisioning_state = provisioning_state 4933 4934 4935class InboundNatRule(SubResource): 4936 """Inbound NAT rule of the load balancer. 4937 4938 Variables are only populated by the server, and will be ignored when sending a request. 4939 4940 :param id: Resource ID. 4941 :type id: str 4942 :param name: Gets name of the resource that is unique within a resource group. This name can be 4943 used to access the resource. 4944 :type name: str 4945 :param etag: A unique read-only string that changes whenever the resource is updated. 4946 :type etag: str 4947 :param frontend_ip_configuration: A reference to frontend IP addresses. 4948 :type frontend_ip_configuration: ~azure.mgmt.network.v2018_01_01.models.SubResource 4949 :ivar backend_ip_configuration: A reference to a private IP address defined on a network 4950 interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations 4951 is forwarded to the backend IP. 4952 :vartype backend_ip_configuration: 4953 ~azure.mgmt.network.v2018_01_01.models.NetworkInterfaceIPConfiguration 4954 :param protocol: The transport protocol for the endpoint. Possible values are 'Udp' or 'Tcp' or 4955 'All.'. Possible values include: "Udp", "Tcp", "All". 4956 :type protocol: str or ~azure.mgmt.network.v2018_01_01.models.TransportProtocol 4957 :param frontend_port: The port for the external endpoint. Port numbers for each rule must be 4958 unique within the Load Balancer. Acceptable values range from 1 to 65534. 4959 :type frontend_port: int 4960 :param backend_port: The port used for the internal endpoint. Acceptable values range from 1 to 4961 65535. 4962 :type backend_port: int 4963 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. The value can be set 4964 between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the 4965 protocol is set to TCP. 4966 :type idle_timeout_in_minutes: int 4967 :param enable_floating_ip: Configures a virtual machine's endpoint for the floating IP 4968 capability required to configure a SQL AlwaysOn Availability Group. This setting is required 4969 when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed 4970 after you create the endpoint. 4971 :type enable_floating_ip: bool 4972 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 4973 values are: 'Updating', 'Deleting', and 'Failed'. 4974 :type provisioning_state: str 4975 """ 4976 4977 _validation = { 4978 'backend_ip_configuration': {'readonly': True}, 4979 } 4980 4981 _attribute_map = { 4982 'id': {'key': 'id', 'type': 'str'}, 4983 'name': {'key': 'name', 'type': 'str'}, 4984 'etag': {'key': 'etag', 'type': 'str'}, 4985 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 4986 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, 4987 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 4988 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, 4989 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 4990 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 4991 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, 4992 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4993 } 4994 4995 def __init__( 4996 self, 4997 *, 4998 id: Optional[str] = None, 4999 name: Optional[str] = None, 5000 etag: Optional[str] = None, 5001 frontend_ip_configuration: Optional["SubResource"] = None, 5002 protocol: Optional[Union[str, "TransportProtocol"]] = None, 5003 frontend_port: Optional[int] = None, 5004 backend_port: Optional[int] = None, 5005 idle_timeout_in_minutes: Optional[int] = None, 5006 enable_floating_ip: Optional[bool] = None, 5007 provisioning_state: Optional[str] = None, 5008 **kwargs 5009 ): 5010 super(InboundNatRule, self).__init__(id=id, **kwargs) 5011 self.name = name 5012 self.etag = etag 5013 self.frontend_ip_configuration = frontend_ip_configuration 5014 self.backend_ip_configuration = None 5015 self.protocol = protocol 5016 self.frontend_port = frontend_port 5017 self.backend_port = backend_port 5018 self.idle_timeout_in_minutes = idle_timeout_in_minutes 5019 self.enable_floating_ip = enable_floating_ip 5020 self.provisioning_state = provisioning_state 5021 5022 5023class InboundNatRuleListResult(msrest.serialization.Model): 5024 """Response for ListInboundNatRule API service call. 5025 5026 Variables are only populated by the server, and will be ignored when sending a request. 5027 5028 :param value: A list of inbound nat rules in a load balancer. 5029 :type value: list[~azure.mgmt.network.v2018_01_01.models.InboundNatRule] 5030 :ivar next_link: The URL to get the next set of results. 5031 :vartype next_link: str 5032 """ 5033 5034 _validation = { 5035 'next_link': {'readonly': True}, 5036 } 5037 5038 _attribute_map = { 5039 'value': {'key': 'value', 'type': '[InboundNatRule]'}, 5040 'next_link': {'key': 'nextLink', 'type': 'str'}, 5041 } 5042 5043 def __init__( 5044 self, 5045 *, 5046 value: Optional[List["InboundNatRule"]] = None, 5047 **kwargs 5048 ): 5049 super(InboundNatRuleListResult, self).__init__(**kwargs) 5050 self.value = value 5051 self.next_link = None 5052 5053 5054class IPAddressAvailabilityResult(msrest.serialization.Model): 5055 """Response for CheckIPAddressAvailability API service call. 5056 5057 :param available: Private IP address availability. 5058 :type available: bool 5059 :param available_ip_addresses: Contains other available private IP addresses if the asked for 5060 address is taken. 5061 :type available_ip_addresses: list[str] 5062 """ 5063 5064 _attribute_map = { 5065 'available': {'key': 'available', 'type': 'bool'}, 5066 'available_ip_addresses': {'key': 'availableIPAddresses', 'type': '[str]'}, 5067 } 5068 5069 def __init__( 5070 self, 5071 *, 5072 available: Optional[bool] = None, 5073 available_ip_addresses: Optional[List[str]] = None, 5074 **kwargs 5075 ): 5076 super(IPAddressAvailabilityResult, self).__init__(**kwargs) 5077 self.available = available 5078 self.available_ip_addresses = available_ip_addresses 5079 5080 5081class IPConfiguration(SubResource): 5082 """IP configuration. 5083 5084 :param id: Resource ID. 5085 :type id: str 5086 :param name: The name of the resource that is unique within a resource group. This name can be 5087 used to access the resource. 5088 :type name: str 5089 :param etag: A unique read-only string that changes whenever the resource is updated. 5090 :type etag: str 5091 :param private_ip_address: The private IP address of the IP configuration. 5092 :type private_ip_address: str 5093 :param private_ip_allocation_method: The private IP allocation method. Possible values are 5094 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 5095 :type private_ip_allocation_method: str or 5096 ~azure.mgmt.network.v2018_01_01.models.IPAllocationMethod 5097 :param subnet: The reference of the subnet resource. 5098 :type subnet: ~azure.mgmt.network.v2018_01_01.models.Subnet 5099 :param public_ip_address: The reference of the public IP resource. 5100 :type public_ip_address: ~azure.mgmt.network.v2018_01_01.models.PublicIPAddress 5101 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 5102 values are: 'Updating', 'Deleting', and 'Failed'. 5103 :type provisioning_state: str 5104 """ 5105 5106 _attribute_map = { 5107 'id': {'key': 'id', 'type': 'str'}, 5108 'name': {'key': 'name', 'type': 'str'}, 5109 'etag': {'key': 'etag', 'type': 'str'}, 5110 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 5111 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 5112 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 5113 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 5114 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5115 } 5116 5117 def __init__( 5118 self, 5119 *, 5120 id: Optional[str] = None, 5121 name: Optional[str] = None, 5122 etag: Optional[str] = None, 5123 private_ip_address: Optional[str] = None, 5124 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 5125 subnet: Optional["Subnet"] = None, 5126 public_ip_address: Optional["PublicIPAddress"] = None, 5127 provisioning_state: Optional[str] = None, 5128 **kwargs 5129 ): 5130 super(IPConfiguration, self).__init__(id=id, **kwargs) 5131 self.name = name 5132 self.etag = etag 5133 self.private_ip_address = private_ip_address 5134 self.private_ip_allocation_method = private_ip_allocation_method 5135 self.subnet = subnet 5136 self.public_ip_address = public_ip_address 5137 self.provisioning_state = provisioning_state 5138 5139 5140class IpsecPolicy(msrest.serialization.Model): 5141 """An IPSec Policy configuration for a virtual network gateway connection. 5142 5143 All required parameters must be populated in order to send to Azure. 5144 5145 :param sa_life_time_seconds: Required. The IPSec Security Association (also called Quick Mode 5146 or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel. 5147 :type sa_life_time_seconds: int 5148 :param sa_data_size_kilobytes: Required. The IPSec Security Association (also called Quick Mode 5149 or Phase 2 SA) payload size in KB for a site to site VPN tunnel. 5150 :type sa_data_size_kilobytes: int 5151 :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE phase 1). Possible 5152 values include: "None", "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES128", "GCMAES192", 5153 "GCMAES256". 5154 :type ipsec_encryption: str or ~azure.mgmt.network.v2018_01_01.models.IpsecEncryption 5155 :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase 1). Possible values 5156 include: "MD5", "SHA1", "SHA256", "GCMAES128", "GCMAES192", "GCMAES256". 5157 :type ipsec_integrity: str or ~azure.mgmt.network.v2018_01_01.models.IpsecIntegrity 5158 :param ike_encryption: Required. The IKE encryption algorithm (IKE phase 2). Possible values 5159 include: "DES", "DES3", "AES128", "AES192", "AES256". 5160 :type ike_encryption: str or ~azure.mgmt.network.v2018_01_01.models.IkeEncryption 5161 :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). Possible values 5162 include: "MD5", "SHA1", "SHA256", "SHA384". 5163 :type ike_integrity: str or ~azure.mgmt.network.v2018_01_01.models.IkeIntegrity 5164 :param dh_group: Required. The DH Groups used in IKE Phase 1 for initial SA. Possible values 5165 include: "None", "DHGroup1", "DHGroup2", "DHGroup14", "DHGroup2048", "ECP256", "ECP384", 5166 "DHGroup24". 5167 :type dh_group: str or ~azure.mgmt.network.v2018_01_01.models.DhGroup 5168 :param pfs_group: Required. The DH Groups used in IKE Phase 2 for new child SA. Possible values 5169 include: "None", "PFS1", "PFS2", "PFS2048", "ECP256", "ECP384", "PFS24". 5170 :type pfs_group: str or ~azure.mgmt.network.v2018_01_01.models.PfsGroup 5171 """ 5172 5173 _validation = { 5174 'sa_life_time_seconds': {'required': True}, 5175 'sa_data_size_kilobytes': {'required': True}, 5176 'ipsec_encryption': {'required': True}, 5177 'ipsec_integrity': {'required': True}, 5178 'ike_encryption': {'required': True}, 5179 'ike_integrity': {'required': True}, 5180 'dh_group': {'required': True}, 5181 'pfs_group': {'required': True}, 5182 } 5183 5184 _attribute_map = { 5185 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, 5186 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, 5187 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, 5188 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, 5189 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, 5190 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, 5191 'dh_group': {'key': 'dhGroup', 'type': 'str'}, 5192 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, 5193 } 5194 5195 def __init__( 5196 self, 5197 *, 5198 sa_life_time_seconds: int, 5199 sa_data_size_kilobytes: int, 5200 ipsec_encryption: Union[str, "IpsecEncryption"], 5201 ipsec_integrity: Union[str, "IpsecIntegrity"], 5202 ike_encryption: Union[str, "IkeEncryption"], 5203 ike_integrity: Union[str, "IkeIntegrity"], 5204 dh_group: Union[str, "DhGroup"], 5205 pfs_group: Union[str, "PfsGroup"], 5206 **kwargs 5207 ): 5208 super(IpsecPolicy, self).__init__(**kwargs) 5209 self.sa_life_time_seconds = sa_life_time_seconds 5210 self.sa_data_size_kilobytes = sa_data_size_kilobytes 5211 self.ipsec_encryption = ipsec_encryption 5212 self.ipsec_integrity = ipsec_integrity 5213 self.ike_encryption = ike_encryption 5214 self.ike_integrity = ike_integrity 5215 self.dh_group = dh_group 5216 self.pfs_group = pfs_group 5217 5218 5219class IpTag(msrest.serialization.Model): 5220 """Contains the IpTag associated with the public IP address. 5221 5222 :param ip_tag_type: Gets or sets the ipTag type: Example FirstPartyUsage. 5223 :type ip_tag_type: str 5224 :param tag: Gets or sets value of the IpTag associated with the public IP. Example SQL, Storage 5225 etc. 5226 :type tag: str 5227 """ 5228 5229 _attribute_map = { 5230 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, 5231 'tag': {'key': 'tag', 'type': 'str'}, 5232 } 5233 5234 def __init__( 5235 self, 5236 *, 5237 ip_tag_type: Optional[str] = None, 5238 tag: Optional[str] = None, 5239 **kwargs 5240 ): 5241 super(IpTag, self).__init__(**kwargs) 5242 self.ip_tag_type = ip_tag_type 5243 self.tag = tag 5244 5245 5246class Ipv6ExpressRouteCircuitPeeringConfig(msrest.serialization.Model): 5247 """Contains IPv6 peering config. 5248 5249 :param primary_peer_address_prefix: The primary address prefix. 5250 :type primary_peer_address_prefix: str 5251 :param secondary_peer_address_prefix: The secondary address prefix. 5252 :type secondary_peer_address_prefix: str 5253 :param microsoft_peering_config: The Microsoft peering configuration. 5254 :type microsoft_peering_config: 5255 ~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuitPeeringConfig 5256 :param route_filter: The reference of the RouteFilter resource. 5257 :type route_filter: ~azure.mgmt.network.v2018_01_01.models.RouteFilter 5258 :param state: The state of peering. Possible values are: 'Disabled' and 'Enabled'. Possible 5259 values include: "Disabled", "Enabled". 5260 :type state: str or ~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuitPeeringState 5261 """ 5262 5263 _attribute_map = { 5264 'primary_peer_address_prefix': {'key': 'primaryPeerAddressPrefix', 'type': 'str'}, 5265 'secondary_peer_address_prefix': {'key': 'secondaryPeerAddressPrefix', 'type': 'str'}, 5266 'microsoft_peering_config': {'key': 'microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, 5267 'route_filter': {'key': 'routeFilter', 'type': 'RouteFilter'}, 5268 'state': {'key': 'state', 'type': 'str'}, 5269 } 5270 5271 def __init__( 5272 self, 5273 *, 5274 primary_peer_address_prefix: Optional[str] = None, 5275 secondary_peer_address_prefix: Optional[str] = None, 5276 microsoft_peering_config: Optional["ExpressRouteCircuitPeeringConfig"] = None, 5277 route_filter: Optional["RouteFilter"] = None, 5278 state: Optional[Union[str, "ExpressRouteCircuitPeeringState"]] = None, 5279 **kwargs 5280 ): 5281 super(Ipv6ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) 5282 self.primary_peer_address_prefix = primary_peer_address_prefix 5283 self.secondary_peer_address_prefix = secondary_peer_address_prefix 5284 self.microsoft_peering_config = microsoft_peering_config 5285 self.route_filter = route_filter 5286 self.state = state 5287 5288 5289class LoadBalancer(Resource): 5290 """LoadBalancer resource. 5291 5292 Variables are only populated by the server, and will be ignored when sending a request. 5293 5294 :param id: Resource ID. 5295 :type id: str 5296 :ivar name: Resource name. 5297 :vartype name: str 5298 :ivar type: Resource type. 5299 :vartype type: str 5300 :param location: Resource location. 5301 :type location: str 5302 :param tags: A set of tags. Resource tags. 5303 :type tags: dict[str, str] 5304 :param sku: The load balancer SKU. 5305 :type sku: ~azure.mgmt.network.v2018_01_01.models.LoadBalancerSku 5306 :param etag: A unique read-only string that changes whenever the resource is updated. 5307 :type etag: str 5308 :param frontend_ip_configurations: Object representing the frontend IPs to be used for the load 5309 balancer. 5310 :type frontend_ip_configurations: 5311 list[~azure.mgmt.network.v2018_01_01.models.FrontendIPConfiguration] 5312 :param backend_address_pools: Collection of backend address pools used by a load balancer. 5313 :type backend_address_pools: list[~azure.mgmt.network.v2018_01_01.models.BackendAddressPool] 5314 :param load_balancing_rules: Object collection representing the load balancing rules Gets the 5315 provisioning. 5316 :type load_balancing_rules: list[~azure.mgmt.network.v2018_01_01.models.LoadBalancingRule] 5317 :param probes: Collection of probe objects used in the load balancer. 5318 :type probes: list[~azure.mgmt.network.v2018_01_01.models.Probe] 5319 :param inbound_nat_rules: Collection of inbound NAT Rules used by a load balancer. Defining 5320 inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT 5321 pool. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are 5322 associated with individual virtual machines cannot reference an Inbound NAT pool. They have to 5323 reference individual inbound NAT rules. 5324 :type inbound_nat_rules: list[~azure.mgmt.network.v2018_01_01.models.InboundNatRule] 5325 :param inbound_nat_pools: Defines an external port range for inbound NAT to a single backend 5326 port on NICs associated with a load balancer. Inbound NAT rules are created automatically for 5327 each NIC associated with the Load Balancer using an external port from this range. Defining an 5328 Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat rules. 5329 Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with 5330 individual virtual machines cannot reference an inbound NAT pool. They have to reference 5331 individual inbound NAT rules. 5332 :type inbound_nat_pools: list[~azure.mgmt.network.v2018_01_01.models.InboundNatPool] 5333 :param outbound_nat_rules: The outbound NAT rules. 5334 :type outbound_nat_rules: list[~azure.mgmt.network.v2018_01_01.models.OutboundNatRule] 5335 :param resource_guid: The resource GUID property of the load balancer resource. 5336 :type resource_guid: str 5337 :param provisioning_state: Gets the provisioning state of the PublicIP resource. Possible 5338 values are: 'Updating', 'Deleting', and 'Failed'. 5339 :type provisioning_state: str 5340 """ 5341 5342 _validation = { 5343 'name': {'readonly': True}, 5344 'type': {'readonly': True}, 5345 } 5346 5347 _attribute_map = { 5348 'id': {'key': 'id', 'type': 'str'}, 5349 'name': {'key': 'name', 'type': 'str'}, 5350 'type': {'key': 'type', 'type': 'str'}, 5351 'location': {'key': 'location', 'type': 'str'}, 5352 'tags': {'key': 'tags', 'type': '{str}'}, 5353 'sku': {'key': 'sku', 'type': 'LoadBalancerSku'}, 5354 'etag': {'key': 'etag', 'type': 'str'}, 5355 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, 5356 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, 5357 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, 5358 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, 5359 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, 5360 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, 5361 'outbound_nat_rules': {'key': 'properties.outboundNatRules', 'type': '[OutboundNatRule]'}, 5362 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 5363 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5364 } 5365 5366 def __init__( 5367 self, 5368 *, 5369 id: Optional[str] = None, 5370 location: Optional[str] = None, 5371 tags: Optional[Dict[str, str]] = None, 5372 sku: Optional["LoadBalancerSku"] = None, 5373 etag: Optional[str] = None, 5374 frontend_ip_configurations: Optional[List["FrontendIPConfiguration"]] = None, 5375 backend_address_pools: Optional[List["BackendAddressPool"]] = None, 5376 load_balancing_rules: Optional[List["LoadBalancingRule"]] = None, 5377 probes: Optional[List["Probe"]] = None, 5378 inbound_nat_rules: Optional[List["InboundNatRule"]] = None, 5379 inbound_nat_pools: Optional[List["InboundNatPool"]] = None, 5380 outbound_nat_rules: Optional[List["OutboundNatRule"]] = None, 5381 resource_guid: Optional[str] = None, 5382 provisioning_state: Optional[str] = None, 5383 **kwargs 5384 ): 5385 super(LoadBalancer, self).__init__(id=id, location=location, tags=tags, **kwargs) 5386 self.sku = sku 5387 self.etag = etag 5388 self.frontend_ip_configurations = frontend_ip_configurations 5389 self.backend_address_pools = backend_address_pools 5390 self.load_balancing_rules = load_balancing_rules 5391 self.probes = probes 5392 self.inbound_nat_rules = inbound_nat_rules 5393 self.inbound_nat_pools = inbound_nat_pools 5394 self.outbound_nat_rules = outbound_nat_rules 5395 self.resource_guid = resource_guid 5396 self.provisioning_state = provisioning_state 5397 5398 5399class LoadBalancerBackendAddressPoolListResult(msrest.serialization.Model): 5400 """Response for ListBackendAddressPool API service call. 5401 5402 Variables are only populated by the server, and will be ignored when sending a request. 5403 5404 :param value: A list of backend address pools in a load balancer. 5405 :type value: list[~azure.mgmt.network.v2018_01_01.models.BackendAddressPool] 5406 :ivar next_link: The URL to get the next set of results. 5407 :vartype next_link: str 5408 """ 5409 5410 _validation = { 5411 'next_link': {'readonly': True}, 5412 } 5413 5414 _attribute_map = { 5415 'value': {'key': 'value', 'type': '[BackendAddressPool]'}, 5416 'next_link': {'key': 'nextLink', 'type': 'str'}, 5417 } 5418 5419 def __init__( 5420 self, 5421 *, 5422 value: Optional[List["BackendAddressPool"]] = None, 5423 **kwargs 5424 ): 5425 super(LoadBalancerBackendAddressPoolListResult, self).__init__(**kwargs) 5426 self.value = value 5427 self.next_link = None 5428 5429 5430class LoadBalancerFrontendIPConfigurationListResult(msrest.serialization.Model): 5431 """Response for ListFrontendIPConfiguration API service call. 5432 5433 Variables are only populated by the server, and will be ignored when sending a request. 5434 5435 :param value: A list of frontend IP configurations in a load balancer. 5436 :type value: list[~azure.mgmt.network.v2018_01_01.models.FrontendIPConfiguration] 5437 :ivar next_link: The URL to get the next set of results. 5438 :vartype next_link: str 5439 """ 5440 5441 _validation = { 5442 'next_link': {'readonly': True}, 5443 } 5444 5445 _attribute_map = { 5446 'value': {'key': 'value', 'type': '[FrontendIPConfiguration]'}, 5447 'next_link': {'key': 'nextLink', 'type': 'str'}, 5448 } 5449 5450 def __init__( 5451 self, 5452 *, 5453 value: Optional[List["FrontendIPConfiguration"]] = None, 5454 **kwargs 5455 ): 5456 super(LoadBalancerFrontendIPConfigurationListResult, self).__init__(**kwargs) 5457 self.value = value 5458 self.next_link = None 5459 5460 5461class LoadBalancerListResult(msrest.serialization.Model): 5462 """Response for ListLoadBalancers API service call. 5463 5464 Variables are only populated by the server, and will be ignored when sending a request. 5465 5466 :param value: A list of load balancers in a resource group. 5467 :type value: list[~azure.mgmt.network.v2018_01_01.models.LoadBalancer] 5468 :ivar next_link: The URL to get the next set of results. 5469 :vartype next_link: str 5470 """ 5471 5472 _validation = { 5473 'next_link': {'readonly': True}, 5474 } 5475 5476 _attribute_map = { 5477 'value': {'key': 'value', 'type': '[LoadBalancer]'}, 5478 'next_link': {'key': 'nextLink', 'type': 'str'}, 5479 } 5480 5481 def __init__( 5482 self, 5483 *, 5484 value: Optional[List["LoadBalancer"]] = None, 5485 **kwargs 5486 ): 5487 super(LoadBalancerListResult, self).__init__(**kwargs) 5488 self.value = value 5489 self.next_link = None 5490 5491 5492class LoadBalancerLoadBalancingRuleListResult(msrest.serialization.Model): 5493 """Response for ListLoadBalancingRule API service call. 5494 5495 Variables are only populated by the server, and will be ignored when sending a request. 5496 5497 :param value: A list of load balancing rules in a load balancer. 5498 :type value: list[~azure.mgmt.network.v2018_01_01.models.LoadBalancingRule] 5499 :ivar next_link: The URL to get the next set of results. 5500 :vartype next_link: str 5501 """ 5502 5503 _validation = { 5504 'next_link': {'readonly': True}, 5505 } 5506 5507 _attribute_map = { 5508 'value': {'key': 'value', 'type': '[LoadBalancingRule]'}, 5509 'next_link': {'key': 'nextLink', 'type': 'str'}, 5510 } 5511 5512 def __init__( 5513 self, 5514 *, 5515 value: Optional[List["LoadBalancingRule"]] = None, 5516 **kwargs 5517 ): 5518 super(LoadBalancerLoadBalancingRuleListResult, self).__init__(**kwargs) 5519 self.value = value 5520 self.next_link = None 5521 5522 5523class LoadBalancerProbeListResult(msrest.serialization.Model): 5524 """Response for ListProbe API service call. 5525 5526 Variables are only populated by the server, and will be ignored when sending a request. 5527 5528 :param value: A list of probes in a load balancer. 5529 :type value: list[~azure.mgmt.network.v2018_01_01.models.Probe] 5530 :ivar next_link: The URL to get the next set of results. 5531 :vartype next_link: str 5532 """ 5533 5534 _validation = { 5535 'next_link': {'readonly': True}, 5536 } 5537 5538 _attribute_map = { 5539 'value': {'key': 'value', 'type': '[Probe]'}, 5540 'next_link': {'key': 'nextLink', 'type': 'str'}, 5541 } 5542 5543 def __init__( 5544 self, 5545 *, 5546 value: Optional[List["Probe"]] = None, 5547 **kwargs 5548 ): 5549 super(LoadBalancerProbeListResult, self).__init__(**kwargs) 5550 self.value = value 5551 self.next_link = None 5552 5553 5554class LoadBalancerSku(msrest.serialization.Model): 5555 """SKU of a load balancer. 5556 5557 :param name: Name of a load balancer SKU. Possible values include: "Basic", "Standard". 5558 :type name: str or ~azure.mgmt.network.v2018_01_01.models.LoadBalancerSkuName 5559 """ 5560 5561 _attribute_map = { 5562 'name': {'key': 'name', 'type': 'str'}, 5563 } 5564 5565 def __init__( 5566 self, 5567 *, 5568 name: Optional[Union[str, "LoadBalancerSkuName"]] = None, 5569 **kwargs 5570 ): 5571 super(LoadBalancerSku, self).__init__(**kwargs) 5572 self.name = name 5573 5574 5575class LoadBalancingRule(SubResource): 5576 """A load balancing rule for a load balancer. 5577 5578 :param id: Resource ID. 5579 :type id: str 5580 :param name: The name of the resource that is unique within a resource group. This name can be 5581 used to access the resource. 5582 :type name: str 5583 :param etag: A unique read-only string that changes whenever the resource is updated. 5584 :type etag: str 5585 :param frontend_ip_configuration: A reference to frontend IP addresses. 5586 :type frontend_ip_configuration: ~azure.mgmt.network.v2018_01_01.models.SubResource 5587 :param backend_address_pool: A reference to a pool of DIPs. Inbound traffic is randomly load 5588 balanced across IPs in the backend IPs. 5589 :type backend_address_pool: ~azure.mgmt.network.v2018_01_01.models.SubResource 5590 :param probe: The reference of the load balancer probe used by the load balancing rule. 5591 :type probe: ~azure.mgmt.network.v2018_01_01.models.SubResource 5592 :param protocol: The transport protocol for the endpoint. Possible values are 'Udp' or 'Tcp' or 5593 'All.'. Possible values include: "Udp", "Tcp", "All". 5594 :type protocol: str or ~azure.mgmt.network.v2018_01_01.models.TransportProtocol 5595 :param load_distribution: The load distribution policy for this rule. Possible values are 5596 'Default', 'SourceIP', and 'SourceIPProtocol'. Possible values include: "Default", "SourceIP", 5597 "SourceIPProtocol". 5598 :type load_distribution: str or ~azure.mgmt.network.v2018_01_01.models.LoadDistribution 5599 :param frontend_port: The port for the external endpoint. Port numbers for each rule must be 5600 unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 5601 enables "Any Port". 5602 :type frontend_port: int 5603 :param backend_port: The port used for internal connections on the endpoint. Acceptable values 5604 are between 0 and 65535. Note that value 0 enables "Any Port". 5605 :type backend_port: int 5606 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. The value can be set 5607 between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the 5608 protocol is set to TCP. 5609 :type idle_timeout_in_minutes: int 5610 :param enable_floating_ip: Configures a virtual machine's endpoint for the floating IP 5611 capability required to configure a SQL AlwaysOn Availability Group. This setting is required 5612 when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed 5613 after you create the endpoint. 5614 :type enable_floating_ip: bool 5615 :param disable_outbound_snat: Configures SNAT for the VMs in the backend pool to use the 5616 publicIP address specified in the frontend of the load balancing rule. 5617 :type disable_outbound_snat: bool 5618 :param provisioning_state: Gets the provisioning state of the PublicIP resource. Possible 5619 values are: 'Updating', 'Deleting', and 'Failed'. 5620 :type provisioning_state: str 5621 """ 5622 5623 _attribute_map = { 5624 'id': {'key': 'id', 'type': 'str'}, 5625 'name': {'key': 'name', 'type': 'str'}, 5626 'etag': {'key': 'etag', 'type': 'str'}, 5627 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 5628 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 5629 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, 5630 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 5631 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, 5632 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, 5633 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 5634 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 5635 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, 5636 'disable_outbound_snat': {'key': 'properties.disableOutboundSnat', 'type': 'bool'}, 5637 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5638 } 5639 5640 def __init__( 5641 self, 5642 *, 5643 id: Optional[str] = None, 5644 name: Optional[str] = None, 5645 etag: Optional[str] = None, 5646 frontend_ip_configuration: Optional["SubResource"] = None, 5647 backend_address_pool: Optional["SubResource"] = None, 5648 probe: Optional["SubResource"] = None, 5649 protocol: Optional[Union[str, "TransportProtocol"]] = None, 5650 load_distribution: Optional[Union[str, "LoadDistribution"]] = None, 5651 frontend_port: Optional[int] = None, 5652 backend_port: Optional[int] = None, 5653 idle_timeout_in_minutes: Optional[int] = None, 5654 enable_floating_ip: Optional[bool] = None, 5655 disable_outbound_snat: Optional[bool] = None, 5656 provisioning_state: Optional[str] = None, 5657 **kwargs 5658 ): 5659 super(LoadBalancingRule, self).__init__(id=id, **kwargs) 5660 self.name = name 5661 self.etag = etag 5662 self.frontend_ip_configuration = frontend_ip_configuration 5663 self.backend_address_pool = backend_address_pool 5664 self.probe = probe 5665 self.protocol = protocol 5666 self.load_distribution = load_distribution 5667 self.frontend_port = frontend_port 5668 self.backend_port = backend_port 5669 self.idle_timeout_in_minutes = idle_timeout_in_minutes 5670 self.enable_floating_ip = enable_floating_ip 5671 self.disable_outbound_snat = disable_outbound_snat 5672 self.provisioning_state = provisioning_state 5673 5674 5675class LocalNetworkGateway(Resource): 5676 """A common class for general resource information. 5677 5678 Variables are only populated by the server, and will be ignored when sending a request. 5679 5680 :param id: Resource ID. 5681 :type id: str 5682 :ivar name: Resource name. 5683 :vartype name: str 5684 :ivar type: Resource type. 5685 :vartype type: str 5686 :param location: Resource location. 5687 :type location: str 5688 :param tags: A set of tags. Resource tags. 5689 :type tags: dict[str, str] 5690 :param etag: A unique read-only string that changes whenever the resource is updated. 5691 :type etag: str 5692 :param local_network_address_space: Local network site address space. 5693 :type local_network_address_space: ~azure.mgmt.network.v2018_01_01.models.AddressSpace 5694 :param gateway_ip_address: IP address of local network gateway. 5695 :type gateway_ip_address: str 5696 :param bgp_settings: Local network gateway's BGP speaker settings. 5697 :type bgp_settings: ~azure.mgmt.network.v2018_01_01.models.BgpSettings 5698 :param resource_guid: The resource GUID property of the LocalNetworkGateway resource. 5699 :type resource_guid: str 5700 :ivar provisioning_state: The provisioning state of the LocalNetworkGateway resource. Possible 5701 values are: 'Updating', 'Deleting', and 'Failed'. 5702 :vartype provisioning_state: str 5703 """ 5704 5705 _validation = { 5706 'name': {'readonly': True}, 5707 'type': {'readonly': True}, 5708 'provisioning_state': {'readonly': True}, 5709 } 5710 5711 _attribute_map = { 5712 'id': {'key': 'id', 'type': 'str'}, 5713 'name': {'key': 'name', 'type': 'str'}, 5714 'type': {'key': 'type', 'type': 'str'}, 5715 'location': {'key': 'location', 'type': 'str'}, 5716 'tags': {'key': 'tags', 'type': '{str}'}, 5717 'etag': {'key': 'etag', 'type': 'str'}, 5718 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, 5719 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, 5720 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, 5721 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 5722 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5723 } 5724 5725 def __init__( 5726 self, 5727 *, 5728 id: Optional[str] = None, 5729 location: Optional[str] = None, 5730 tags: Optional[Dict[str, str]] = None, 5731 etag: Optional[str] = None, 5732 local_network_address_space: Optional["AddressSpace"] = None, 5733 gateway_ip_address: Optional[str] = None, 5734 bgp_settings: Optional["BgpSettings"] = None, 5735 resource_guid: Optional[str] = None, 5736 **kwargs 5737 ): 5738 super(LocalNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 5739 self.etag = etag 5740 self.local_network_address_space = local_network_address_space 5741 self.gateway_ip_address = gateway_ip_address 5742 self.bgp_settings = bgp_settings 5743 self.resource_guid = resource_guid 5744 self.provisioning_state = None 5745 5746 5747class LocalNetworkGatewayListResult(msrest.serialization.Model): 5748 """Response for ListLocalNetworkGateways API service call. 5749 5750 Variables are only populated by the server, and will be ignored when sending a request. 5751 5752 :param value: A list of local network gateways that exists in a resource group. 5753 :type value: list[~azure.mgmt.network.v2018_01_01.models.LocalNetworkGateway] 5754 :ivar next_link: The URL to get the next set of results. 5755 :vartype next_link: str 5756 """ 5757 5758 _validation = { 5759 'next_link': {'readonly': True}, 5760 } 5761 5762 _attribute_map = { 5763 'value': {'key': 'value', 'type': '[LocalNetworkGateway]'}, 5764 'next_link': {'key': 'nextLink', 'type': 'str'}, 5765 } 5766 5767 def __init__( 5768 self, 5769 *, 5770 value: Optional[List["LocalNetworkGateway"]] = None, 5771 **kwargs 5772 ): 5773 super(LocalNetworkGatewayListResult, self).__init__(**kwargs) 5774 self.value = value 5775 self.next_link = None 5776 5777 5778class LogSpecification(msrest.serialization.Model): 5779 """Description of logging specification. 5780 5781 :param name: The name of the specification. 5782 :type name: str 5783 :param display_name: The display name of the specification. 5784 :type display_name: str 5785 :param blob_duration: Duration of the blob. 5786 :type blob_duration: str 5787 """ 5788 5789 _attribute_map = { 5790 'name': {'key': 'name', 'type': 'str'}, 5791 'display_name': {'key': 'displayName', 'type': 'str'}, 5792 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, 5793 } 5794 5795 def __init__( 5796 self, 5797 *, 5798 name: Optional[str] = None, 5799 display_name: Optional[str] = None, 5800 blob_duration: Optional[str] = None, 5801 **kwargs 5802 ): 5803 super(LogSpecification, self).__init__(**kwargs) 5804 self.name = name 5805 self.display_name = display_name 5806 self.blob_duration = blob_duration 5807 5808 5809class MetricSpecification(msrest.serialization.Model): 5810 """Description of metrics specification. 5811 5812 :param name: The name of the metric. 5813 :type name: str 5814 :param display_name: The display name of the metric. 5815 :type display_name: str 5816 :param display_description: The description of the metric. 5817 :type display_description: str 5818 :param unit: Units the metric to be displayed in. 5819 :type unit: str 5820 :param aggregation_type: The aggregation type. 5821 :type aggregation_type: str 5822 :param availabilities: List of availability. 5823 :type availabilities: list[~azure.mgmt.network.v2018_01_01.models.Availability] 5824 :param enable_regional_mdm_account: Whether regional MDM account enabled. 5825 :type enable_regional_mdm_account: bool 5826 :param fill_gap_with_zero: Whether gaps would be filled with zeros. 5827 :type fill_gap_with_zero: bool 5828 :param metric_filter_pattern: Pattern for the filter of the metric. 5829 :type metric_filter_pattern: str 5830 :param dimensions: List of dimensions. 5831 :type dimensions: list[~azure.mgmt.network.v2018_01_01.models.Dimension] 5832 :param is_internal: Whether the metric is internal. 5833 :type is_internal: bool 5834 :param source_mdm_account: The source MDM account. 5835 :type source_mdm_account: str 5836 :param source_mdm_namespace: The source MDM namespace. 5837 :type source_mdm_namespace: str 5838 :param resource_id_dimension_name_override: The resource Id dimension name override. 5839 :type resource_id_dimension_name_override: str 5840 """ 5841 5842 _attribute_map = { 5843 'name': {'key': 'name', 'type': 'str'}, 5844 'display_name': {'key': 'displayName', 'type': 'str'}, 5845 'display_description': {'key': 'displayDescription', 'type': 'str'}, 5846 'unit': {'key': 'unit', 'type': 'str'}, 5847 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, 5848 'availabilities': {'key': 'availabilities', 'type': '[Availability]'}, 5849 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, 5850 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, 5851 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, 5852 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, 5853 'is_internal': {'key': 'isInternal', 'type': 'bool'}, 5854 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, 5855 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, 5856 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, 5857 } 5858 5859 def __init__( 5860 self, 5861 *, 5862 name: Optional[str] = None, 5863 display_name: Optional[str] = None, 5864 display_description: Optional[str] = None, 5865 unit: Optional[str] = None, 5866 aggregation_type: Optional[str] = None, 5867 availabilities: Optional[List["Availability"]] = None, 5868 enable_regional_mdm_account: Optional[bool] = None, 5869 fill_gap_with_zero: Optional[bool] = None, 5870 metric_filter_pattern: Optional[str] = None, 5871 dimensions: Optional[List["Dimension"]] = None, 5872 is_internal: Optional[bool] = None, 5873 source_mdm_account: Optional[str] = None, 5874 source_mdm_namespace: Optional[str] = None, 5875 resource_id_dimension_name_override: Optional[str] = None, 5876 **kwargs 5877 ): 5878 super(MetricSpecification, self).__init__(**kwargs) 5879 self.name = name 5880 self.display_name = display_name 5881 self.display_description = display_description 5882 self.unit = unit 5883 self.aggregation_type = aggregation_type 5884 self.availabilities = availabilities 5885 self.enable_regional_mdm_account = enable_regional_mdm_account 5886 self.fill_gap_with_zero = fill_gap_with_zero 5887 self.metric_filter_pattern = metric_filter_pattern 5888 self.dimensions = dimensions 5889 self.is_internal = is_internal 5890 self.source_mdm_account = source_mdm_account 5891 self.source_mdm_namespace = source_mdm_namespace 5892 self.resource_id_dimension_name_override = resource_id_dimension_name_override 5893 5894 5895class NetworkInterface(Resource): 5896 """A network interface in a resource group. 5897 5898 Variables are only populated by the server, and will be ignored when sending a request. 5899 5900 :param id: Resource ID. 5901 :type id: str 5902 :ivar name: Resource name. 5903 :vartype name: str 5904 :ivar type: Resource type. 5905 :vartype type: str 5906 :param location: Resource location. 5907 :type location: str 5908 :param tags: A set of tags. Resource tags. 5909 :type tags: dict[str, str] 5910 :param etag: A unique read-only string that changes whenever the resource is updated. 5911 :type etag: str 5912 :param virtual_machine: The reference of a virtual machine. 5913 :type virtual_machine: ~azure.mgmt.network.v2018_01_01.models.SubResource 5914 :param network_security_group: The reference of the NetworkSecurityGroup resource. 5915 :type network_security_group: ~azure.mgmt.network.v2018_01_01.models.NetworkSecurityGroup 5916 :param ip_configurations: A list of IPConfigurations of the network interface. 5917 :type ip_configurations: 5918 list[~azure.mgmt.network.v2018_01_01.models.NetworkInterfaceIPConfiguration] 5919 :param dns_settings: The DNS settings in network interface. 5920 :type dns_settings: ~azure.mgmt.network.v2018_01_01.models.NetworkInterfaceDnsSettings 5921 :param mac_address: The MAC address of the network interface. 5922 :type mac_address: str 5923 :param primary: Gets whether this is a primary network interface on a virtual machine. 5924 :type primary: bool 5925 :param enable_accelerated_networking: If the network interface is accelerated networking 5926 enabled. 5927 :type enable_accelerated_networking: bool 5928 :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on this network 5929 interface. 5930 :type enable_ip_forwarding: bool 5931 :param resource_guid: The resource GUID property of the network interface resource. 5932 :type resource_guid: str 5933 :param provisioning_state: The provisioning state of the public IP resource. Possible values 5934 are: 'Updating', 'Deleting', and 'Failed'. 5935 :type provisioning_state: str 5936 """ 5937 5938 _validation = { 5939 'name': {'readonly': True}, 5940 'type': {'readonly': True}, 5941 } 5942 5943 _attribute_map = { 5944 'id': {'key': 'id', 'type': 'str'}, 5945 'name': {'key': 'name', 'type': 'str'}, 5946 'type': {'key': 'type', 'type': 'str'}, 5947 'location': {'key': 'location', 'type': 'str'}, 5948 'tags': {'key': 'tags', 'type': '{str}'}, 5949 'etag': {'key': 'etag', 'type': 'str'}, 5950 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, 5951 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, 5952 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 5953 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, 5954 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, 5955 'primary': {'key': 'properties.primary', 'type': 'bool'}, 5956 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, 5957 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, 5958 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 5959 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5960 } 5961 5962 def __init__( 5963 self, 5964 *, 5965 id: Optional[str] = None, 5966 location: Optional[str] = None, 5967 tags: Optional[Dict[str, str]] = None, 5968 etag: Optional[str] = None, 5969 virtual_machine: Optional["SubResource"] = None, 5970 network_security_group: Optional["NetworkSecurityGroup"] = None, 5971 ip_configurations: Optional[List["NetworkInterfaceIPConfiguration"]] = None, 5972 dns_settings: Optional["NetworkInterfaceDnsSettings"] = None, 5973 mac_address: Optional[str] = None, 5974 primary: Optional[bool] = None, 5975 enable_accelerated_networking: Optional[bool] = None, 5976 enable_ip_forwarding: Optional[bool] = None, 5977 resource_guid: Optional[str] = None, 5978 provisioning_state: Optional[str] = None, 5979 **kwargs 5980 ): 5981 super(NetworkInterface, self).__init__(id=id, location=location, tags=tags, **kwargs) 5982 self.etag = etag 5983 self.virtual_machine = virtual_machine 5984 self.network_security_group = network_security_group 5985 self.ip_configurations = ip_configurations 5986 self.dns_settings = dns_settings 5987 self.mac_address = mac_address 5988 self.primary = primary 5989 self.enable_accelerated_networking = enable_accelerated_networking 5990 self.enable_ip_forwarding = enable_ip_forwarding 5991 self.resource_guid = resource_guid 5992 self.provisioning_state = provisioning_state 5993 5994 5995class NetworkInterfaceAssociation(msrest.serialization.Model): 5996 """Network interface and its custom security rules. 5997 5998 Variables are only populated by the server, and will be ignored when sending a request. 5999 6000 :ivar id: Network interface ID. 6001 :vartype id: str 6002 :param security_rules: Collection of custom security rules. 6003 :type security_rules: list[~azure.mgmt.network.v2018_01_01.models.SecurityRule] 6004 """ 6005 6006 _validation = { 6007 'id': {'readonly': True}, 6008 } 6009 6010 _attribute_map = { 6011 'id': {'key': 'id', 'type': 'str'}, 6012 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, 6013 } 6014 6015 def __init__( 6016 self, 6017 *, 6018 security_rules: Optional[List["SecurityRule"]] = None, 6019 **kwargs 6020 ): 6021 super(NetworkInterfaceAssociation, self).__init__(**kwargs) 6022 self.id = None 6023 self.security_rules = security_rules 6024 6025 6026class NetworkInterfaceDnsSettings(msrest.serialization.Model): 6027 """DNS settings of a network interface. 6028 6029 :param dns_servers: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure 6030 provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be 6031 the only value in dnsServers collection. 6032 :type dns_servers: list[str] 6033 :param applied_dns_servers: If the VM that uses this NIC is part of an Availability Set, then 6034 this list will have the union of all DNS servers from all NICs that are part of the 6035 Availability Set. This property is what is configured on each of those VMs. 6036 :type applied_dns_servers: list[str] 6037 :param internal_dns_name_label: Relative DNS name for this NIC used for internal communications 6038 between VMs in the same virtual network. 6039 :type internal_dns_name_label: str 6040 :param internal_fqdn: Fully qualified DNS name supporting internal communications between VMs 6041 in the same virtual network. 6042 :type internal_fqdn: str 6043 :param internal_domain_name_suffix: Even if internalDnsNameLabel is not specified, a DNS entry 6044 is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the 6045 VM name with the value of internalDomainNameSuffix. 6046 :type internal_domain_name_suffix: str 6047 """ 6048 6049 _attribute_map = { 6050 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, 6051 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, 6052 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, 6053 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, 6054 'internal_domain_name_suffix': {'key': 'internalDomainNameSuffix', 'type': 'str'}, 6055 } 6056 6057 def __init__( 6058 self, 6059 *, 6060 dns_servers: Optional[List[str]] = None, 6061 applied_dns_servers: Optional[List[str]] = None, 6062 internal_dns_name_label: Optional[str] = None, 6063 internal_fqdn: Optional[str] = None, 6064 internal_domain_name_suffix: Optional[str] = None, 6065 **kwargs 6066 ): 6067 super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) 6068 self.dns_servers = dns_servers 6069 self.applied_dns_servers = applied_dns_servers 6070 self.internal_dns_name_label = internal_dns_name_label 6071 self.internal_fqdn = internal_fqdn 6072 self.internal_domain_name_suffix = internal_domain_name_suffix 6073 6074 6075class NetworkInterfaceIPConfiguration(SubResource): 6076 """IPConfiguration in a network interface. 6077 6078 :param id: Resource ID. 6079 :type id: str 6080 :param name: The name of the resource that is unique within a resource group. This name can be 6081 used to access the resource. 6082 :type name: str 6083 :param etag: A unique read-only string that changes whenever the resource is updated. 6084 :type etag: str 6085 :param application_gateway_backend_address_pools: The reference of 6086 ApplicationGatewayBackendAddressPool resource. 6087 :type application_gateway_backend_address_pools: 6088 list[~azure.mgmt.network.v2018_01_01.models.ApplicationGatewayBackendAddressPool] 6089 :param load_balancer_backend_address_pools: The reference of LoadBalancerBackendAddressPool 6090 resource. 6091 :type load_balancer_backend_address_pools: 6092 list[~azure.mgmt.network.v2018_01_01.models.BackendAddressPool] 6093 :param load_balancer_inbound_nat_rules: A list of references of LoadBalancerInboundNatRules. 6094 :type load_balancer_inbound_nat_rules: 6095 list[~azure.mgmt.network.v2018_01_01.models.InboundNatRule] 6096 :param private_ip_address: Private IP address of the IP configuration. 6097 :type private_ip_address: str 6098 :param private_ip_allocation_method: Defines how a private IP address is assigned. Possible 6099 values are: 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 6100 :type private_ip_allocation_method: str or 6101 ~azure.mgmt.network.v2018_01_01.models.IPAllocationMethod 6102 :param private_ip_address_version: Available from Api-Version 2016-03-30 onwards, it represents 6103 whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible 6104 values are: 'IPv4' and 'IPv6'. Possible values include: "IPv4", "IPv6". 6105 :type private_ip_address_version: str or ~azure.mgmt.network.v2018_01_01.models.IPVersion 6106 :param subnet: Subnet bound to the IP configuration. 6107 :type subnet: ~azure.mgmt.network.v2018_01_01.models.Subnet 6108 :param primary: Gets whether this is a primary customer address on the network interface. 6109 :type primary: bool 6110 :param public_ip_address: Public IP address bound to the IP configuration. 6111 :type public_ip_address: ~azure.mgmt.network.v2018_01_01.models.PublicIPAddress 6112 :param application_security_groups: Application security groups in which the IP configuration 6113 is included. 6114 :type application_security_groups: 6115 list[~azure.mgmt.network.v2018_01_01.models.ApplicationSecurityGroup] 6116 :param provisioning_state: The provisioning state of the network interface IP configuration. 6117 Possible values are: 'Updating', 'Deleting', and 'Failed'. 6118 :type provisioning_state: str 6119 """ 6120 6121 _attribute_map = { 6122 'id': {'key': 'id', 'type': 'str'}, 6123 'name': {'key': 'name', 'type': 'str'}, 6124 'etag': {'key': 'etag', 'type': 'str'}, 6125 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, 6126 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, 6127 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, 6128 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 6129 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 6130 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, 6131 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 6132 'primary': {'key': 'properties.primary', 'type': 'bool'}, 6133 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 6134 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, 6135 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6136 } 6137 6138 def __init__( 6139 self, 6140 *, 6141 id: Optional[str] = None, 6142 name: Optional[str] = None, 6143 etag: Optional[str] = None, 6144 application_gateway_backend_address_pools: Optional[List["ApplicationGatewayBackendAddressPool"]] = None, 6145 load_balancer_backend_address_pools: Optional[List["BackendAddressPool"]] = None, 6146 load_balancer_inbound_nat_rules: Optional[List["InboundNatRule"]] = None, 6147 private_ip_address: Optional[str] = None, 6148 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 6149 private_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 6150 subnet: Optional["Subnet"] = None, 6151 primary: Optional[bool] = None, 6152 public_ip_address: Optional["PublicIPAddress"] = None, 6153 application_security_groups: Optional[List["ApplicationSecurityGroup"]] = None, 6154 provisioning_state: Optional[str] = None, 6155 **kwargs 6156 ): 6157 super(NetworkInterfaceIPConfiguration, self).__init__(id=id, **kwargs) 6158 self.name = name 6159 self.etag = etag 6160 self.application_gateway_backend_address_pools = application_gateway_backend_address_pools 6161 self.load_balancer_backend_address_pools = load_balancer_backend_address_pools 6162 self.load_balancer_inbound_nat_rules = load_balancer_inbound_nat_rules 6163 self.private_ip_address = private_ip_address 6164 self.private_ip_allocation_method = private_ip_allocation_method 6165 self.private_ip_address_version = private_ip_address_version 6166 self.subnet = subnet 6167 self.primary = primary 6168 self.public_ip_address = public_ip_address 6169 self.application_security_groups = application_security_groups 6170 self.provisioning_state = provisioning_state 6171 6172 6173class NetworkInterfaceIPConfigurationListResult(msrest.serialization.Model): 6174 """Response for list ip configurations API service call. 6175 6176 Variables are only populated by the server, and will be ignored when sending a request. 6177 6178 :param value: A list of ip configurations. 6179 :type value: list[~azure.mgmt.network.v2018_01_01.models.NetworkInterfaceIPConfiguration] 6180 :ivar next_link: The URL to get the next set of results. 6181 :vartype next_link: str 6182 """ 6183 6184 _validation = { 6185 'next_link': {'readonly': True}, 6186 } 6187 6188 _attribute_map = { 6189 'value': {'key': 'value', 'type': '[NetworkInterfaceIPConfiguration]'}, 6190 'next_link': {'key': 'nextLink', 'type': 'str'}, 6191 } 6192 6193 def __init__( 6194 self, 6195 *, 6196 value: Optional[List["NetworkInterfaceIPConfiguration"]] = None, 6197 **kwargs 6198 ): 6199 super(NetworkInterfaceIPConfigurationListResult, self).__init__(**kwargs) 6200 self.value = value 6201 self.next_link = None 6202 6203 6204class NetworkInterfaceListResult(msrest.serialization.Model): 6205 """Response for the ListNetworkInterface API service call. 6206 6207 Variables are only populated by the server, and will be ignored when sending a request. 6208 6209 :param value: A list of network interfaces in a resource group. 6210 :type value: list[~azure.mgmt.network.v2018_01_01.models.NetworkInterface] 6211 :ivar next_link: The URL to get the next set of results. 6212 :vartype next_link: str 6213 """ 6214 6215 _validation = { 6216 'next_link': {'readonly': True}, 6217 } 6218 6219 _attribute_map = { 6220 'value': {'key': 'value', 'type': '[NetworkInterface]'}, 6221 'next_link': {'key': 'nextLink', 'type': 'str'}, 6222 } 6223 6224 def __init__( 6225 self, 6226 *, 6227 value: Optional[List["NetworkInterface"]] = None, 6228 **kwargs 6229 ): 6230 super(NetworkInterfaceListResult, self).__init__(**kwargs) 6231 self.value = value 6232 self.next_link = None 6233 6234 6235class NetworkInterfaceLoadBalancerListResult(msrest.serialization.Model): 6236 """Response for list ip configurations API service call. 6237 6238 Variables are only populated by the server, and will be ignored when sending a request. 6239 6240 :param value: A list of load balancers. 6241 :type value: list[~azure.mgmt.network.v2018_01_01.models.LoadBalancer] 6242 :ivar next_link: The URL to get the next set of results. 6243 :vartype next_link: str 6244 """ 6245 6246 _validation = { 6247 'next_link': {'readonly': True}, 6248 } 6249 6250 _attribute_map = { 6251 'value': {'key': 'value', 'type': '[LoadBalancer]'}, 6252 'next_link': {'key': 'nextLink', 'type': 'str'}, 6253 } 6254 6255 def __init__( 6256 self, 6257 *, 6258 value: Optional[List["LoadBalancer"]] = None, 6259 **kwargs 6260 ): 6261 super(NetworkInterfaceLoadBalancerListResult, self).__init__(**kwargs) 6262 self.value = value 6263 self.next_link = None 6264 6265 6266class NetworkSecurityGroup(Resource): 6267 """NetworkSecurityGroup resource. 6268 6269 Variables are only populated by the server, and will be ignored when sending a request. 6270 6271 :param id: Resource ID. 6272 :type id: str 6273 :ivar name: Resource name. 6274 :vartype name: str 6275 :ivar type: Resource type. 6276 :vartype type: str 6277 :param location: Resource location. 6278 :type location: str 6279 :param tags: A set of tags. Resource tags. 6280 :type tags: dict[str, str] 6281 :param etag: A unique read-only string that changes whenever the resource is updated. 6282 :type etag: str 6283 :param security_rules: A collection of security rules of the network security group. 6284 :type security_rules: list[~azure.mgmt.network.v2018_01_01.models.SecurityRule] 6285 :param default_security_rules: The default security rules of network security group. 6286 :type default_security_rules: list[~azure.mgmt.network.v2018_01_01.models.SecurityRule] 6287 :ivar network_interfaces: A collection of references to network interfaces. 6288 :vartype network_interfaces: list[~azure.mgmt.network.v2018_01_01.models.NetworkInterface] 6289 :ivar subnets: A collection of references to subnets. 6290 :vartype subnets: list[~azure.mgmt.network.v2018_01_01.models.Subnet] 6291 :param resource_guid: The resource GUID property of the network security group resource. 6292 :type resource_guid: str 6293 :param provisioning_state: The provisioning state of the public IP resource. Possible values 6294 are: 'Updating', 'Deleting', and 'Failed'. 6295 :type provisioning_state: str 6296 """ 6297 6298 _validation = { 6299 'name': {'readonly': True}, 6300 'type': {'readonly': True}, 6301 'network_interfaces': {'readonly': True}, 6302 'subnets': {'readonly': True}, 6303 } 6304 6305 _attribute_map = { 6306 'id': {'key': 'id', 'type': 'str'}, 6307 'name': {'key': 'name', 'type': 'str'}, 6308 'type': {'key': 'type', 'type': 'str'}, 6309 'location': {'key': 'location', 'type': 'str'}, 6310 'tags': {'key': 'tags', 'type': '{str}'}, 6311 'etag': {'key': 'etag', 'type': 'str'}, 6312 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, 6313 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, 6314 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, 6315 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 6316 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 6317 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6318 } 6319 6320 def __init__( 6321 self, 6322 *, 6323 id: Optional[str] = None, 6324 location: Optional[str] = None, 6325 tags: Optional[Dict[str, str]] = None, 6326 etag: Optional[str] = None, 6327 security_rules: Optional[List["SecurityRule"]] = None, 6328 default_security_rules: Optional[List["SecurityRule"]] = None, 6329 resource_guid: Optional[str] = None, 6330 provisioning_state: Optional[str] = None, 6331 **kwargs 6332 ): 6333 super(NetworkSecurityGroup, self).__init__(id=id, location=location, tags=tags, **kwargs) 6334 self.etag = etag 6335 self.security_rules = security_rules 6336 self.default_security_rules = default_security_rules 6337 self.network_interfaces = None 6338 self.subnets = None 6339 self.resource_guid = resource_guid 6340 self.provisioning_state = provisioning_state 6341 6342 6343class NetworkSecurityGroupListResult(msrest.serialization.Model): 6344 """Response for ListNetworkSecurityGroups API service call. 6345 6346 :param value: A list of NetworkSecurityGroup resources. 6347 :type value: list[~azure.mgmt.network.v2018_01_01.models.NetworkSecurityGroup] 6348 :param next_link: The URL to get the next set of results. 6349 :type next_link: str 6350 """ 6351 6352 _attribute_map = { 6353 'value': {'key': 'value', 'type': '[NetworkSecurityGroup]'}, 6354 'next_link': {'key': 'nextLink', 'type': 'str'}, 6355 } 6356 6357 def __init__( 6358 self, 6359 *, 6360 value: Optional[List["NetworkSecurityGroup"]] = None, 6361 next_link: Optional[str] = None, 6362 **kwargs 6363 ): 6364 super(NetworkSecurityGroupListResult, self).__init__(**kwargs) 6365 self.value = value 6366 self.next_link = next_link 6367 6368 6369class NetworkWatcher(Resource): 6370 """Network watcher in a resource group. 6371 6372 Variables are only populated by the server, and will be ignored when sending a request. 6373 6374 :param id: Resource ID. 6375 :type id: str 6376 :ivar name: Resource name. 6377 :vartype name: str 6378 :ivar type: Resource type. 6379 :vartype type: str 6380 :param location: Resource location. 6381 :type location: str 6382 :param tags: A set of tags. Resource tags. 6383 :type tags: dict[str, str] 6384 :param etag: 6385 :type etag: str 6386 :ivar provisioning_state: The provisioning state of the resource. Possible values include: 6387 "Succeeded", "Updating", "Deleting", "Failed". 6388 :vartype provisioning_state: str or ~azure.mgmt.network.v2018_01_01.models.ProvisioningState 6389 """ 6390 6391 _validation = { 6392 'name': {'readonly': True}, 6393 'type': {'readonly': True}, 6394 'provisioning_state': {'readonly': True}, 6395 } 6396 6397 _attribute_map = { 6398 'id': {'key': 'id', 'type': 'str'}, 6399 'name': {'key': 'name', 'type': 'str'}, 6400 'type': {'key': 'type', 'type': 'str'}, 6401 'location': {'key': 'location', 'type': 'str'}, 6402 'tags': {'key': 'tags', 'type': '{str}'}, 6403 'etag': {'key': 'etag', 'type': 'str'}, 6404 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6405 } 6406 6407 def __init__( 6408 self, 6409 *, 6410 id: Optional[str] = None, 6411 location: Optional[str] = None, 6412 tags: Optional[Dict[str, str]] = None, 6413 etag: Optional[str] = "A unique read-only string that changes whenever the resource is updated.", 6414 **kwargs 6415 ): 6416 super(NetworkWatcher, self).__init__(id=id, location=location, tags=tags, **kwargs) 6417 self.etag = etag 6418 self.provisioning_state = None 6419 6420 6421class NetworkWatcherListResult(msrest.serialization.Model): 6422 """List of network watcher resources. 6423 6424 :param value: 6425 :type value: list[~azure.mgmt.network.v2018_01_01.models.NetworkWatcher] 6426 """ 6427 6428 _attribute_map = { 6429 'value': {'key': 'value', 'type': '[NetworkWatcher]'}, 6430 } 6431 6432 def __init__( 6433 self, 6434 *, 6435 value: Optional[List["NetworkWatcher"]] = None, 6436 **kwargs 6437 ): 6438 super(NetworkWatcherListResult, self).__init__(**kwargs) 6439 self.value = value 6440 6441 6442class NextHopParameters(msrest.serialization.Model): 6443 """Parameters that define the source and destination endpoint. 6444 6445 All required parameters must be populated in order to send to Azure. 6446 6447 :param target_resource_id: Required. The resource identifier of the target resource against 6448 which the action is to be performed. 6449 :type target_resource_id: str 6450 :param source_ip_address: Required. The source IP address. 6451 :type source_ip_address: str 6452 :param destination_ip_address: Required. The destination IP address. 6453 :type destination_ip_address: str 6454 :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP forwarding is 6455 enabled on any of the nics, then this parameter must be specified. Otherwise optional). 6456 :type target_nic_resource_id: str 6457 """ 6458 6459 _validation = { 6460 'target_resource_id': {'required': True}, 6461 'source_ip_address': {'required': True}, 6462 'destination_ip_address': {'required': True}, 6463 } 6464 6465 _attribute_map = { 6466 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 6467 'source_ip_address': {'key': 'sourceIPAddress', 'type': 'str'}, 6468 'destination_ip_address': {'key': 'destinationIPAddress', 'type': 'str'}, 6469 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, 6470 } 6471 6472 def __init__( 6473 self, 6474 *, 6475 target_resource_id: str, 6476 source_ip_address: str, 6477 destination_ip_address: str, 6478 target_nic_resource_id: Optional[str] = None, 6479 **kwargs 6480 ): 6481 super(NextHopParameters, self).__init__(**kwargs) 6482 self.target_resource_id = target_resource_id 6483 self.source_ip_address = source_ip_address 6484 self.destination_ip_address = destination_ip_address 6485 self.target_nic_resource_id = target_nic_resource_id 6486 6487 6488class NextHopResult(msrest.serialization.Model): 6489 """The information about next hop from the specified VM. 6490 6491 :param next_hop_type: Next hop type. Possible values include: "Internet", "VirtualAppliance", 6492 "VirtualNetworkGateway", "VnetLocal", "HyperNetGateway", "None". 6493 :type next_hop_type: str or ~azure.mgmt.network.v2018_01_01.models.NextHopType 6494 :param next_hop_ip_address: Next hop IP Address. 6495 :type next_hop_ip_address: str 6496 :param route_table_id: The resource identifier for the route table associated with the route 6497 being returned. If the route being returned does not correspond to any user created routes then 6498 this field will be the string 'System Route'. 6499 :type route_table_id: str 6500 """ 6501 6502 _attribute_map = { 6503 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, 6504 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, 6505 'route_table_id': {'key': 'routeTableId', 'type': 'str'}, 6506 } 6507 6508 def __init__( 6509 self, 6510 *, 6511 next_hop_type: Optional[Union[str, "NextHopType"]] = None, 6512 next_hop_ip_address: Optional[str] = None, 6513 route_table_id: Optional[str] = None, 6514 **kwargs 6515 ): 6516 super(NextHopResult, self).__init__(**kwargs) 6517 self.next_hop_type = next_hop_type 6518 self.next_hop_ip_address = next_hop_ip_address 6519 self.route_table_id = route_table_id 6520 6521 6522class Operation(msrest.serialization.Model): 6523 """Network REST API operation definition. 6524 6525 :param name: Operation name: {provider}/{resource}/{operation}. 6526 :type name: str 6527 :param display: Display metadata associated with the operation. 6528 :type display: ~azure.mgmt.network.v2018_01_01.models.OperationDisplay 6529 :param origin: Origin of the operation. 6530 :type origin: str 6531 :param service_specification: Specification of the service. 6532 :type service_specification: 6533 ~azure.mgmt.network.v2018_01_01.models.OperationPropertiesFormatServiceSpecification 6534 """ 6535 6536 _attribute_map = { 6537 'name': {'key': 'name', 'type': 'str'}, 6538 'display': {'key': 'display', 'type': 'OperationDisplay'}, 6539 'origin': {'key': 'origin', 'type': 'str'}, 6540 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationPropertiesFormatServiceSpecification'}, 6541 } 6542 6543 def __init__( 6544 self, 6545 *, 6546 name: Optional[str] = None, 6547 display: Optional["OperationDisplay"] = None, 6548 origin: Optional[str] = None, 6549 service_specification: Optional["OperationPropertiesFormatServiceSpecification"] = None, 6550 **kwargs 6551 ): 6552 super(Operation, self).__init__(**kwargs) 6553 self.name = name 6554 self.display = display 6555 self.origin = origin 6556 self.service_specification = service_specification 6557 6558 6559class OperationDisplay(msrest.serialization.Model): 6560 """Display metadata associated with the operation. 6561 6562 :param provider: Service provider: Microsoft Network. 6563 :type provider: str 6564 :param resource: Resource on which the operation is performed. 6565 :type resource: str 6566 :param operation: Type of the operation: get, read, delete, etc. 6567 :type operation: str 6568 :param description: Description of the operation. 6569 :type description: str 6570 """ 6571 6572 _attribute_map = { 6573 'provider': {'key': 'provider', 'type': 'str'}, 6574 'resource': {'key': 'resource', 'type': 'str'}, 6575 'operation': {'key': 'operation', 'type': 'str'}, 6576 'description': {'key': 'description', 'type': 'str'}, 6577 } 6578 6579 def __init__( 6580 self, 6581 *, 6582 provider: Optional[str] = None, 6583 resource: Optional[str] = None, 6584 operation: Optional[str] = None, 6585 description: Optional[str] = None, 6586 **kwargs 6587 ): 6588 super(OperationDisplay, self).__init__(**kwargs) 6589 self.provider = provider 6590 self.resource = resource 6591 self.operation = operation 6592 self.description = description 6593 6594 6595class OperationListResult(msrest.serialization.Model): 6596 """Result of the request to list Network operations. It contains a list of operations and a URL link to get the next set of results. 6597 6598 :param value: List of Network operations supported by the Network resource provider. 6599 :type value: list[~azure.mgmt.network.v2018_01_01.models.Operation] 6600 :param next_link: URL to get the next set of operation list results if there are any. 6601 :type next_link: str 6602 """ 6603 6604 _attribute_map = { 6605 'value': {'key': 'value', 'type': '[Operation]'}, 6606 'next_link': {'key': 'nextLink', 'type': 'str'}, 6607 } 6608 6609 def __init__( 6610 self, 6611 *, 6612 value: Optional[List["Operation"]] = None, 6613 next_link: Optional[str] = None, 6614 **kwargs 6615 ): 6616 super(OperationListResult, self).__init__(**kwargs) 6617 self.value = value 6618 self.next_link = next_link 6619 6620 6621class OperationPropertiesFormatServiceSpecification(msrest.serialization.Model): 6622 """Specification of the service. 6623 6624 :param metric_specifications: Operation service specification. 6625 :type metric_specifications: list[~azure.mgmt.network.v2018_01_01.models.MetricSpecification] 6626 :param log_specifications: Operation log specification. 6627 :type log_specifications: list[~azure.mgmt.network.v2018_01_01.models.LogSpecification] 6628 """ 6629 6630 _attribute_map = { 6631 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, 6632 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, 6633 } 6634 6635 def __init__( 6636 self, 6637 *, 6638 metric_specifications: Optional[List["MetricSpecification"]] = None, 6639 log_specifications: Optional[List["LogSpecification"]] = None, 6640 **kwargs 6641 ): 6642 super(OperationPropertiesFormatServiceSpecification, self).__init__(**kwargs) 6643 self.metric_specifications = metric_specifications 6644 self.log_specifications = log_specifications 6645 6646 6647class OutboundNatRule(SubResource): 6648 """Outbound NAT pool of the load balancer. 6649 6650 :param id: Resource ID. 6651 :type id: str 6652 :param name: The name of the resource that is unique within a resource group. This name can be 6653 used to access the resource. 6654 :type name: str 6655 :param etag: A unique read-only string that changes whenever the resource is updated. 6656 :type etag: str 6657 :param allocated_outbound_ports: The number of outbound ports to be used for NAT. 6658 :type allocated_outbound_ports: int 6659 :param frontend_ip_configurations: The Frontend IP addresses of the load balancer. 6660 :type frontend_ip_configurations: list[~azure.mgmt.network.v2018_01_01.models.SubResource] 6661 :param backend_address_pool: A reference to a pool of DIPs. Outbound traffic is randomly load 6662 balanced across IPs in the backend IPs. 6663 :type backend_address_pool: ~azure.mgmt.network.v2018_01_01.models.SubResource 6664 :param provisioning_state: Gets the provisioning state of the PublicIP resource. Possible 6665 values are: 'Updating', 'Deleting', and 'Failed'. 6666 :type provisioning_state: str 6667 """ 6668 6669 _attribute_map = { 6670 'id': {'key': 'id', 'type': 'str'}, 6671 'name': {'key': 'name', 'type': 'str'}, 6672 'etag': {'key': 'etag', 'type': 'str'}, 6673 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, 6674 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, 6675 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 6676 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6677 } 6678 6679 def __init__( 6680 self, 6681 *, 6682 id: Optional[str] = None, 6683 name: Optional[str] = None, 6684 etag: Optional[str] = None, 6685 allocated_outbound_ports: Optional[int] = None, 6686 frontend_ip_configurations: Optional[List["SubResource"]] = None, 6687 backend_address_pool: Optional["SubResource"] = None, 6688 provisioning_state: Optional[str] = None, 6689 **kwargs 6690 ): 6691 super(OutboundNatRule, self).__init__(id=id, **kwargs) 6692 self.name = name 6693 self.etag = etag 6694 self.allocated_outbound_ports = allocated_outbound_ports 6695 self.frontend_ip_configurations = frontend_ip_configurations 6696 self.backend_address_pool = backend_address_pool 6697 self.provisioning_state = provisioning_state 6698 6699 6700class PacketCapture(msrest.serialization.Model): 6701 """Parameters that define the create packet capture operation. 6702 6703 Variables are only populated by the server, and will be ignored when sending a request. 6704 6705 All required parameters must be populated in order to send to Azure. 6706 6707 :ivar name: Name of the packet capture. 6708 :vartype name: str 6709 :ivar id: ID of the packet capture. 6710 :vartype id: str 6711 :ivar type: Packet capture type. 6712 :vartype type: str 6713 :param target: Required. The ID of the targeted resource, only VM is currently supported. 6714 :type target: str 6715 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 6716 are truncated. 6717 :type bytes_to_capture_per_packet: int 6718 :param total_bytes_per_session: Maximum size of the capture output. 6719 :type total_bytes_per_session: int 6720 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 6721 :type time_limit_in_seconds: int 6722 :param storage_location: Required. Describes the storage location for a packet capture session. 6723 :type storage_location: ~azure.mgmt.network.v2018_01_01.models.PacketCaptureStorageLocation 6724 :param filters: 6725 :type filters: list[~azure.mgmt.network.v2018_01_01.models.PacketCaptureFilter] 6726 """ 6727 6728 _validation = { 6729 'name': {'readonly': True}, 6730 'id': {'readonly': True}, 6731 'type': {'readonly': True}, 6732 'target': {'required': True}, 6733 'storage_location': {'required': True}, 6734 } 6735 6736 _attribute_map = { 6737 'name': {'key': 'name', 'type': 'str'}, 6738 'id': {'key': 'id', 'type': 'str'}, 6739 'type': {'key': 'type', 'type': 'str'}, 6740 'target': {'key': 'properties.target', 'type': 'str'}, 6741 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, 6742 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, 6743 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, 6744 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, 6745 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, 6746 } 6747 6748 def __init__( 6749 self, 6750 *, 6751 target: str, 6752 storage_location: "PacketCaptureStorageLocation", 6753 bytes_to_capture_per_packet: Optional[int] = 0, 6754 total_bytes_per_session: Optional[int] = 1073741824, 6755 time_limit_in_seconds: Optional[int] = 18000, 6756 filters: Optional[List["PacketCaptureFilter"]] = None, 6757 **kwargs 6758 ): 6759 super(PacketCapture, self).__init__(**kwargs) 6760 self.name = None 6761 self.id = None 6762 self.type = None 6763 self.target = target 6764 self.bytes_to_capture_per_packet = bytes_to_capture_per_packet 6765 self.total_bytes_per_session = total_bytes_per_session 6766 self.time_limit_in_seconds = time_limit_in_seconds 6767 self.storage_location = storage_location 6768 self.filters = filters 6769 6770 6771class PacketCaptureFilter(msrest.serialization.Model): 6772 """Filter that is applied to packet capture request. Multiple filters can be applied. 6773 6774 :param protocol: Protocol to be filtered on. Possible values include: "TCP", "UDP", "Any". 6775 Default value: "Any". 6776 :type protocol: str or ~azure.mgmt.network.v2018_01_01.models.PcProtocol 6777 :param local_ip_address: Local IP Address to be filtered on. Notation: "127.0.0.1" for single 6778 address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5"? for multiple entries. 6779 Multiple ranges not currently supported. Mixing ranges with multiple entries not currently 6780 supported. Default = null. 6781 :type local_ip_address: str 6782 :param remote_ip_address: Local IP Address to be filtered on. Notation: "127.0.0.1" for single 6783 address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5;" for multiple entries. 6784 Multiple ranges not currently supported. Mixing ranges with multiple entries not currently 6785 supported. Default = null. 6786 :type remote_ip_address: str 6787 :param local_port: Local port to be filtered on. Notation: "80" for single port entry."80-85" 6788 for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing 6789 ranges with multiple entries not currently supported. Default = null. 6790 :type local_port: str 6791 :param remote_port: Remote port to be filtered on. Notation: "80" for single port entry."80-85" 6792 for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing 6793 ranges with multiple entries not currently supported. Default = null. 6794 :type remote_port: str 6795 """ 6796 6797 _attribute_map = { 6798 'protocol': {'key': 'protocol', 'type': 'str'}, 6799 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, 6800 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, 6801 'local_port': {'key': 'localPort', 'type': 'str'}, 6802 'remote_port': {'key': 'remotePort', 'type': 'str'}, 6803 } 6804 6805 def __init__( 6806 self, 6807 *, 6808 protocol: Optional[Union[str, "PcProtocol"]] = "Any", 6809 local_ip_address: Optional[str] = None, 6810 remote_ip_address: Optional[str] = None, 6811 local_port: Optional[str] = None, 6812 remote_port: Optional[str] = None, 6813 **kwargs 6814 ): 6815 super(PacketCaptureFilter, self).__init__(**kwargs) 6816 self.protocol = protocol 6817 self.local_ip_address = local_ip_address 6818 self.remote_ip_address = remote_ip_address 6819 self.local_port = local_port 6820 self.remote_port = remote_port 6821 6822 6823class PacketCaptureListResult(msrest.serialization.Model): 6824 """List of packet capture sessions. 6825 6826 :param value: Information about packet capture sessions. 6827 :type value: list[~azure.mgmt.network.v2018_01_01.models.PacketCaptureResult] 6828 """ 6829 6830 _attribute_map = { 6831 'value': {'key': 'value', 'type': '[PacketCaptureResult]'}, 6832 } 6833 6834 def __init__( 6835 self, 6836 *, 6837 value: Optional[List["PacketCaptureResult"]] = None, 6838 **kwargs 6839 ): 6840 super(PacketCaptureListResult, self).__init__(**kwargs) 6841 self.value = value 6842 6843 6844class PacketCaptureParameters(msrest.serialization.Model): 6845 """Parameters that define the create packet capture operation. 6846 6847 All required parameters must be populated in order to send to Azure. 6848 6849 :param target: Required. The ID of the targeted resource, only VM is currently supported. 6850 :type target: str 6851 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 6852 are truncated. 6853 :type bytes_to_capture_per_packet: int 6854 :param total_bytes_per_session: Maximum size of the capture output. 6855 :type total_bytes_per_session: int 6856 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 6857 :type time_limit_in_seconds: int 6858 :param storage_location: Required. Describes the storage location for a packet capture session. 6859 :type storage_location: ~azure.mgmt.network.v2018_01_01.models.PacketCaptureStorageLocation 6860 :param filters: 6861 :type filters: list[~azure.mgmt.network.v2018_01_01.models.PacketCaptureFilter] 6862 """ 6863 6864 _validation = { 6865 'target': {'required': True}, 6866 'storage_location': {'required': True}, 6867 } 6868 6869 _attribute_map = { 6870 'target': {'key': 'target', 'type': 'str'}, 6871 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, 6872 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, 6873 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, 6874 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, 6875 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, 6876 } 6877 6878 def __init__( 6879 self, 6880 *, 6881 target: str, 6882 storage_location: "PacketCaptureStorageLocation", 6883 bytes_to_capture_per_packet: Optional[int] = 0, 6884 total_bytes_per_session: Optional[int] = 1073741824, 6885 time_limit_in_seconds: Optional[int] = 18000, 6886 filters: Optional[List["PacketCaptureFilter"]] = None, 6887 **kwargs 6888 ): 6889 super(PacketCaptureParameters, self).__init__(**kwargs) 6890 self.target = target 6891 self.bytes_to_capture_per_packet = bytes_to_capture_per_packet 6892 self.total_bytes_per_session = total_bytes_per_session 6893 self.time_limit_in_seconds = time_limit_in_seconds 6894 self.storage_location = storage_location 6895 self.filters = filters 6896 6897 6898class PacketCaptureQueryStatusResult(msrest.serialization.Model): 6899 """Status of packet capture session. 6900 6901 :param name: The name of the packet capture resource. 6902 :type name: str 6903 :param id: The ID of the packet capture resource. 6904 :type id: str 6905 :param capture_start_time: The start time of the packet capture session. 6906 :type capture_start_time: ~datetime.datetime 6907 :param packet_capture_status: The status of the packet capture session. Possible values 6908 include: "NotStarted", "Running", "Stopped", "Error", "Unknown". 6909 :type packet_capture_status: str or ~azure.mgmt.network.v2018_01_01.models.PcStatus 6910 :param stop_reason: The reason the current packet capture session was stopped. 6911 :type stop_reason: str 6912 :param packet_capture_error: List of errors of packet capture session. 6913 :type packet_capture_error: list[str or ~azure.mgmt.network.v2018_01_01.models.PcError] 6914 """ 6915 6916 _attribute_map = { 6917 'name': {'key': 'name', 'type': 'str'}, 6918 'id': {'key': 'id', 'type': 'str'}, 6919 'capture_start_time': {'key': 'captureStartTime', 'type': 'iso-8601'}, 6920 'packet_capture_status': {'key': 'packetCaptureStatus', 'type': 'str'}, 6921 'stop_reason': {'key': 'stopReason', 'type': 'str'}, 6922 'packet_capture_error': {'key': 'packetCaptureError', 'type': '[str]'}, 6923 } 6924 6925 def __init__( 6926 self, 6927 *, 6928 name: Optional[str] = None, 6929 id: Optional[str] = None, 6930 capture_start_time: Optional[datetime.datetime] = None, 6931 packet_capture_status: Optional[Union[str, "PcStatus"]] = None, 6932 stop_reason: Optional[str] = None, 6933 packet_capture_error: Optional[List[Union[str, "PcError"]]] = None, 6934 **kwargs 6935 ): 6936 super(PacketCaptureQueryStatusResult, self).__init__(**kwargs) 6937 self.name = name 6938 self.id = id 6939 self.capture_start_time = capture_start_time 6940 self.packet_capture_status = packet_capture_status 6941 self.stop_reason = stop_reason 6942 self.packet_capture_error = packet_capture_error 6943 6944 6945class PacketCaptureResult(msrest.serialization.Model): 6946 """Information about packet capture session. 6947 6948 Variables are only populated by the server, and will be ignored when sending a request. 6949 6950 :ivar name: Name of the packet capture. 6951 :vartype name: str 6952 :ivar id: ID of the packet capture. 6953 :vartype id: str 6954 :ivar type: Packet capture type. 6955 :vartype type: str 6956 :param etag: 6957 :type etag: str 6958 :param target: The ID of the targeted resource, only VM is currently supported. 6959 :type target: str 6960 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 6961 are truncated. 6962 :type bytes_to_capture_per_packet: int 6963 :param total_bytes_per_session: Maximum size of the capture output. 6964 :type total_bytes_per_session: int 6965 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 6966 :type time_limit_in_seconds: int 6967 :param storage_location: Describes the storage location for a packet capture session. 6968 :type storage_location: ~azure.mgmt.network.v2018_01_01.models.PacketCaptureStorageLocation 6969 :param filters: 6970 :type filters: list[~azure.mgmt.network.v2018_01_01.models.PacketCaptureFilter] 6971 :param provisioning_state: The provisioning state of the packet capture session. Possible 6972 values include: "Succeeded", "Updating", "Deleting", "Failed". 6973 :type provisioning_state: str or ~azure.mgmt.network.v2018_01_01.models.ProvisioningState 6974 """ 6975 6976 _validation = { 6977 'name': {'readonly': True}, 6978 'id': {'readonly': True}, 6979 'type': {'readonly': True}, 6980 } 6981 6982 _attribute_map = { 6983 'name': {'key': 'name', 'type': 'str'}, 6984 'id': {'key': 'id', 'type': 'str'}, 6985 'type': {'key': 'type', 'type': 'str'}, 6986 'etag': {'key': 'etag', 'type': 'str'}, 6987 'target': {'key': 'properties.target', 'type': 'str'}, 6988 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, 6989 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, 6990 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, 6991 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, 6992 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, 6993 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6994 } 6995 6996 def __init__( 6997 self, 6998 *, 6999 etag: Optional[str] = "A unique read-only string that changes whenever the resource is updated.", 7000 target: Optional[str] = None, 7001 bytes_to_capture_per_packet: Optional[int] = 0, 7002 total_bytes_per_session: Optional[int] = 1073741824, 7003 time_limit_in_seconds: Optional[int] = 18000, 7004 storage_location: Optional["PacketCaptureStorageLocation"] = None, 7005 filters: Optional[List["PacketCaptureFilter"]] = None, 7006 provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, 7007 **kwargs 7008 ): 7009 super(PacketCaptureResult, self).__init__(**kwargs) 7010 self.name = None 7011 self.id = None 7012 self.type = None 7013 self.etag = etag 7014 self.target = target 7015 self.bytes_to_capture_per_packet = bytes_to_capture_per_packet 7016 self.total_bytes_per_session = total_bytes_per_session 7017 self.time_limit_in_seconds = time_limit_in_seconds 7018 self.storage_location = storage_location 7019 self.filters = filters 7020 self.provisioning_state = provisioning_state 7021 7022 7023class PacketCaptureResultProperties(PacketCaptureParameters): 7024 """Describes the properties of a packet capture session. 7025 7026 All required parameters must be populated in order to send to Azure. 7027 7028 :param target: Required. The ID of the targeted resource, only VM is currently supported. 7029 :type target: str 7030 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 7031 are truncated. 7032 :type bytes_to_capture_per_packet: int 7033 :param total_bytes_per_session: Maximum size of the capture output. 7034 :type total_bytes_per_session: int 7035 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 7036 :type time_limit_in_seconds: int 7037 :param storage_location: Required. Describes the storage location for a packet capture session. 7038 :type storage_location: ~azure.mgmt.network.v2018_01_01.models.PacketCaptureStorageLocation 7039 :param filters: 7040 :type filters: list[~azure.mgmt.network.v2018_01_01.models.PacketCaptureFilter] 7041 :param provisioning_state: The provisioning state of the packet capture session. Possible 7042 values include: "Succeeded", "Updating", "Deleting", "Failed". 7043 :type provisioning_state: str or ~azure.mgmt.network.v2018_01_01.models.ProvisioningState 7044 """ 7045 7046 _validation = { 7047 'target': {'required': True}, 7048 'storage_location': {'required': True}, 7049 } 7050 7051 _attribute_map = { 7052 'target': {'key': 'target', 'type': 'str'}, 7053 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, 7054 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, 7055 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, 7056 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, 7057 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, 7058 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 7059 } 7060 7061 def __init__( 7062 self, 7063 *, 7064 target: str, 7065 storage_location: "PacketCaptureStorageLocation", 7066 bytes_to_capture_per_packet: Optional[int] = 0, 7067 total_bytes_per_session: Optional[int] = 1073741824, 7068 time_limit_in_seconds: Optional[int] = 18000, 7069 filters: Optional[List["PacketCaptureFilter"]] = None, 7070 provisioning_state: Optional[Union[str, "ProvisioningState"]] = None, 7071 **kwargs 7072 ): 7073 super(PacketCaptureResultProperties, self).__init__(target=target, bytes_to_capture_per_packet=bytes_to_capture_per_packet, total_bytes_per_session=total_bytes_per_session, time_limit_in_seconds=time_limit_in_seconds, storage_location=storage_location, filters=filters, **kwargs) 7074 self.provisioning_state = provisioning_state 7075 7076 7077class PacketCaptureStorageLocation(msrest.serialization.Model): 7078 """Describes the storage location for a packet capture session. 7079 7080 :param storage_id: The ID of the storage account to save the packet capture session. Required 7081 if no local file path is provided. 7082 :type storage_id: str 7083 :param storage_path: The URI of the storage path to save the packet capture. Must be a 7084 well-formed URI describing the location to save the packet capture. 7085 :type storage_path: str 7086 :param file_path: A valid local path on the targeting VM. Must include the name of the capture 7087 file (*.cap). For linux virtual machine it must start with /var/captures. Required if no 7088 storage ID is provided, otherwise optional. 7089 :type file_path: str 7090 """ 7091 7092 _attribute_map = { 7093 'storage_id': {'key': 'storageId', 'type': 'str'}, 7094 'storage_path': {'key': 'storagePath', 'type': 'str'}, 7095 'file_path': {'key': 'filePath', 'type': 'str'}, 7096 } 7097 7098 def __init__( 7099 self, 7100 *, 7101 storage_id: Optional[str] = None, 7102 storage_path: Optional[str] = None, 7103 file_path: Optional[str] = None, 7104 **kwargs 7105 ): 7106 super(PacketCaptureStorageLocation, self).__init__(**kwargs) 7107 self.storage_id = storage_id 7108 self.storage_path = storage_path 7109 self.file_path = file_path 7110 7111 7112class PatchRouteFilter(SubResource): 7113 """Route Filter Resource. 7114 7115 Variables are only populated by the server, and will be ignored when sending a request. 7116 7117 :param id: Resource ID. 7118 :type id: str 7119 :ivar name: The name of the resource that is unique within a resource group. This name can be 7120 used to access the resource. 7121 :vartype name: str 7122 :ivar etag: A unique read-only string that changes whenever the resource is updated. 7123 :vartype etag: str 7124 :ivar type: Resource type. 7125 :vartype type: str 7126 :param tags: A set of tags. Resource tags. 7127 :type tags: dict[str, str] 7128 :param rules: Collection of RouteFilterRules contained within a route filter. 7129 :type rules: list[~azure.mgmt.network.v2018_01_01.models.RouteFilterRule] 7130 :param peerings: A collection of references to express route circuit peerings. 7131 :type peerings: list[~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuitPeering] 7132 :ivar provisioning_state: The provisioning state of the resource. Possible values are: 7133 'Updating', 'Deleting', 'Succeeded' and 'Failed'. 7134 :vartype provisioning_state: str 7135 """ 7136 7137 _validation = { 7138 'name': {'readonly': True}, 7139 'etag': {'readonly': True}, 7140 'type': {'readonly': True}, 7141 'provisioning_state': {'readonly': True}, 7142 } 7143 7144 _attribute_map = { 7145 'id': {'key': 'id', 'type': 'str'}, 7146 'name': {'key': 'name', 'type': 'str'}, 7147 'etag': {'key': 'etag', 'type': 'str'}, 7148 'type': {'key': 'type', 'type': 'str'}, 7149 'tags': {'key': 'tags', 'type': '{str}'}, 7150 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, 7151 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, 7152 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7153 } 7154 7155 def __init__( 7156 self, 7157 *, 7158 id: Optional[str] = None, 7159 tags: Optional[Dict[str, str]] = None, 7160 rules: Optional[List["RouteFilterRule"]] = None, 7161 peerings: Optional[List["ExpressRouteCircuitPeering"]] = None, 7162 **kwargs 7163 ): 7164 super(PatchRouteFilter, self).__init__(id=id, **kwargs) 7165 self.name = None 7166 self.etag = None 7167 self.type = None 7168 self.tags = tags 7169 self.rules = rules 7170 self.peerings = peerings 7171 self.provisioning_state = None 7172 7173 7174class PatchRouteFilterRule(SubResource): 7175 """Route Filter Rule Resource. 7176 7177 Variables are only populated by the server, and will be ignored when sending a request. 7178 7179 :param id: Resource ID. 7180 :type id: str 7181 :ivar name: The name of the resource that is unique within a resource group. This name can be 7182 used to access the resource. 7183 :vartype name: str 7184 :ivar etag: A unique read-only string that changes whenever the resource is updated. 7185 :vartype etag: str 7186 :param access: The access type of the rule. Valid values are: 'Allow', 'Deny'. Possible values 7187 include: "Allow", "Deny". 7188 :type access: str or ~azure.mgmt.network.v2018_01_01.models.Access 7189 :param route_filter_rule_type: The rule type of the rule. Valid value is: 'Community'. Possible 7190 values include: "Community". 7191 :type route_filter_rule_type: str or ~azure.mgmt.network.v2018_01_01.models.RouteFilterRuleType 7192 :param communities: The collection for bgp community values to filter on. e.g. 7193 ['12076:5010','12076:5020']. 7194 :type communities: list[str] 7195 :ivar provisioning_state: The provisioning state of the resource. Possible values are: 7196 'Updating', 'Deleting', 'Succeeded' and 'Failed'. 7197 :vartype provisioning_state: str 7198 """ 7199 7200 _validation = { 7201 'name': {'readonly': True}, 7202 'etag': {'readonly': True}, 7203 'provisioning_state': {'readonly': True}, 7204 } 7205 7206 _attribute_map = { 7207 'id': {'key': 'id', 'type': 'str'}, 7208 'name': {'key': 'name', 'type': 'str'}, 7209 'etag': {'key': 'etag', 'type': 'str'}, 7210 'access': {'key': 'properties.access', 'type': 'str'}, 7211 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, 7212 'communities': {'key': 'properties.communities', 'type': '[str]'}, 7213 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7214 } 7215 7216 def __init__( 7217 self, 7218 *, 7219 id: Optional[str] = None, 7220 access: Optional[Union[str, "Access"]] = None, 7221 route_filter_rule_type: Optional[Union[str, "RouteFilterRuleType"]] = None, 7222 communities: Optional[List[str]] = None, 7223 **kwargs 7224 ): 7225 super(PatchRouteFilterRule, self).__init__(id=id, **kwargs) 7226 self.name = None 7227 self.etag = None 7228 self.access = access 7229 self.route_filter_rule_type = route_filter_rule_type 7230 self.communities = communities 7231 self.provisioning_state = None 7232 7233 7234class Probe(SubResource): 7235 """A load balancer probe. 7236 7237 Variables are only populated by the server, and will be ignored when sending a request. 7238 7239 :param id: Resource ID. 7240 :type id: str 7241 :param name: Gets name of the resource that is unique within a resource group. This name can be 7242 used to access the resource. 7243 :type name: str 7244 :param etag: A unique read-only string that changes whenever the resource is updated. 7245 :type etag: str 7246 :ivar load_balancing_rules: The load balancer rules that use this probe. 7247 :vartype load_balancing_rules: list[~azure.mgmt.network.v2018_01_01.models.SubResource] 7248 :param protocol: The protocol of the end point. Possible values are: 'Http' or 'Tcp'. If 'Tcp' 7249 is specified, a received ACK is required for the probe to be successful. If 'Http' is 7250 specified, a 200 OK response from the specifies URI is required for the probe to be successful. 7251 Possible values include: "Http", "Tcp". 7252 :type protocol: str or ~azure.mgmt.network.v2018_01_01.models.ProbeProtocol 7253 :param port: The port for communicating the probe. Possible values range from 1 to 65535, 7254 inclusive. 7255 :type port: int 7256 :param interval_in_seconds: The interval, in seconds, for how frequently to probe the endpoint 7257 for health status. Typically, the interval is slightly less than half the allocated timeout 7258 period (in seconds) which allows two full probes before taking the instance out of rotation. 7259 The default value is 15, the minimum value is 5. 7260 :type interval_in_seconds: int 7261 :param number_of_probes: The number of probes where if no response, will result in stopping 7262 further traffic from being delivered to the endpoint. This values allows endpoints to be taken 7263 out of rotation faster or slower than the typical times used in Azure. 7264 :type number_of_probes: int 7265 :param request_path: The URI used for requesting health status from the VM. Path is required if 7266 a protocol is set to http. Otherwise, it is not allowed. There is no default value. 7267 :type request_path: str 7268 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 7269 values are: 'Updating', 'Deleting', and 'Failed'. 7270 :type provisioning_state: str 7271 """ 7272 7273 _validation = { 7274 'load_balancing_rules': {'readonly': True}, 7275 } 7276 7277 _attribute_map = { 7278 'id': {'key': 'id', 'type': 'str'}, 7279 'name': {'key': 'name', 'type': 'str'}, 7280 'etag': {'key': 'etag', 'type': 'str'}, 7281 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 7282 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 7283 'port': {'key': 'properties.port', 'type': 'int'}, 7284 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, 7285 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, 7286 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, 7287 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7288 } 7289 7290 def __init__( 7291 self, 7292 *, 7293 id: Optional[str] = None, 7294 name: Optional[str] = None, 7295 etag: Optional[str] = None, 7296 protocol: Optional[Union[str, "ProbeProtocol"]] = None, 7297 port: Optional[int] = None, 7298 interval_in_seconds: Optional[int] = None, 7299 number_of_probes: Optional[int] = None, 7300 request_path: Optional[str] = None, 7301 provisioning_state: Optional[str] = None, 7302 **kwargs 7303 ): 7304 super(Probe, self).__init__(id=id, **kwargs) 7305 self.name = name 7306 self.etag = etag 7307 self.load_balancing_rules = None 7308 self.protocol = protocol 7309 self.port = port 7310 self.interval_in_seconds = interval_in_seconds 7311 self.number_of_probes = number_of_probes 7312 self.request_path = request_path 7313 self.provisioning_state = provisioning_state 7314 7315 7316class PublicIPAddress(Resource): 7317 """Public IP address resource. 7318 7319 Variables are only populated by the server, and will be ignored when sending a request. 7320 7321 :param id: Resource ID. 7322 :type id: str 7323 :ivar name: Resource name. 7324 :vartype name: str 7325 :ivar type: Resource type. 7326 :vartype type: str 7327 :param location: Resource location. 7328 :type location: str 7329 :param tags: A set of tags. Resource tags. 7330 :type tags: dict[str, str] 7331 :param sku: The public IP address SKU. 7332 :type sku: ~azure.mgmt.network.v2018_01_01.models.PublicIPAddressSku 7333 :param etag: A unique read-only string that changes whenever the resource is updated. 7334 :type etag: str 7335 :param zones: A list of availability zones denoting the IP allocated for the resource needs to 7336 come from. 7337 :type zones: list[str] 7338 :param public_ip_allocation_method: The public IP allocation method. Possible values are: 7339 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 7340 :type public_ip_allocation_method: str or 7341 ~azure.mgmt.network.v2018_01_01.models.IPAllocationMethod 7342 :param public_ip_address_version: The public IP address version. Possible values are: 'IPv4' 7343 and 'IPv6'. Possible values include: "IPv4", "IPv6". 7344 :type public_ip_address_version: str or ~azure.mgmt.network.v2018_01_01.models.IPVersion 7345 :ivar ip_configuration: The IP configuration associated with the public IP address. 7346 :vartype ip_configuration: ~azure.mgmt.network.v2018_01_01.models.IPConfiguration 7347 :param dns_settings: The FQDN of the DNS record associated with the public IP address. 7348 :type dns_settings: ~azure.mgmt.network.v2018_01_01.models.PublicIPAddressDnsSettings 7349 :param ip_tags: The list of tags associated with the public IP address. 7350 :type ip_tags: list[~azure.mgmt.network.v2018_01_01.models.IpTag] 7351 :param ip_address: The IP address associated with the public IP address resource. 7352 :type ip_address: str 7353 :param idle_timeout_in_minutes: The idle timeout of the public IP address. 7354 :type idle_timeout_in_minutes: int 7355 :param resource_guid: The resource GUID property of the public IP resource. 7356 :type resource_guid: str 7357 :param provisioning_state: The provisioning state of the PublicIP resource. Possible values 7358 are: 'Updating', 'Deleting', and 'Failed'. 7359 :type provisioning_state: str 7360 """ 7361 7362 _validation = { 7363 'name': {'readonly': True}, 7364 'type': {'readonly': True}, 7365 'ip_configuration': {'readonly': True}, 7366 } 7367 7368 _attribute_map = { 7369 'id': {'key': 'id', 'type': 'str'}, 7370 'name': {'key': 'name', 'type': 'str'}, 7371 'type': {'key': 'type', 'type': 'str'}, 7372 'location': {'key': 'location', 'type': 'str'}, 7373 'tags': {'key': 'tags', 'type': '{str}'}, 7374 'sku': {'key': 'sku', 'type': 'PublicIPAddressSku'}, 7375 'etag': {'key': 'etag', 'type': 'str'}, 7376 'zones': {'key': 'zones', 'type': '[str]'}, 7377 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, 7378 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, 7379 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, 7380 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, 7381 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, 7382 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, 7383 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 7384 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 7385 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7386 } 7387 7388 def __init__( 7389 self, 7390 *, 7391 id: Optional[str] = None, 7392 location: Optional[str] = None, 7393 tags: Optional[Dict[str, str]] = None, 7394 sku: Optional["PublicIPAddressSku"] = None, 7395 etag: Optional[str] = None, 7396 zones: Optional[List[str]] = None, 7397 public_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 7398 public_ip_address_version: Optional[Union[str, "IPVersion"]] = None, 7399 dns_settings: Optional["PublicIPAddressDnsSettings"] = None, 7400 ip_tags: Optional[List["IpTag"]] = None, 7401 ip_address: Optional[str] = None, 7402 idle_timeout_in_minutes: Optional[int] = None, 7403 resource_guid: Optional[str] = None, 7404 provisioning_state: Optional[str] = None, 7405 **kwargs 7406 ): 7407 super(PublicIPAddress, self).__init__(id=id, location=location, tags=tags, **kwargs) 7408 self.sku = sku 7409 self.etag = etag 7410 self.zones = zones 7411 self.public_ip_allocation_method = public_ip_allocation_method 7412 self.public_ip_address_version = public_ip_address_version 7413 self.ip_configuration = None 7414 self.dns_settings = dns_settings 7415 self.ip_tags = ip_tags 7416 self.ip_address = ip_address 7417 self.idle_timeout_in_minutes = idle_timeout_in_minutes 7418 self.resource_guid = resource_guid 7419 self.provisioning_state = provisioning_state 7420 7421 7422class PublicIPAddressDnsSettings(msrest.serialization.Model): 7423 """Contains FQDN of the DNS record associated with the public IP address. 7424 7425 :param domain_name_label: Gets or sets the Domain name label.The concatenation of the domain 7426 name label and the regionalized DNS zone make up the fully qualified domain name associated 7427 with the public IP address. If a domain name label is specified, an A DNS record is created for 7428 the public IP in the Microsoft Azure DNS system. 7429 :type domain_name_label: str 7430 :param fqdn: Gets the FQDN, Fully qualified domain name of the A DNS record associated with the 7431 public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. 7432 :type fqdn: str 7433 :param reverse_fqdn: Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name 7434 that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record 7435 is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. 7436 :type reverse_fqdn: str 7437 """ 7438 7439 _attribute_map = { 7440 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, 7441 'fqdn': {'key': 'fqdn', 'type': 'str'}, 7442 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, 7443 } 7444 7445 def __init__( 7446 self, 7447 *, 7448 domain_name_label: Optional[str] = None, 7449 fqdn: Optional[str] = None, 7450 reverse_fqdn: Optional[str] = None, 7451 **kwargs 7452 ): 7453 super(PublicIPAddressDnsSettings, self).__init__(**kwargs) 7454 self.domain_name_label = domain_name_label 7455 self.fqdn = fqdn 7456 self.reverse_fqdn = reverse_fqdn 7457 7458 7459class PublicIPAddressListResult(msrest.serialization.Model): 7460 """Response for ListPublicIpAddresses API service call. 7461 7462 :param value: A list of public IP addresses that exists in a resource group. 7463 :type value: list[~azure.mgmt.network.v2018_01_01.models.PublicIPAddress] 7464 :param next_link: The URL to get the next set of results. 7465 :type next_link: str 7466 """ 7467 7468 _attribute_map = { 7469 'value': {'key': 'value', 'type': '[PublicIPAddress]'}, 7470 'next_link': {'key': 'nextLink', 'type': 'str'}, 7471 } 7472 7473 def __init__( 7474 self, 7475 *, 7476 value: Optional[List["PublicIPAddress"]] = None, 7477 next_link: Optional[str] = None, 7478 **kwargs 7479 ): 7480 super(PublicIPAddressListResult, self).__init__(**kwargs) 7481 self.value = value 7482 self.next_link = next_link 7483 7484 7485class PublicIPAddressSku(msrest.serialization.Model): 7486 """SKU of a public IP address. 7487 7488 :param name: Name of a public IP address SKU. Possible values include: "Basic", "Standard". 7489 :type name: str or ~azure.mgmt.network.v2018_01_01.models.PublicIPAddressSkuName 7490 """ 7491 7492 _attribute_map = { 7493 'name': {'key': 'name', 'type': 'str'}, 7494 } 7495 7496 def __init__( 7497 self, 7498 *, 7499 name: Optional[Union[str, "PublicIPAddressSkuName"]] = None, 7500 **kwargs 7501 ): 7502 super(PublicIPAddressSku, self).__init__(**kwargs) 7503 self.name = name 7504 7505 7506class QueryTroubleshootingParameters(msrest.serialization.Model): 7507 """Parameters that define the resource to query the troubleshooting result. 7508 7509 All required parameters must be populated in order to send to Azure. 7510 7511 :param target_resource_id: Required. The target resource ID to query the troubleshooting 7512 result. 7513 :type target_resource_id: str 7514 """ 7515 7516 _validation = { 7517 'target_resource_id': {'required': True}, 7518 } 7519 7520 _attribute_map = { 7521 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 7522 } 7523 7524 def __init__( 7525 self, 7526 *, 7527 target_resource_id: str, 7528 **kwargs 7529 ): 7530 super(QueryTroubleshootingParameters, self).__init__(**kwargs) 7531 self.target_resource_id = target_resource_id 7532 7533 7534class ResourceNavigationLink(SubResource): 7535 """ResourceNavigationLink resource. 7536 7537 Variables are only populated by the server, and will be ignored when sending a request. 7538 7539 :param id: Resource ID. 7540 :type id: str 7541 :param name: Name of the resource that is unique within a resource group. This name can be used 7542 to access the resource. 7543 :type name: str 7544 :ivar etag: A unique read-only string that changes whenever the resource is updated. 7545 :vartype etag: str 7546 :param linked_resource_type: Resource type of the linked resource. 7547 :type linked_resource_type: str 7548 :param link: Link to the external resource. 7549 :type link: str 7550 :ivar provisioning_state: Provisioning state of the ResourceNavigationLink resource. 7551 :vartype provisioning_state: str 7552 """ 7553 7554 _validation = { 7555 'etag': {'readonly': True}, 7556 'provisioning_state': {'readonly': True}, 7557 } 7558 7559 _attribute_map = { 7560 'id': {'key': 'id', 'type': 'str'}, 7561 'name': {'key': 'name', 'type': 'str'}, 7562 'etag': {'key': 'etag', 'type': 'str'}, 7563 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, 7564 'link': {'key': 'properties.link', 'type': 'str'}, 7565 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7566 } 7567 7568 def __init__( 7569 self, 7570 *, 7571 id: Optional[str] = None, 7572 name: Optional[str] = None, 7573 linked_resource_type: Optional[str] = None, 7574 link: Optional[str] = None, 7575 **kwargs 7576 ): 7577 super(ResourceNavigationLink, self).__init__(id=id, **kwargs) 7578 self.name = name 7579 self.etag = None 7580 self.linked_resource_type = linked_resource_type 7581 self.link = link 7582 self.provisioning_state = None 7583 7584 7585class RetentionPolicyParameters(msrest.serialization.Model): 7586 """Parameters that define the retention policy for flow log. 7587 7588 :param days: Number of days to retain flow log records. 7589 :type days: int 7590 :param enabled: Flag to enable/disable retention. 7591 :type enabled: bool 7592 """ 7593 7594 _attribute_map = { 7595 'days': {'key': 'days', 'type': 'int'}, 7596 'enabled': {'key': 'enabled', 'type': 'bool'}, 7597 } 7598 7599 def __init__( 7600 self, 7601 *, 7602 days: Optional[int] = 0, 7603 enabled: Optional[bool] = False, 7604 **kwargs 7605 ): 7606 super(RetentionPolicyParameters, self).__init__(**kwargs) 7607 self.days = days 7608 self.enabled = enabled 7609 7610 7611class Route(SubResource): 7612 """Route resource. 7613 7614 :param id: Resource ID. 7615 :type id: str 7616 :param name: The name of the resource that is unique within a resource group. This name can be 7617 used to access the resource. 7618 :type name: str 7619 :param etag: A unique read-only string that changes whenever the resource is updated. 7620 :type etag: str 7621 :param address_prefix: The destination CIDR to which the route applies. 7622 :type address_prefix: str 7623 :param next_hop_type: The type of Azure hop the packet should be sent to. Possible values are: 7624 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible 7625 values include: "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None". 7626 :type next_hop_type: str or ~azure.mgmt.network.v2018_01_01.models.RouteNextHopType 7627 :param next_hop_ip_address: The IP address packets should be forwarded to. Next hop values are 7628 only allowed in routes where the next hop type is VirtualAppliance. 7629 :type next_hop_ip_address: str 7630 :param provisioning_state: The provisioning state of the resource. Possible values are: 7631 'Updating', 'Deleting', and 'Failed'. 7632 :type provisioning_state: str 7633 """ 7634 7635 _attribute_map = { 7636 'id': {'key': 'id', 'type': 'str'}, 7637 'name': {'key': 'name', 'type': 'str'}, 7638 'etag': {'key': 'etag', 'type': 'str'}, 7639 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 7640 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, 7641 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, 7642 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7643 } 7644 7645 def __init__( 7646 self, 7647 *, 7648 id: Optional[str] = None, 7649 name: Optional[str] = None, 7650 etag: Optional[str] = None, 7651 address_prefix: Optional[str] = None, 7652 next_hop_type: Optional[Union[str, "RouteNextHopType"]] = None, 7653 next_hop_ip_address: Optional[str] = None, 7654 provisioning_state: Optional[str] = None, 7655 **kwargs 7656 ): 7657 super(Route, self).__init__(id=id, **kwargs) 7658 self.name = name 7659 self.etag = etag 7660 self.address_prefix = address_prefix 7661 self.next_hop_type = next_hop_type 7662 self.next_hop_ip_address = next_hop_ip_address 7663 self.provisioning_state = provisioning_state 7664 7665 7666class RouteFilter(Resource): 7667 """Route Filter Resource. 7668 7669 Variables are only populated by the server, and will be ignored when sending a request. 7670 7671 :param id: Resource ID. 7672 :type id: str 7673 :ivar name: Resource name. 7674 :vartype name: str 7675 :ivar type: Resource type. 7676 :vartype type: str 7677 :param location: Resource location. 7678 :type location: str 7679 :param tags: A set of tags. Resource tags. 7680 :type tags: dict[str, str] 7681 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 7682 :vartype etag: str 7683 :param rules: Collection of RouteFilterRules contained within a route filter. 7684 :type rules: list[~azure.mgmt.network.v2018_01_01.models.RouteFilterRule] 7685 :param peerings: A collection of references to express route circuit peerings. 7686 :type peerings: list[~azure.mgmt.network.v2018_01_01.models.ExpressRouteCircuitPeering] 7687 :ivar provisioning_state: The provisioning state of the resource. Possible values are: 7688 'Updating', 'Deleting', 'Succeeded' and 'Failed'. 7689 :vartype provisioning_state: str 7690 """ 7691 7692 _validation = { 7693 'name': {'readonly': True}, 7694 'type': {'readonly': True}, 7695 'etag': {'readonly': True}, 7696 'provisioning_state': {'readonly': True}, 7697 } 7698 7699 _attribute_map = { 7700 'id': {'key': 'id', 'type': 'str'}, 7701 'name': {'key': 'name', 'type': 'str'}, 7702 'type': {'key': 'type', 'type': 'str'}, 7703 'location': {'key': 'location', 'type': 'str'}, 7704 'tags': {'key': 'tags', 'type': '{str}'}, 7705 'etag': {'key': 'etag', 'type': 'str'}, 7706 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, 7707 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, 7708 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7709 } 7710 7711 def __init__( 7712 self, 7713 *, 7714 id: Optional[str] = None, 7715 location: Optional[str] = None, 7716 tags: Optional[Dict[str, str]] = None, 7717 rules: Optional[List["RouteFilterRule"]] = None, 7718 peerings: Optional[List["ExpressRouteCircuitPeering"]] = None, 7719 **kwargs 7720 ): 7721 super(RouteFilter, self).__init__(id=id, location=location, tags=tags, **kwargs) 7722 self.etag = None 7723 self.rules = rules 7724 self.peerings = peerings 7725 self.provisioning_state = None 7726 7727 7728class RouteFilterListResult(msrest.serialization.Model): 7729 """Response for the ListRouteFilters API service call. 7730 7731 :param value: Gets a list of route filters in a resource group. 7732 :type value: list[~azure.mgmt.network.v2018_01_01.models.RouteFilter] 7733 :param next_link: The URL to get the next set of results. 7734 :type next_link: str 7735 """ 7736 7737 _attribute_map = { 7738 'value': {'key': 'value', 'type': '[RouteFilter]'}, 7739 'next_link': {'key': 'nextLink', 'type': 'str'}, 7740 } 7741 7742 def __init__( 7743 self, 7744 *, 7745 value: Optional[List["RouteFilter"]] = None, 7746 next_link: Optional[str] = None, 7747 **kwargs 7748 ): 7749 super(RouteFilterListResult, self).__init__(**kwargs) 7750 self.value = value 7751 self.next_link = next_link 7752 7753 7754class RouteFilterRule(SubResource): 7755 """Route Filter Rule Resource. 7756 7757 Variables are only populated by the server, and will be ignored when sending a request. 7758 7759 :param id: Resource ID. 7760 :type id: str 7761 :param name: The name of the resource that is unique within a resource group. This name can be 7762 used to access the resource. 7763 :type name: str 7764 :param location: Resource location. 7765 :type location: str 7766 :ivar etag: A unique read-only string that changes whenever the resource is updated. 7767 :vartype etag: str 7768 :param access: The access type of the rule. Valid values are: 'Allow', 'Deny'. Possible values 7769 include: "Allow", "Deny". 7770 :type access: str or ~azure.mgmt.network.v2018_01_01.models.Access 7771 :param route_filter_rule_type: The rule type of the rule. Valid value is: 'Community'. Possible 7772 values include: "Community". 7773 :type route_filter_rule_type: str or ~azure.mgmt.network.v2018_01_01.models.RouteFilterRuleType 7774 :param communities: The collection for bgp community values to filter on. e.g. 7775 ['12076:5010','12076:5020']. 7776 :type communities: list[str] 7777 :ivar provisioning_state: The provisioning state of the resource. Possible values are: 7778 'Updating', 'Deleting', 'Succeeded' and 'Failed'. 7779 :vartype provisioning_state: str 7780 """ 7781 7782 _validation = { 7783 'etag': {'readonly': True}, 7784 'provisioning_state': {'readonly': True}, 7785 } 7786 7787 _attribute_map = { 7788 'id': {'key': 'id', 'type': 'str'}, 7789 'name': {'key': 'name', 'type': 'str'}, 7790 'location': {'key': 'location', 'type': 'str'}, 7791 'etag': {'key': 'etag', 'type': 'str'}, 7792 'access': {'key': 'properties.access', 'type': 'str'}, 7793 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, 7794 'communities': {'key': 'properties.communities', 'type': '[str]'}, 7795 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7796 } 7797 7798 def __init__( 7799 self, 7800 *, 7801 id: Optional[str] = None, 7802 name: Optional[str] = None, 7803 location: Optional[str] = None, 7804 access: Optional[Union[str, "Access"]] = None, 7805 route_filter_rule_type: Optional[Union[str, "RouteFilterRuleType"]] = None, 7806 communities: Optional[List[str]] = None, 7807 **kwargs 7808 ): 7809 super(RouteFilterRule, self).__init__(id=id, **kwargs) 7810 self.name = name 7811 self.location = location 7812 self.etag = None 7813 self.access = access 7814 self.route_filter_rule_type = route_filter_rule_type 7815 self.communities = communities 7816 self.provisioning_state = None 7817 7818 7819class RouteFilterRuleListResult(msrest.serialization.Model): 7820 """Response for the ListRouteFilterRules API service call. 7821 7822 :param value: Gets a list of RouteFilterRules in a resource group. 7823 :type value: list[~azure.mgmt.network.v2018_01_01.models.RouteFilterRule] 7824 :param next_link: The URL to get the next set of results. 7825 :type next_link: str 7826 """ 7827 7828 _attribute_map = { 7829 'value': {'key': 'value', 'type': '[RouteFilterRule]'}, 7830 'next_link': {'key': 'nextLink', 'type': 'str'}, 7831 } 7832 7833 def __init__( 7834 self, 7835 *, 7836 value: Optional[List["RouteFilterRule"]] = None, 7837 next_link: Optional[str] = None, 7838 **kwargs 7839 ): 7840 super(RouteFilterRuleListResult, self).__init__(**kwargs) 7841 self.value = value 7842 self.next_link = next_link 7843 7844 7845class RouteListResult(msrest.serialization.Model): 7846 """Response for the ListRoute API service call. 7847 7848 :param value: Gets a list of routes in a resource group. 7849 :type value: list[~azure.mgmt.network.v2018_01_01.models.Route] 7850 :param next_link: The URL to get the next set of results. 7851 :type next_link: str 7852 """ 7853 7854 _attribute_map = { 7855 'value': {'key': 'value', 'type': '[Route]'}, 7856 'next_link': {'key': 'nextLink', 'type': 'str'}, 7857 } 7858 7859 def __init__( 7860 self, 7861 *, 7862 value: Optional[List["Route"]] = None, 7863 next_link: Optional[str] = None, 7864 **kwargs 7865 ): 7866 super(RouteListResult, self).__init__(**kwargs) 7867 self.value = value 7868 self.next_link = next_link 7869 7870 7871class RouteTable(Resource): 7872 """Route table resource. 7873 7874 Variables are only populated by the server, and will be ignored when sending a request. 7875 7876 :param id: Resource ID. 7877 :type id: str 7878 :ivar name: Resource name. 7879 :vartype name: str 7880 :ivar type: Resource type. 7881 :vartype type: str 7882 :param location: Resource location. 7883 :type location: str 7884 :param tags: A set of tags. Resource tags. 7885 :type tags: dict[str, str] 7886 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 7887 :type etag: str 7888 :param routes: Collection of routes contained within a route table. 7889 :type routes: list[~azure.mgmt.network.v2018_01_01.models.Route] 7890 :ivar subnets: A collection of references to subnets. 7891 :vartype subnets: list[~azure.mgmt.network.v2018_01_01.models.Subnet] 7892 :param disable_bgp_route_propagation: Gets or sets whether to disable the routes learned by BGP 7893 on that route table. True means disable. 7894 :type disable_bgp_route_propagation: bool 7895 :param provisioning_state: The provisioning state of the resource. Possible values are: 7896 'Updating', 'Deleting', and 'Failed'. 7897 :type provisioning_state: str 7898 """ 7899 7900 _validation = { 7901 'name': {'readonly': True}, 7902 'type': {'readonly': True}, 7903 'subnets': {'readonly': True}, 7904 } 7905 7906 _attribute_map = { 7907 'id': {'key': 'id', 'type': 'str'}, 7908 'name': {'key': 'name', 'type': 'str'}, 7909 'type': {'key': 'type', 'type': 'str'}, 7910 'location': {'key': 'location', 'type': 'str'}, 7911 'tags': {'key': 'tags', 'type': '{str}'}, 7912 'etag': {'key': 'etag', 'type': 'str'}, 7913 'routes': {'key': 'properties.routes', 'type': '[Route]'}, 7914 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 7915 'disable_bgp_route_propagation': {'key': 'properties.disableBgpRoutePropagation', 'type': 'bool'}, 7916 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7917 } 7918 7919 def __init__( 7920 self, 7921 *, 7922 id: Optional[str] = None, 7923 location: Optional[str] = None, 7924 tags: Optional[Dict[str, str]] = None, 7925 etag: Optional[str] = None, 7926 routes: Optional[List["Route"]] = None, 7927 disable_bgp_route_propagation: Optional[bool] = None, 7928 provisioning_state: Optional[str] = None, 7929 **kwargs 7930 ): 7931 super(RouteTable, self).__init__(id=id, location=location, tags=tags, **kwargs) 7932 self.etag = etag 7933 self.routes = routes 7934 self.subnets = None 7935 self.disable_bgp_route_propagation = disable_bgp_route_propagation 7936 self.provisioning_state = provisioning_state 7937 7938 7939class RouteTableListResult(msrest.serialization.Model): 7940 """Response for the ListRouteTable API service call. 7941 7942 :param value: Gets a list of route tables in a resource group. 7943 :type value: list[~azure.mgmt.network.v2018_01_01.models.RouteTable] 7944 :param next_link: The URL to get the next set of results. 7945 :type next_link: str 7946 """ 7947 7948 _attribute_map = { 7949 'value': {'key': 'value', 'type': '[RouteTable]'}, 7950 'next_link': {'key': 'nextLink', 'type': 'str'}, 7951 } 7952 7953 def __init__( 7954 self, 7955 *, 7956 value: Optional[List["RouteTable"]] = None, 7957 next_link: Optional[str] = None, 7958 **kwargs 7959 ): 7960 super(RouteTableListResult, self).__init__(**kwargs) 7961 self.value = value 7962 self.next_link = next_link 7963 7964 7965class SecurityGroupNetworkInterface(msrest.serialization.Model): 7966 """Network interface and all its associated security rules. 7967 7968 :param id: ID of the network interface. 7969 :type id: str 7970 :param security_rule_associations: All security rules associated with the network interface. 7971 :type security_rule_associations: 7972 ~azure.mgmt.network.v2018_01_01.models.SecurityRuleAssociations 7973 """ 7974 7975 _attribute_map = { 7976 'id': {'key': 'id', 'type': 'str'}, 7977 'security_rule_associations': {'key': 'securityRuleAssociations', 'type': 'SecurityRuleAssociations'}, 7978 } 7979 7980 def __init__( 7981 self, 7982 *, 7983 id: Optional[str] = None, 7984 security_rule_associations: Optional["SecurityRuleAssociations"] = None, 7985 **kwargs 7986 ): 7987 super(SecurityGroupNetworkInterface, self).__init__(**kwargs) 7988 self.id = id 7989 self.security_rule_associations = security_rule_associations 7990 7991 7992class SecurityGroupViewParameters(msrest.serialization.Model): 7993 """Parameters that define the VM to check security groups for. 7994 7995 All required parameters must be populated in order to send to Azure. 7996 7997 :param target_resource_id: Required. ID of the target VM. 7998 :type target_resource_id: str 7999 """ 8000 8001 _validation = { 8002 'target_resource_id': {'required': True}, 8003 } 8004 8005 _attribute_map = { 8006 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 8007 } 8008 8009 def __init__( 8010 self, 8011 *, 8012 target_resource_id: str, 8013 **kwargs 8014 ): 8015 super(SecurityGroupViewParameters, self).__init__(**kwargs) 8016 self.target_resource_id = target_resource_id 8017 8018 8019class SecurityGroupViewResult(msrest.serialization.Model): 8020 """The information about security rules applied to the specified VM. 8021 8022 :param network_interfaces: List of network interfaces on the specified VM. 8023 :type network_interfaces: 8024 list[~azure.mgmt.network.v2018_01_01.models.SecurityGroupNetworkInterface] 8025 """ 8026 8027 _attribute_map = { 8028 'network_interfaces': {'key': 'networkInterfaces', 'type': '[SecurityGroupNetworkInterface]'}, 8029 } 8030 8031 def __init__( 8032 self, 8033 *, 8034 network_interfaces: Optional[List["SecurityGroupNetworkInterface"]] = None, 8035 **kwargs 8036 ): 8037 super(SecurityGroupViewResult, self).__init__(**kwargs) 8038 self.network_interfaces = network_interfaces 8039 8040 8041class SecurityRule(SubResource): 8042 """Network security rule. 8043 8044 :param id: Resource ID. 8045 :type id: str 8046 :param name: The name of the resource that is unique within a resource group. This name can be 8047 used to access the resource. 8048 :type name: str 8049 :param etag: A unique read-only string that changes whenever the resource is updated. 8050 :type etag: str 8051 :param description: A description for this rule. Restricted to 140 chars. 8052 :type description: str 8053 :param protocol: Network protocol this rule applies to. Possible values are 'Tcp', 'Udp', and 8054 '*'. Possible values include: "Tcp", "Udp", "*". 8055 :type protocol: str or ~azure.mgmt.network.v2018_01_01.models.SecurityRuleProtocol 8056 :param source_port_range: The source port or range. Integer or range between 0 and 65535. 8057 Asterisk '*' can also be used to match all ports. 8058 :type source_port_range: str 8059 :param destination_port_range: The destination port or range. Integer or range between 0 and 8060 65535. Asterisk '*' can also be used to match all ports. 8061 :type destination_port_range: str 8062 :param source_address_prefix: The CIDR or source IP range. Asterisk '*' can also be used to 8063 match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' 8064 can also be used. If this is an ingress rule, specifies where network traffic originates from. 8065 :type source_address_prefix: str 8066 :param source_address_prefixes: The CIDR or source IP ranges. 8067 :type source_address_prefixes: list[str] 8068 :param source_application_security_groups: The application security group specified as source. 8069 :type source_application_security_groups: 8070 list[~azure.mgmt.network.v2018_01_01.models.ApplicationSecurityGroup] 8071 :param destination_address_prefix: The destination address prefix. CIDR or destination IP 8072 range. Asterisk '*' can also be used to match all source IPs. Default tags such as 8073 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. 8074 :type destination_address_prefix: str 8075 :param destination_address_prefixes: The destination address prefixes. CIDR or destination IP 8076 ranges. 8077 :type destination_address_prefixes: list[str] 8078 :param destination_application_security_groups: The application security group specified as 8079 destination. 8080 :type destination_application_security_groups: 8081 list[~azure.mgmt.network.v2018_01_01.models.ApplicationSecurityGroup] 8082 :param source_port_ranges: The source port ranges. 8083 :type source_port_ranges: list[str] 8084 :param destination_port_ranges: The destination port ranges. 8085 :type destination_port_ranges: list[str] 8086 :param access: The network traffic is allowed or denied. Possible values are: 'Allow' and 8087 'Deny'. Possible values include: "Allow", "Deny". 8088 :type access: str or ~azure.mgmt.network.v2018_01_01.models.SecurityRuleAccess 8089 :param priority: The priority of the rule. The value can be between 100 and 4096. The priority 8090 number must be unique for each rule in the collection. The lower the priority number, the 8091 higher the priority of the rule. 8092 :type priority: int 8093 :param direction: The direction of the rule. The direction specifies if rule will be evaluated 8094 on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'. Possible values 8095 include: "Inbound", "Outbound". 8096 :type direction: str or ~azure.mgmt.network.v2018_01_01.models.SecurityRuleDirection 8097 :param provisioning_state: The provisioning state of the public IP resource. Possible values 8098 are: 'Updating', 'Deleting', and 'Failed'. 8099 :type provisioning_state: str 8100 """ 8101 8102 _attribute_map = { 8103 'id': {'key': 'id', 'type': 'str'}, 8104 'name': {'key': 'name', 'type': 'str'}, 8105 'etag': {'key': 'etag', 'type': 'str'}, 8106 'description': {'key': 'properties.description', 'type': 'str'}, 8107 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 8108 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, 8109 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, 8110 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, 8111 'source_address_prefixes': {'key': 'properties.sourceAddressPrefixes', 'type': '[str]'}, 8112 'source_application_security_groups': {'key': 'properties.sourceApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, 8113 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, 8114 'destination_address_prefixes': {'key': 'properties.destinationAddressPrefixes', 'type': '[str]'}, 8115 'destination_application_security_groups': {'key': 'properties.destinationApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, 8116 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, 8117 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, 8118 'access': {'key': 'properties.access', 'type': 'str'}, 8119 'priority': {'key': 'properties.priority', 'type': 'int'}, 8120 'direction': {'key': 'properties.direction', 'type': 'str'}, 8121 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8122 } 8123 8124 def __init__( 8125 self, 8126 *, 8127 id: Optional[str] = None, 8128 name: Optional[str] = None, 8129 etag: Optional[str] = None, 8130 description: Optional[str] = None, 8131 protocol: Optional[Union[str, "SecurityRuleProtocol"]] = None, 8132 source_port_range: Optional[str] = None, 8133 destination_port_range: Optional[str] = None, 8134 source_address_prefix: Optional[str] = None, 8135 source_address_prefixes: Optional[List[str]] = None, 8136 source_application_security_groups: Optional[List["ApplicationSecurityGroup"]] = None, 8137 destination_address_prefix: Optional[str] = None, 8138 destination_address_prefixes: Optional[List[str]] = None, 8139 destination_application_security_groups: Optional[List["ApplicationSecurityGroup"]] = None, 8140 source_port_ranges: Optional[List[str]] = None, 8141 destination_port_ranges: Optional[List[str]] = None, 8142 access: Optional[Union[str, "SecurityRuleAccess"]] = None, 8143 priority: Optional[int] = None, 8144 direction: Optional[Union[str, "SecurityRuleDirection"]] = None, 8145 provisioning_state: Optional[str] = None, 8146 **kwargs 8147 ): 8148 super(SecurityRule, self).__init__(id=id, **kwargs) 8149 self.name = name 8150 self.etag = etag 8151 self.description = description 8152 self.protocol = protocol 8153 self.source_port_range = source_port_range 8154 self.destination_port_range = destination_port_range 8155 self.source_address_prefix = source_address_prefix 8156 self.source_address_prefixes = source_address_prefixes 8157 self.source_application_security_groups = source_application_security_groups 8158 self.destination_address_prefix = destination_address_prefix 8159 self.destination_address_prefixes = destination_address_prefixes 8160 self.destination_application_security_groups = destination_application_security_groups 8161 self.source_port_ranges = source_port_ranges 8162 self.destination_port_ranges = destination_port_ranges 8163 self.access = access 8164 self.priority = priority 8165 self.direction = direction 8166 self.provisioning_state = provisioning_state 8167 8168 8169class SecurityRuleAssociations(msrest.serialization.Model): 8170 """All security rules associated with the network interface. 8171 8172 :param network_interface_association: Network interface and its custom security rules. 8173 :type network_interface_association: 8174 ~azure.mgmt.network.v2018_01_01.models.NetworkInterfaceAssociation 8175 :param subnet_association: Network interface and its custom security rules. 8176 :type subnet_association: ~azure.mgmt.network.v2018_01_01.models.SubnetAssociation 8177 :param default_security_rules: Collection of default security rules of the network security 8178 group. 8179 :type default_security_rules: list[~azure.mgmt.network.v2018_01_01.models.SecurityRule] 8180 :param effective_security_rules: Collection of effective security rules. 8181 :type effective_security_rules: 8182 list[~azure.mgmt.network.v2018_01_01.models.EffectiveNetworkSecurityRule] 8183 """ 8184 8185 _attribute_map = { 8186 'network_interface_association': {'key': 'networkInterfaceAssociation', 'type': 'NetworkInterfaceAssociation'}, 8187 'subnet_association': {'key': 'subnetAssociation', 'type': 'SubnetAssociation'}, 8188 'default_security_rules': {'key': 'defaultSecurityRules', 'type': '[SecurityRule]'}, 8189 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, 8190 } 8191 8192 def __init__( 8193 self, 8194 *, 8195 network_interface_association: Optional["NetworkInterfaceAssociation"] = None, 8196 subnet_association: Optional["SubnetAssociation"] = None, 8197 default_security_rules: Optional[List["SecurityRule"]] = None, 8198 effective_security_rules: Optional[List["EffectiveNetworkSecurityRule"]] = None, 8199 **kwargs 8200 ): 8201 super(SecurityRuleAssociations, self).__init__(**kwargs) 8202 self.network_interface_association = network_interface_association 8203 self.subnet_association = subnet_association 8204 self.default_security_rules = default_security_rules 8205 self.effective_security_rules = effective_security_rules 8206 8207 8208class SecurityRuleListResult(msrest.serialization.Model): 8209 """Response for ListSecurityRule API service call. Retrieves all security rules that belongs to a network security group. 8210 8211 :param value: The security rules in a network security group. 8212 :type value: list[~azure.mgmt.network.v2018_01_01.models.SecurityRule] 8213 :param next_link: The URL to get the next set of results. 8214 :type next_link: str 8215 """ 8216 8217 _attribute_map = { 8218 'value': {'key': 'value', 'type': '[SecurityRule]'}, 8219 'next_link': {'key': 'nextLink', 'type': 'str'}, 8220 } 8221 8222 def __init__( 8223 self, 8224 *, 8225 value: Optional[List["SecurityRule"]] = None, 8226 next_link: Optional[str] = None, 8227 **kwargs 8228 ): 8229 super(SecurityRuleListResult, self).__init__(**kwargs) 8230 self.value = value 8231 self.next_link = next_link 8232 8233 8234class ServiceEndpointPropertiesFormat(msrest.serialization.Model): 8235 """The service endpoint properties. 8236 8237 :param service: The type of the endpoint service. 8238 :type service: str 8239 :param locations: A list of locations. 8240 :type locations: list[str] 8241 :param provisioning_state: The provisioning state of the resource. 8242 :type provisioning_state: str 8243 """ 8244 8245 _attribute_map = { 8246 'service': {'key': 'service', 'type': 'str'}, 8247 'locations': {'key': 'locations', 'type': '[str]'}, 8248 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 8249 } 8250 8251 def __init__( 8252 self, 8253 *, 8254 service: Optional[str] = None, 8255 locations: Optional[List[str]] = None, 8256 provisioning_state: Optional[str] = None, 8257 **kwargs 8258 ): 8259 super(ServiceEndpointPropertiesFormat, self).__init__(**kwargs) 8260 self.service = service 8261 self.locations = locations 8262 self.provisioning_state = provisioning_state 8263 8264 8265class Subnet(SubResource): 8266 """Subnet in a virtual network resource. 8267 8268 Variables are only populated by the server, and will be ignored when sending a request. 8269 8270 :param id: Resource ID. 8271 :type id: str 8272 :param name: The name of the resource that is unique within a resource group. This name can be 8273 used to access the resource. 8274 :type name: str 8275 :param etag: A unique read-only string that changes whenever the resource is updated. 8276 :type etag: str 8277 :param address_prefix: The address prefix for the subnet. 8278 :type address_prefix: str 8279 :param network_security_group: The reference of the NetworkSecurityGroup resource. 8280 :type network_security_group: ~azure.mgmt.network.v2018_01_01.models.NetworkSecurityGroup 8281 :param route_table: The reference of the RouteTable resource. 8282 :type route_table: ~azure.mgmt.network.v2018_01_01.models.RouteTable 8283 :param service_endpoints: An array of service endpoints. 8284 :type service_endpoints: 8285 list[~azure.mgmt.network.v2018_01_01.models.ServiceEndpointPropertiesFormat] 8286 :ivar ip_configurations: Gets an array of references to the network interface IP configurations 8287 using subnet. 8288 :vartype ip_configurations: list[~azure.mgmt.network.v2018_01_01.models.IPConfiguration] 8289 :param resource_navigation_links: Gets an array of references to the external resources using 8290 subnet. 8291 :type resource_navigation_links: 8292 list[~azure.mgmt.network.v2018_01_01.models.ResourceNavigationLink] 8293 :param provisioning_state: The provisioning state of the resource. 8294 :type provisioning_state: str 8295 """ 8296 8297 _validation = { 8298 'ip_configurations': {'readonly': True}, 8299 } 8300 8301 _attribute_map = { 8302 'id': {'key': 'id', 'type': 'str'}, 8303 'name': {'key': 'name', 'type': 'str'}, 8304 'etag': {'key': 'etag', 'type': 'str'}, 8305 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 8306 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, 8307 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, 8308 'service_endpoints': {'key': 'properties.serviceEndpoints', 'type': '[ServiceEndpointPropertiesFormat]'}, 8309 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, 8310 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, 8311 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8312 } 8313 8314 def __init__( 8315 self, 8316 *, 8317 id: Optional[str] = None, 8318 name: Optional[str] = None, 8319 etag: Optional[str] = None, 8320 address_prefix: Optional[str] = None, 8321 network_security_group: Optional["NetworkSecurityGroup"] = None, 8322 route_table: Optional["RouteTable"] = None, 8323 service_endpoints: Optional[List["ServiceEndpointPropertiesFormat"]] = None, 8324 resource_navigation_links: Optional[List["ResourceNavigationLink"]] = None, 8325 provisioning_state: Optional[str] = None, 8326 **kwargs 8327 ): 8328 super(Subnet, self).__init__(id=id, **kwargs) 8329 self.name = name 8330 self.etag = etag 8331 self.address_prefix = address_prefix 8332 self.network_security_group = network_security_group 8333 self.route_table = route_table 8334 self.service_endpoints = service_endpoints 8335 self.ip_configurations = None 8336 self.resource_navigation_links = resource_navigation_links 8337 self.provisioning_state = provisioning_state 8338 8339 8340class SubnetAssociation(msrest.serialization.Model): 8341 """Network interface and its custom security rules. 8342 8343 Variables are only populated by the server, and will be ignored when sending a request. 8344 8345 :ivar id: Subnet ID. 8346 :vartype id: str 8347 :param security_rules: Collection of custom security rules. 8348 :type security_rules: list[~azure.mgmt.network.v2018_01_01.models.SecurityRule] 8349 """ 8350 8351 _validation = { 8352 'id': {'readonly': True}, 8353 } 8354 8355 _attribute_map = { 8356 'id': {'key': 'id', 'type': 'str'}, 8357 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, 8358 } 8359 8360 def __init__( 8361 self, 8362 *, 8363 security_rules: Optional[List["SecurityRule"]] = None, 8364 **kwargs 8365 ): 8366 super(SubnetAssociation, self).__init__(**kwargs) 8367 self.id = None 8368 self.security_rules = security_rules 8369 8370 8371class SubnetListResult(msrest.serialization.Model): 8372 """Response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network. 8373 8374 :param value: The subnets in a virtual network. 8375 :type value: list[~azure.mgmt.network.v2018_01_01.models.Subnet] 8376 :param next_link: The URL to get the next set of results. 8377 :type next_link: str 8378 """ 8379 8380 _attribute_map = { 8381 'value': {'key': 'value', 'type': '[Subnet]'}, 8382 'next_link': {'key': 'nextLink', 'type': 'str'}, 8383 } 8384 8385 def __init__( 8386 self, 8387 *, 8388 value: Optional[List["Subnet"]] = None, 8389 next_link: Optional[str] = None, 8390 **kwargs 8391 ): 8392 super(SubnetListResult, self).__init__(**kwargs) 8393 self.value = value 8394 self.next_link = next_link 8395 8396 8397class TagsObject(msrest.serialization.Model): 8398 """Tags object for patch operations. 8399 8400 :param tags: A set of tags. Resource tags. 8401 :type tags: dict[str, str] 8402 """ 8403 8404 _attribute_map = { 8405 'tags': {'key': 'tags', 'type': '{str}'}, 8406 } 8407 8408 def __init__( 8409 self, 8410 *, 8411 tags: Optional[Dict[str, str]] = None, 8412 **kwargs 8413 ): 8414 super(TagsObject, self).__init__(**kwargs) 8415 self.tags = tags 8416 8417 8418class Topology(msrest.serialization.Model): 8419 """Topology of the specified resource group. 8420 8421 Variables are only populated by the server, and will be ignored when sending a request. 8422 8423 :ivar id: GUID representing the operation id. 8424 :vartype id: str 8425 :ivar created_date_time: The datetime when the topology was initially created for the resource 8426 group. 8427 :vartype created_date_time: ~datetime.datetime 8428 :ivar last_modified: The datetime when the topology was last modified. 8429 :vartype last_modified: ~datetime.datetime 8430 :param resources: 8431 :type resources: list[~azure.mgmt.network.v2018_01_01.models.TopologyResource] 8432 """ 8433 8434 _validation = { 8435 'id': {'readonly': True}, 8436 'created_date_time': {'readonly': True}, 8437 'last_modified': {'readonly': True}, 8438 } 8439 8440 _attribute_map = { 8441 'id': {'key': 'id', 'type': 'str'}, 8442 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, 8443 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, 8444 'resources': {'key': 'resources', 'type': '[TopologyResource]'}, 8445 } 8446 8447 def __init__( 8448 self, 8449 *, 8450 resources: Optional[List["TopologyResource"]] = None, 8451 **kwargs 8452 ): 8453 super(Topology, self).__init__(**kwargs) 8454 self.id = None 8455 self.created_date_time = None 8456 self.last_modified = None 8457 self.resources = resources 8458 8459 8460class TopologyAssociation(msrest.serialization.Model): 8461 """Resources that have an association with the parent resource. 8462 8463 :param name: The name of the resource that is associated with the parent resource. 8464 :type name: str 8465 :param resource_id: The ID of the resource that is associated with the parent resource. 8466 :type resource_id: str 8467 :param association_type: The association type of the child resource to the parent resource. 8468 Possible values include: "Associated", "Contains". 8469 :type association_type: str or ~azure.mgmt.network.v2018_01_01.models.AssociationType 8470 """ 8471 8472 _attribute_map = { 8473 'name': {'key': 'name', 'type': 'str'}, 8474 'resource_id': {'key': 'resourceId', 'type': 'str'}, 8475 'association_type': {'key': 'associationType', 'type': 'str'}, 8476 } 8477 8478 def __init__( 8479 self, 8480 *, 8481 name: Optional[str] = None, 8482 resource_id: Optional[str] = None, 8483 association_type: Optional[Union[str, "AssociationType"]] = None, 8484 **kwargs 8485 ): 8486 super(TopologyAssociation, self).__init__(**kwargs) 8487 self.name = name 8488 self.resource_id = resource_id 8489 self.association_type = association_type 8490 8491 8492class TopologyParameters(msrest.serialization.Model): 8493 """Parameters that define the representation of topology. 8494 8495 :param target_resource_group_name: The name of the target resource group to perform topology 8496 on. 8497 :type target_resource_group_name: str 8498 :param target_virtual_network: The reference of the Virtual Network resource. 8499 :type target_virtual_network: ~azure.mgmt.network.v2018_01_01.models.SubResource 8500 :param target_subnet: The reference of the Subnet resource. 8501 :type target_subnet: ~azure.mgmt.network.v2018_01_01.models.SubResource 8502 """ 8503 8504 _attribute_map = { 8505 'target_resource_group_name': {'key': 'targetResourceGroupName', 'type': 'str'}, 8506 'target_virtual_network': {'key': 'targetVirtualNetwork', 'type': 'SubResource'}, 8507 'target_subnet': {'key': 'targetSubnet', 'type': 'SubResource'}, 8508 } 8509 8510 def __init__( 8511 self, 8512 *, 8513 target_resource_group_name: Optional[str] = None, 8514 target_virtual_network: Optional["SubResource"] = None, 8515 target_subnet: Optional["SubResource"] = None, 8516 **kwargs 8517 ): 8518 super(TopologyParameters, self).__init__(**kwargs) 8519 self.target_resource_group_name = target_resource_group_name 8520 self.target_virtual_network = target_virtual_network 8521 self.target_subnet = target_subnet 8522 8523 8524class TopologyResource(msrest.serialization.Model): 8525 """The network resource topology information for the given resource group. 8526 8527 :param name: Name of the resource. 8528 :type name: str 8529 :param id: ID of the resource. 8530 :type id: str 8531 :param location: Resource location. 8532 :type location: str 8533 :param associations: Holds the associations the resource has with other resources in the 8534 resource group. 8535 :type associations: list[~azure.mgmt.network.v2018_01_01.models.TopologyAssociation] 8536 """ 8537 8538 _attribute_map = { 8539 'name': {'key': 'name', 'type': 'str'}, 8540 'id': {'key': 'id', 'type': 'str'}, 8541 'location': {'key': 'location', 'type': 'str'}, 8542 'associations': {'key': 'associations', 'type': '[TopologyAssociation]'}, 8543 } 8544 8545 def __init__( 8546 self, 8547 *, 8548 name: Optional[str] = None, 8549 id: Optional[str] = None, 8550 location: Optional[str] = None, 8551 associations: Optional[List["TopologyAssociation"]] = None, 8552 **kwargs 8553 ): 8554 super(TopologyResource, self).__init__(**kwargs) 8555 self.name = name 8556 self.id = id 8557 self.location = location 8558 self.associations = associations 8559 8560 8561class TrafficAnalyticsConfigurationProperties(msrest.serialization.Model): 8562 """Parameters that define the configuration of traffic analytics. 8563 8564 All required parameters must be populated in order to send to Azure. 8565 8566 :param enabled: Required. Flag to enable/disable traffic analytics. 8567 :type enabled: bool 8568 :param workspace_id: Required. The resource guid of the attached workspace. 8569 :type workspace_id: str 8570 :param workspace_region: Required. The location of the attached workspace. 8571 :type workspace_region: str 8572 :param workspace_resource_id: Required. Resource Id of the attached workspace. 8573 :type workspace_resource_id: str 8574 """ 8575 8576 _validation = { 8577 'enabled': {'required': True}, 8578 'workspace_id': {'required': True}, 8579 'workspace_region': {'required': True}, 8580 'workspace_resource_id': {'required': True}, 8581 } 8582 8583 _attribute_map = { 8584 'enabled': {'key': 'enabled', 'type': 'bool'}, 8585 'workspace_id': {'key': 'workspaceId', 'type': 'str'}, 8586 'workspace_region': {'key': 'workspaceRegion', 'type': 'str'}, 8587 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, 8588 } 8589 8590 def __init__( 8591 self, 8592 *, 8593 enabled: bool, 8594 workspace_id: str, 8595 workspace_region: str, 8596 workspace_resource_id: str, 8597 **kwargs 8598 ): 8599 super(TrafficAnalyticsConfigurationProperties, self).__init__(**kwargs) 8600 self.enabled = enabled 8601 self.workspace_id = workspace_id 8602 self.workspace_region = workspace_region 8603 self.workspace_resource_id = workspace_resource_id 8604 8605 8606class TroubleshootingDetails(msrest.serialization.Model): 8607 """Information gained from troubleshooting of specified resource. 8608 8609 :param id: The id of the get troubleshoot operation. 8610 :type id: str 8611 :param reason_type: Reason type of failure. 8612 :type reason_type: str 8613 :param summary: A summary of troubleshooting. 8614 :type summary: str 8615 :param detail: Details on troubleshooting results. 8616 :type detail: str 8617 :param recommended_actions: List of recommended actions. 8618 :type recommended_actions: 8619 list[~azure.mgmt.network.v2018_01_01.models.TroubleshootingRecommendedActions] 8620 """ 8621 8622 _attribute_map = { 8623 'id': {'key': 'id', 'type': 'str'}, 8624 'reason_type': {'key': 'reasonType', 'type': 'str'}, 8625 'summary': {'key': 'summary', 'type': 'str'}, 8626 'detail': {'key': 'detail', 'type': 'str'}, 8627 'recommended_actions': {'key': 'recommendedActions', 'type': '[TroubleshootingRecommendedActions]'}, 8628 } 8629 8630 def __init__( 8631 self, 8632 *, 8633 id: Optional[str] = None, 8634 reason_type: Optional[str] = None, 8635 summary: Optional[str] = None, 8636 detail: Optional[str] = None, 8637 recommended_actions: Optional[List["TroubleshootingRecommendedActions"]] = None, 8638 **kwargs 8639 ): 8640 super(TroubleshootingDetails, self).__init__(**kwargs) 8641 self.id = id 8642 self.reason_type = reason_type 8643 self.summary = summary 8644 self.detail = detail 8645 self.recommended_actions = recommended_actions 8646 8647 8648class TroubleshootingParameters(msrest.serialization.Model): 8649 """Parameters that define the resource to troubleshoot. 8650 8651 All required parameters must be populated in order to send to Azure. 8652 8653 :param target_resource_id: Required. The target resource to troubleshoot. 8654 :type target_resource_id: str 8655 :param storage_id: Required. The ID for the storage account to save the troubleshoot result. 8656 :type storage_id: str 8657 :param storage_path: Required. The path to the blob to save the troubleshoot result in. 8658 :type storage_path: str 8659 """ 8660 8661 _validation = { 8662 'target_resource_id': {'required': True}, 8663 'storage_id': {'required': True}, 8664 'storage_path': {'required': True}, 8665 } 8666 8667 _attribute_map = { 8668 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 8669 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, 8670 'storage_path': {'key': 'properties.storagePath', 'type': 'str'}, 8671 } 8672 8673 def __init__( 8674 self, 8675 *, 8676 target_resource_id: str, 8677 storage_id: str, 8678 storage_path: str, 8679 **kwargs 8680 ): 8681 super(TroubleshootingParameters, self).__init__(**kwargs) 8682 self.target_resource_id = target_resource_id 8683 self.storage_id = storage_id 8684 self.storage_path = storage_path 8685 8686 8687class TroubleshootingRecommendedActions(msrest.serialization.Model): 8688 """Recommended actions based on discovered issues. 8689 8690 :param action_id: ID of the recommended action. 8691 :type action_id: str 8692 :param action_text: Description of recommended actions. 8693 :type action_text: str 8694 :param action_uri: The uri linking to a documentation for the recommended troubleshooting 8695 actions. 8696 :type action_uri: str 8697 :param action_uri_text: The information from the URI for the recommended troubleshooting 8698 actions. 8699 :type action_uri_text: str 8700 """ 8701 8702 _attribute_map = { 8703 'action_id': {'key': 'actionId', 'type': 'str'}, 8704 'action_text': {'key': 'actionText', 'type': 'str'}, 8705 'action_uri': {'key': 'actionUri', 'type': 'str'}, 8706 'action_uri_text': {'key': 'actionUriText', 'type': 'str'}, 8707 } 8708 8709 def __init__( 8710 self, 8711 *, 8712 action_id: Optional[str] = None, 8713 action_text: Optional[str] = None, 8714 action_uri: Optional[str] = None, 8715 action_uri_text: Optional[str] = None, 8716 **kwargs 8717 ): 8718 super(TroubleshootingRecommendedActions, self).__init__(**kwargs) 8719 self.action_id = action_id 8720 self.action_text = action_text 8721 self.action_uri = action_uri 8722 self.action_uri_text = action_uri_text 8723 8724 8725class TroubleshootingResult(msrest.serialization.Model): 8726 """Troubleshooting information gained from specified resource. 8727 8728 :param start_time: The start time of the troubleshooting. 8729 :type start_time: ~datetime.datetime 8730 :param end_time: The end time of the troubleshooting. 8731 :type end_time: ~datetime.datetime 8732 :param code: The result code of the troubleshooting. 8733 :type code: str 8734 :param results: Information from troubleshooting. 8735 :type results: list[~azure.mgmt.network.v2018_01_01.models.TroubleshootingDetails] 8736 """ 8737 8738 _attribute_map = { 8739 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 8740 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 8741 'code': {'key': 'code', 'type': 'str'}, 8742 'results': {'key': 'results', 'type': '[TroubleshootingDetails]'}, 8743 } 8744 8745 def __init__( 8746 self, 8747 *, 8748 start_time: Optional[datetime.datetime] = None, 8749 end_time: Optional[datetime.datetime] = None, 8750 code: Optional[str] = None, 8751 results: Optional[List["TroubleshootingDetails"]] = None, 8752 **kwargs 8753 ): 8754 super(TroubleshootingResult, self).__init__(**kwargs) 8755 self.start_time = start_time 8756 self.end_time = end_time 8757 self.code = code 8758 self.results = results 8759 8760 8761class TunnelConnectionHealth(msrest.serialization.Model): 8762 """VirtualNetworkGatewayConnection properties. 8763 8764 Variables are only populated by the server, and will be ignored when sending a request. 8765 8766 :ivar tunnel: Tunnel name. 8767 :vartype tunnel: str 8768 :ivar connection_status: Virtual network Gateway connection status. Possible values include: 8769 "Unknown", "Connecting", "Connected", "NotConnected". 8770 :vartype connection_status: str or 8771 ~azure.mgmt.network.v2018_01_01.models.VirtualNetworkGatewayConnectionStatus 8772 :ivar ingress_bytes_transferred: The Ingress Bytes Transferred in this connection. 8773 :vartype ingress_bytes_transferred: long 8774 :ivar egress_bytes_transferred: The Egress Bytes Transferred in this connection. 8775 :vartype egress_bytes_transferred: long 8776 :ivar last_connection_established_utc_time: The time at which connection was established in Utc 8777 format. 8778 :vartype last_connection_established_utc_time: str 8779 """ 8780 8781 _validation = { 8782 'tunnel': {'readonly': True}, 8783 'connection_status': {'readonly': True}, 8784 'ingress_bytes_transferred': {'readonly': True}, 8785 'egress_bytes_transferred': {'readonly': True}, 8786 'last_connection_established_utc_time': {'readonly': True}, 8787 } 8788 8789 _attribute_map = { 8790 'tunnel': {'key': 'tunnel', 'type': 'str'}, 8791 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, 8792 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, 8793 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, 8794 'last_connection_established_utc_time': {'key': 'lastConnectionEstablishedUtcTime', 'type': 'str'}, 8795 } 8796 8797 def __init__( 8798 self, 8799 **kwargs 8800 ): 8801 super(TunnelConnectionHealth, self).__init__(**kwargs) 8802 self.tunnel = None 8803 self.connection_status = None 8804 self.ingress_bytes_transferred = None 8805 self.egress_bytes_transferred = None 8806 self.last_connection_established_utc_time = None 8807 8808 8809class Usage(msrest.serialization.Model): 8810 """Describes network resource usage. 8811 8812 Variables are only populated by the server, and will be ignored when sending a request. 8813 8814 All required parameters must be populated in order to send to Azure. 8815 8816 :ivar id: Resource identifier. 8817 :vartype id: str 8818 :param unit: Required. An enum describing the unit of measurement. Possible values include: 8819 "Count". 8820 :type unit: str or ~azure.mgmt.network.v2018_01_01.models.UsageUnit 8821 :param current_value: Required. The current value of the usage. 8822 :type current_value: long 8823 :param limit: Required. The limit of usage. 8824 :type limit: long 8825 :param name: Required. The name of the type of usage. 8826 :type name: ~azure.mgmt.network.v2018_01_01.models.UsageName 8827 """ 8828 8829 _validation = { 8830 'id': {'readonly': True}, 8831 'unit': {'required': True}, 8832 'current_value': {'required': True}, 8833 'limit': {'required': True}, 8834 'name': {'required': True}, 8835 } 8836 8837 _attribute_map = { 8838 'id': {'key': 'id', 'type': 'str'}, 8839 'unit': {'key': 'unit', 'type': 'str'}, 8840 'current_value': {'key': 'currentValue', 'type': 'long'}, 8841 'limit': {'key': 'limit', 'type': 'long'}, 8842 'name': {'key': 'name', 'type': 'UsageName'}, 8843 } 8844 8845 def __init__( 8846 self, 8847 *, 8848 unit: Union[str, "UsageUnit"], 8849 current_value: int, 8850 limit: int, 8851 name: "UsageName", 8852 **kwargs 8853 ): 8854 super(Usage, self).__init__(**kwargs) 8855 self.id = None 8856 self.unit = unit 8857 self.current_value = current_value 8858 self.limit = limit 8859 self.name = name 8860 8861 8862class UsageName(msrest.serialization.Model): 8863 """The usage names. 8864 8865 :param value: A string describing the resource name. 8866 :type value: str 8867 :param localized_value: A localized string describing the resource name. 8868 :type localized_value: str 8869 """ 8870 8871 _attribute_map = { 8872 'value': {'key': 'value', 'type': 'str'}, 8873 'localized_value': {'key': 'localizedValue', 'type': 'str'}, 8874 } 8875 8876 def __init__( 8877 self, 8878 *, 8879 value: Optional[str] = None, 8880 localized_value: Optional[str] = None, 8881 **kwargs 8882 ): 8883 super(UsageName, self).__init__(**kwargs) 8884 self.value = value 8885 self.localized_value = localized_value 8886 8887 8888class UsagesListResult(msrest.serialization.Model): 8889 """The list usages operation response. 8890 8891 :param value: The list network resource usages. 8892 :type value: list[~azure.mgmt.network.v2018_01_01.models.Usage] 8893 :param next_link: URL to get the next set of results. 8894 :type next_link: str 8895 """ 8896 8897 _attribute_map = { 8898 'value': {'key': 'value', 'type': '[Usage]'}, 8899 'next_link': {'key': 'nextLink', 'type': 'str'}, 8900 } 8901 8902 def __init__( 8903 self, 8904 *, 8905 value: Optional[List["Usage"]] = None, 8906 next_link: Optional[str] = None, 8907 **kwargs 8908 ): 8909 super(UsagesListResult, self).__init__(**kwargs) 8910 self.value = value 8911 self.next_link = next_link 8912 8913 8914class VerificationIPFlowParameters(msrest.serialization.Model): 8915 """Parameters that define the IP flow to be verified. 8916 8917 All required parameters must be populated in order to send to Azure. 8918 8919 :param target_resource_id: Required. The ID of the target resource to perform next-hop on. 8920 :type target_resource_id: str 8921 :param direction: Required. The direction of the packet represented as a 5-tuple. Possible 8922 values include: "Inbound", "Outbound". 8923 :type direction: str or ~azure.mgmt.network.v2018_01_01.models.Direction 8924 :param protocol: Required. Protocol to be verified on. Possible values include: "TCP", "UDP". 8925 :type protocol: str or ~azure.mgmt.network.v2018_01_01.models.Protocol 8926 :param local_port: Required. The local port. Acceptable values are a single integer in the 8927 range (0-65535). Support for * for the source port, which depends on the direction. 8928 :type local_port: str 8929 :param remote_port: Required. The remote port. Acceptable values are a single integer in the 8930 range (0-65535). Support for * for the source port, which depends on the direction. 8931 :type remote_port: str 8932 :param local_ip_address: Required. The local IP address. Acceptable values are valid IPv4 8933 addresses. 8934 :type local_ip_address: str 8935 :param remote_ip_address: Required. The remote IP address. Acceptable values are valid IPv4 8936 addresses. 8937 :type remote_ip_address: str 8938 :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP forwarding is 8939 enabled on any of them, then this parameter must be specified. Otherwise optional). 8940 :type target_nic_resource_id: str 8941 """ 8942 8943 _validation = { 8944 'target_resource_id': {'required': True}, 8945 'direction': {'required': True}, 8946 'protocol': {'required': True}, 8947 'local_port': {'required': True}, 8948 'remote_port': {'required': True}, 8949 'local_ip_address': {'required': True}, 8950 'remote_ip_address': {'required': True}, 8951 } 8952 8953 _attribute_map = { 8954 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 8955 'direction': {'key': 'direction', 'type': 'str'}, 8956 'protocol': {'key': 'protocol', 'type': 'str'}, 8957 'local_port': {'key': 'localPort', 'type': 'str'}, 8958 'remote_port': {'key': 'remotePort', 'type': 'str'}, 8959 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, 8960 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, 8961 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, 8962 } 8963 8964 def __init__( 8965 self, 8966 *, 8967 target_resource_id: str, 8968 direction: Union[str, "Direction"], 8969 protocol: Union[str, "Protocol"], 8970 local_port: str, 8971 remote_port: str, 8972 local_ip_address: str, 8973 remote_ip_address: str, 8974 target_nic_resource_id: Optional[str] = None, 8975 **kwargs 8976 ): 8977 super(VerificationIPFlowParameters, self).__init__(**kwargs) 8978 self.target_resource_id = target_resource_id 8979 self.direction = direction 8980 self.protocol = protocol 8981 self.local_port = local_port 8982 self.remote_port = remote_port 8983 self.local_ip_address = local_ip_address 8984 self.remote_ip_address = remote_ip_address 8985 self.target_nic_resource_id = target_nic_resource_id 8986 8987 8988class VerificationIPFlowResult(msrest.serialization.Model): 8989 """Results of IP flow verification on the target resource. 8990 8991 :param access: Indicates whether the traffic is allowed or denied. Possible values include: 8992 "Allow", "Deny". 8993 :type access: str or ~azure.mgmt.network.v2018_01_01.models.Access 8994 :param rule_name: Name of the rule. If input is not matched against any security rule, it is 8995 not displayed. 8996 :type rule_name: str 8997 """ 8998 8999 _attribute_map = { 9000 'access': {'key': 'access', 'type': 'str'}, 9001 'rule_name': {'key': 'ruleName', 'type': 'str'}, 9002 } 9003 9004 def __init__( 9005 self, 9006 *, 9007 access: Optional[Union[str, "Access"]] = None, 9008 rule_name: Optional[str] = None, 9009 **kwargs 9010 ): 9011 super(VerificationIPFlowResult, self).__init__(**kwargs) 9012 self.access = access 9013 self.rule_name = rule_name 9014 9015 9016class VirtualNetwork(Resource): 9017 """Virtual Network resource. 9018 9019 Variables are only populated by the server, and will be ignored when sending a request. 9020 9021 :param id: Resource ID. 9022 :type id: str 9023 :ivar name: Resource name. 9024 :vartype name: str 9025 :ivar type: Resource type. 9026 :vartype type: str 9027 :param location: Resource location. 9028 :type location: str 9029 :param tags: A set of tags. Resource tags. 9030 :type tags: dict[str, str] 9031 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 9032 :type etag: str 9033 :param address_space: The AddressSpace that contains an array of IP address ranges that can be 9034 used by subnets. 9035 :type address_space: ~azure.mgmt.network.v2018_01_01.models.AddressSpace 9036 :param dhcp_options: The dhcpOptions that contains an array of DNS servers available to VMs 9037 deployed in the virtual network. 9038 :type dhcp_options: ~azure.mgmt.network.v2018_01_01.models.DhcpOptions 9039 :param subnets: A list of subnets in a Virtual Network. 9040 :type subnets: list[~azure.mgmt.network.v2018_01_01.models.Subnet] 9041 :param virtual_network_peerings: A list of peerings in a Virtual Network. 9042 :type virtual_network_peerings: 9043 list[~azure.mgmt.network.v2018_01_01.models.VirtualNetworkPeering] 9044 :param resource_guid: The resourceGuid property of the Virtual Network resource. 9045 :type resource_guid: str 9046 :param provisioning_state: The provisioning state of the PublicIP resource. Possible values 9047 are: 'Updating', 'Deleting', and 'Failed'. 9048 :type provisioning_state: str 9049 :param enable_ddos_protection: Indicates if DDoS protection is enabled for all the protected 9050 resources in a Virtual Network. 9051 :type enable_ddos_protection: bool 9052 :param enable_vm_protection: Indicates if Vm protection is enabled for all the subnets in a 9053 Virtual Network. 9054 :type enable_vm_protection: bool 9055 """ 9056 9057 _validation = { 9058 'name': {'readonly': True}, 9059 'type': {'readonly': True}, 9060 } 9061 9062 _attribute_map = { 9063 'id': {'key': 'id', 'type': 'str'}, 9064 'name': {'key': 'name', 'type': 'str'}, 9065 'type': {'key': 'type', 'type': 'str'}, 9066 'location': {'key': 'location', 'type': 'str'}, 9067 'tags': {'key': 'tags', 'type': '{str}'}, 9068 'etag': {'key': 'etag', 'type': 'str'}, 9069 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, 9070 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, 9071 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 9072 'virtual_network_peerings': {'key': 'properties.virtualNetworkPeerings', 'type': '[VirtualNetworkPeering]'}, 9073 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 9074 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9075 'enable_ddos_protection': {'key': 'properties.enableDdosProtection', 'type': 'bool'}, 9076 'enable_vm_protection': {'key': 'properties.enableVmProtection', 'type': 'bool'}, 9077 } 9078 9079 def __init__( 9080 self, 9081 *, 9082 id: Optional[str] = None, 9083 location: Optional[str] = None, 9084 tags: Optional[Dict[str, str]] = None, 9085 etag: Optional[str] = None, 9086 address_space: Optional["AddressSpace"] = None, 9087 dhcp_options: Optional["DhcpOptions"] = None, 9088 subnets: Optional[List["Subnet"]] = None, 9089 virtual_network_peerings: Optional[List["VirtualNetworkPeering"]] = None, 9090 resource_guid: Optional[str] = None, 9091 provisioning_state: Optional[str] = None, 9092 enable_ddos_protection: Optional[bool] = None, 9093 enable_vm_protection: Optional[bool] = None, 9094 **kwargs 9095 ): 9096 super(VirtualNetwork, self).__init__(id=id, location=location, tags=tags, **kwargs) 9097 self.etag = etag 9098 self.address_space = address_space 9099 self.dhcp_options = dhcp_options 9100 self.subnets = subnets 9101 self.virtual_network_peerings = virtual_network_peerings 9102 self.resource_guid = resource_guid 9103 self.provisioning_state = provisioning_state 9104 self.enable_ddos_protection = enable_ddos_protection 9105 self.enable_vm_protection = enable_vm_protection 9106 9107 9108class VirtualNetworkConnectionGatewayReference(msrest.serialization.Model): 9109 """A reference to VirtualNetworkGateway or LocalNetworkGateway resource. 9110 9111 All required parameters must be populated in order to send to Azure. 9112 9113 :param id: Required. The ID of VirtualNetworkGateway or LocalNetworkGateway resource. 9114 :type id: str 9115 """ 9116 9117 _validation = { 9118 'id': {'required': True}, 9119 } 9120 9121 _attribute_map = { 9122 'id': {'key': 'id', 'type': 'str'}, 9123 } 9124 9125 def __init__( 9126 self, 9127 *, 9128 id: str, 9129 **kwargs 9130 ): 9131 super(VirtualNetworkConnectionGatewayReference, self).__init__(**kwargs) 9132 self.id = id 9133 9134 9135class VirtualNetworkGateway(Resource): 9136 """A common class for general resource information. 9137 9138 Variables are only populated by the server, and will be ignored when sending a request. 9139 9140 :param id: Resource ID. 9141 :type id: str 9142 :ivar name: Resource name. 9143 :vartype name: str 9144 :ivar type: Resource type. 9145 :vartype type: str 9146 :param location: Resource location. 9147 :type location: str 9148 :param tags: A set of tags. Resource tags. 9149 :type tags: dict[str, str] 9150 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 9151 :type etag: str 9152 :param ip_configurations: IP configurations for virtual network gateway. 9153 :type ip_configurations: 9154 list[~azure.mgmt.network.v2018_01_01.models.VirtualNetworkGatewayIPConfiguration] 9155 :param gateway_type: The type of this virtual network gateway. Possible values are: 'Vpn' and 9156 'ExpressRoute'. Possible values include: "Vpn", "ExpressRoute". 9157 :type gateway_type: str or ~azure.mgmt.network.v2018_01_01.models.VirtualNetworkGatewayType 9158 :param vpn_type: The type of this virtual network gateway. Possible values are: 'PolicyBased' 9159 and 'RouteBased'. Possible values include: "PolicyBased", "RouteBased". 9160 :type vpn_type: str or ~azure.mgmt.network.v2018_01_01.models.VpnType 9161 :param enable_bgp: Whether BGP is enabled for this virtual network gateway or not. 9162 :type enable_bgp: bool 9163 :param active: ActiveActive flag. 9164 :type active: bool 9165 :param gateway_default_site: The reference of the LocalNetworkGateway resource which represents 9166 local network site having default routes. Assign Null value in case of removing existing 9167 default site setting. 9168 :type gateway_default_site: ~azure.mgmt.network.v2018_01_01.models.SubResource 9169 :param sku: The reference of the VirtualNetworkGatewaySku resource which represents the SKU 9170 selected for Virtual network gateway. 9171 :type sku: ~azure.mgmt.network.v2018_01_01.models.VirtualNetworkGatewaySku 9172 :param vpn_client_configuration: The reference of the VpnClientConfiguration resource which 9173 represents the P2S VpnClient configurations. 9174 :type vpn_client_configuration: ~azure.mgmt.network.v2018_01_01.models.VpnClientConfiguration 9175 :param bgp_settings: Virtual network gateway's BGP speaker settings. 9176 :type bgp_settings: ~azure.mgmt.network.v2018_01_01.models.BgpSettings 9177 :param resource_guid: The resource GUID property of the VirtualNetworkGateway resource. 9178 :type resource_guid: str 9179 :ivar provisioning_state: The provisioning state of the VirtualNetworkGateway resource. 9180 Possible values are: 'Updating', 'Deleting', and 'Failed'. 9181 :vartype provisioning_state: str 9182 """ 9183 9184 _validation = { 9185 'name': {'readonly': True}, 9186 'type': {'readonly': True}, 9187 'provisioning_state': {'readonly': True}, 9188 } 9189 9190 _attribute_map = { 9191 'id': {'key': 'id', 'type': 'str'}, 9192 'name': {'key': 'name', 'type': 'str'}, 9193 'type': {'key': 'type', 'type': 'str'}, 9194 'location': {'key': 'location', 'type': 'str'}, 9195 'tags': {'key': 'tags', 'type': '{str}'}, 9196 'etag': {'key': 'etag', 'type': 'str'}, 9197 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, 9198 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, 9199 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, 9200 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 9201 'active': {'key': 'properties.activeActive', 'type': 'bool'}, 9202 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, 9203 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, 9204 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, 9205 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, 9206 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 9207 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9208 } 9209 9210 def __init__( 9211 self, 9212 *, 9213 id: Optional[str] = None, 9214 location: Optional[str] = None, 9215 tags: Optional[Dict[str, str]] = None, 9216 etag: Optional[str] = None, 9217 ip_configurations: Optional[List["VirtualNetworkGatewayIPConfiguration"]] = None, 9218 gateway_type: Optional[Union[str, "VirtualNetworkGatewayType"]] = None, 9219 vpn_type: Optional[Union[str, "VpnType"]] = None, 9220 enable_bgp: Optional[bool] = None, 9221 active: Optional[bool] = None, 9222 gateway_default_site: Optional["SubResource"] = None, 9223 sku: Optional["VirtualNetworkGatewaySku"] = None, 9224 vpn_client_configuration: Optional["VpnClientConfiguration"] = None, 9225 bgp_settings: Optional["BgpSettings"] = None, 9226 resource_guid: Optional[str] = None, 9227 **kwargs 9228 ): 9229 super(VirtualNetworkGateway, self).__init__(id=id, location=location, tags=tags, **kwargs) 9230 self.etag = etag 9231 self.ip_configurations = ip_configurations 9232 self.gateway_type = gateway_type 9233 self.vpn_type = vpn_type 9234 self.enable_bgp = enable_bgp 9235 self.active = active 9236 self.gateway_default_site = gateway_default_site 9237 self.sku = sku 9238 self.vpn_client_configuration = vpn_client_configuration 9239 self.bgp_settings = bgp_settings 9240 self.resource_guid = resource_guid 9241 self.provisioning_state = None 9242 9243 9244class VirtualNetworkGatewayConnection(Resource): 9245 """A common class for general resource information. 9246 9247 Variables are only populated by the server, and will be ignored when sending a request. 9248 9249 All required parameters must be populated in order to send to Azure. 9250 9251 :param id: Resource ID. 9252 :type id: str 9253 :ivar name: Resource name. 9254 :vartype name: str 9255 :ivar type: Resource type. 9256 :vartype type: str 9257 :param location: Resource location. 9258 :type location: str 9259 :param tags: A set of tags. Resource tags. 9260 :type tags: dict[str, str] 9261 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 9262 :type etag: str 9263 :param authorization_key: The authorizationKey. 9264 :type authorization_key: str 9265 :param virtual_network_gateway1: Required. The reference to virtual network gateway resource. 9266 :type virtual_network_gateway1: ~azure.mgmt.network.v2018_01_01.models.VirtualNetworkGateway 9267 :param virtual_network_gateway2: The reference to virtual network gateway resource. 9268 :type virtual_network_gateway2: ~azure.mgmt.network.v2018_01_01.models.VirtualNetworkGateway 9269 :param local_network_gateway2: The reference to local network gateway resource. 9270 :type local_network_gateway2: ~azure.mgmt.network.v2018_01_01.models.LocalNetworkGateway 9271 :param connection_type: Required. Gateway connection type. Possible values are: 9272 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values include: "IPsec", 9273 "Vnet2Vnet", "ExpressRoute", "VPNClient". 9274 :type connection_type: str or 9275 ~azure.mgmt.network.v2018_01_01.models.VirtualNetworkGatewayConnectionType 9276 :param routing_weight: The routing weight. 9277 :type routing_weight: int 9278 :param shared_key: The IPSec shared key. 9279 :type shared_key: str 9280 :ivar connection_status: Virtual network Gateway connection status. Possible values are 9281 'Unknown', 'Connecting', 'Connected' and 'NotConnected'. Possible values include: "Unknown", 9282 "Connecting", "Connected", "NotConnected". 9283 :vartype connection_status: str or 9284 ~azure.mgmt.network.v2018_01_01.models.VirtualNetworkGatewayConnectionStatus 9285 :ivar tunnel_connection_status: Collection of all tunnels' connection health status. 9286 :vartype tunnel_connection_status: 9287 list[~azure.mgmt.network.v2018_01_01.models.TunnelConnectionHealth] 9288 :ivar egress_bytes_transferred: The egress bytes transferred in this connection. 9289 :vartype egress_bytes_transferred: long 9290 :ivar ingress_bytes_transferred: The ingress bytes transferred in this connection. 9291 :vartype ingress_bytes_transferred: long 9292 :param peer: The reference to peerings resource. 9293 :type peer: ~azure.mgmt.network.v2018_01_01.models.SubResource 9294 :param enable_bgp: EnableBgp flag. 9295 :type enable_bgp: bool 9296 :param use_policy_based_traffic_selectors: Enable policy-based traffic selectors. 9297 :type use_policy_based_traffic_selectors: bool 9298 :param ipsec_policies: The IPSec Policies to be considered by this connection. 9299 :type ipsec_policies: list[~azure.mgmt.network.v2018_01_01.models.IpsecPolicy] 9300 :param resource_guid: The resource GUID property of the VirtualNetworkGatewayConnection 9301 resource. 9302 :type resource_guid: str 9303 :ivar provisioning_state: The provisioning state of the VirtualNetworkGatewayConnection 9304 resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. 9305 :vartype provisioning_state: str 9306 """ 9307 9308 _validation = { 9309 'name': {'readonly': True}, 9310 'type': {'readonly': True}, 9311 'virtual_network_gateway1': {'required': True}, 9312 'connection_type': {'required': True}, 9313 'connection_status': {'readonly': True}, 9314 'tunnel_connection_status': {'readonly': True}, 9315 'egress_bytes_transferred': {'readonly': True}, 9316 'ingress_bytes_transferred': {'readonly': True}, 9317 'provisioning_state': {'readonly': True}, 9318 } 9319 9320 _attribute_map = { 9321 'id': {'key': 'id', 'type': 'str'}, 9322 'name': {'key': 'name', 'type': 'str'}, 9323 'type': {'key': 'type', 'type': 'str'}, 9324 'location': {'key': 'location', 'type': 'str'}, 9325 'tags': {'key': 'tags', 'type': '{str}'}, 9326 'etag': {'key': 'etag', 'type': 'str'}, 9327 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 9328 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, 9329 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, 9330 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, 9331 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, 9332 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, 9333 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 9334 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, 9335 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, 9336 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, 9337 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, 9338 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, 9339 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 9340 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, 9341 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, 9342 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 9343 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9344 } 9345 9346 def __init__( 9347 self, 9348 *, 9349 virtual_network_gateway1: "VirtualNetworkGateway", 9350 connection_type: Union[str, "VirtualNetworkGatewayConnectionType"], 9351 id: Optional[str] = None, 9352 location: Optional[str] = None, 9353 tags: Optional[Dict[str, str]] = None, 9354 etag: Optional[str] = None, 9355 authorization_key: Optional[str] = None, 9356 virtual_network_gateway2: Optional["VirtualNetworkGateway"] = None, 9357 local_network_gateway2: Optional["LocalNetworkGateway"] = None, 9358 routing_weight: Optional[int] = None, 9359 shared_key: Optional[str] = None, 9360 peer: Optional["SubResource"] = None, 9361 enable_bgp: Optional[bool] = None, 9362 use_policy_based_traffic_selectors: Optional[bool] = None, 9363 ipsec_policies: Optional[List["IpsecPolicy"]] = None, 9364 resource_guid: Optional[str] = None, 9365 **kwargs 9366 ): 9367 super(VirtualNetworkGatewayConnection, self).__init__(id=id, location=location, tags=tags, **kwargs) 9368 self.etag = etag 9369 self.authorization_key = authorization_key 9370 self.virtual_network_gateway1 = virtual_network_gateway1 9371 self.virtual_network_gateway2 = virtual_network_gateway2 9372 self.local_network_gateway2 = local_network_gateway2 9373 self.connection_type = connection_type 9374 self.routing_weight = routing_weight 9375 self.shared_key = shared_key 9376 self.connection_status = None 9377 self.tunnel_connection_status = None 9378 self.egress_bytes_transferred = None 9379 self.ingress_bytes_transferred = None 9380 self.peer = peer 9381 self.enable_bgp = enable_bgp 9382 self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors 9383 self.ipsec_policies = ipsec_policies 9384 self.resource_guid = resource_guid 9385 self.provisioning_state = None 9386 9387 9388class VirtualNetworkGatewayConnectionListEntity(Resource): 9389 """A common class for general resource information. 9390 9391 Variables are only populated by the server, and will be ignored when sending a request. 9392 9393 All required parameters must be populated in order to send to Azure. 9394 9395 :param id: Resource ID. 9396 :type id: str 9397 :ivar name: Resource name. 9398 :vartype name: str 9399 :ivar type: Resource type. 9400 :vartype type: str 9401 :param location: Resource location. 9402 :type location: str 9403 :param tags: A set of tags. Resource tags. 9404 :type tags: dict[str, str] 9405 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 9406 :type etag: str 9407 :param authorization_key: The authorizationKey. 9408 :type authorization_key: str 9409 :param virtual_network_gateway1: Required. The reference to virtual network gateway resource. 9410 :type virtual_network_gateway1: 9411 ~azure.mgmt.network.v2018_01_01.models.VirtualNetworkConnectionGatewayReference 9412 :param virtual_network_gateway2: The reference to virtual network gateway resource. 9413 :type virtual_network_gateway2: 9414 ~azure.mgmt.network.v2018_01_01.models.VirtualNetworkConnectionGatewayReference 9415 :param local_network_gateway2: The reference to local network gateway resource. 9416 :type local_network_gateway2: 9417 ~azure.mgmt.network.v2018_01_01.models.VirtualNetworkConnectionGatewayReference 9418 :param connection_type: Required. Gateway connection type. Possible values are: 9419 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values include: "IPsec", 9420 "Vnet2Vnet", "ExpressRoute", "VPNClient". 9421 :type connection_type: str or 9422 ~azure.mgmt.network.v2018_01_01.models.VirtualNetworkGatewayConnectionType 9423 :param routing_weight: The routing weight. 9424 :type routing_weight: int 9425 :param shared_key: The IPSec shared key. 9426 :type shared_key: str 9427 :ivar connection_status: Virtual network Gateway connection status. Possible values are 9428 'Unknown', 'Connecting', 'Connected' and 'NotConnected'. Possible values include: "Unknown", 9429 "Connecting", "Connected", "NotConnected". 9430 :vartype connection_status: str or 9431 ~azure.mgmt.network.v2018_01_01.models.VirtualNetworkGatewayConnectionStatus 9432 :ivar tunnel_connection_status: Collection of all tunnels' connection health status. 9433 :vartype tunnel_connection_status: 9434 list[~azure.mgmt.network.v2018_01_01.models.TunnelConnectionHealth] 9435 :ivar egress_bytes_transferred: The egress bytes transferred in this connection. 9436 :vartype egress_bytes_transferred: long 9437 :ivar ingress_bytes_transferred: The ingress bytes transferred in this connection. 9438 :vartype ingress_bytes_transferred: long 9439 :param peer: The reference to peerings resource. 9440 :type peer: ~azure.mgmt.network.v2018_01_01.models.SubResource 9441 :param enable_bgp: EnableBgp flag. 9442 :type enable_bgp: bool 9443 :param use_policy_based_traffic_selectors: Enable policy-based traffic selectors. 9444 :type use_policy_based_traffic_selectors: bool 9445 :param ipsec_policies: The IPSec Policies to be considered by this connection. 9446 :type ipsec_policies: list[~azure.mgmt.network.v2018_01_01.models.IpsecPolicy] 9447 :param resource_guid: The resource GUID property of the VirtualNetworkGatewayConnection 9448 resource. 9449 :type resource_guid: str 9450 :ivar provisioning_state: The provisioning state of the VirtualNetworkGatewayConnection 9451 resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. 9452 :vartype provisioning_state: str 9453 """ 9454 9455 _validation = { 9456 'name': {'readonly': True}, 9457 'type': {'readonly': True}, 9458 'virtual_network_gateway1': {'required': True}, 9459 'connection_type': {'required': True}, 9460 'connection_status': {'readonly': True}, 9461 'tunnel_connection_status': {'readonly': True}, 9462 'egress_bytes_transferred': {'readonly': True}, 9463 'ingress_bytes_transferred': {'readonly': True}, 9464 'provisioning_state': {'readonly': True}, 9465 } 9466 9467 _attribute_map = { 9468 'id': {'key': 'id', 'type': 'str'}, 9469 'name': {'key': 'name', 'type': 'str'}, 9470 'type': {'key': 'type', 'type': 'str'}, 9471 'location': {'key': 'location', 'type': 'str'}, 9472 'tags': {'key': 'tags', 'type': '{str}'}, 9473 'etag': {'key': 'etag', 'type': 'str'}, 9474 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 9475 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkConnectionGatewayReference'}, 9476 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, 9477 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, 9478 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, 9479 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, 9480 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 9481 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, 9482 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, 9483 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, 9484 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, 9485 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, 9486 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 9487 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, 9488 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, 9489 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 9490 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9491 } 9492 9493 def __init__( 9494 self, 9495 *, 9496 virtual_network_gateway1: "VirtualNetworkConnectionGatewayReference", 9497 connection_type: Union[str, "VirtualNetworkGatewayConnectionType"], 9498 id: Optional[str] = None, 9499 location: Optional[str] = None, 9500 tags: Optional[Dict[str, str]] = None, 9501 etag: Optional[str] = None, 9502 authorization_key: Optional[str] = None, 9503 virtual_network_gateway2: Optional["VirtualNetworkConnectionGatewayReference"] = None, 9504 local_network_gateway2: Optional["VirtualNetworkConnectionGatewayReference"] = None, 9505 routing_weight: Optional[int] = None, 9506 shared_key: Optional[str] = None, 9507 peer: Optional["SubResource"] = None, 9508 enable_bgp: Optional[bool] = None, 9509 use_policy_based_traffic_selectors: Optional[bool] = None, 9510 ipsec_policies: Optional[List["IpsecPolicy"]] = None, 9511 resource_guid: Optional[str] = None, 9512 **kwargs 9513 ): 9514 super(VirtualNetworkGatewayConnectionListEntity, self).__init__(id=id, location=location, tags=tags, **kwargs) 9515 self.etag = etag 9516 self.authorization_key = authorization_key 9517 self.virtual_network_gateway1 = virtual_network_gateway1 9518 self.virtual_network_gateway2 = virtual_network_gateway2 9519 self.local_network_gateway2 = local_network_gateway2 9520 self.connection_type = connection_type 9521 self.routing_weight = routing_weight 9522 self.shared_key = shared_key 9523 self.connection_status = None 9524 self.tunnel_connection_status = None 9525 self.egress_bytes_transferred = None 9526 self.ingress_bytes_transferred = None 9527 self.peer = peer 9528 self.enable_bgp = enable_bgp 9529 self.use_policy_based_traffic_selectors = use_policy_based_traffic_selectors 9530 self.ipsec_policies = ipsec_policies 9531 self.resource_guid = resource_guid 9532 self.provisioning_state = None 9533 9534 9535class VirtualNetworkGatewayConnectionListResult(msrest.serialization.Model): 9536 """Response for the ListVirtualNetworkGatewayConnections API service call. 9537 9538 Variables are only populated by the server, and will be ignored when sending a request. 9539 9540 :param value: Gets a list of VirtualNetworkGatewayConnection resources that exists in a 9541 resource group. 9542 :type value: list[~azure.mgmt.network.v2018_01_01.models.VirtualNetworkGatewayConnection] 9543 :ivar next_link: The URL to get the next set of results. 9544 :vartype next_link: str 9545 """ 9546 9547 _validation = { 9548 'next_link': {'readonly': True}, 9549 } 9550 9551 _attribute_map = { 9552 'value': {'key': 'value', 'type': '[VirtualNetworkGatewayConnection]'}, 9553 'next_link': {'key': 'nextLink', 'type': 'str'}, 9554 } 9555 9556 def __init__( 9557 self, 9558 *, 9559 value: Optional[List["VirtualNetworkGatewayConnection"]] = None, 9560 **kwargs 9561 ): 9562 super(VirtualNetworkGatewayConnectionListResult, self).__init__(**kwargs) 9563 self.value = value 9564 self.next_link = None 9565 9566 9567class VirtualNetworkGatewayIPConfiguration(SubResource): 9568 """IP configuration for virtual network gateway. 9569 9570 Variables are only populated by the server, and will be ignored when sending a request. 9571 9572 :param id: Resource ID. 9573 :type id: str 9574 :param name: The name of the resource that is unique within a resource group. This name can be 9575 used to access the resource. 9576 :type name: str 9577 :param etag: A unique read-only string that changes whenever the resource is updated. 9578 :type etag: str 9579 :param private_ip_allocation_method: The private IP allocation method. Possible values are: 9580 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 9581 :type private_ip_allocation_method: str or 9582 ~azure.mgmt.network.v2018_01_01.models.IPAllocationMethod 9583 :param subnet: The reference of the subnet resource. 9584 :type subnet: ~azure.mgmt.network.v2018_01_01.models.SubResource 9585 :param public_ip_address: The reference of the public IP resource. 9586 :type public_ip_address: ~azure.mgmt.network.v2018_01_01.models.SubResource 9587 :ivar provisioning_state: The provisioning state of the public IP resource. Possible values 9588 are: 'Updating', 'Deleting', and 'Failed'. 9589 :vartype provisioning_state: str 9590 """ 9591 9592 _validation = { 9593 'provisioning_state': {'readonly': True}, 9594 } 9595 9596 _attribute_map = { 9597 'id': {'key': 'id', 'type': 'str'}, 9598 'name': {'key': 'name', 'type': 'str'}, 9599 'etag': {'key': 'etag', 'type': 'str'}, 9600 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 9601 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 9602 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, 9603 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9604 } 9605 9606 def __init__( 9607 self, 9608 *, 9609 id: Optional[str] = None, 9610 name: Optional[str] = None, 9611 etag: Optional[str] = None, 9612 private_ip_allocation_method: Optional[Union[str, "IPAllocationMethod"]] = None, 9613 subnet: Optional["SubResource"] = None, 9614 public_ip_address: Optional["SubResource"] = None, 9615 **kwargs 9616 ): 9617 super(VirtualNetworkGatewayIPConfiguration, self).__init__(id=id, **kwargs) 9618 self.name = name 9619 self.etag = etag 9620 self.private_ip_allocation_method = private_ip_allocation_method 9621 self.subnet = subnet 9622 self.public_ip_address = public_ip_address 9623 self.provisioning_state = None 9624 9625 9626class VirtualNetworkGatewayListConnectionsResult(msrest.serialization.Model): 9627 """Response for the VirtualNetworkGatewayListConnections API service call. 9628 9629 Variables are only populated by the server, and will be ignored when sending a request. 9630 9631 :param value: Gets a list of VirtualNetworkGatewayConnection resources that exists in a 9632 resource group. 9633 :type value: 9634 list[~azure.mgmt.network.v2018_01_01.models.VirtualNetworkGatewayConnectionListEntity] 9635 :ivar next_link: The URL to get the next set of results. 9636 :vartype next_link: str 9637 """ 9638 9639 _validation = { 9640 'next_link': {'readonly': True}, 9641 } 9642 9643 _attribute_map = { 9644 'value': {'key': 'value', 'type': '[VirtualNetworkGatewayConnectionListEntity]'}, 9645 'next_link': {'key': 'nextLink', 'type': 'str'}, 9646 } 9647 9648 def __init__( 9649 self, 9650 *, 9651 value: Optional[List["VirtualNetworkGatewayConnectionListEntity"]] = None, 9652 **kwargs 9653 ): 9654 super(VirtualNetworkGatewayListConnectionsResult, self).__init__(**kwargs) 9655 self.value = value 9656 self.next_link = None 9657 9658 9659class VirtualNetworkGatewayListResult(msrest.serialization.Model): 9660 """Response for the ListVirtualNetworkGateways API service call. 9661 9662 Variables are only populated by the server, and will be ignored when sending a request. 9663 9664 :param value: Gets a list of VirtualNetworkGateway resources that exists in a resource group. 9665 :type value: list[~azure.mgmt.network.v2018_01_01.models.VirtualNetworkGateway] 9666 :ivar next_link: The URL to get the next set of results. 9667 :vartype next_link: str 9668 """ 9669 9670 _validation = { 9671 'next_link': {'readonly': True}, 9672 } 9673 9674 _attribute_map = { 9675 'value': {'key': 'value', 'type': '[VirtualNetworkGateway]'}, 9676 'next_link': {'key': 'nextLink', 'type': 'str'}, 9677 } 9678 9679 def __init__( 9680 self, 9681 *, 9682 value: Optional[List["VirtualNetworkGateway"]] = None, 9683 **kwargs 9684 ): 9685 super(VirtualNetworkGatewayListResult, self).__init__(**kwargs) 9686 self.value = value 9687 self.next_link = None 9688 9689 9690class VirtualNetworkGatewaySku(msrest.serialization.Model): 9691 """VirtualNetworkGatewaySku details. 9692 9693 :param name: Gateway SKU name. Possible values include: "Basic", "HighPerformance", "Standard", 9694 "UltraPerformance", "VpnGw1", "VpnGw2", "VpnGw3". 9695 :type name: str or ~azure.mgmt.network.v2018_01_01.models.VirtualNetworkGatewaySkuName 9696 :param tier: Gateway SKU tier. Possible values include: "Basic", "HighPerformance", "Standard", 9697 "UltraPerformance", "VpnGw1", "VpnGw2", "VpnGw3". 9698 :type tier: str or ~azure.mgmt.network.v2018_01_01.models.VirtualNetworkGatewaySkuTier 9699 :param capacity: The capacity. 9700 :type capacity: int 9701 """ 9702 9703 _attribute_map = { 9704 'name': {'key': 'name', 'type': 'str'}, 9705 'tier': {'key': 'tier', 'type': 'str'}, 9706 'capacity': {'key': 'capacity', 'type': 'int'}, 9707 } 9708 9709 def __init__( 9710 self, 9711 *, 9712 name: Optional[Union[str, "VirtualNetworkGatewaySkuName"]] = None, 9713 tier: Optional[Union[str, "VirtualNetworkGatewaySkuTier"]] = None, 9714 capacity: Optional[int] = None, 9715 **kwargs 9716 ): 9717 super(VirtualNetworkGatewaySku, self).__init__(**kwargs) 9718 self.name = name 9719 self.tier = tier 9720 self.capacity = capacity 9721 9722 9723class VirtualNetworkListResult(msrest.serialization.Model): 9724 """Response for the ListVirtualNetworks API service call. 9725 9726 :param value: Gets a list of VirtualNetwork resources in a resource group. 9727 :type value: list[~azure.mgmt.network.v2018_01_01.models.VirtualNetwork] 9728 :param next_link: The URL to get the next set of results. 9729 :type next_link: str 9730 """ 9731 9732 _attribute_map = { 9733 'value': {'key': 'value', 'type': '[VirtualNetwork]'}, 9734 'next_link': {'key': 'nextLink', 'type': 'str'}, 9735 } 9736 9737 def __init__( 9738 self, 9739 *, 9740 value: Optional[List["VirtualNetwork"]] = None, 9741 next_link: Optional[str] = None, 9742 **kwargs 9743 ): 9744 super(VirtualNetworkListResult, self).__init__(**kwargs) 9745 self.value = value 9746 self.next_link = next_link 9747 9748 9749class VirtualNetworkListUsageResult(msrest.serialization.Model): 9750 """Response for the virtual networks GetUsage API service call. 9751 9752 Variables are only populated by the server, and will be ignored when sending a request. 9753 9754 :ivar value: VirtualNetwork usage stats. 9755 :vartype value: list[~azure.mgmt.network.v2018_01_01.models.VirtualNetworkUsage] 9756 :param next_link: The URL to get the next set of results. 9757 :type next_link: str 9758 """ 9759 9760 _validation = { 9761 'value': {'readonly': True}, 9762 } 9763 9764 _attribute_map = { 9765 'value': {'key': 'value', 'type': '[VirtualNetworkUsage]'}, 9766 'next_link': {'key': 'nextLink', 'type': 'str'}, 9767 } 9768 9769 def __init__( 9770 self, 9771 *, 9772 next_link: Optional[str] = None, 9773 **kwargs 9774 ): 9775 super(VirtualNetworkListUsageResult, self).__init__(**kwargs) 9776 self.value = None 9777 self.next_link = next_link 9778 9779 9780class VirtualNetworkPeering(SubResource): 9781 """Peerings in a virtual network resource. 9782 9783 :param id: Resource ID. 9784 :type id: str 9785 :param name: The name of the resource that is unique within a resource group. This name can be 9786 used to access the resource. 9787 :type name: str 9788 :param etag: A unique read-only string that changes whenever the resource is updated. 9789 :type etag: str 9790 :param allow_virtual_network_access: Whether the VMs in the linked virtual network space would 9791 be able to access all the VMs in local Virtual network space. 9792 :type allow_virtual_network_access: bool 9793 :param allow_forwarded_traffic: Whether the forwarded traffic from the VMs in the remote 9794 virtual network will be allowed/disallowed. 9795 :type allow_forwarded_traffic: bool 9796 :param allow_gateway_transit: If gateway links can be used in remote virtual networking to link 9797 to this virtual network. 9798 :type allow_gateway_transit: bool 9799 :param use_remote_gateways: If remote gateways can be used on this virtual network. If the flag 9800 is set to true, and allowGatewayTransit on remote peering is also true, virtual network will 9801 use gateways of remote virtual network for transit. Only one peering can have this flag set to 9802 true. This flag cannot be set if virtual network already has a gateway. 9803 :type use_remote_gateways: bool 9804 :param remote_virtual_network: The reference of the remote virtual network. The remote virtual 9805 network can be in the same or different region (preview). See here to register for the preview 9806 and learn more 9807 (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). 9808 :type remote_virtual_network: ~azure.mgmt.network.v2018_01_01.models.SubResource 9809 :param remote_address_space: The reference of the remote virtual network address space. 9810 :type remote_address_space: ~azure.mgmt.network.v2018_01_01.models.AddressSpace 9811 :param peering_state: The status of the virtual network peering. Possible values are 9812 'Initiated', 'Connected', and 'Disconnected'. Possible values include: "Initiated", 9813 "Connected", "Disconnected". 9814 :type peering_state: str or ~azure.mgmt.network.v2018_01_01.models.VirtualNetworkPeeringState 9815 :param provisioning_state: The provisioning state of the resource. 9816 :type provisioning_state: str 9817 """ 9818 9819 _attribute_map = { 9820 'id': {'key': 'id', 'type': 'str'}, 9821 'name': {'key': 'name', 'type': 'str'}, 9822 'etag': {'key': 'etag', 'type': 'str'}, 9823 'allow_virtual_network_access': {'key': 'properties.allowVirtualNetworkAccess', 'type': 'bool'}, 9824 'allow_forwarded_traffic': {'key': 'properties.allowForwardedTraffic', 'type': 'bool'}, 9825 'allow_gateway_transit': {'key': 'properties.allowGatewayTransit', 'type': 'bool'}, 9826 'use_remote_gateways': {'key': 'properties.useRemoteGateways', 'type': 'bool'}, 9827 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, 9828 'remote_address_space': {'key': 'properties.remoteAddressSpace', 'type': 'AddressSpace'}, 9829 'peering_state': {'key': 'properties.peeringState', 'type': 'str'}, 9830 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9831 } 9832 9833 def __init__( 9834 self, 9835 *, 9836 id: Optional[str] = None, 9837 name: Optional[str] = None, 9838 etag: Optional[str] = None, 9839 allow_virtual_network_access: Optional[bool] = None, 9840 allow_forwarded_traffic: Optional[bool] = None, 9841 allow_gateway_transit: Optional[bool] = None, 9842 use_remote_gateways: Optional[bool] = None, 9843 remote_virtual_network: Optional["SubResource"] = None, 9844 remote_address_space: Optional["AddressSpace"] = None, 9845 peering_state: Optional[Union[str, "VirtualNetworkPeeringState"]] = None, 9846 provisioning_state: Optional[str] = None, 9847 **kwargs 9848 ): 9849 super(VirtualNetworkPeering, self).__init__(id=id, **kwargs) 9850 self.name = name 9851 self.etag = etag 9852 self.allow_virtual_network_access = allow_virtual_network_access 9853 self.allow_forwarded_traffic = allow_forwarded_traffic 9854 self.allow_gateway_transit = allow_gateway_transit 9855 self.use_remote_gateways = use_remote_gateways 9856 self.remote_virtual_network = remote_virtual_network 9857 self.remote_address_space = remote_address_space 9858 self.peering_state = peering_state 9859 self.provisioning_state = provisioning_state 9860 9861 9862class VirtualNetworkPeeringListResult(msrest.serialization.Model): 9863 """Response for ListSubnets API service call. Retrieves all subnets that belong to a virtual network. 9864 9865 :param value: The peerings in a virtual network. 9866 :type value: list[~azure.mgmt.network.v2018_01_01.models.VirtualNetworkPeering] 9867 :param next_link: The URL to get the next set of results. 9868 :type next_link: str 9869 """ 9870 9871 _attribute_map = { 9872 'value': {'key': 'value', 'type': '[VirtualNetworkPeering]'}, 9873 'next_link': {'key': 'nextLink', 'type': 'str'}, 9874 } 9875 9876 def __init__( 9877 self, 9878 *, 9879 value: Optional[List["VirtualNetworkPeering"]] = None, 9880 next_link: Optional[str] = None, 9881 **kwargs 9882 ): 9883 super(VirtualNetworkPeeringListResult, self).__init__(**kwargs) 9884 self.value = value 9885 self.next_link = next_link 9886 9887 9888class VirtualNetworkUsage(msrest.serialization.Model): 9889 """Usage details for subnet. 9890 9891 Variables are only populated by the server, and will be ignored when sending a request. 9892 9893 :ivar current_value: Indicates number of IPs used from the Subnet. 9894 :vartype current_value: float 9895 :ivar id: Subnet identifier. 9896 :vartype id: str 9897 :ivar limit: Indicates the size of the subnet. 9898 :vartype limit: float 9899 :ivar name: The name containing common and localized value for usage. 9900 :vartype name: ~azure.mgmt.network.v2018_01_01.models.VirtualNetworkUsageName 9901 :ivar unit: Usage units. Returns 'Count'. 9902 :vartype unit: str 9903 """ 9904 9905 _validation = { 9906 'current_value': {'readonly': True}, 9907 'id': {'readonly': True}, 9908 'limit': {'readonly': True}, 9909 'name': {'readonly': True}, 9910 'unit': {'readonly': True}, 9911 } 9912 9913 _attribute_map = { 9914 'current_value': {'key': 'currentValue', 'type': 'float'}, 9915 'id': {'key': 'id', 'type': 'str'}, 9916 'limit': {'key': 'limit', 'type': 'float'}, 9917 'name': {'key': 'name', 'type': 'VirtualNetworkUsageName'}, 9918 'unit': {'key': 'unit', 'type': 'str'}, 9919 } 9920 9921 def __init__( 9922 self, 9923 **kwargs 9924 ): 9925 super(VirtualNetworkUsage, self).__init__(**kwargs) 9926 self.current_value = None 9927 self.id = None 9928 self.limit = None 9929 self.name = None 9930 self.unit = None 9931 9932 9933class VirtualNetworkUsageName(msrest.serialization.Model): 9934 """Usage strings container. 9935 9936 Variables are only populated by the server, and will be ignored when sending a request. 9937 9938 :ivar localized_value: Localized subnet size and usage string. 9939 :vartype localized_value: str 9940 :ivar value: Subnet size and usage string. 9941 :vartype value: str 9942 """ 9943 9944 _validation = { 9945 'localized_value': {'readonly': True}, 9946 'value': {'readonly': True}, 9947 } 9948 9949 _attribute_map = { 9950 'localized_value': {'key': 'localizedValue', 'type': 'str'}, 9951 'value': {'key': 'value', 'type': 'str'}, 9952 } 9953 9954 def __init__( 9955 self, 9956 **kwargs 9957 ): 9958 super(VirtualNetworkUsageName, self).__init__(**kwargs) 9959 self.localized_value = None 9960 self.value = None 9961 9962 9963class VpnClientConfiguration(msrest.serialization.Model): 9964 """VpnClientConfiguration for P2S client. 9965 9966 :param vpn_client_address_pool: The reference of the address space resource which represents 9967 Address space for P2S VpnClient. 9968 :type vpn_client_address_pool: ~azure.mgmt.network.v2018_01_01.models.AddressSpace 9969 :param vpn_client_root_certificates: VpnClientRootCertificate for virtual network gateway. 9970 :type vpn_client_root_certificates: 9971 list[~azure.mgmt.network.v2018_01_01.models.VpnClientRootCertificate] 9972 :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for Virtual network 9973 gateway. 9974 :type vpn_client_revoked_certificates: 9975 list[~azure.mgmt.network.v2018_01_01.models.VpnClientRevokedCertificate] 9976 :param vpn_client_protocols: VpnClientProtocols for Virtual network gateway. 9977 :type vpn_client_protocols: list[str or 9978 ~azure.mgmt.network.v2018_01_01.models.VpnClientProtocol] 9979 :param radius_server_address: The radius server address property of the VirtualNetworkGateway 9980 resource for vpn client connection. 9981 :type radius_server_address: str 9982 :param radius_server_secret: The radius secret property of the VirtualNetworkGateway resource 9983 for vpn client connection. 9984 :type radius_server_secret: str 9985 """ 9986 9987 _attribute_map = { 9988 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, 9989 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, 9990 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, 9991 'vpn_client_protocols': {'key': 'vpnClientProtocols', 'type': '[str]'}, 9992 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, 9993 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, 9994 } 9995 9996 def __init__( 9997 self, 9998 *, 9999 vpn_client_address_pool: Optional["AddressSpace"] = None, 10000 vpn_client_root_certificates: Optional[List["VpnClientRootCertificate"]] = None, 10001 vpn_client_revoked_certificates: Optional[List["VpnClientRevokedCertificate"]] = None, 10002 vpn_client_protocols: Optional[List[Union[str, "VpnClientProtocol"]]] = None, 10003 radius_server_address: Optional[str] = None, 10004 radius_server_secret: Optional[str] = None, 10005 **kwargs 10006 ): 10007 super(VpnClientConfiguration, self).__init__(**kwargs) 10008 self.vpn_client_address_pool = vpn_client_address_pool 10009 self.vpn_client_root_certificates = vpn_client_root_certificates 10010 self.vpn_client_revoked_certificates = vpn_client_revoked_certificates 10011 self.vpn_client_protocols = vpn_client_protocols 10012 self.radius_server_address = radius_server_address 10013 self.radius_server_secret = radius_server_secret 10014 10015 10016class VpnClientParameters(msrest.serialization.Model): 10017 """Vpn Client Parameters for package generation. 10018 10019 :param processor_architecture: VPN client Processor Architecture. Possible values are: 'AMD64' 10020 and 'X86'. Possible values include: "Amd64", "X86". 10021 :type processor_architecture: str or 10022 ~azure.mgmt.network.v2018_01_01.models.ProcessorArchitecture 10023 :param authentication_method: VPN client Authentication Method. Possible values are: 'EAPTLS' 10024 and 'EAPMSCHAPv2'. Possible values include: "EAPTLS", "EAPMSCHAPv2". 10025 :type authentication_method: str or ~azure.mgmt.network.v2018_01_01.models.AuthenticationMethod 10026 :param radius_server_auth_certificate: The public certificate data for the radius server 10027 authentication certificate as a Base-64 encoded string. Required only if external radius 10028 authentication has been configured with EAPTLS authentication. 10029 :type radius_server_auth_certificate: str 10030 :param client_root_certificates: A list of client root certificates public certificate data 10031 encoded as Base-64 strings. Optional parameter for external radius based authentication with 10032 EAPTLS. 10033 :type client_root_certificates: list[str] 10034 """ 10035 10036 _attribute_map = { 10037 'processor_architecture': {'key': 'processorArchitecture', 'type': 'str'}, 10038 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, 10039 'radius_server_auth_certificate': {'key': 'radiusServerAuthCertificate', 'type': 'str'}, 10040 'client_root_certificates': {'key': 'clientRootCertificates', 'type': '[str]'}, 10041 } 10042 10043 def __init__( 10044 self, 10045 *, 10046 processor_architecture: Optional[Union[str, "ProcessorArchitecture"]] = None, 10047 authentication_method: Optional[Union[str, "AuthenticationMethod"]] = None, 10048 radius_server_auth_certificate: Optional[str] = None, 10049 client_root_certificates: Optional[List[str]] = None, 10050 **kwargs 10051 ): 10052 super(VpnClientParameters, self).__init__(**kwargs) 10053 self.processor_architecture = processor_architecture 10054 self.authentication_method = authentication_method 10055 self.radius_server_auth_certificate = radius_server_auth_certificate 10056 self.client_root_certificates = client_root_certificates 10057 10058 10059class VpnClientRevokedCertificate(SubResource): 10060 """VPN client revoked certificate of virtual network gateway. 10061 10062 Variables are only populated by the server, and will be ignored when sending a request. 10063 10064 :param id: Resource ID. 10065 :type id: str 10066 :param name: The name of the resource that is unique within a resource group. This name can be 10067 used to access the resource. 10068 :type name: str 10069 :param etag: A unique read-only string that changes whenever the resource is updated. 10070 :type etag: str 10071 :param thumbprint: The revoked VPN client certificate thumbprint. 10072 :type thumbprint: str 10073 :ivar provisioning_state: The provisioning state of the VPN client revoked certificate 10074 resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. 10075 :vartype provisioning_state: str 10076 """ 10077 10078 _validation = { 10079 'provisioning_state': {'readonly': True}, 10080 } 10081 10082 _attribute_map = { 10083 'id': {'key': 'id', 'type': 'str'}, 10084 'name': {'key': 'name', 'type': 'str'}, 10085 'etag': {'key': 'etag', 'type': 'str'}, 10086 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, 10087 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10088 } 10089 10090 def __init__( 10091 self, 10092 *, 10093 id: Optional[str] = None, 10094 name: Optional[str] = None, 10095 etag: Optional[str] = None, 10096 thumbprint: Optional[str] = None, 10097 **kwargs 10098 ): 10099 super(VpnClientRevokedCertificate, self).__init__(id=id, **kwargs) 10100 self.name = name 10101 self.etag = etag 10102 self.thumbprint = thumbprint 10103 self.provisioning_state = None 10104 10105 10106class VpnClientRootCertificate(SubResource): 10107 """VPN client root certificate of virtual network gateway. 10108 10109 Variables are only populated by the server, and will be ignored when sending a request. 10110 10111 All required parameters must be populated in order to send to Azure. 10112 10113 :param id: Resource ID. 10114 :type id: str 10115 :param name: The name of the resource that is unique within a resource group. This name can be 10116 used to access the resource. 10117 :type name: str 10118 :param etag: A unique read-only string that changes whenever the resource is updated. 10119 :type etag: str 10120 :param public_cert_data: Required. The certificate public data. 10121 :type public_cert_data: str 10122 :ivar provisioning_state: The provisioning state of the VPN client root certificate resource. 10123 Possible values are: 'Updating', 'Deleting', and 'Failed'. 10124 :vartype provisioning_state: str 10125 """ 10126 10127 _validation = { 10128 'public_cert_data': {'required': True}, 10129 'provisioning_state': {'readonly': True}, 10130 } 10131 10132 _attribute_map = { 10133 'id': {'key': 'id', 'type': 'str'}, 10134 'name': {'key': 'name', 'type': 'str'}, 10135 'etag': {'key': 'etag', 'type': 'str'}, 10136 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, 10137 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10138 } 10139 10140 def __init__( 10141 self, 10142 *, 10143 public_cert_data: str, 10144 id: Optional[str] = None, 10145 name: Optional[str] = None, 10146 etag: Optional[str] = None, 10147 **kwargs 10148 ): 10149 super(VpnClientRootCertificate, self).__init__(id=id, **kwargs) 10150 self.name = name 10151 self.etag = etag 10152 self.public_cert_data = public_cert_data 10153 self.provisioning_state = None 10154 10155 10156class VpnDeviceScriptParameters(msrest.serialization.Model): 10157 """Vpn device configuration script generation parameters. 10158 10159 :param vendor: The vendor for the vpn device. 10160 :type vendor: str 10161 :param device_family: The device family for the vpn device. 10162 :type device_family: str 10163 :param firmware_version: The firmware version for the vpn device. 10164 :type firmware_version: str 10165 """ 10166 10167 _attribute_map = { 10168 'vendor': {'key': 'vendor', 'type': 'str'}, 10169 'device_family': {'key': 'deviceFamily', 'type': 'str'}, 10170 'firmware_version': {'key': 'firmwareVersion', 'type': 'str'}, 10171 } 10172 10173 def __init__( 10174 self, 10175 *, 10176 vendor: Optional[str] = None, 10177 device_family: Optional[str] = None, 10178 firmware_version: Optional[str] = None, 10179 **kwargs 10180 ): 10181 super(VpnDeviceScriptParameters, self).__init__(**kwargs) 10182 self.vendor = vendor 10183 self.device_family = device_family 10184 self.firmware_version = firmware_version 10185