1# coding=utf-8 2# -------------------------------------------------------------------------- 3# Copyright (c) Microsoft Corporation. All rights reserved. 4# Licensed under the MIT License. See License.txt in the project root for license information. 5# Code generated by Microsoft (R) AutoRest Code Generator. 6# Changes may cause incorrect behavior and will be lost if the code is regenerated. 7# -------------------------------------------------------------------------- 8 9from azure.core.exceptions import HttpResponseError 10import msrest.serialization 11 12 13class AddressSpace(msrest.serialization.Model): 14 """AddressSpace contains an array of IP address ranges that can be used by subnets of the virtual network. 15 16 :param address_prefixes: A list of address blocks reserved for this virtual network in CIDR 17 notation. 18 :type address_prefixes: list[str] 19 """ 20 21 _attribute_map = { 22 'address_prefixes': {'key': 'addressPrefixes', 'type': '[str]'}, 23 } 24 25 def __init__( 26 self, 27 **kwargs 28 ): 29 super(AddressSpace, self).__init__(**kwargs) 30 self.address_prefixes = kwargs.get('address_prefixes', None) 31 32 33class Resource(msrest.serialization.Model): 34 """Common resource representation. 35 36 Variables are only populated by the server, and will be ignored when sending a request. 37 38 :param id: Resource ID. 39 :type id: str 40 :ivar name: Resource name. 41 :vartype name: str 42 :ivar type: Resource type. 43 :vartype type: str 44 :param location: Resource location. 45 :type location: str 46 :param tags: A set of tags. Resource tags. 47 :type tags: dict[str, str] 48 """ 49 50 _validation = { 51 'name': {'readonly': True}, 52 'type': {'readonly': True}, 53 } 54 55 _attribute_map = { 56 'id': {'key': 'id', 'type': 'str'}, 57 'name': {'key': 'name', 'type': 'str'}, 58 'type': {'key': 'type', 'type': 'str'}, 59 'location': {'key': 'location', 'type': 'str'}, 60 'tags': {'key': 'tags', 'type': '{str}'}, 61 } 62 63 def __init__( 64 self, 65 **kwargs 66 ): 67 super(Resource, self).__init__(**kwargs) 68 self.id = kwargs.get('id', None) 69 self.name = None 70 self.type = None 71 self.location = kwargs.get('location', None) 72 self.tags = kwargs.get('tags', None) 73 74 75class ApplicationGateway(Resource): 76 """Application gateway resource. 77 78 Variables are only populated by the server, and will be ignored when sending a request. 79 80 :param id: Resource ID. 81 :type id: str 82 :ivar name: Resource name. 83 :vartype name: str 84 :ivar type: Resource type. 85 :vartype type: str 86 :param location: Resource location. 87 :type location: str 88 :param tags: A set of tags. Resource tags. 89 :type tags: dict[str, str] 90 :param etag: A unique read-only string that changes whenever the resource is updated. 91 :type etag: str 92 :param zones: A list of availability zones denoting where the resource needs to come from. 93 :type zones: list[str] 94 :param sku: SKU of the application gateway resource. 95 :type sku: ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewaySku 96 :param ssl_policy: SSL policy of the application gateway resource. 97 :type ssl_policy: ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewaySslPolicy 98 :ivar operational_state: Operational state of the application gateway resource. Possible values 99 include: "Stopped", "Starting", "Running", "Stopping". 100 :vartype operational_state: str or 101 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayOperationalState 102 :param gateway_ip_configurations: Subnets of application the gateway resource. 103 :type gateway_ip_configurations: 104 list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayIPConfiguration] 105 :param authentication_certificates: Authentication certificates of the application gateway 106 resource. 107 :type authentication_certificates: 108 list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayAuthenticationCertificate] 109 :param ssl_certificates: SSL certificates of the application gateway resource. 110 :type ssl_certificates: 111 list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewaySslCertificate] 112 :param frontend_ip_configurations: Frontend IP addresses of the application gateway resource. 113 :type frontend_ip_configurations: 114 list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayFrontendIPConfiguration] 115 :param frontend_ports: Frontend ports of the application gateway resource. 116 :type frontend_ports: 117 list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayFrontendPort] 118 :param probes: Probes of the application gateway resource. 119 :type probes: list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayProbe] 120 :param backend_address_pools: Backend address pool of the application gateway resource. 121 :type backend_address_pools: 122 list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayBackendAddressPool] 123 :param backend_http_settings_collection: Backend http settings of the application gateway 124 resource. 125 :type backend_http_settings_collection: 126 list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayBackendHttpSettings] 127 :param http_listeners: Http listeners of the application gateway resource. 128 :type http_listeners: 129 list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayHttpListener] 130 :param url_path_maps: URL path map of the application gateway resource. 131 :type url_path_maps: list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayUrlPathMap] 132 :param request_routing_rules: Request routing rules of the application gateway resource. 133 :type request_routing_rules: 134 list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayRequestRoutingRule] 135 :param redirect_configurations: Redirect configurations of the application gateway resource. 136 :type redirect_configurations: 137 list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayRedirectConfiguration] 138 :param web_application_firewall_configuration: Web application firewall configuration. 139 :type web_application_firewall_configuration: 140 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayWebApplicationFirewallConfiguration 141 :param enable_http2: Whether HTTP2 is enabled on the application gateway resource. 142 :type enable_http2: bool 143 :param enable_fips: Whether FIPS is enabled on the application gateway resource. 144 :type enable_fips: bool 145 :param autoscale_configuration: Autoscale Configuration. 146 :type autoscale_configuration: 147 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayAutoscaleConfiguration 148 :param resource_guid: Resource GUID property of the application gateway resource. 149 :type resource_guid: str 150 :param provisioning_state: Provisioning state of the application gateway resource. Possible 151 values are: 'Updating', 'Deleting', and 'Failed'. 152 :type provisioning_state: str 153 """ 154 155 _validation = { 156 'name': {'readonly': True}, 157 'type': {'readonly': True}, 158 'operational_state': {'readonly': True}, 159 } 160 161 _attribute_map = { 162 'id': {'key': 'id', 'type': 'str'}, 163 'name': {'key': 'name', 'type': 'str'}, 164 'type': {'key': 'type', 'type': 'str'}, 165 'location': {'key': 'location', 'type': 'str'}, 166 'tags': {'key': 'tags', 'type': '{str}'}, 167 'etag': {'key': 'etag', 'type': 'str'}, 168 'zones': {'key': 'zones', 'type': '[str]'}, 169 'sku': {'key': 'properties.sku', 'type': 'ApplicationGatewaySku'}, 170 'ssl_policy': {'key': 'properties.sslPolicy', 'type': 'ApplicationGatewaySslPolicy'}, 171 'operational_state': {'key': 'properties.operationalState', 'type': 'str'}, 172 'gateway_ip_configurations': {'key': 'properties.gatewayIPConfigurations', 'type': '[ApplicationGatewayIPConfiguration]'}, 173 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[ApplicationGatewayAuthenticationCertificate]'}, 174 'ssl_certificates': {'key': 'properties.sslCertificates', 'type': '[ApplicationGatewaySslCertificate]'}, 175 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[ApplicationGatewayFrontendIPConfiguration]'}, 176 'frontend_ports': {'key': 'properties.frontendPorts', 'type': '[ApplicationGatewayFrontendPort]'}, 177 'probes': {'key': 'properties.probes', 'type': '[ApplicationGatewayProbe]'}, 178 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, 179 'backend_http_settings_collection': {'key': 'properties.backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHttpSettings]'}, 180 'http_listeners': {'key': 'properties.httpListeners', 'type': '[ApplicationGatewayHttpListener]'}, 181 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[ApplicationGatewayUrlPathMap]'}, 182 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[ApplicationGatewayRequestRoutingRule]'}, 183 'redirect_configurations': {'key': 'properties.redirectConfigurations', 'type': '[ApplicationGatewayRedirectConfiguration]'}, 184 'web_application_firewall_configuration': {'key': 'properties.webApplicationFirewallConfiguration', 'type': 'ApplicationGatewayWebApplicationFirewallConfiguration'}, 185 'enable_http2': {'key': 'properties.enableHttp2', 'type': 'bool'}, 186 'enable_fips': {'key': 'properties.enableFips', 'type': 'bool'}, 187 'autoscale_configuration': {'key': 'properties.autoscaleConfiguration', 'type': 'ApplicationGatewayAutoscaleConfiguration'}, 188 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 189 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 190 } 191 192 def __init__( 193 self, 194 **kwargs 195 ): 196 super(ApplicationGateway, self).__init__(**kwargs) 197 self.etag = kwargs.get('etag', None) 198 self.zones = kwargs.get('zones', None) 199 self.sku = kwargs.get('sku', None) 200 self.ssl_policy = kwargs.get('ssl_policy', None) 201 self.operational_state = None 202 self.gateway_ip_configurations = kwargs.get('gateway_ip_configurations', None) 203 self.authentication_certificates = kwargs.get('authentication_certificates', None) 204 self.ssl_certificates = kwargs.get('ssl_certificates', None) 205 self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) 206 self.frontend_ports = kwargs.get('frontend_ports', None) 207 self.probes = kwargs.get('probes', None) 208 self.backend_address_pools = kwargs.get('backend_address_pools', None) 209 self.backend_http_settings_collection = kwargs.get('backend_http_settings_collection', None) 210 self.http_listeners = kwargs.get('http_listeners', None) 211 self.url_path_maps = kwargs.get('url_path_maps', None) 212 self.request_routing_rules = kwargs.get('request_routing_rules', None) 213 self.redirect_configurations = kwargs.get('redirect_configurations', None) 214 self.web_application_firewall_configuration = kwargs.get('web_application_firewall_configuration', None) 215 self.enable_http2 = kwargs.get('enable_http2', None) 216 self.enable_fips = kwargs.get('enable_fips', None) 217 self.autoscale_configuration = kwargs.get('autoscale_configuration', None) 218 self.resource_guid = kwargs.get('resource_guid', None) 219 self.provisioning_state = kwargs.get('provisioning_state', None) 220 221 222class SubResource(msrest.serialization.Model): 223 """Reference to another subresource. 224 225 :param id: Resource ID. 226 :type id: str 227 """ 228 229 _attribute_map = { 230 'id': {'key': 'id', 'type': 'str'}, 231 } 232 233 def __init__( 234 self, 235 **kwargs 236 ): 237 super(SubResource, self).__init__(**kwargs) 238 self.id = kwargs.get('id', None) 239 240 241class ApplicationGatewayAuthenticationCertificate(SubResource): 242 """Authentication certificates of an application gateway. 243 244 :param id: Resource ID. 245 :type id: str 246 :param name: Name of the authentication certificate that is unique within an Application 247 Gateway. 248 :type name: str 249 :param etag: A unique read-only string that changes whenever the resource is updated. 250 :type etag: str 251 :param type: Type of the resource. 252 :type type: str 253 :param data: Certificate public data. 254 :type data: str 255 :param provisioning_state: Provisioning state of the authentication certificate resource. 256 Possible values are: 'Updating', 'Deleting', and 'Failed'. 257 :type provisioning_state: str 258 """ 259 260 _attribute_map = { 261 'id': {'key': 'id', 'type': 'str'}, 262 'name': {'key': 'name', 'type': 'str'}, 263 'etag': {'key': 'etag', 'type': 'str'}, 264 'type': {'key': 'type', 'type': 'str'}, 265 'data': {'key': 'properties.data', 'type': 'str'}, 266 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 267 } 268 269 def __init__( 270 self, 271 **kwargs 272 ): 273 super(ApplicationGatewayAuthenticationCertificate, self).__init__(**kwargs) 274 self.name = kwargs.get('name', None) 275 self.etag = kwargs.get('etag', None) 276 self.type = kwargs.get('type', None) 277 self.data = kwargs.get('data', None) 278 self.provisioning_state = kwargs.get('provisioning_state', None) 279 280 281class ApplicationGatewayAutoscaleBounds(msrest.serialization.Model): 282 """Application Gateway autoscale bounds on number of Application Gateway instance. 283 284 All required parameters must be populated in order to send to Azure. 285 286 :param min: Required. Lower bound on number of Application Gateway instances. 287 :type min: int 288 :param max: Required. Upper bound on number of Application Gateway instances. 289 :type max: int 290 """ 291 292 _validation = { 293 'min': {'required': True}, 294 'max': {'required': True}, 295 } 296 297 _attribute_map = { 298 'min': {'key': 'min', 'type': 'int'}, 299 'max': {'key': 'max', 'type': 'int'}, 300 } 301 302 def __init__( 303 self, 304 **kwargs 305 ): 306 super(ApplicationGatewayAutoscaleBounds, self).__init__(**kwargs) 307 self.min = kwargs['min'] 308 self.max = kwargs['max'] 309 310 311class ApplicationGatewayAutoscaleConfiguration(msrest.serialization.Model): 312 """Application Gateway autoscale configuration. 313 314 All required parameters must be populated in order to send to Azure. 315 316 :param bounds: Required. Autoscale bounds. 317 :type bounds: ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayAutoscaleBounds 318 """ 319 320 _validation = { 321 'bounds': {'required': True}, 322 } 323 324 _attribute_map = { 325 'bounds': {'key': 'bounds', 'type': 'ApplicationGatewayAutoscaleBounds'}, 326 } 327 328 def __init__( 329 self, 330 **kwargs 331 ): 332 super(ApplicationGatewayAutoscaleConfiguration, self).__init__(**kwargs) 333 self.bounds = kwargs['bounds'] 334 335 336class ApplicationGatewayAvailableSslOptions(Resource): 337 """Response for ApplicationGatewayAvailableSslOptions API service call. 338 339 Variables are only populated by the server, and will be ignored when sending a request. 340 341 :param id: Resource ID. 342 :type id: str 343 :ivar name: Resource name. 344 :vartype name: str 345 :ivar type: Resource type. 346 :vartype type: str 347 :param location: Resource location. 348 :type location: str 349 :param tags: A set of tags. Resource tags. 350 :type tags: dict[str, str] 351 :param predefined_policies: List of available Ssl predefined policy. 352 :type predefined_policies: list[~azure.mgmt.network.v2018_07_01.models.SubResource] 353 :param default_policy: Name of the Ssl predefined policy applied by default to application 354 gateway. Possible values include: "AppGwSslPolicy20150501", "AppGwSslPolicy20170401", 355 "AppGwSslPolicy20170401S". 356 :type default_policy: str or 357 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewaySslPolicyName 358 :param available_cipher_suites: List of available Ssl cipher suites. 359 :type available_cipher_suites: list[str or 360 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewaySslCipherSuite] 361 :param available_protocols: List of available Ssl protocols. 362 :type available_protocols: list[str or 363 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewaySslProtocol] 364 """ 365 366 _validation = { 367 'name': {'readonly': True}, 368 'type': {'readonly': True}, 369 } 370 371 _attribute_map = { 372 'id': {'key': 'id', 'type': 'str'}, 373 'name': {'key': 'name', 'type': 'str'}, 374 'type': {'key': 'type', 'type': 'str'}, 375 'location': {'key': 'location', 'type': 'str'}, 376 'tags': {'key': 'tags', 'type': '{str}'}, 377 'predefined_policies': {'key': 'properties.predefinedPolicies', 'type': '[SubResource]'}, 378 'default_policy': {'key': 'properties.defaultPolicy', 'type': 'str'}, 379 'available_cipher_suites': {'key': 'properties.availableCipherSuites', 'type': '[str]'}, 380 'available_protocols': {'key': 'properties.availableProtocols', 'type': '[str]'}, 381 } 382 383 def __init__( 384 self, 385 **kwargs 386 ): 387 super(ApplicationGatewayAvailableSslOptions, self).__init__(**kwargs) 388 self.predefined_policies = kwargs.get('predefined_policies', None) 389 self.default_policy = kwargs.get('default_policy', None) 390 self.available_cipher_suites = kwargs.get('available_cipher_suites', None) 391 self.available_protocols = kwargs.get('available_protocols', None) 392 393 394class ApplicationGatewayAvailableSslPredefinedPolicies(msrest.serialization.Model): 395 """Response for ApplicationGatewayAvailableSslOptions API service call. 396 397 :param value: List of available Ssl predefined policy. 398 :type value: list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewaySslPredefinedPolicy] 399 :param next_link: URL to get the next set of results. 400 :type next_link: str 401 """ 402 403 _attribute_map = { 404 'value': {'key': 'value', 'type': '[ApplicationGatewaySslPredefinedPolicy]'}, 405 'next_link': {'key': 'nextLink', 'type': 'str'}, 406 } 407 408 def __init__( 409 self, 410 **kwargs 411 ): 412 super(ApplicationGatewayAvailableSslPredefinedPolicies, self).__init__(**kwargs) 413 self.value = kwargs.get('value', None) 414 self.next_link = kwargs.get('next_link', None) 415 416 417class ApplicationGatewayAvailableWafRuleSetsResult(msrest.serialization.Model): 418 """Response for ApplicationGatewayAvailableWafRuleSets API service call. 419 420 :param value: The list of application gateway rule sets. 421 :type value: list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayFirewallRuleSet] 422 """ 423 424 _attribute_map = { 425 'value': {'key': 'value', 'type': '[ApplicationGatewayFirewallRuleSet]'}, 426 } 427 428 def __init__( 429 self, 430 **kwargs 431 ): 432 super(ApplicationGatewayAvailableWafRuleSetsResult, self).__init__(**kwargs) 433 self.value = kwargs.get('value', None) 434 435 436class ApplicationGatewayBackendAddress(msrest.serialization.Model): 437 """Backend address of an application gateway. 438 439 :param fqdn: Fully qualified domain name (FQDN). 440 :type fqdn: str 441 :param ip_address: IP address. 442 :type ip_address: str 443 """ 444 445 _attribute_map = { 446 'fqdn': {'key': 'fqdn', 'type': 'str'}, 447 'ip_address': {'key': 'ipAddress', 'type': 'str'}, 448 } 449 450 def __init__( 451 self, 452 **kwargs 453 ): 454 super(ApplicationGatewayBackendAddress, self).__init__(**kwargs) 455 self.fqdn = kwargs.get('fqdn', None) 456 self.ip_address = kwargs.get('ip_address', None) 457 458 459class ApplicationGatewayBackendAddressPool(SubResource): 460 """Backend Address Pool of an application gateway. 461 462 :param id: Resource ID. 463 :type id: str 464 :param name: Name of the backend address pool that is unique within an Application Gateway. 465 :type name: str 466 :param etag: A unique read-only string that changes whenever the resource is updated. 467 :type etag: str 468 :param type: Type of the resource. 469 :type type: str 470 :param backend_ip_configurations: Collection of references to IPs defined in network 471 interfaces. 472 :type backend_ip_configurations: 473 list[~azure.mgmt.network.v2018_07_01.models.NetworkInterfaceIPConfiguration] 474 :param backend_addresses: Backend addresses. 475 :type backend_addresses: 476 list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayBackendAddress] 477 :param provisioning_state: Provisioning state of the backend address pool resource. Possible 478 values are: 'Updating', 'Deleting', and 'Failed'. 479 :type provisioning_state: str 480 """ 481 482 _attribute_map = { 483 'id': {'key': 'id', 'type': 'str'}, 484 'name': {'key': 'name', 'type': 'str'}, 485 'etag': {'key': 'etag', 'type': 'str'}, 486 'type': {'key': 'type', 'type': 'str'}, 487 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 488 'backend_addresses': {'key': 'properties.backendAddresses', 'type': '[ApplicationGatewayBackendAddress]'}, 489 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 490 } 491 492 def __init__( 493 self, 494 **kwargs 495 ): 496 super(ApplicationGatewayBackendAddressPool, self).__init__(**kwargs) 497 self.name = kwargs.get('name', None) 498 self.etag = kwargs.get('etag', None) 499 self.type = kwargs.get('type', None) 500 self.backend_ip_configurations = kwargs.get('backend_ip_configurations', None) 501 self.backend_addresses = kwargs.get('backend_addresses', None) 502 self.provisioning_state = kwargs.get('provisioning_state', None) 503 504 505class ApplicationGatewayBackendHealth(msrest.serialization.Model): 506 """List of ApplicationGatewayBackendHealthPool resources. 507 508 :param backend_address_pools: 509 :type backend_address_pools: 510 list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayBackendHealthPool] 511 """ 512 513 _attribute_map = { 514 'backend_address_pools': {'key': 'backendAddressPools', 'type': '[ApplicationGatewayBackendHealthPool]'}, 515 } 516 517 def __init__( 518 self, 519 **kwargs 520 ): 521 super(ApplicationGatewayBackendHealth, self).__init__(**kwargs) 522 self.backend_address_pools = kwargs.get('backend_address_pools', None) 523 524 525class ApplicationGatewayBackendHealthHttpSettings(msrest.serialization.Model): 526 """Application gateway BackendHealthHttp settings. 527 528 :param backend_http_settings: Reference of an ApplicationGatewayBackendHttpSettings resource. 529 :type backend_http_settings: 530 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayBackendHttpSettings 531 :param servers: List of ApplicationGatewayBackendHealthServer resources. 532 :type servers: 533 list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayBackendHealthServer] 534 """ 535 536 _attribute_map = { 537 'backend_http_settings': {'key': 'backendHttpSettings', 'type': 'ApplicationGatewayBackendHttpSettings'}, 538 'servers': {'key': 'servers', 'type': '[ApplicationGatewayBackendHealthServer]'}, 539 } 540 541 def __init__( 542 self, 543 **kwargs 544 ): 545 super(ApplicationGatewayBackendHealthHttpSettings, self).__init__(**kwargs) 546 self.backend_http_settings = kwargs.get('backend_http_settings', None) 547 self.servers = kwargs.get('servers', None) 548 549 550class ApplicationGatewayBackendHealthPool(msrest.serialization.Model): 551 """Application gateway BackendHealth pool. 552 553 :param backend_address_pool: Reference of an ApplicationGatewayBackendAddressPool resource. 554 :type backend_address_pool: 555 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayBackendAddressPool 556 :param backend_http_settings_collection: List of ApplicationGatewayBackendHealthHttpSettings 557 resources. 558 :type backend_http_settings_collection: 559 list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayBackendHealthHttpSettings] 560 """ 561 562 _attribute_map = { 563 'backend_address_pool': {'key': 'backendAddressPool', 'type': 'ApplicationGatewayBackendAddressPool'}, 564 'backend_http_settings_collection': {'key': 'backendHttpSettingsCollection', 'type': '[ApplicationGatewayBackendHealthHttpSettings]'}, 565 } 566 567 def __init__( 568 self, 569 **kwargs 570 ): 571 super(ApplicationGatewayBackendHealthPool, self).__init__(**kwargs) 572 self.backend_address_pool = kwargs.get('backend_address_pool', None) 573 self.backend_http_settings_collection = kwargs.get('backend_http_settings_collection', None) 574 575 576class ApplicationGatewayBackendHealthServer(msrest.serialization.Model): 577 """Application gateway backendhealth http settings. 578 579 :param address: IP address or FQDN of backend server. 580 :type address: str 581 :param ip_configuration: Reference of IP configuration of backend server. 582 :type ip_configuration: ~azure.mgmt.network.v2018_07_01.models.NetworkInterfaceIPConfiguration 583 :param health: Health of backend server. Possible values include: "Unknown", "Up", "Down", 584 "Partial", "Draining". 585 :type health: str or 586 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayBackendHealthServerHealth 587 """ 588 589 _attribute_map = { 590 'address': {'key': 'address', 'type': 'str'}, 591 'ip_configuration': {'key': 'ipConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, 592 'health': {'key': 'health', 'type': 'str'}, 593 } 594 595 def __init__( 596 self, 597 **kwargs 598 ): 599 super(ApplicationGatewayBackendHealthServer, self).__init__(**kwargs) 600 self.address = kwargs.get('address', None) 601 self.ip_configuration = kwargs.get('ip_configuration', None) 602 self.health = kwargs.get('health', None) 603 604 605class ApplicationGatewayBackendHttpSettings(SubResource): 606 """Backend address pool settings of an application gateway. 607 608 :param id: Resource ID. 609 :type id: str 610 :param name: Name of the backend http settings that is unique within an Application Gateway. 611 :type name: str 612 :param etag: A unique read-only string that changes whenever the resource is updated. 613 :type etag: str 614 :param type: Type of the resource. 615 :type type: str 616 :param port: The destination port on the backend. 617 :type port: int 618 :param protocol: The protocol used to communicate with the backend. Possible values are 'Http' 619 and 'Https'. Possible values include: "Http", "Https". 620 :type protocol: str or ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayProtocol 621 :param cookie_based_affinity: Cookie based affinity. Possible values include: "Enabled", 622 "Disabled". 623 :type cookie_based_affinity: str or 624 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayCookieBasedAffinity 625 :param request_timeout: Request timeout in seconds. Application Gateway will fail the request 626 if response is not received within RequestTimeout. Acceptable values are from 1 second to 86400 627 seconds. 628 :type request_timeout: int 629 :param probe: Probe resource of an application gateway. 630 :type probe: ~azure.mgmt.network.v2018_07_01.models.SubResource 631 :param authentication_certificates: Array of references to application gateway authentication 632 certificates. 633 :type authentication_certificates: list[~azure.mgmt.network.v2018_07_01.models.SubResource] 634 :param connection_draining: Connection draining of the backend http settings resource. 635 :type connection_draining: 636 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayConnectionDraining 637 :param host_name: Host header to be sent to the backend servers. 638 :type host_name: str 639 :param pick_host_name_from_backend_address: Whether to pick host header should be picked from 640 the host name of the backend server. Default value is false. 641 :type pick_host_name_from_backend_address: bool 642 :param affinity_cookie_name: Cookie name to use for the affinity cookie. 643 :type affinity_cookie_name: str 644 :param probe_enabled: Whether the probe is enabled. Default value is false. 645 :type probe_enabled: bool 646 :param path: Path which should be used as a prefix for all HTTP requests. Null means no path 647 will be prefixed. Default value is null. 648 :type path: str 649 :param provisioning_state: Provisioning state of the backend http settings resource. Possible 650 values are: 'Updating', 'Deleting', and 'Failed'. 651 :type provisioning_state: str 652 """ 653 654 _attribute_map = { 655 'id': {'key': 'id', 'type': 'str'}, 656 'name': {'key': 'name', 'type': 'str'}, 657 'etag': {'key': 'etag', 'type': 'str'}, 658 'type': {'key': 'type', 'type': 'str'}, 659 'port': {'key': 'properties.port', 'type': 'int'}, 660 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 661 'cookie_based_affinity': {'key': 'properties.cookieBasedAffinity', 'type': 'str'}, 662 'request_timeout': {'key': 'properties.requestTimeout', 'type': 'int'}, 663 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, 664 'authentication_certificates': {'key': 'properties.authenticationCertificates', 'type': '[SubResource]'}, 665 'connection_draining': {'key': 'properties.connectionDraining', 'type': 'ApplicationGatewayConnectionDraining'}, 666 'host_name': {'key': 'properties.hostName', 'type': 'str'}, 667 'pick_host_name_from_backend_address': {'key': 'properties.pickHostNameFromBackendAddress', 'type': 'bool'}, 668 'affinity_cookie_name': {'key': 'properties.affinityCookieName', 'type': 'str'}, 669 'probe_enabled': {'key': 'properties.probeEnabled', 'type': 'bool'}, 670 'path': {'key': 'properties.path', 'type': 'str'}, 671 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 672 } 673 674 def __init__( 675 self, 676 **kwargs 677 ): 678 super(ApplicationGatewayBackendHttpSettings, self).__init__(**kwargs) 679 self.name = kwargs.get('name', None) 680 self.etag = kwargs.get('etag', None) 681 self.type = kwargs.get('type', None) 682 self.port = kwargs.get('port', None) 683 self.protocol = kwargs.get('protocol', None) 684 self.cookie_based_affinity = kwargs.get('cookie_based_affinity', None) 685 self.request_timeout = kwargs.get('request_timeout', None) 686 self.probe = kwargs.get('probe', None) 687 self.authentication_certificates = kwargs.get('authentication_certificates', None) 688 self.connection_draining = kwargs.get('connection_draining', None) 689 self.host_name = kwargs.get('host_name', None) 690 self.pick_host_name_from_backend_address = kwargs.get('pick_host_name_from_backend_address', None) 691 self.affinity_cookie_name = kwargs.get('affinity_cookie_name', None) 692 self.probe_enabled = kwargs.get('probe_enabled', None) 693 self.path = kwargs.get('path', None) 694 self.provisioning_state = kwargs.get('provisioning_state', None) 695 696 697class ApplicationGatewayConnectionDraining(msrest.serialization.Model): 698 """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. 699 700 All required parameters must be populated in order to send to Azure. 701 702 :param enabled: Required. Whether connection draining is enabled or not. 703 :type enabled: bool 704 :param drain_timeout_in_sec: Required. The number of seconds connection draining is active. 705 Acceptable values are from 1 second to 3600 seconds. 706 :type drain_timeout_in_sec: int 707 """ 708 709 _validation = { 710 'enabled': {'required': True}, 711 'drain_timeout_in_sec': {'required': True, 'maximum': 3600, 'minimum': 1}, 712 } 713 714 _attribute_map = { 715 'enabled': {'key': 'enabled', 'type': 'bool'}, 716 'drain_timeout_in_sec': {'key': 'drainTimeoutInSec', 'type': 'int'}, 717 } 718 719 def __init__( 720 self, 721 **kwargs 722 ): 723 super(ApplicationGatewayConnectionDraining, self).__init__(**kwargs) 724 self.enabled = kwargs['enabled'] 725 self.drain_timeout_in_sec = kwargs['drain_timeout_in_sec'] 726 727 728class ApplicationGatewayFirewallDisabledRuleGroup(msrest.serialization.Model): 729 """Allows to disable rules within a rule group or an entire rule group. 730 731 All required parameters must be populated in order to send to Azure. 732 733 :param rule_group_name: Required. The name of the rule group that will be disabled. 734 :type rule_group_name: str 735 :param rules: The list of rules that will be disabled. If null, all rules of the rule group 736 will be disabled. 737 :type rules: list[int] 738 """ 739 740 _validation = { 741 'rule_group_name': {'required': True}, 742 } 743 744 _attribute_map = { 745 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, 746 'rules': {'key': 'rules', 'type': '[int]'}, 747 } 748 749 def __init__( 750 self, 751 **kwargs 752 ): 753 super(ApplicationGatewayFirewallDisabledRuleGroup, self).__init__(**kwargs) 754 self.rule_group_name = kwargs['rule_group_name'] 755 self.rules = kwargs.get('rules', None) 756 757 758class ApplicationGatewayFirewallRule(msrest.serialization.Model): 759 """A web application firewall rule. 760 761 All required parameters must be populated in order to send to Azure. 762 763 :param rule_id: Required. The identifier of the web application firewall rule. 764 :type rule_id: int 765 :param description: The description of the web application firewall rule. 766 :type description: str 767 """ 768 769 _validation = { 770 'rule_id': {'required': True}, 771 } 772 773 _attribute_map = { 774 'rule_id': {'key': 'ruleId', 'type': 'int'}, 775 'description': {'key': 'description', 'type': 'str'}, 776 } 777 778 def __init__( 779 self, 780 **kwargs 781 ): 782 super(ApplicationGatewayFirewallRule, self).__init__(**kwargs) 783 self.rule_id = kwargs['rule_id'] 784 self.description = kwargs.get('description', None) 785 786 787class ApplicationGatewayFirewallRuleGroup(msrest.serialization.Model): 788 """A web application firewall rule group. 789 790 All required parameters must be populated in order to send to Azure. 791 792 :param rule_group_name: Required. The name of the web application firewall rule group. 793 :type rule_group_name: str 794 :param description: The description of the web application firewall rule group. 795 :type description: str 796 :param rules: Required. The rules of the web application firewall rule group. 797 :type rules: list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayFirewallRule] 798 """ 799 800 _validation = { 801 'rule_group_name': {'required': True}, 802 'rules': {'required': True}, 803 } 804 805 _attribute_map = { 806 'rule_group_name': {'key': 'ruleGroupName', 'type': 'str'}, 807 'description': {'key': 'description', 'type': 'str'}, 808 'rules': {'key': 'rules', 'type': '[ApplicationGatewayFirewallRule]'}, 809 } 810 811 def __init__( 812 self, 813 **kwargs 814 ): 815 super(ApplicationGatewayFirewallRuleGroup, self).__init__(**kwargs) 816 self.rule_group_name = kwargs['rule_group_name'] 817 self.description = kwargs.get('description', None) 818 self.rules = kwargs['rules'] 819 820 821class ApplicationGatewayFirewallRuleSet(Resource): 822 """A web application firewall rule set. 823 824 Variables are only populated by the server, and will be ignored when sending a request. 825 826 :param id: Resource ID. 827 :type id: str 828 :ivar name: Resource name. 829 :vartype name: str 830 :ivar type: Resource type. 831 :vartype type: str 832 :param location: Resource location. 833 :type location: str 834 :param tags: A set of tags. Resource tags. 835 :type tags: dict[str, str] 836 :param provisioning_state: The provisioning state of the web application firewall rule set. 837 :type provisioning_state: str 838 :param rule_set_type: The type of the web application firewall rule set. 839 :type rule_set_type: str 840 :param rule_set_version: The version of the web application firewall rule set type. 841 :type rule_set_version: str 842 :param rule_groups: The rule groups of the web application firewall rule set. 843 :type rule_groups: 844 list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayFirewallRuleGroup] 845 """ 846 847 _validation = { 848 'name': {'readonly': True}, 849 'type': {'readonly': True}, 850 } 851 852 _attribute_map = { 853 'id': {'key': 'id', 'type': 'str'}, 854 'name': {'key': 'name', 'type': 'str'}, 855 'type': {'key': 'type', 'type': 'str'}, 856 'location': {'key': 'location', 'type': 'str'}, 857 'tags': {'key': 'tags', 'type': '{str}'}, 858 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 859 'rule_set_type': {'key': 'properties.ruleSetType', 'type': 'str'}, 860 'rule_set_version': {'key': 'properties.ruleSetVersion', 'type': 'str'}, 861 'rule_groups': {'key': 'properties.ruleGroups', 'type': '[ApplicationGatewayFirewallRuleGroup]'}, 862 } 863 864 def __init__( 865 self, 866 **kwargs 867 ): 868 super(ApplicationGatewayFirewallRuleSet, self).__init__(**kwargs) 869 self.provisioning_state = kwargs.get('provisioning_state', None) 870 self.rule_set_type = kwargs.get('rule_set_type', None) 871 self.rule_set_version = kwargs.get('rule_set_version', None) 872 self.rule_groups = kwargs.get('rule_groups', None) 873 874 875class ApplicationGatewayFrontendIPConfiguration(SubResource): 876 """Frontend IP configuration of an application gateway. 877 878 :param id: Resource ID. 879 :type id: str 880 :param name: Name of the frontend IP configuration that is unique within an Application 881 Gateway. 882 :type name: str 883 :param etag: A unique read-only string that changes whenever the resource is updated. 884 :type etag: str 885 :param type: Type of the resource. 886 :type type: str 887 :param private_ip_address: PrivateIPAddress of the network interface IP Configuration. 888 :type private_ip_address: str 889 :param private_ip_allocation_method: PrivateIP allocation method. Possible values include: 890 "Static", "Dynamic". 891 :type private_ip_allocation_method: str or 892 ~azure.mgmt.network.v2018_07_01.models.IPAllocationMethod 893 :param subnet: Reference of the subnet resource. 894 :type subnet: ~azure.mgmt.network.v2018_07_01.models.SubResource 895 :param public_ip_address: Reference of the PublicIP resource. 896 :type public_ip_address: ~azure.mgmt.network.v2018_07_01.models.SubResource 897 :param provisioning_state: Provisioning state of the public IP resource. Possible values are: 898 'Updating', 'Deleting', and 'Failed'. 899 :type provisioning_state: str 900 """ 901 902 _attribute_map = { 903 'id': {'key': 'id', 'type': 'str'}, 904 'name': {'key': 'name', 'type': 'str'}, 905 'etag': {'key': 'etag', 'type': 'str'}, 906 'type': {'key': 'type', 'type': 'str'}, 907 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 908 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 909 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 910 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, 911 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 912 } 913 914 def __init__( 915 self, 916 **kwargs 917 ): 918 super(ApplicationGatewayFrontendIPConfiguration, self).__init__(**kwargs) 919 self.name = kwargs.get('name', None) 920 self.etag = kwargs.get('etag', None) 921 self.type = kwargs.get('type', None) 922 self.private_ip_address = kwargs.get('private_ip_address', None) 923 self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) 924 self.subnet = kwargs.get('subnet', None) 925 self.public_ip_address = kwargs.get('public_ip_address', None) 926 self.provisioning_state = kwargs.get('provisioning_state', None) 927 928 929class ApplicationGatewayFrontendPort(SubResource): 930 """Frontend port of an application gateway. 931 932 :param id: Resource ID. 933 :type id: str 934 :param name: Name of the frontend port that is unique within an Application Gateway. 935 :type name: str 936 :param etag: A unique read-only string that changes whenever the resource is updated. 937 :type etag: str 938 :param type: Type of the resource. 939 :type type: str 940 :param port: Frontend port. 941 :type port: int 942 :param provisioning_state: Provisioning state of the frontend port resource. Possible values 943 are: 'Updating', 'Deleting', and 'Failed'. 944 :type provisioning_state: str 945 """ 946 947 _attribute_map = { 948 'id': {'key': 'id', 'type': 'str'}, 949 'name': {'key': 'name', 'type': 'str'}, 950 'etag': {'key': 'etag', 'type': 'str'}, 951 'type': {'key': 'type', 'type': 'str'}, 952 'port': {'key': 'properties.port', 'type': 'int'}, 953 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 954 } 955 956 def __init__( 957 self, 958 **kwargs 959 ): 960 super(ApplicationGatewayFrontendPort, self).__init__(**kwargs) 961 self.name = kwargs.get('name', None) 962 self.etag = kwargs.get('etag', None) 963 self.type = kwargs.get('type', None) 964 self.port = kwargs.get('port', None) 965 self.provisioning_state = kwargs.get('provisioning_state', None) 966 967 968class ApplicationGatewayHttpListener(SubResource): 969 """Http listener of an application gateway. 970 971 :param id: Resource ID. 972 :type id: str 973 :param name: Name of the HTTP listener that is unique within an Application Gateway. 974 :type name: str 975 :param etag: A unique read-only string that changes whenever the resource is updated. 976 :type etag: str 977 :param type: Type of the resource. 978 :type type: str 979 :param frontend_ip_configuration: Frontend IP configuration resource of an application gateway. 980 :type frontend_ip_configuration: ~azure.mgmt.network.v2018_07_01.models.SubResource 981 :param frontend_port: Frontend port resource of an application gateway. 982 :type frontend_port: ~azure.mgmt.network.v2018_07_01.models.SubResource 983 :param protocol: Protocol of the HTTP listener. Possible values are 'Http' and 'Https'. 984 Possible values include: "Http", "Https". 985 :type protocol: str or ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayProtocol 986 :param host_name: Host name of HTTP listener. 987 :type host_name: str 988 :param ssl_certificate: SSL certificate resource of an application gateway. 989 :type ssl_certificate: ~azure.mgmt.network.v2018_07_01.models.SubResource 990 :param require_server_name_indication: Applicable only if protocol is https. Enables SNI for 991 multi-hosting. 992 :type require_server_name_indication: bool 993 :param provisioning_state: Provisioning state of the HTTP listener resource. Possible values 994 are: 'Updating', 'Deleting', and 'Failed'. 995 :type provisioning_state: str 996 """ 997 998 _attribute_map = { 999 'id': {'key': 'id', 'type': 'str'}, 1000 'name': {'key': 'name', 'type': 'str'}, 1001 'etag': {'key': 'etag', 'type': 'str'}, 1002 'type': {'key': 'type', 'type': 'str'}, 1003 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 1004 'frontend_port': {'key': 'properties.frontendPort', 'type': 'SubResource'}, 1005 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 1006 'host_name': {'key': 'properties.hostName', 'type': 'str'}, 1007 'ssl_certificate': {'key': 'properties.sslCertificate', 'type': 'SubResource'}, 1008 'require_server_name_indication': {'key': 'properties.requireServerNameIndication', 'type': 'bool'}, 1009 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1010 } 1011 1012 def __init__( 1013 self, 1014 **kwargs 1015 ): 1016 super(ApplicationGatewayHttpListener, self).__init__(**kwargs) 1017 self.name = kwargs.get('name', None) 1018 self.etag = kwargs.get('etag', None) 1019 self.type = kwargs.get('type', None) 1020 self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) 1021 self.frontend_port = kwargs.get('frontend_port', None) 1022 self.protocol = kwargs.get('protocol', None) 1023 self.host_name = kwargs.get('host_name', None) 1024 self.ssl_certificate = kwargs.get('ssl_certificate', None) 1025 self.require_server_name_indication = kwargs.get('require_server_name_indication', None) 1026 self.provisioning_state = kwargs.get('provisioning_state', None) 1027 1028 1029class ApplicationGatewayIPConfiguration(SubResource): 1030 """IP configuration of an application gateway. Currently 1 public and 1 private IP configuration is allowed. 1031 1032 :param id: Resource ID. 1033 :type id: str 1034 :param name: Name of the IP configuration that is unique within an Application Gateway. 1035 :type name: str 1036 :param etag: A unique read-only string that changes whenever the resource is updated. 1037 :type etag: str 1038 :param type: Type of the resource. 1039 :type type: str 1040 :param subnet: Reference of the subnet resource. A subnet from where application gateway gets 1041 its private address. 1042 :type subnet: ~azure.mgmt.network.v2018_07_01.models.SubResource 1043 :param provisioning_state: Provisioning state of the application gateway subnet resource. 1044 Possible values are: 'Updating', 'Deleting', and 'Failed'. 1045 :type provisioning_state: str 1046 """ 1047 1048 _attribute_map = { 1049 'id': {'key': 'id', 'type': 'str'}, 1050 'name': {'key': 'name', 'type': 'str'}, 1051 'etag': {'key': 'etag', 'type': 'str'}, 1052 'type': {'key': 'type', 'type': 'str'}, 1053 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 1054 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1055 } 1056 1057 def __init__( 1058 self, 1059 **kwargs 1060 ): 1061 super(ApplicationGatewayIPConfiguration, self).__init__(**kwargs) 1062 self.name = kwargs.get('name', None) 1063 self.etag = kwargs.get('etag', None) 1064 self.type = kwargs.get('type', None) 1065 self.subnet = kwargs.get('subnet', None) 1066 self.provisioning_state = kwargs.get('provisioning_state', None) 1067 1068 1069class ApplicationGatewayListResult(msrest.serialization.Model): 1070 """Response for ListApplicationGateways API service call. 1071 1072 :param value: List of an application gateways in a resource group. 1073 :type value: list[~azure.mgmt.network.v2018_07_01.models.ApplicationGateway] 1074 :param next_link: URL to get the next set of results. 1075 :type next_link: str 1076 """ 1077 1078 _attribute_map = { 1079 'value': {'key': 'value', 'type': '[ApplicationGateway]'}, 1080 'next_link': {'key': 'nextLink', 'type': 'str'}, 1081 } 1082 1083 def __init__( 1084 self, 1085 **kwargs 1086 ): 1087 super(ApplicationGatewayListResult, self).__init__(**kwargs) 1088 self.value = kwargs.get('value', None) 1089 self.next_link = kwargs.get('next_link', None) 1090 1091 1092class ApplicationGatewayPathRule(SubResource): 1093 """Path rule of URL path map of an application gateway. 1094 1095 :param id: Resource ID. 1096 :type id: str 1097 :param name: Name of the path rule that is unique within an Application Gateway. 1098 :type name: str 1099 :param etag: A unique read-only string that changes whenever the resource is updated. 1100 :type etag: str 1101 :param type: Type of the resource. 1102 :type type: str 1103 :param paths: Path rules of URL path map. 1104 :type paths: list[str] 1105 :param backend_address_pool: Backend address pool resource of URL path map path rule. 1106 :type backend_address_pool: ~azure.mgmt.network.v2018_07_01.models.SubResource 1107 :param backend_http_settings: Backend http settings resource of URL path map path rule. 1108 :type backend_http_settings: ~azure.mgmt.network.v2018_07_01.models.SubResource 1109 :param redirect_configuration: Redirect configuration resource of URL path map path rule. 1110 :type redirect_configuration: ~azure.mgmt.network.v2018_07_01.models.SubResource 1111 :param provisioning_state: Path rule of URL path map resource. Possible values are: 'Updating', 1112 'Deleting', and 'Failed'. 1113 :type provisioning_state: str 1114 """ 1115 1116 _attribute_map = { 1117 'id': {'key': 'id', 'type': 'str'}, 1118 'name': {'key': 'name', 'type': 'str'}, 1119 'etag': {'key': 'etag', 'type': 'str'}, 1120 'type': {'key': 'type', 'type': 'str'}, 1121 'paths': {'key': 'properties.paths', 'type': '[str]'}, 1122 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 1123 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, 1124 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, 1125 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1126 } 1127 1128 def __init__( 1129 self, 1130 **kwargs 1131 ): 1132 super(ApplicationGatewayPathRule, self).__init__(**kwargs) 1133 self.name = kwargs.get('name', None) 1134 self.etag = kwargs.get('etag', None) 1135 self.type = kwargs.get('type', None) 1136 self.paths = kwargs.get('paths', None) 1137 self.backend_address_pool = kwargs.get('backend_address_pool', None) 1138 self.backend_http_settings = kwargs.get('backend_http_settings', None) 1139 self.redirect_configuration = kwargs.get('redirect_configuration', None) 1140 self.provisioning_state = kwargs.get('provisioning_state', None) 1141 1142 1143class ApplicationGatewayProbe(SubResource): 1144 """Probe of the application gateway. 1145 1146 :param id: Resource ID. 1147 :type id: str 1148 :param name: Name of the probe that is unique within an Application Gateway. 1149 :type name: str 1150 :param etag: A unique read-only string that changes whenever the resource is updated. 1151 :type etag: str 1152 :param type: Type of the resource. 1153 :type type: str 1154 :param protocol: The protocol used for the probe. Possible values are 'Http' and 'Https'. 1155 Possible values include: "Http", "Https". 1156 :type protocol: str or ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayProtocol 1157 :param host: Host name to send the probe to. 1158 :type host: str 1159 :param path: Relative path of probe. Valid path starts from '/'. Probe is sent to 1160 :code:`<Protocol>`://:code:`<host>`::code:`<port>`:code:`<path>`. 1161 :type path: str 1162 :param interval: The probing interval in seconds. This is the time interval between two 1163 consecutive probes. Acceptable values are from 1 second to 86400 seconds. 1164 :type interval: int 1165 :param timeout: the probe timeout in seconds. Probe marked as failed if valid response is not 1166 received with this timeout period. Acceptable values are from 1 second to 86400 seconds. 1167 :type timeout: int 1168 :param unhealthy_threshold: The probe retry count. Backend server is marked down after 1169 consecutive probe failure count reaches UnhealthyThreshold. Acceptable values are from 1 second 1170 to 20. 1171 :type unhealthy_threshold: int 1172 :param pick_host_name_from_backend_http_settings: Whether the host header should be picked from 1173 the backend http settings. Default value is false. 1174 :type pick_host_name_from_backend_http_settings: bool 1175 :param min_servers: Minimum number of servers that are always marked healthy. Default value is 1176 0. 1177 :type min_servers: int 1178 :param match: Criterion for classifying a healthy probe response. 1179 :type match: ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayProbeHealthResponseMatch 1180 :param provisioning_state: Provisioning state of the backend http settings resource. Possible 1181 values are: 'Updating', 'Deleting', and 'Failed'. 1182 :type provisioning_state: str 1183 """ 1184 1185 _attribute_map = { 1186 'id': {'key': 'id', 'type': 'str'}, 1187 'name': {'key': 'name', 'type': 'str'}, 1188 'etag': {'key': 'etag', 'type': 'str'}, 1189 'type': {'key': 'type', 'type': 'str'}, 1190 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 1191 'host': {'key': 'properties.host', 'type': 'str'}, 1192 'path': {'key': 'properties.path', 'type': 'str'}, 1193 'interval': {'key': 'properties.interval', 'type': 'int'}, 1194 'timeout': {'key': 'properties.timeout', 'type': 'int'}, 1195 'unhealthy_threshold': {'key': 'properties.unhealthyThreshold', 'type': 'int'}, 1196 'pick_host_name_from_backend_http_settings': {'key': 'properties.pickHostNameFromBackendHttpSettings', 'type': 'bool'}, 1197 'min_servers': {'key': 'properties.minServers', 'type': 'int'}, 1198 'match': {'key': 'properties.match', 'type': 'ApplicationGatewayProbeHealthResponseMatch'}, 1199 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1200 } 1201 1202 def __init__( 1203 self, 1204 **kwargs 1205 ): 1206 super(ApplicationGatewayProbe, self).__init__(**kwargs) 1207 self.name = kwargs.get('name', None) 1208 self.etag = kwargs.get('etag', None) 1209 self.type = kwargs.get('type', None) 1210 self.protocol = kwargs.get('protocol', None) 1211 self.host = kwargs.get('host', None) 1212 self.path = kwargs.get('path', None) 1213 self.interval = kwargs.get('interval', None) 1214 self.timeout = kwargs.get('timeout', None) 1215 self.unhealthy_threshold = kwargs.get('unhealthy_threshold', None) 1216 self.pick_host_name_from_backend_http_settings = kwargs.get('pick_host_name_from_backend_http_settings', None) 1217 self.min_servers = kwargs.get('min_servers', None) 1218 self.match = kwargs.get('match', None) 1219 self.provisioning_state = kwargs.get('provisioning_state', None) 1220 1221 1222class ApplicationGatewayProbeHealthResponseMatch(msrest.serialization.Model): 1223 """Application gateway probe health response match. 1224 1225 :param body: Body that must be contained in the health response. Default value is empty. 1226 :type body: str 1227 :param status_codes: Allowed ranges of healthy status codes. Default range of healthy status 1228 codes is 200-399. 1229 :type status_codes: list[str] 1230 """ 1231 1232 _attribute_map = { 1233 'body': {'key': 'body', 'type': 'str'}, 1234 'status_codes': {'key': 'statusCodes', 'type': '[str]'}, 1235 } 1236 1237 def __init__( 1238 self, 1239 **kwargs 1240 ): 1241 super(ApplicationGatewayProbeHealthResponseMatch, self).__init__(**kwargs) 1242 self.body = kwargs.get('body', None) 1243 self.status_codes = kwargs.get('status_codes', None) 1244 1245 1246class ApplicationGatewayRedirectConfiguration(SubResource): 1247 """Redirect configuration of an application gateway. 1248 1249 :param id: Resource ID. 1250 :type id: str 1251 :param name: Name of the redirect configuration that is unique within an Application Gateway. 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 redirect_type: Supported http redirection types - Permanent, Temporary, Found, SeeOther. 1258 Possible values include: "Permanent", "Found", "SeeOther", "Temporary". 1259 :type redirect_type: str or 1260 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayRedirectType 1261 :param target_listener: Reference to a listener to redirect the request to. 1262 :type target_listener: ~azure.mgmt.network.v2018_07_01.models.SubResource 1263 :param target_url: Url to redirect the request to. 1264 :type target_url: str 1265 :param include_path: Include path in the redirected url. 1266 :type include_path: bool 1267 :param include_query_string: Include query string in the redirected url. 1268 :type include_query_string: bool 1269 :param request_routing_rules: Request routing specifying redirect configuration. 1270 :type request_routing_rules: list[~azure.mgmt.network.v2018_07_01.models.SubResource] 1271 :param url_path_maps: Url path maps specifying default redirect configuration. 1272 :type url_path_maps: list[~azure.mgmt.network.v2018_07_01.models.SubResource] 1273 :param path_rules: Path rules specifying redirect configuration. 1274 :type path_rules: list[~azure.mgmt.network.v2018_07_01.models.SubResource] 1275 """ 1276 1277 _attribute_map = { 1278 'id': {'key': 'id', 'type': 'str'}, 1279 'name': {'key': 'name', 'type': 'str'}, 1280 'etag': {'key': 'etag', 'type': 'str'}, 1281 'type': {'key': 'type', 'type': 'str'}, 1282 'redirect_type': {'key': 'properties.redirectType', 'type': 'str'}, 1283 'target_listener': {'key': 'properties.targetListener', 'type': 'SubResource'}, 1284 'target_url': {'key': 'properties.targetUrl', 'type': 'str'}, 1285 'include_path': {'key': 'properties.includePath', 'type': 'bool'}, 1286 'include_query_string': {'key': 'properties.includeQueryString', 'type': 'bool'}, 1287 'request_routing_rules': {'key': 'properties.requestRoutingRules', 'type': '[SubResource]'}, 1288 'url_path_maps': {'key': 'properties.urlPathMaps', 'type': '[SubResource]'}, 1289 'path_rules': {'key': 'properties.pathRules', 'type': '[SubResource]'}, 1290 } 1291 1292 def __init__( 1293 self, 1294 **kwargs 1295 ): 1296 super(ApplicationGatewayRedirectConfiguration, self).__init__(**kwargs) 1297 self.name = kwargs.get('name', None) 1298 self.etag = kwargs.get('etag', None) 1299 self.type = kwargs.get('type', None) 1300 self.redirect_type = kwargs.get('redirect_type', None) 1301 self.target_listener = kwargs.get('target_listener', None) 1302 self.target_url = kwargs.get('target_url', None) 1303 self.include_path = kwargs.get('include_path', None) 1304 self.include_query_string = kwargs.get('include_query_string', None) 1305 self.request_routing_rules = kwargs.get('request_routing_rules', None) 1306 self.url_path_maps = kwargs.get('url_path_maps', None) 1307 self.path_rules = kwargs.get('path_rules', None) 1308 1309 1310class ApplicationGatewayRequestRoutingRule(SubResource): 1311 """Request routing rule of an application gateway. 1312 1313 :param id: Resource ID. 1314 :type id: str 1315 :param name: Name of the request routing rule that is unique within an Application Gateway. 1316 :type name: str 1317 :param etag: A unique read-only string that changes whenever the resource is updated. 1318 :type etag: str 1319 :param type: Type of the resource. 1320 :type type: str 1321 :param rule_type: Rule type. Possible values include: "Basic", "PathBasedRouting". 1322 :type rule_type: str or 1323 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayRequestRoutingRuleType 1324 :param backend_address_pool: Backend address pool resource of the application gateway. 1325 :type backend_address_pool: ~azure.mgmt.network.v2018_07_01.models.SubResource 1326 :param backend_http_settings: Backend http settings resource of the application gateway. 1327 :type backend_http_settings: ~azure.mgmt.network.v2018_07_01.models.SubResource 1328 :param http_listener: Http listener resource of the application gateway. 1329 :type http_listener: ~azure.mgmt.network.v2018_07_01.models.SubResource 1330 :param url_path_map: URL path map resource of the application gateway. 1331 :type url_path_map: ~azure.mgmt.network.v2018_07_01.models.SubResource 1332 :param redirect_configuration: Redirect configuration resource of the application gateway. 1333 :type redirect_configuration: ~azure.mgmt.network.v2018_07_01.models.SubResource 1334 :param provisioning_state: Provisioning state of the request routing rule resource. Possible 1335 values are: 'Updating', 'Deleting', and 'Failed'. 1336 :type provisioning_state: str 1337 """ 1338 1339 _attribute_map = { 1340 'id': {'key': 'id', 'type': 'str'}, 1341 'name': {'key': 'name', 'type': 'str'}, 1342 'etag': {'key': 'etag', 'type': 'str'}, 1343 'type': {'key': 'type', 'type': 'str'}, 1344 'rule_type': {'key': 'properties.ruleType', 'type': 'str'}, 1345 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 1346 'backend_http_settings': {'key': 'properties.backendHttpSettings', 'type': 'SubResource'}, 1347 'http_listener': {'key': 'properties.httpListener', 'type': 'SubResource'}, 1348 'url_path_map': {'key': 'properties.urlPathMap', 'type': 'SubResource'}, 1349 'redirect_configuration': {'key': 'properties.redirectConfiguration', 'type': 'SubResource'}, 1350 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1351 } 1352 1353 def __init__( 1354 self, 1355 **kwargs 1356 ): 1357 super(ApplicationGatewayRequestRoutingRule, self).__init__(**kwargs) 1358 self.name = kwargs.get('name', None) 1359 self.etag = kwargs.get('etag', None) 1360 self.type = kwargs.get('type', None) 1361 self.rule_type = kwargs.get('rule_type', None) 1362 self.backend_address_pool = kwargs.get('backend_address_pool', None) 1363 self.backend_http_settings = kwargs.get('backend_http_settings', None) 1364 self.http_listener = kwargs.get('http_listener', None) 1365 self.url_path_map = kwargs.get('url_path_map', None) 1366 self.redirect_configuration = kwargs.get('redirect_configuration', None) 1367 self.provisioning_state = kwargs.get('provisioning_state', None) 1368 1369 1370class ApplicationGatewaySku(msrest.serialization.Model): 1371 """SKU of an application gateway. 1372 1373 :param name: Name of an application gateway SKU. Possible values include: "Standard_Small", 1374 "Standard_Medium", "Standard_Large", "WAF_Medium", "WAF_Large", "Standard_v2", "WAF_v2". 1375 :type name: str or ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewaySkuName 1376 :param tier: Tier of an application gateway. Possible values include: "Standard", "WAF", 1377 "Standard_v2", "WAF_v2". 1378 :type tier: str or ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayTier 1379 :param capacity: Capacity (instance count) of an application gateway. 1380 :type capacity: int 1381 """ 1382 1383 _attribute_map = { 1384 'name': {'key': 'name', 'type': 'str'}, 1385 'tier': {'key': 'tier', 'type': 'str'}, 1386 'capacity': {'key': 'capacity', 'type': 'int'}, 1387 } 1388 1389 def __init__( 1390 self, 1391 **kwargs 1392 ): 1393 super(ApplicationGatewaySku, self).__init__(**kwargs) 1394 self.name = kwargs.get('name', None) 1395 self.tier = kwargs.get('tier', None) 1396 self.capacity = kwargs.get('capacity', None) 1397 1398 1399class ApplicationGatewaySslCertificate(SubResource): 1400 """SSL certificates of an application gateway. 1401 1402 :param id: Resource ID. 1403 :type id: str 1404 :param name: Name of the SSL certificate that is unique within an Application Gateway. 1405 :type name: str 1406 :param etag: A unique read-only string that changes whenever the resource is updated. 1407 :type etag: str 1408 :param type: Type of the resource. 1409 :type type: str 1410 :param data: Base-64 encoded pfx certificate. Only applicable in PUT Request. 1411 :type data: str 1412 :param password: Password for the pfx file specified in data. Only applicable in PUT request. 1413 :type password: str 1414 :param public_cert_data: Base-64 encoded Public cert data corresponding to pfx specified in 1415 data. Only applicable in GET request. 1416 :type public_cert_data: str 1417 :param provisioning_state: Provisioning state of the SSL certificate resource Possible values 1418 are: 'Updating', 'Deleting', and 'Failed'. 1419 :type provisioning_state: str 1420 """ 1421 1422 _attribute_map = { 1423 'id': {'key': 'id', 'type': 'str'}, 1424 'name': {'key': 'name', 'type': 'str'}, 1425 'etag': {'key': 'etag', 'type': 'str'}, 1426 'type': {'key': 'type', 'type': 'str'}, 1427 'data': {'key': 'properties.data', 'type': 'str'}, 1428 'password': {'key': 'properties.password', 'type': 'str'}, 1429 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, 1430 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1431 } 1432 1433 def __init__( 1434 self, 1435 **kwargs 1436 ): 1437 super(ApplicationGatewaySslCertificate, self).__init__(**kwargs) 1438 self.name = kwargs.get('name', None) 1439 self.etag = kwargs.get('etag', None) 1440 self.type = kwargs.get('type', None) 1441 self.data = kwargs.get('data', None) 1442 self.password = kwargs.get('password', None) 1443 self.public_cert_data = kwargs.get('public_cert_data', None) 1444 self.provisioning_state = kwargs.get('provisioning_state', None) 1445 1446 1447class ApplicationGatewaySslPolicy(msrest.serialization.Model): 1448 """Application Gateway Ssl policy. 1449 1450 :param disabled_ssl_protocols: Ssl protocols to be disabled on application gateway. 1451 :type disabled_ssl_protocols: list[str or 1452 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewaySslProtocol] 1453 :param policy_type: Type of Ssl Policy. Possible values include: "Predefined", "Custom". 1454 :type policy_type: str or 1455 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewaySslPolicyType 1456 :param policy_name: Name of Ssl predefined policy. Possible values include: 1457 "AppGwSslPolicy20150501", "AppGwSslPolicy20170401", "AppGwSslPolicy20170401S". 1458 :type policy_name: str or 1459 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewaySslPolicyName 1460 :param cipher_suites: Ssl cipher suites to be enabled in the specified order to application 1461 gateway. 1462 :type cipher_suites: list[str or 1463 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewaySslCipherSuite] 1464 :param min_protocol_version: Minimum version of Ssl protocol to be supported on application 1465 gateway. Possible values include: "TLSv1_0", "TLSv1_1", "TLSv1_2". 1466 :type min_protocol_version: str or 1467 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewaySslProtocol 1468 """ 1469 1470 _attribute_map = { 1471 'disabled_ssl_protocols': {'key': 'disabledSslProtocols', 'type': '[str]'}, 1472 'policy_type': {'key': 'policyType', 'type': 'str'}, 1473 'policy_name': {'key': 'policyName', 'type': 'str'}, 1474 'cipher_suites': {'key': 'cipherSuites', 'type': '[str]'}, 1475 'min_protocol_version': {'key': 'minProtocolVersion', 'type': 'str'}, 1476 } 1477 1478 def __init__( 1479 self, 1480 **kwargs 1481 ): 1482 super(ApplicationGatewaySslPolicy, self).__init__(**kwargs) 1483 self.disabled_ssl_protocols = kwargs.get('disabled_ssl_protocols', None) 1484 self.policy_type = kwargs.get('policy_type', None) 1485 self.policy_name = kwargs.get('policy_name', None) 1486 self.cipher_suites = kwargs.get('cipher_suites', None) 1487 self.min_protocol_version = kwargs.get('min_protocol_version', None) 1488 1489 1490class ApplicationGatewaySslPredefinedPolicy(SubResource): 1491 """An Ssl predefined policy. 1492 1493 :param id: Resource ID. 1494 :type id: str 1495 :param name: Name of the Ssl predefined policy. 1496 :type name: str 1497 :param cipher_suites: Ssl cipher suites to be enabled in the specified order for application 1498 gateway. 1499 :type cipher_suites: list[str or 1500 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewaySslCipherSuite] 1501 :param min_protocol_version: Minimum version of Ssl protocol to be supported on application 1502 gateway. Possible values include: "TLSv1_0", "TLSv1_1", "TLSv1_2". 1503 :type min_protocol_version: str or 1504 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewaySslProtocol 1505 """ 1506 1507 _attribute_map = { 1508 'id': {'key': 'id', 'type': 'str'}, 1509 'name': {'key': 'name', 'type': 'str'}, 1510 'cipher_suites': {'key': 'properties.cipherSuites', 'type': '[str]'}, 1511 'min_protocol_version': {'key': 'properties.minProtocolVersion', 'type': 'str'}, 1512 } 1513 1514 def __init__( 1515 self, 1516 **kwargs 1517 ): 1518 super(ApplicationGatewaySslPredefinedPolicy, self).__init__(**kwargs) 1519 self.name = kwargs.get('name', None) 1520 self.cipher_suites = kwargs.get('cipher_suites', None) 1521 self.min_protocol_version = kwargs.get('min_protocol_version', None) 1522 1523 1524class ApplicationGatewayUrlPathMap(SubResource): 1525 """UrlPathMaps give a url path to the backend mapping information for PathBasedRouting. 1526 1527 :param id: Resource ID. 1528 :type id: str 1529 :param name: Name of the URL path map that is unique within an Application Gateway. 1530 :type name: str 1531 :param etag: A unique read-only string that changes whenever the resource is updated. 1532 :type etag: str 1533 :param type: Type of the resource. 1534 :type type: str 1535 :param default_backend_address_pool: Default backend address pool resource of URL path map. 1536 :type default_backend_address_pool: ~azure.mgmt.network.v2018_07_01.models.SubResource 1537 :param default_backend_http_settings: Default backend http settings resource of URL path map. 1538 :type default_backend_http_settings: ~azure.mgmt.network.v2018_07_01.models.SubResource 1539 :param default_redirect_configuration: Default redirect configuration resource of URL path map. 1540 :type default_redirect_configuration: ~azure.mgmt.network.v2018_07_01.models.SubResource 1541 :param path_rules: Path rule of URL path map resource. 1542 :type path_rules: list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayPathRule] 1543 :param provisioning_state: Provisioning state of the backend http settings resource. Possible 1544 values are: 'Updating', 'Deleting', and 'Failed'. 1545 :type provisioning_state: str 1546 """ 1547 1548 _attribute_map = { 1549 'id': {'key': 'id', 'type': 'str'}, 1550 'name': {'key': 'name', 'type': 'str'}, 1551 'etag': {'key': 'etag', 'type': 'str'}, 1552 'type': {'key': 'type', 'type': 'str'}, 1553 'default_backend_address_pool': {'key': 'properties.defaultBackendAddressPool', 'type': 'SubResource'}, 1554 'default_backend_http_settings': {'key': 'properties.defaultBackendHttpSettings', 'type': 'SubResource'}, 1555 'default_redirect_configuration': {'key': 'properties.defaultRedirectConfiguration', 'type': 'SubResource'}, 1556 'path_rules': {'key': 'properties.pathRules', 'type': '[ApplicationGatewayPathRule]'}, 1557 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1558 } 1559 1560 def __init__( 1561 self, 1562 **kwargs 1563 ): 1564 super(ApplicationGatewayUrlPathMap, self).__init__(**kwargs) 1565 self.name = kwargs.get('name', None) 1566 self.etag = kwargs.get('etag', None) 1567 self.type = kwargs.get('type', None) 1568 self.default_backend_address_pool = kwargs.get('default_backend_address_pool', None) 1569 self.default_backend_http_settings = kwargs.get('default_backend_http_settings', None) 1570 self.default_redirect_configuration = kwargs.get('default_redirect_configuration', None) 1571 self.path_rules = kwargs.get('path_rules', None) 1572 self.provisioning_state = kwargs.get('provisioning_state', None) 1573 1574 1575class ApplicationGatewayWebApplicationFirewallConfiguration(msrest.serialization.Model): 1576 """Application gateway web application firewall configuration. 1577 1578 All required parameters must be populated in order to send to Azure. 1579 1580 :param enabled: Required. Whether the web application firewall is enabled or not. 1581 :type enabled: bool 1582 :param firewall_mode: Required. Web application firewall mode. Possible values include: 1583 "Detection", "Prevention". 1584 :type firewall_mode: str or 1585 ~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayFirewallMode 1586 :param rule_set_type: Required. The type of the web application firewall rule set. Possible 1587 values are: 'OWASP'. 1588 :type rule_set_type: str 1589 :param rule_set_version: Required. The version of the rule set type. 1590 :type rule_set_version: str 1591 :param disabled_rule_groups: The disabled rule groups. 1592 :type disabled_rule_groups: 1593 list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayFirewallDisabledRuleGroup] 1594 :param request_body_check: Whether allow WAF to check request Body. 1595 :type request_body_check: bool 1596 :param max_request_body_size: Maximum request body size for WAF. 1597 :type max_request_body_size: int 1598 """ 1599 1600 _validation = { 1601 'enabled': {'required': True}, 1602 'firewall_mode': {'required': True}, 1603 'rule_set_type': {'required': True}, 1604 'rule_set_version': {'required': True}, 1605 'max_request_body_size': {'maximum': 128, 'minimum': 8}, 1606 } 1607 1608 _attribute_map = { 1609 'enabled': {'key': 'enabled', 'type': 'bool'}, 1610 'firewall_mode': {'key': 'firewallMode', 'type': 'str'}, 1611 'rule_set_type': {'key': 'ruleSetType', 'type': 'str'}, 1612 'rule_set_version': {'key': 'ruleSetVersion', 'type': 'str'}, 1613 'disabled_rule_groups': {'key': 'disabledRuleGroups', 'type': '[ApplicationGatewayFirewallDisabledRuleGroup]'}, 1614 'request_body_check': {'key': 'requestBodyCheck', 'type': 'bool'}, 1615 'max_request_body_size': {'key': 'maxRequestBodySize', 'type': 'int'}, 1616 } 1617 1618 def __init__( 1619 self, 1620 **kwargs 1621 ): 1622 super(ApplicationGatewayWebApplicationFirewallConfiguration, self).__init__(**kwargs) 1623 self.enabled = kwargs['enabled'] 1624 self.firewall_mode = kwargs['firewall_mode'] 1625 self.rule_set_type = kwargs['rule_set_type'] 1626 self.rule_set_version = kwargs['rule_set_version'] 1627 self.disabled_rule_groups = kwargs.get('disabled_rule_groups', None) 1628 self.request_body_check = kwargs.get('request_body_check', None) 1629 self.max_request_body_size = kwargs.get('max_request_body_size', None) 1630 1631 1632class ApplicationSecurityGroup(Resource): 1633 """An application security group in a resource group. 1634 1635 Variables are only populated by the server, and will be ignored when sending a request. 1636 1637 :param id: Resource ID. 1638 :type id: str 1639 :ivar name: Resource name. 1640 :vartype name: str 1641 :ivar type: Resource type. 1642 :vartype type: str 1643 :param location: Resource location. 1644 :type location: str 1645 :param tags: A set of tags. Resource tags. 1646 :type tags: dict[str, str] 1647 :ivar etag: A unique read-only string that changes whenever the resource is updated. 1648 :vartype etag: str 1649 :ivar resource_guid: The resource GUID property of the application security group resource. It 1650 uniquely identifies a resource, even if the user changes its name or migrate the resource 1651 across subscriptions or resource groups. 1652 :vartype resource_guid: str 1653 :ivar provisioning_state: The provisioning state of the application security group resource. 1654 Possible values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'. 1655 :vartype provisioning_state: str 1656 """ 1657 1658 _validation = { 1659 'name': {'readonly': True}, 1660 'type': {'readonly': True}, 1661 'etag': {'readonly': True}, 1662 'resource_guid': {'readonly': True}, 1663 'provisioning_state': {'readonly': True}, 1664 } 1665 1666 _attribute_map = { 1667 'id': {'key': 'id', 'type': 'str'}, 1668 'name': {'key': 'name', 'type': 'str'}, 1669 'type': {'key': 'type', 'type': 'str'}, 1670 'location': {'key': 'location', 'type': 'str'}, 1671 'tags': {'key': 'tags', 'type': '{str}'}, 1672 'etag': {'key': 'etag', 'type': 'str'}, 1673 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 1674 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1675 } 1676 1677 def __init__( 1678 self, 1679 **kwargs 1680 ): 1681 super(ApplicationSecurityGroup, self).__init__(**kwargs) 1682 self.etag = None 1683 self.resource_guid = None 1684 self.provisioning_state = None 1685 1686 1687class ApplicationSecurityGroupListResult(msrest.serialization.Model): 1688 """A list of application security groups. 1689 1690 Variables are only populated by the server, and will be ignored when sending a request. 1691 1692 :param value: A list of application security groups. 1693 :type value: list[~azure.mgmt.network.v2018_07_01.models.ApplicationSecurityGroup] 1694 :ivar next_link: The URL to get the next set of results. 1695 :vartype next_link: str 1696 """ 1697 1698 _validation = { 1699 'next_link': {'readonly': True}, 1700 } 1701 1702 _attribute_map = { 1703 'value': {'key': 'value', 'type': '[ApplicationSecurityGroup]'}, 1704 'next_link': {'key': 'nextLink', 'type': 'str'}, 1705 } 1706 1707 def __init__( 1708 self, 1709 **kwargs 1710 ): 1711 super(ApplicationSecurityGroupListResult, self).__init__(**kwargs) 1712 self.value = kwargs.get('value', None) 1713 self.next_link = None 1714 1715 1716class AuthorizationListResult(msrest.serialization.Model): 1717 """Response for ListAuthorizations API service call retrieves all authorizations that belongs to an ExpressRouteCircuit. 1718 1719 :param value: The authorizations in an ExpressRoute Circuit. 1720 :type value: list[~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitAuthorization] 1721 :param next_link: The URL to get the next set of results. 1722 :type next_link: str 1723 """ 1724 1725 _attribute_map = { 1726 'value': {'key': 'value', 'type': '[ExpressRouteCircuitAuthorization]'}, 1727 'next_link': {'key': 'nextLink', 'type': 'str'}, 1728 } 1729 1730 def __init__( 1731 self, 1732 **kwargs 1733 ): 1734 super(AuthorizationListResult, self).__init__(**kwargs) 1735 self.value = kwargs.get('value', None) 1736 self.next_link = kwargs.get('next_link', None) 1737 1738 1739class Availability(msrest.serialization.Model): 1740 """Availability of the metric. 1741 1742 :param time_grain: The time grain of the availability. 1743 :type time_grain: str 1744 :param retention: The retention of the availability. 1745 :type retention: str 1746 :param blob_duration: Duration of the availability blob. 1747 :type blob_duration: str 1748 """ 1749 1750 _attribute_map = { 1751 'time_grain': {'key': 'timeGrain', 'type': 'str'}, 1752 'retention': {'key': 'retention', 'type': 'str'}, 1753 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, 1754 } 1755 1756 def __init__( 1757 self, 1758 **kwargs 1759 ): 1760 super(Availability, self).__init__(**kwargs) 1761 self.time_grain = kwargs.get('time_grain', None) 1762 self.retention = kwargs.get('retention', None) 1763 self.blob_duration = kwargs.get('blob_duration', None) 1764 1765 1766class AvailableProvidersList(msrest.serialization.Model): 1767 """List of available countries with details. 1768 1769 All required parameters must be populated in order to send to Azure. 1770 1771 :param countries: Required. List of available countries. 1772 :type countries: list[~azure.mgmt.network.v2018_07_01.models.AvailableProvidersListCountry] 1773 """ 1774 1775 _validation = { 1776 'countries': {'required': True}, 1777 } 1778 1779 _attribute_map = { 1780 'countries': {'key': 'countries', 'type': '[AvailableProvidersListCountry]'}, 1781 } 1782 1783 def __init__( 1784 self, 1785 **kwargs 1786 ): 1787 super(AvailableProvidersList, self).__init__(**kwargs) 1788 self.countries = kwargs['countries'] 1789 1790 1791class AvailableProvidersListCity(msrest.serialization.Model): 1792 """City or town details. 1793 1794 :param city_name: The city or town name. 1795 :type city_name: str 1796 :param providers: A list of Internet service providers. 1797 :type providers: list[str] 1798 """ 1799 1800 _attribute_map = { 1801 'city_name': {'key': 'cityName', 'type': 'str'}, 1802 'providers': {'key': 'providers', 'type': '[str]'}, 1803 } 1804 1805 def __init__( 1806 self, 1807 **kwargs 1808 ): 1809 super(AvailableProvidersListCity, self).__init__(**kwargs) 1810 self.city_name = kwargs.get('city_name', None) 1811 self.providers = kwargs.get('providers', None) 1812 1813 1814class AvailableProvidersListCountry(msrest.serialization.Model): 1815 """Country details. 1816 1817 :param country_name: The country name. 1818 :type country_name: str 1819 :param providers: A list of Internet service providers. 1820 :type providers: list[str] 1821 :param states: List of available states in the country. 1822 :type states: list[~azure.mgmt.network.v2018_07_01.models.AvailableProvidersListState] 1823 """ 1824 1825 _attribute_map = { 1826 'country_name': {'key': 'countryName', 'type': 'str'}, 1827 'providers': {'key': 'providers', 'type': '[str]'}, 1828 'states': {'key': 'states', 'type': '[AvailableProvidersListState]'}, 1829 } 1830 1831 def __init__( 1832 self, 1833 **kwargs 1834 ): 1835 super(AvailableProvidersListCountry, self).__init__(**kwargs) 1836 self.country_name = kwargs.get('country_name', None) 1837 self.providers = kwargs.get('providers', None) 1838 self.states = kwargs.get('states', None) 1839 1840 1841class AvailableProvidersListParameters(msrest.serialization.Model): 1842 """Constraints that determine the list of available Internet service providers. 1843 1844 :param azure_locations: A list of Azure regions. 1845 :type azure_locations: list[str] 1846 :param country: The country for available providers list. 1847 :type country: str 1848 :param state: The state for available providers list. 1849 :type state: str 1850 :param city: The city or town for available providers list. 1851 :type city: str 1852 """ 1853 1854 _attribute_map = { 1855 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, 1856 'country': {'key': 'country', 'type': 'str'}, 1857 'state': {'key': 'state', 'type': 'str'}, 1858 'city': {'key': 'city', 'type': 'str'}, 1859 } 1860 1861 def __init__( 1862 self, 1863 **kwargs 1864 ): 1865 super(AvailableProvidersListParameters, self).__init__(**kwargs) 1866 self.azure_locations = kwargs.get('azure_locations', None) 1867 self.country = kwargs.get('country', None) 1868 self.state = kwargs.get('state', None) 1869 self.city = kwargs.get('city', None) 1870 1871 1872class AvailableProvidersListState(msrest.serialization.Model): 1873 """State details. 1874 1875 :param state_name: The state name. 1876 :type state_name: str 1877 :param providers: A list of Internet service providers. 1878 :type providers: list[str] 1879 :param cities: List of available cities or towns in the state. 1880 :type cities: list[~azure.mgmt.network.v2018_07_01.models.AvailableProvidersListCity] 1881 """ 1882 1883 _attribute_map = { 1884 'state_name': {'key': 'stateName', 'type': 'str'}, 1885 'providers': {'key': 'providers', 'type': '[str]'}, 1886 'cities': {'key': 'cities', 'type': '[AvailableProvidersListCity]'}, 1887 } 1888 1889 def __init__( 1890 self, 1891 **kwargs 1892 ): 1893 super(AvailableProvidersListState, self).__init__(**kwargs) 1894 self.state_name = kwargs.get('state_name', None) 1895 self.providers = kwargs.get('providers', None) 1896 self.cities = kwargs.get('cities', None) 1897 1898 1899class AzureAsyncOperationResult(msrest.serialization.Model): 1900 """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. 1901 1902 :param status: Status of the Azure async operation. Possible values are: 'InProgress', 1903 'Succeeded', and 'Failed'. Possible values include: "InProgress", "Succeeded", "Failed". 1904 :type status: str or ~azure.mgmt.network.v2018_07_01.models.NetworkOperationStatus 1905 :param error: 1906 :type error: ~azure.mgmt.network.v2018_07_01.models.Error 1907 """ 1908 1909 _attribute_map = { 1910 'status': {'key': 'status', 'type': 'str'}, 1911 'error': {'key': 'error', 'type': 'Error'}, 1912 } 1913 1914 def __init__( 1915 self, 1916 **kwargs 1917 ): 1918 super(AzureAsyncOperationResult, self).__init__(**kwargs) 1919 self.status = kwargs.get('status', None) 1920 self.error = kwargs.get('error', None) 1921 1922 1923class AzureFirewall(Resource): 1924 """Azure Firewall resource. 1925 1926 Variables are only populated by the server, and will be ignored when sending a request. 1927 1928 :param id: Resource ID. 1929 :type id: str 1930 :ivar name: Resource name. 1931 :vartype name: str 1932 :ivar type: Resource type. 1933 :vartype type: str 1934 :param location: Resource location. 1935 :type location: str 1936 :param tags: A set of tags. Resource tags. 1937 :type tags: dict[str, str] 1938 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 1939 :vartype etag: str 1940 :param application_rule_collections: Collection of application rule collections used by a Azure 1941 Firewall. 1942 :type application_rule_collections: 1943 list[~azure.mgmt.network.v2018_07_01.models.AzureFirewallApplicationRuleCollection] 1944 :param network_rule_collections: Collection of network rule collections used by a Azure 1945 Firewall. 1946 :type network_rule_collections: 1947 list[~azure.mgmt.network.v2018_07_01.models.AzureFirewallNetworkRuleCollection] 1948 :param ip_configurations: IP configuration of the Azure Firewall resource. 1949 :type ip_configurations: 1950 list[~azure.mgmt.network.v2018_07_01.models.AzureFirewallIPConfiguration] 1951 :param provisioning_state: The provisioning state of the resource. Possible values include: 1952 "Succeeded", "Updating", "Deleting", "Failed". 1953 :type provisioning_state: str or ~azure.mgmt.network.v2018_07_01.models.ProvisioningState 1954 """ 1955 1956 _validation = { 1957 'name': {'readonly': True}, 1958 'type': {'readonly': True}, 1959 'etag': {'readonly': True}, 1960 } 1961 1962 _attribute_map = { 1963 'id': {'key': 'id', 'type': 'str'}, 1964 'name': {'key': 'name', 'type': 'str'}, 1965 'type': {'key': 'type', 'type': 'str'}, 1966 'location': {'key': 'location', 'type': 'str'}, 1967 'tags': {'key': 'tags', 'type': '{str}'}, 1968 'etag': {'key': 'etag', 'type': 'str'}, 1969 'application_rule_collections': {'key': 'properties.applicationRuleCollections', 'type': '[AzureFirewallApplicationRuleCollection]'}, 1970 'network_rule_collections': {'key': 'properties.networkRuleCollections', 'type': '[AzureFirewallNetworkRuleCollection]'}, 1971 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[AzureFirewallIPConfiguration]'}, 1972 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 1973 } 1974 1975 def __init__( 1976 self, 1977 **kwargs 1978 ): 1979 super(AzureFirewall, self).__init__(**kwargs) 1980 self.etag = None 1981 self.application_rule_collections = kwargs.get('application_rule_collections', None) 1982 self.network_rule_collections = kwargs.get('network_rule_collections', None) 1983 self.ip_configurations = kwargs.get('ip_configurations', None) 1984 self.provisioning_state = kwargs.get('provisioning_state', None) 1985 1986 1987class AzureFirewallApplicationRule(msrest.serialization.Model): 1988 """Properties of an application rule. 1989 1990 :param name: Name of the application rule. 1991 :type name: str 1992 :param description: Description of the rule. 1993 :type description: str 1994 :param source_addresses: List of source IP addresses for this rule. 1995 :type source_addresses: list[str] 1996 :param protocols: Array of ApplicationRuleProtocols. 1997 :type protocols: 1998 list[~azure.mgmt.network.v2018_07_01.models.AzureFirewallApplicationRuleProtocol] 1999 :param target_urls: List of URLs for this rule. 2000 :type target_urls: list[str] 2001 """ 2002 2003 _attribute_map = { 2004 'name': {'key': 'name', 'type': 'str'}, 2005 'description': {'key': 'description', 'type': 'str'}, 2006 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, 2007 'protocols': {'key': 'protocols', 'type': '[AzureFirewallApplicationRuleProtocol]'}, 2008 'target_urls': {'key': 'targetUrls', 'type': '[str]'}, 2009 } 2010 2011 def __init__( 2012 self, 2013 **kwargs 2014 ): 2015 super(AzureFirewallApplicationRule, self).__init__(**kwargs) 2016 self.name = kwargs.get('name', None) 2017 self.description = kwargs.get('description', None) 2018 self.source_addresses = kwargs.get('source_addresses', None) 2019 self.protocols = kwargs.get('protocols', None) 2020 self.target_urls = kwargs.get('target_urls', None) 2021 2022 2023class AzureFirewallApplicationRuleCollection(SubResource): 2024 """Application rule collection resource. 2025 2026 Variables are only populated by the server, and will be ignored when sending a request. 2027 2028 :param id: Resource ID. 2029 :type id: str 2030 :param name: Gets name of the resource that is unique within a resource group. This name can be 2031 used to access the resource. 2032 :type name: str 2033 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 2034 :vartype etag: str 2035 :param priority: Priority of the application rule collection resource. 2036 :type priority: int 2037 :param action: The action type of a rule collection. 2038 :type action: ~azure.mgmt.network.v2018_07_01.models.AzureFirewallRCAction 2039 :param rules: Collection of rules used by a application rule collection. 2040 :type rules: list[~azure.mgmt.network.v2018_07_01.models.AzureFirewallApplicationRule] 2041 :param provisioning_state: The provisioning state of the resource. Possible values include: 2042 "Succeeded", "Updating", "Deleting", "Failed". 2043 :type provisioning_state: str or ~azure.mgmt.network.v2018_07_01.models.ProvisioningState 2044 """ 2045 2046 _validation = { 2047 'etag': {'readonly': True}, 2048 'priority': {'maximum': 65000, 'minimum': 100}, 2049 } 2050 2051 _attribute_map = { 2052 'id': {'key': 'id', 'type': 'str'}, 2053 'name': {'key': 'name', 'type': 'str'}, 2054 'etag': {'key': 'etag', 'type': 'str'}, 2055 'priority': {'key': 'properties.priority', 'type': 'int'}, 2056 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, 2057 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallApplicationRule]'}, 2058 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2059 } 2060 2061 def __init__( 2062 self, 2063 **kwargs 2064 ): 2065 super(AzureFirewallApplicationRuleCollection, self).__init__(**kwargs) 2066 self.name = kwargs.get('name', None) 2067 self.etag = None 2068 self.priority = kwargs.get('priority', None) 2069 self.action = kwargs.get('action', None) 2070 self.rules = kwargs.get('rules', None) 2071 self.provisioning_state = kwargs.get('provisioning_state', None) 2072 2073 2074class AzureFirewallApplicationRuleProtocol(msrest.serialization.Model): 2075 """Properties of the application rule protocol. 2076 2077 :param protocol_type: Protocol type. Possible values include: "Http", "Https". 2078 :type protocol_type: str or 2079 ~azure.mgmt.network.v2018_07_01.models.AzureFirewallApplicationRuleProtocolType 2080 :param port: Port number for the protocol, cannot be greater than 64000. This field is 2081 optional. 2082 :type port: int 2083 """ 2084 2085 _validation = { 2086 'port': {'maximum': 64000, 'minimum': 0}, 2087 } 2088 2089 _attribute_map = { 2090 'protocol_type': {'key': 'protocolType', 'type': 'str'}, 2091 'port': {'key': 'port', 'type': 'int'}, 2092 } 2093 2094 def __init__( 2095 self, 2096 **kwargs 2097 ): 2098 super(AzureFirewallApplicationRuleProtocol, self).__init__(**kwargs) 2099 self.protocol_type = kwargs.get('protocol_type', None) 2100 self.port = kwargs.get('port', None) 2101 2102 2103class AzureFirewallIPConfiguration(SubResource): 2104 """IP configuration of an Azure Firewall. 2105 2106 :param id: Resource ID. 2107 :type id: str 2108 :param name: Name of the resource that is unique within a resource group. This name can be used 2109 to access the resource. 2110 :type name: str 2111 :param etag: A unique read-only string that changes whenever the resource is updated. 2112 :type etag: str 2113 :param private_ip_address: The Firewall Internal Load Balancer IP to be used as the next hop in 2114 User Defined Routes. 2115 :type private_ip_address: str 2116 :param subnet: Reference of the subnet resource. This resource must be named 2117 'AzureFirewallSubnet'. 2118 :type subnet: ~azure.mgmt.network.v2018_07_01.models.SubResource 2119 :param internal_public_ip_address: Reference of the PublicIP resource. This field is a 2120 mandatory input. 2121 :type internal_public_ip_address: ~azure.mgmt.network.v2018_07_01.models.SubResource 2122 :param public_ip_address: Reference of the PublicIP resource. This field is populated in the 2123 output. 2124 :type public_ip_address: ~azure.mgmt.network.v2018_07_01.models.SubResource 2125 :param provisioning_state: The provisioning state of the resource. Possible values include: 2126 "Succeeded", "Updating", "Deleting", "Failed". 2127 :type provisioning_state: str or ~azure.mgmt.network.v2018_07_01.models.ProvisioningState 2128 """ 2129 2130 _attribute_map = { 2131 'id': {'key': 'id', 'type': 'str'}, 2132 'name': {'key': 'name', 'type': 'str'}, 2133 'etag': {'key': 'etag', 'type': 'str'}, 2134 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 2135 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 2136 'internal_public_ip_address': {'key': 'properties.internalPublicIpAddress', 'type': 'SubResource'}, 2137 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, 2138 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2139 } 2140 2141 def __init__( 2142 self, 2143 **kwargs 2144 ): 2145 super(AzureFirewallIPConfiguration, self).__init__(**kwargs) 2146 self.name = kwargs.get('name', None) 2147 self.etag = kwargs.get('etag', None) 2148 self.private_ip_address = kwargs.get('private_ip_address', None) 2149 self.subnet = kwargs.get('subnet', None) 2150 self.internal_public_ip_address = kwargs.get('internal_public_ip_address', None) 2151 self.public_ip_address = kwargs.get('public_ip_address', None) 2152 self.provisioning_state = kwargs.get('provisioning_state', None) 2153 2154 2155class AzureFirewallListResult(msrest.serialization.Model): 2156 """Response for ListAzureFirewalls API service call. 2157 2158 :param value: List of a Azure Firewalls in a resource group. 2159 :type value: list[~azure.mgmt.network.v2018_07_01.models.AzureFirewall] 2160 :param next_link: URL to get the next set of results. 2161 :type next_link: str 2162 """ 2163 2164 _attribute_map = { 2165 'value': {'key': 'value', 'type': '[AzureFirewall]'}, 2166 'next_link': {'key': 'nextLink', 'type': 'str'}, 2167 } 2168 2169 def __init__( 2170 self, 2171 **kwargs 2172 ): 2173 super(AzureFirewallListResult, self).__init__(**kwargs) 2174 self.value = kwargs.get('value', None) 2175 self.next_link = kwargs.get('next_link', None) 2176 2177 2178class AzureFirewallNetworkRule(msrest.serialization.Model): 2179 """Properties of the network rule. 2180 2181 :param name: Name of the network rule. 2182 :type name: str 2183 :param description: Description of the rule. 2184 :type description: str 2185 :param protocols: Array of AzureFirewallNetworkRuleProtocols. 2186 :type protocols: list[str or 2187 ~azure.mgmt.network.v2018_07_01.models.AzureFirewallNetworkRuleProtocol] 2188 :param source_addresses: List of source IP addresses for this rule. 2189 :type source_addresses: list[str] 2190 :param destination_addresses: List of destination IP addresses. 2191 :type destination_addresses: list[str] 2192 :param destination_ports: List of destination ports. 2193 :type destination_ports: list[str] 2194 """ 2195 2196 _attribute_map = { 2197 'name': {'key': 'name', 'type': 'str'}, 2198 'description': {'key': 'description', 'type': 'str'}, 2199 'protocols': {'key': 'protocols', 'type': '[str]'}, 2200 'source_addresses': {'key': 'sourceAddresses', 'type': '[str]'}, 2201 'destination_addresses': {'key': 'destinationAddresses', 'type': '[str]'}, 2202 'destination_ports': {'key': 'destinationPorts', 'type': '[str]'}, 2203 } 2204 2205 def __init__( 2206 self, 2207 **kwargs 2208 ): 2209 super(AzureFirewallNetworkRule, self).__init__(**kwargs) 2210 self.name = kwargs.get('name', None) 2211 self.description = kwargs.get('description', None) 2212 self.protocols = kwargs.get('protocols', None) 2213 self.source_addresses = kwargs.get('source_addresses', None) 2214 self.destination_addresses = kwargs.get('destination_addresses', None) 2215 self.destination_ports = kwargs.get('destination_ports', None) 2216 2217 2218class AzureFirewallNetworkRuleCollection(SubResource): 2219 """Network rule collection resource. 2220 2221 Variables are only populated by the server, and will be ignored when sending a request. 2222 2223 :param id: Resource ID. 2224 :type id: str 2225 :param name: Gets name of the resource that is unique within a resource group. This name can be 2226 used to access the resource. 2227 :type name: str 2228 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 2229 :vartype etag: str 2230 :param priority: Priority of the network rule collection resource. 2231 :type priority: int 2232 :param action: The action type of a rule collection. 2233 :type action: ~azure.mgmt.network.v2018_07_01.models.AzureFirewallRCAction 2234 :param rules: Collection of rules used by a network rule collection. 2235 :type rules: list[~azure.mgmt.network.v2018_07_01.models.AzureFirewallNetworkRule] 2236 :param provisioning_state: The provisioning state of the resource. Possible values include: 2237 "Succeeded", "Updating", "Deleting", "Failed". 2238 :type provisioning_state: str or ~azure.mgmt.network.v2018_07_01.models.ProvisioningState 2239 """ 2240 2241 _validation = { 2242 'etag': {'readonly': True}, 2243 'priority': {'maximum': 65000, 'minimum': 100}, 2244 } 2245 2246 _attribute_map = { 2247 'id': {'key': 'id', 'type': 'str'}, 2248 'name': {'key': 'name', 'type': 'str'}, 2249 'etag': {'key': 'etag', 'type': 'str'}, 2250 'priority': {'key': 'properties.priority', 'type': 'int'}, 2251 'action': {'key': 'properties.action', 'type': 'AzureFirewallRCAction'}, 2252 'rules': {'key': 'properties.rules', 'type': '[AzureFirewallNetworkRule]'}, 2253 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2254 } 2255 2256 def __init__( 2257 self, 2258 **kwargs 2259 ): 2260 super(AzureFirewallNetworkRuleCollection, self).__init__(**kwargs) 2261 self.name = kwargs.get('name', None) 2262 self.etag = None 2263 self.priority = kwargs.get('priority', None) 2264 self.action = kwargs.get('action', None) 2265 self.rules = kwargs.get('rules', None) 2266 self.provisioning_state = kwargs.get('provisioning_state', None) 2267 2268 2269class AzureFirewallRCAction(msrest.serialization.Model): 2270 """Properties of the AzureFirewallRCAction. 2271 2272 :param type: The type of action. Possible values include: "Allow", "Deny". 2273 :type type: str or ~azure.mgmt.network.v2018_07_01.models.AzureFirewallRCActionType 2274 """ 2275 2276 _attribute_map = { 2277 'type': {'key': 'type', 'type': 'str'}, 2278 } 2279 2280 def __init__( 2281 self, 2282 **kwargs 2283 ): 2284 super(AzureFirewallRCAction, self).__init__(**kwargs) 2285 self.type = kwargs.get('type', None) 2286 2287 2288class AzureReachabilityReport(msrest.serialization.Model): 2289 """Azure reachability report details. 2290 2291 All required parameters must be populated in order to send to Azure. 2292 2293 :param aggregation_level: Required. The aggregation level of Azure reachability report. Can be 2294 Country, State or City. 2295 :type aggregation_level: str 2296 :param provider_location: Required. Parameters that define a geographic location. 2297 :type provider_location: ~azure.mgmt.network.v2018_07_01.models.AzureReachabilityReportLocation 2298 :param reachability_report: Required. List of Azure reachability report items. 2299 :type reachability_report: 2300 list[~azure.mgmt.network.v2018_07_01.models.AzureReachabilityReportItem] 2301 """ 2302 2303 _validation = { 2304 'aggregation_level': {'required': True}, 2305 'provider_location': {'required': True}, 2306 'reachability_report': {'required': True}, 2307 } 2308 2309 _attribute_map = { 2310 'aggregation_level': {'key': 'aggregationLevel', 'type': 'str'}, 2311 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, 2312 'reachability_report': {'key': 'reachabilityReport', 'type': '[AzureReachabilityReportItem]'}, 2313 } 2314 2315 def __init__( 2316 self, 2317 **kwargs 2318 ): 2319 super(AzureReachabilityReport, self).__init__(**kwargs) 2320 self.aggregation_level = kwargs['aggregation_level'] 2321 self.provider_location = kwargs['provider_location'] 2322 self.reachability_report = kwargs['reachability_report'] 2323 2324 2325class AzureReachabilityReportItem(msrest.serialization.Model): 2326 """Azure reachability report details for a given provider location. 2327 2328 :param provider: The Internet service provider. 2329 :type provider: str 2330 :param azure_location: The Azure region. 2331 :type azure_location: str 2332 :param latencies: List of latency details for each of the time series. 2333 :type latencies: 2334 list[~azure.mgmt.network.v2018_07_01.models.AzureReachabilityReportLatencyInfo] 2335 """ 2336 2337 _attribute_map = { 2338 'provider': {'key': 'provider', 'type': 'str'}, 2339 'azure_location': {'key': 'azureLocation', 'type': 'str'}, 2340 'latencies': {'key': 'latencies', 'type': '[AzureReachabilityReportLatencyInfo]'}, 2341 } 2342 2343 def __init__( 2344 self, 2345 **kwargs 2346 ): 2347 super(AzureReachabilityReportItem, self).__init__(**kwargs) 2348 self.provider = kwargs.get('provider', None) 2349 self.azure_location = kwargs.get('azure_location', None) 2350 self.latencies = kwargs.get('latencies', None) 2351 2352 2353class AzureReachabilityReportLatencyInfo(msrest.serialization.Model): 2354 """Details on latency for a time series. 2355 2356 :param time_stamp: The time stamp. 2357 :type time_stamp: ~datetime.datetime 2358 :param score: The relative latency score between 1 and 100, higher values indicating a faster 2359 connection. 2360 :type score: int 2361 """ 2362 2363 _validation = { 2364 'score': {'maximum': 100, 'minimum': 1}, 2365 } 2366 2367 _attribute_map = { 2368 'time_stamp': {'key': 'timeStamp', 'type': 'iso-8601'}, 2369 'score': {'key': 'score', 'type': 'int'}, 2370 } 2371 2372 def __init__( 2373 self, 2374 **kwargs 2375 ): 2376 super(AzureReachabilityReportLatencyInfo, self).__init__(**kwargs) 2377 self.time_stamp = kwargs.get('time_stamp', None) 2378 self.score = kwargs.get('score', None) 2379 2380 2381class AzureReachabilityReportLocation(msrest.serialization.Model): 2382 """Parameters that define a geographic location. 2383 2384 All required parameters must be populated in order to send to Azure. 2385 2386 :param country: Required. The name of the country. 2387 :type country: str 2388 :param state: The name of the state. 2389 :type state: str 2390 :param city: The name of the city or town. 2391 :type city: str 2392 """ 2393 2394 _validation = { 2395 'country': {'required': True}, 2396 } 2397 2398 _attribute_map = { 2399 'country': {'key': 'country', 'type': 'str'}, 2400 'state': {'key': 'state', 'type': 'str'}, 2401 'city': {'key': 'city', 'type': 'str'}, 2402 } 2403 2404 def __init__( 2405 self, 2406 **kwargs 2407 ): 2408 super(AzureReachabilityReportLocation, self).__init__(**kwargs) 2409 self.country = kwargs['country'] 2410 self.state = kwargs.get('state', None) 2411 self.city = kwargs.get('city', None) 2412 2413 2414class AzureReachabilityReportParameters(msrest.serialization.Model): 2415 """Geographic and time constraints for Azure reachability report. 2416 2417 All required parameters must be populated in order to send to Azure. 2418 2419 :param provider_location: Required. Parameters that define a geographic location. 2420 :type provider_location: ~azure.mgmt.network.v2018_07_01.models.AzureReachabilityReportLocation 2421 :param providers: List of Internet service providers. 2422 :type providers: list[str] 2423 :param azure_locations: Optional Azure regions to scope the query to. 2424 :type azure_locations: list[str] 2425 :param start_time: Required. The start time for the Azure reachability report. 2426 :type start_time: ~datetime.datetime 2427 :param end_time: Required. The end time for the Azure reachability report. 2428 :type end_time: ~datetime.datetime 2429 """ 2430 2431 _validation = { 2432 'provider_location': {'required': True}, 2433 'start_time': {'required': True}, 2434 'end_time': {'required': True}, 2435 } 2436 2437 _attribute_map = { 2438 'provider_location': {'key': 'providerLocation', 'type': 'AzureReachabilityReportLocation'}, 2439 'providers': {'key': 'providers', 'type': '[str]'}, 2440 'azure_locations': {'key': 'azureLocations', 'type': '[str]'}, 2441 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 2442 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 2443 } 2444 2445 def __init__( 2446 self, 2447 **kwargs 2448 ): 2449 super(AzureReachabilityReportParameters, self).__init__(**kwargs) 2450 self.provider_location = kwargs['provider_location'] 2451 self.providers = kwargs.get('providers', None) 2452 self.azure_locations = kwargs.get('azure_locations', None) 2453 self.start_time = kwargs['start_time'] 2454 self.end_time = kwargs['end_time'] 2455 2456 2457class BackendAddressPool(SubResource): 2458 """Pool of backend IP addresses. 2459 2460 Variables are only populated by the server, and will be ignored when sending a request. 2461 2462 :param id: Resource ID. 2463 :type id: str 2464 :param name: Gets name of the resource that is unique within a resource group. This name can be 2465 used to access the resource. 2466 :type name: str 2467 :param etag: A unique read-only string that changes whenever the resource is updated. 2468 :type etag: str 2469 :ivar backend_ip_configurations: Gets collection of references to IP addresses defined in 2470 network interfaces. 2471 :vartype backend_ip_configurations: 2472 list[~azure.mgmt.network.v2018_07_01.models.NetworkInterfaceIPConfiguration] 2473 :ivar load_balancing_rules: Gets load balancing rules that use this backend address pool. 2474 :vartype load_balancing_rules: list[~azure.mgmt.network.v2018_07_01.models.SubResource] 2475 :ivar outbound_rule: Gets outbound rules that use this backend address pool. 2476 :vartype outbound_rule: ~azure.mgmt.network.v2018_07_01.models.SubResource 2477 :ivar outbound_rules: Gets outbound rules that use this backend address pool. 2478 :vartype outbound_rules: list[~azure.mgmt.network.v2018_07_01.models.SubResource] 2479 :param provisioning_state: Get provisioning state of the public IP resource. Possible values 2480 are: 'Updating', 'Deleting', and 'Failed'. 2481 :type provisioning_state: str 2482 """ 2483 2484 _validation = { 2485 'backend_ip_configurations': {'readonly': True}, 2486 'load_balancing_rules': {'readonly': True}, 2487 'outbound_rule': {'readonly': True}, 2488 'outbound_rules': {'readonly': True}, 2489 } 2490 2491 _attribute_map = { 2492 'id': {'key': 'id', 'type': 'str'}, 2493 'name': {'key': 'name', 'type': 'str'}, 2494 'etag': {'key': 'etag', 'type': 'str'}, 2495 'backend_ip_configurations': {'key': 'properties.backendIPConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 2496 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 2497 'outbound_rule': {'key': 'properties.outboundRule', 'type': 'SubResource'}, 2498 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, 2499 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2500 } 2501 2502 def __init__( 2503 self, 2504 **kwargs 2505 ): 2506 super(BackendAddressPool, self).__init__(**kwargs) 2507 self.name = kwargs.get('name', None) 2508 self.etag = kwargs.get('etag', None) 2509 self.backend_ip_configurations = None 2510 self.load_balancing_rules = None 2511 self.outbound_rule = None 2512 self.outbound_rules = None 2513 self.provisioning_state = kwargs.get('provisioning_state', None) 2514 2515 2516class BGPCommunity(msrest.serialization.Model): 2517 """Contains bgp community information offered in Service Community resources. 2518 2519 :param service_supported_region: The region which the service support. e.g. For O365, region is 2520 Global. 2521 :type service_supported_region: str 2522 :param community_name: The name of the bgp community. e.g. Skype. 2523 :type community_name: str 2524 :param community_value: The value of the bgp community. For more information: 2525 https://docs.microsoft.com/en-us/azure/expressroute/expressroute-routing. 2526 :type community_value: str 2527 :param community_prefixes: The prefixes that the bgp community contains. 2528 :type community_prefixes: list[str] 2529 :param is_authorized_to_use: Customer is authorized to use bgp community or not. 2530 :type is_authorized_to_use: bool 2531 :param service_group: The service group of the bgp community contains. 2532 :type service_group: str 2533 """ 2534 2535 _attribute_map = { 2536 'service_supported_region': {'key': 'serviceSupportedRegion', 'type': 'str'}, 2537 'community_name': {'key': 'communityName', 'type': 'str'}, 2538 'community_value': {'key': 'communityValue', 'type': 'str'}, 2539 'community_prefixes': {'key': 'communityPrefixes', 'type': '[str]'}, 2540 'is_authorized_to_use': {'key': 'isAuthorizedToUse', 'type': 'bool'}, 2541 'service_group': {'key': 'serviceGroup', 'type': 'str'}, 2542 } 2543 2544 def __init__( 2545 self, 2546 **kwargs 2547 ): 2548 super(BGPCommunity, self).__init__(**kwargs) 2549 self.service_supported_region = kwargs.get('service_supported_region', None) 2550 self.community_name = kwargs.get('community_name', None) 2551 self.community_value = kwargs.get('community_value', None) 2552 self.community_prefixes = kwargs.get('community_prefixes', None) 2553 self.is_authorized_to_use = kwargs.get('is_authorized_to_use', None) 2554 self.service_group = kwargs.get('service_group', None) 2555 2556 2557class BgpPeerStatus(msrest.serialization.Model): 2558 """BGP peer status details. 2559 2560 Variables are only populated by the server, and will be ignored when sending a request. 2561 2562 :ivar local_address: The virtual network gateway's local address. 2563 :vartype local_address: str 2564 :ivar neighbor: The remote BGP peer. 2565 :vartype neighbor: str 2566 :ivar asn: The autonomous system number of the remote BGP peer. 2567 :vartype asn: int 2568 :ivar state: The BGP peer state. Possible values include: "Unknown", "Stopped", "Idle", 2569 "Connecting", "Connected". 2570 :vartype state: str or ~azure.mgmt.network.v2018_07_01.models.BgpPeerState 2571 :ivar connected_duration: For how long the peering has been up. 2572 :vartype connected_duration: str 2573 :ivar routes_received: The number of routes learned from this peer. 2574 :vartype routes_received: long 2575 :ivar messages_sent: The number of BGP messages sent. 2576 :vartype messages_sent: long 2577 :ivar messages_received: The number of BGP messages received. 2578 :vartype messages_received: long 2579 """ 2580 2581 _validation = { 2582 'local_address': {'readonly': True}, 2583 'neighbor': {'readonly': True}, 2584 'asn': {'readonly': True}, 2585 'state': {'readonly': True}, 2586 'connected_duration': {'readonly': True}, 2587 'routes_received': {'readonly': True}, 2588 'messages_sent': {'readonly': True}, 2589 'messages_received': {'readonly': True}, 2590 } 2591 2592 _attribute_map = { 2593 'local_address': {'key': 'localAddress', 'type': 'str'}, 2594 'neighbor': {'key': 'neighbor', 'type': 'str'}, 2595 'asn': {'key': 'asn', 'type': 'int'}, 2596 'state': {'key': 'state', 'type': 'str'}, 2597 'connected_duration': {'key': 'connectedDuration', 'type': 'str'}, 2598 'routes_received': {'key': 'routesReceived', 'type': 'long'}, 2599 'messages_sent': {'key': 'messagesSent', 'type': 'long'}, 2600 'messages_received': {'key': 'messagesReceived', 'type': 'long'}, 2601 } 2602 2603 def __init__( 2604 self, 2605 **kwargs 2606 ): 2607 super(BgpPeerStatus, self).__init__(**kwargs) 2608 self.local_address = None 2609 self.neighbor = None 2610 self.asn = None 2611 self.state = None 2612 self.connected_duration = None 2613 self.routes_received = None 2614 self.messages_sent = None 2615 self.messages_received = None 2616 2617 2618class BgpPeerStatusListResult(msrest.serialization.Model): 2619 """Response for list BGP peer status API service call. 2620 2621 :param value: List of BGP peers. 2622 :type value: list[~azure.mgmt.network.v2018_07_01.models.BgpPeerStatus] 2623 """ 2624 2625 _attribute_map = { 2626 'value': {'key': 'value', 'type': '[BgpPeerStatus]'}, 2627 } 2628 2629 def __init__( 2630 self, 2631 **kwargs 2632 ): 2633 super(BgpPeerStatusListResult, self).__init__(**kwargs) 2634 self.value = kwargs.get('value', None) 2635 2636 2637class BgpServiceCommunity(Resource): 2638 """Service Community Properties. 2639 2640 Variables are only populated by the server, and will be ignored when sending a request. 2641 2642 :param id: Resource ID. 2643 :type id: str 2644 :ivar name: Resource name. 2645 :vartype name: str 2646 :ivar type: Resource type. 2647 :vartype type: str 2648 :param location: Resource location. 2649 :type location: str 2650 :param tags: A set of tags. Resource tags. 2651 :type tags: dict[str, str] 2652 :param service_name: The name of the bgp community. e.g. Skype. 2653 :type service_name: str 2654 :param bgp_communities: Get a list of bgp communities. 2655 :type bgp_communities: list[~azure.mgmt.network.v2018_07_01.models.BGPCommunity] 2656 """ 2657 2658 _validation = { 2659 'name': {'readonly': True}, 2660 'type': {'readonly': True}, 2661 } 2662 2663 _attribute_map = { 2664 'id': {'key': 'id', 'type': 'str'}, 2665 'name': {'key': 'name', 'type': 'str'}, 2666 'type': {'key': 'type', 'type': 'str'}, 2667 'location': {'key': 'location', 'type': 'str'}, 2668 'tags': {'key': 'tags', 'type': '{str}'}, 2669 'service_name': {'key': 'properties.serviceName', 'type': 'str'}, 2670 'bgp_communities': {'key': 'properties.bgpCommunities', 'type': '[BGPCommunity]'}, 2671 } 2672 2673 def __init__( 2674 self, 2675 **kwargs 2676 ): 2677 super(BgpServiceCommunity, self).__init__(**kwargs) 2678 self.service_name = kwargs.get('service_name', None) 2679 self.bgp_communities = kwargs.get('bgp_communities', None) 2680 2681 2682class BgpServiceCommunityListResult(msrest.serialization.Model): 2683 """Response for the ListServiceCommunity API service call. 2684 2685 :param value: A list of service community resources. 2686 :type value: list[~azure.mgmt.network.v2018_07_01.models.BgpServiceCommunity] 2687 :param next_link: The URL to get the next set of results. 2688 :type next_link: str 2689 """ 2690 2691 _attribute_map = { 2692 'value': {'key': 'value', 'type': '[BgpServiceCommunity]'}, 2693 'next_link': {'key': 'nextLink', 'type': 'str'}, 2694 } 2695 2696 def __init__( 2697 self, 2698 **kwargs 2699 ): 2700 super(BgpServiceCommunityListResult, self).__init__(**kwargs) 2701 self.value = kwargs.get('value', None) 2702 self.next_link = kwargs.get('next_link', None) 2703 2704 2705class BgpSettings(msrest.serialization.Model): 2706 """BGP settings details. 2707 2708 :param asn: The BGP speaker's ASN. 2709 :type asn: long 2710 :param bgp_peering_address: The BGP peering address and BGP identifier of this BGP speaker. 2711 :type bgp_peering_address: str 2712 :param peer_weight: The weight added to routes learned from this BGP speaker. 2713 :type peer_weight: int 2714 """ 2715 2716 _attribute_map = { 2717 'asn': {'key': 'asn', 'type': 'long'}, 2718 'bgp_peering_address': {'key': 'bgpPeeringAddress', 'type': 'str'}, 2719 'peer_weight': {'key': 'peerWeight', 'type': 'int'}, 2720 } 2721 2722 def __init__( 2723 self, 2724 **kwargs 2725 ): 2726 super(BgpSettings, self).__init__(**kwargs) 2727 self.asn = kwargs.get('asn', None) 2728 self.bgp_peering_address = kwargs.get('bgp_peering_address', None) 2729 self.peer_weight = kwargs.get('peer_weight', None) 2730 2731 2732class ConnectionMonitor(msrest.serialization.Model): 2733 """Parameters that define the operation to create a connection monitor. 2734 2735 All required parameters must be populated in order to send to Azure. 2736 2737 :param location: Connection monitor location. 2738 :type location: str 2739 :param tags: A set of tags. Connection monitor tags. 2740 :type tags: dict[str, str] 2741 :param source: Required. Describes the source of connection monitor. 2742 :type source: ~azure.mgmt.network.v2018_07_01.models.ConnectionMonitorSource 2743 :param destination: Required. Describes the destination of connection monitor. 2744 :type destination: ~azure.mgmt.network.v2018_07_01.models.ConnectionMonitorDestination 2745 :param auto_start: Determines if the connection monitor will start automatically once created. 2746 :type auto_start: bool 2747 :param monitoring_interval_in_seconds: Monitoring interval in seconds. 2748 :type monitoring_interval_in_seconds: int 2749 """ 2750 2751 _validation = { 2752 'source': {'required': True}, 2753 'destination': {'required': True}, 2754 } 2755 2756 _attribute_map = { 2757 'location': {'key': 'location', 'type': 'str'}, 2758 'tags': {'key': 'tags', 'type': '{str}'}, 2759 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, 2760 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, 2761 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, 2762 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, 2763 } 2764 2765 def __init__( 2766 self, 2767 **kwargs 2768 ): 2769 super(ConnectionMonitor, self).__init__(**kwargs) 2770 self.location = kwargs.get('location', None) 2771 self.tags = kwargs.get('tags', None) 2772 self.source = kwargs['source'] 2773 self.destination = kwargs['destination'] 2774 self.auto_start = kwargs.get('auto_start', True) 2775 self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) 2776 2777 2778class ConnectionMonitorDestination(msrest.serialization.Model): 2779 """Describes the destination of connection monitor. 2780 2781 :param resource_id: The ID of the resource used as the destination by connection monitor. 2782 :type resource_id: str 2783 :param address: Address of the connection monitor destination (IP or domain name). 2784 :type address: str 2785 :param port: The destination port used by connection monitor. 2786 :type port: int 2787 """ 2788 2789 _attribute_map = { 2790 'resource_id': {'key': 'resourceId', 'type': 'str'}, 2791 'address': {'key': 'address', 'type': 'str'}, 2792 'port': {'key': 'port', 'type': 'int'}, 2793 } 2794 2795 def __init__( 2796 self, 2797 **kwargs 2798 ): 2799 super(ConnectionMonitorDestination, self).__init__(**kwargs) 2800 self.resource_id = kwargs.get('resource_id', None) 2801 self.address = kwargs.get('address', None) 2802 self.port = kwargs.get('port', None) 2803 2804 2805class ConnectionMonitorListResult(msrest.serialization.Model): 2806 """List of connection monitors. 2807 2808 :param value: Information about connection monitors. 2809 :type value: list[~azure.mgmt.network.v2018_07_01.models.ConnectionMonitorResult] 2810 """ 2811 2812 _attribute_map = { 2813 'value': {'key': 'value', 'type': '[ConnectionMonitorResult]'}, 2814 } 2815 2816 def __init__( 2817 self, 2818 **kwargs 2819 ): 2820 super(ConnectionMonitorListResult, self).__init__(**kwargs) 2821 self.value = kwargs.get('value', None) 2822 2823 2824class ConnectionMonitorParameters(msrest.serialization.Model): 2825 """Parameters that define the operation to create a connection monitor. 2826 2827 All required parameters must be populated in order to send to Azure. 2828 2829 :param source: Required. Describes the source of connection monitor. 2830 :type source: ~azure.mgmt.network.v2018_07_01.models.ConnectionMonitorSource 2831 :param destination: Required. Describes the destination of connection monitor. 2832 :type destination: ~azure.mgmt.network.v2018_07_01.models.ConnectionMonitorDestination 2833 :param auto_start: Determines if the connection monitor will start automatically once created. 2834 :type auto_start: bool 2835 :param monitoring_interval_in_seconds: Monitoring interval in seconds. 2836 :type monitoring_interval_in_seconds: int 2837 """ 2838 2839 _validation = { 2840 'source': {'required': True}, 2841 'destination': {'required': True}, 2842 } 2843 2844 _attribute_map = { 2845 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, 2846 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, 2847 'auto_start': {'key': 'autoStart', 'type': 'bool'}, 2848 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, 2849 } 2850 2851 def __init__( 2852 self, 2853 **kwargs 2854 ): 2855 super(ConnectionMonitorParameters, self).__init__(**kwargs) 2856 self.source = kwargs['source'] 2857 self.destination = kwargs['destination'] 2858 self.auto_start = kwargs.get('auto_start', True) 2859 self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) 2860 2861 2862class ConnectionMonitorQueryResult(msrest.serialization.Model): 2863 """List of connection states snapshots. 2864 2865 :param source_status: Status of connection monitor source. Possible values include: "Uknown", 2866 "Active", "Inactive". 2867 :type source_status: str or 2868 ~azure.mgmt.network.v2018_07_01.models.ConnectionMonitorSourceStatus 2869 :param states: Information about connection states. 2870 :type states: list[~azure.mgmt.network.v2018_07_01.models.ConnectionStateSnapshot] 2871 """ 2872 2873 _attribute_map = { 2874 'source_status': {'key': 'sourceStatus', 'type': 'str'}, 2875 'states': {'key': 'states', 'type': '[ConnectionStateSnapshot]'}, 2876 } 2877 2878 def __init__( 2879 self, 2880 **kwargs 2881 ): 2882 super(ConnectionMonitorQueryResult, self).__init__(**kwargs) 2883 self.source_status = kwargs.get('source_status', None) 2884 self.states = kwargs.get('states', None) 2885 2886 2887class ConnectionMonitorResult(msrest.serialization.Model): 2888 """Information about the connection monitor. 2889 2890 Variables are only populated by the server, and will be ignored when sending a request. 2891 2892 :ivar name: Name of the connection monitor. 2893 :vartype name: str 2894 :ivar id: ID of the connection monitor. 2895 :vartype id: str 2896 :param etag: 2897 :type etag: str 2898 :ivar type: Connection monitor type. 2899 :vartype type: str 2900 :param location: Connection monitor location. 2901 :type location: str 2902 :param tags: A set of tags. Connection monitor tags. 2903 :type tags: dict[str, str] 2904 :param source: Describes the source of connection monitor. 2905 :type source: ~azure.mgmt.network.v2018_07_01.models.ConnectionMonitorSource 2906 :param destination: Describes the destination of connection monitor. 2907 :type destination: ~azure.mgmt.network.v2018_07_01.models.ConnectionMonitorDestination 2908 :param auto_start: Determines if the connection monitor will start automatically once created. 2909 :type auto_start: bool 2910 :param monitoring_interval_in_seconds: Monitoring interval in seconds. 2911 :type monitoring_interval_in_seconds: int 2912 :param provisioning_state: The provisioning state of the connection monitor. Possible values 2913 include: "Succeeded", "Updating", "Deleting", "Failed". 2914 :type provisioning_state: str or ~azure.mgmt.network.v2018_07_01.models.ProvisioningState 2915 :param start_time: The date and time when the connection monitor was started. 2916 :type start_time: ~datetime.datetime 2917 :param monitoring_status: The monitoring status of the connection monitor. 2918 :type monitoring_status: str 2919 """ 2920 2921 _validation = { 2922 'name': {'readonly': True}, 2923 'id': {'readonly': True}, 2924 'type': {'readonly': True}, 2925 } 2926 2927 _attribute_map = { 2928 'name': {'key': 'name', 'type': 'str'}, 2929 'id': {'key': 'id', 'type': 'str'}, 2930 'etag': {'key': 'etag', 'type': 'str'}, 2931 'type': {'key': 'type', 'type': 'str'}, 2932 'location': {'key': 'location', 'type': 'str'}, 2933 'tags': {'key': 'tags', 'type': '{str}'}, 2934 'source': {'key': 'properties.source', 'type': 'ConnectionMonitorSource'}, 2935 'destination': {'key': 'properties.destination', 'type': 'ConnectionMonitorDestination'}, 2936 'auto_start': {'key': 'properties.autoStart', 'type': 'bool'}, 2937 'monitoring_interval_in_seconds': {'key': 'properties.monitoringIntervalInSeconds', 'type': 'int'}, 2938 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 2939 'start_time': {'key': 'properties.startTime', 'type': 'iso-8601'}, 2940 'monitoring_status': {'key': 'properties.monitoringStatus', 'type': 'str'}, 2941 } 2942 2943 def __init__( 2944 self, 2945 **kwargs 2946 ): 2947 super(ConnectionMonitorResult, self).__init__(**kwargs) 2948 self.name = None 2949 self.id = None 2950 self.etag = kwargs.get('etag', "A unique read-only string that changes whenever the resource is updated.") 2951 self.type = None 2952 self.location = kwargs.get('location', None) 2953 self.tags = kwargs.get('tags', None) 2954 self.source = kwargs.get('source', None) 2955 self.destination = kwargs.get('destination', None) 2956 self.auto_start = kwargs.get('auto_start', True) 2957 self.monitoring_interval_in_seconds = kwargs.get('monitoring_interval_in_seconds', 60) 2958 self.provisioning_state = kwargs.get('provisioning_state', None) 2959 self.start_time = kwargs.get('start_time', None) 2960 self.monitoring_status = kwargs.get('monitoring_status', None) 2961 2962 2963class ConnectionMonitorResultProperties(ConnectionMonitorParameters): 2964 """Describes the properties of a connection monitor. 2965 2966 All required parameters must be populated in order to send to Azure. 2967 2968 :param source: Required. Describes the source of connection monitor. 2969 :type source: ~azure.mgmt.network.v2018_07_01.models.ConnectionMonitorSource 2970 :param destination: Required. Describes the destination of connection monitor. 2971 :type destination: ~azure.mgmt.network.v2018_07_01.models.ConnectionMonitorDestination 2972 :param auto_start: Determines if the connection monitor will start automatically once created. 2973 :type auto_start: bool 2974 :param monitoring_interval_in_seconds: Monitoring interval in seconds. 2975 :type monitoring_interval_in_seconds: int 2976 :param provisioning_state: The provisioning state of the connection monitor. Possible values 2977 include: "Succeeded", "Updating", "Deleting", "Failed". 2978 :type provisioning_state: str or ~azure.mgmt.network.v2018_07_01.models.ProvisioningState 2979 :param start_time: The date and time when the connection monitor was started. 2980 :type start_time: ~datetime.datetime 2981 :param monitoring_status: The monitoring status of the connection monitor. 2982 :type monitoring_status: str 2983 """ 2984 2985 _validation = { 2986 'source': {'required': True}, 2987 'destination': {'required': True}, 2988 } 2989 2990 _attribute_map = { 2991 'source': {'key': 'source', 'type': 'ConnectionMonitorSource'}, 2992 'destination': {'key': 'destination', 'type': 'ConnectionMonitorDestination'}, 2993 'auto_start': {'key': 'autoStart', 'type': 'bool'}, 2994 'monitoring_interval_in_seconds': {'key': 'monitoringIntervalInSeconds', 'type': 'int'}, 2995 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 2996 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 2997 'monitoring_status': {'key': 'monitoringStatus', 'type': 'str'}, 2998 } 2999 3000 def __init__( 3001 self, 3002 **kwargs 3003 ): 3004 super(ConnectionMonitorResultProperties, self).__init__(**kwargs) 3005 self.provisioning_state = kwargs.get('provisioning_state', None) 3006 self.start_time = kwargs.get('start_time', None) 3007 self.monitoring_status = kwargs.get('monitoring_status', None) 3008 3009 3010class ConnectionMonitorSource(msrest.serialization.Model): 3011 """Describes the source of connection monitor. 3012 3013 All required parameters must be populated in order to send to Azure. 3014 3015 :param resource_id: Required. The ID of the resource used as the source by connection monitor. 3016 :type resource_id: str 3017 :param port: The source port used by connection monitor. 3018 :type port: int 3019 """ 3020 3021 _validation = { 3022 'resource_id': {'required': True}, 3023 } 3024 3025 _attribute_map = { 3026 'resource_id': {'key': 'resourceId', 'type': 'str'}, 3027 'port': {'key': 'port', 'type': 'int'}, 3028 } 3029 3030 def __init__( 3031 self, 3032 **kwargs 3033 ): 3034 super(ConnectionMonitorSource, self).__init__(**kwargs) 3035 self.resource_id = kwargs['resource_id'] 3036 self.port = kwargs.get('port', None) 3037 3038 3039class ConnectionResetSharedKey(msrest.serialization.Model): 3040 """The virtual network connection reset shared key. 3041 3042 All required parameters must be populated in order to send to Azure. 3043 3044 :param key_length: Required. The virtual network connection reset shared key length, should 3045 between 1 and 128. 3046 :type key_length: int 3047 """ 3048 3049 _validation = { 3050 'key_length': {'required': True, 'maximum': 128, 'minimum': 1}, 3051 } 3052 3053 _attribute_map = { 3054 'key_length': {'key': 'keyLength', 'type': 'int'}, 3055 } 3056 3057 def __init__( 3058 self, 3059 **kwargs 3060 ): 3061 super(ConnectionResetSharedKey, self).__init__(**kwargs) 3062 self.key_length = kwargs['key_length'] 3063 3064 3065class ConnectionSharedKey(SubResource): 3066 """Response for GetConnectionSharedKey API service call. 3067 3068 All required parameters must be populated in order to send to Azure. 3069 3070 :param id: Resource ID. 3071 :type id: str 3072 :param value: Required. The virtual network connection shared key value. 3073 :type value: str 3074 """ 3075 3076 _validation = { 3077 'value': {'required': True}, 3078 } 3079 3080 _attribute_map = { 3081 'id': {'key': 'id', 'type': 'str'}, 3082 'value': {'key': 'value', 'type': 'str'}, 3083 } 3084 3085 def __init__( 3086 self, 3087 **kwargs 3088 ): 3089 super(ConnectionSharedKey, self).__init__(**kwargs) 3090 self.value = kwargs['value'] 3091 3092 3093class ConnectionStateSnapshot(msrest.serialization.Model): 3094 """Connection state snapshot. 3095 3096 Variables are only populated by the server, and will be ignored when sending a request. 3097 3098 :param connection_state: The connection state. Possible values include: "Reachable", 3099 "Unreachable", "Unknown". 3100 :type connection_state: str or ~azure.mgmt.network.v2018_07_01.models.ConnectionState 3101 :param start_time: The start time of the connection snapshot. 3102 :type start_time: ~datetime.datetime 3103 :param end_time: The end time of the connection snapshot. 3104 :type end_time: ~datetime.datetime 3105 :param evaluation_state: Connectivity analysis evaluation state. Possible values include: 3106 "NotStarted", "InProgress", "Completed". 3107 :type evaluation_state: str or ~azure.mgmt.network.v2018_07_01.models.EvaluationState 3108 :param avg_latency_in_ms: Average latency in ms. 3109 :type avg_latency_in_ms: int 3110 :param min_latency_in_ms: Minimum latency in ms. 3111 :type min_latency_in_ms: int 3112 :param max_latency_in_ms: Maximum latency in ms. 3113 :type max_latency_in_ms: int 3114 :param probes_sent: The number of sent probes. 3115 :type probes_sent: int 3116 :param probes_failed: The number of failed probes. 3117 :type probes_failed: int 3118 :ivar hops: List of hops between the source and the destination. 3119 :vartype hops: list[~azure.mgmt.network.v2018_07_01.models.ConnectivityHop] 3120 """ 3121 3122 _validation = { 3123 'hops': {'readonly': True}, 3124 } 3125 3126 _attribute_map = { 3127 'connection_state': {'key': 'connectionState', 'type': 'str'}, 3128 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 3129 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 3130 'evaluation_state': {'key': 'evaluationState', 'type': 'str'}, 3131 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, 3132 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, 3133 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, 3134 'probes_sent': {'key': 'probesSent', 'type': 'int'}, 3135 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, 3136 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, 3137 } 3138 3139 def __init__( 3140 self, 3141 **kwargs 3142 ): 3143 super(ConnectionStateSnapshot, self).__init__(**kwargs) 3144 self.connection_state = kwargs.get('connection_state', None) 3145 self.start_time = kwargs.get('start_time', None) 3146 self.end_time = kwargs.get('end_time', None) 3147 self.evaluation_state = kwargs.get('evaluation_state', None) 3148 self.avg_latency_in_ms = kwargs.get('avg_latency_in_ms', None) 3149 self.min_latency_in_ms = kwargs.get('min_latency_in_ms', None) 3150 self.max_latency_in_ms = kwargs.get('max_latency_in_ms', None) 3151 self.probes_sent = kwargs.get('probes_sent', None) 3152 self.probes_failed = kwargs.get('probes_failed', None) 3153 self.hops = None 3154 3155 3156class ConnectivityDestination(msrest.serialization.Model): 3157 """Parameters that define destination of connection. 3158 3159 :param resource_id: The ID of the resource to which a connection attempt will be made. 3160 :type resource_id: str 3161 :param address: The IP address or URI the resource to which a connection attempt will be made. 3162 :type address: str 3163 :param port: Port on which check connectivity will be performed. 3164 :type port: int 3165 """ 3166 3167 _attribute_map = { 3168 'resource_id': {'key': 'resourceId', 'type': 'str'}, 3169 'address': {'key': 'address', 'type': 'str'}, 3170 'port': {'key': 'port', 'type': 'int'}, 3171 } 3172 3173 def __init__( 3174 self, 3175 **kwargs 3176 ): 3177 super(ConnectivityDestination, self).__init__(**kwargs) 3178 self.resource_id = kwargs.get('resource_id', None) 3179 self.address = kwargs.get('address', None) 3180 self.port = kwargs.get('port', None) 3181 3182 3183class ConnectivityHop(msrest.serialization.Model): 3184 """Information about a hop between the source and the destination. 3185 3186 Variables are only populated by the server, and will be ignored when sending a request. 3187 3188 :ivar type: The type of the hop. 3189 :vartype type: str 3190 :ivar id: The ID of the hop. 3191 :vartype id: str 3192 :ivar address: The IP address of the hop. 3193 :vartype address: str 3194 :ivar resource_id: The ID of the resource corresponding to this hop. 3195 :vartype resource_id: str 3196 :ivar next_hop_ids: List of next hop identifiers. 3197 :vartype next_hop_ids: list[str] 3198 :ivar issues: List of issues. 3199 :vartype issues: list[~azure.mgmt.network.v2018_07_01.models.ConnectivityIssue] 3200 """ 3201 3202 _validation = { 3203 'type': {'readonly': True}, 3204 'id': {'readonly': True}, 3205 'address': {'readonly': True}, 3206 'resource_id': {'readonly': True}, 3207 'next_hop_ids': {'readonly': True}, 3208 'issues': {'readonly': True}, 3209 } 3210 3211 _attribute_map = { 3212 'type': {'key': 'type', 'type': 'str'}, 3213 'id': {'key': 'id', 'type': 'str'}, 3214 'address': {'key': 'address', 'type': 'str'}, 3215 'resource_id': {'key': 'resourceId', 'type': 'str'}, 3216 'next_hop_ids': {'key': 'nextHopIds', 'type': '[str]'}, 3217 'issues': {'key': 'issues', 'type': '[ConnectivityIssue]'}, 3218 } 3219 3220 def __init__( 3221 self, 3222 **kwargs 3223 ): 3224 super(ConnectivityHop, self).__init__(**kwargs) 3225 self.type = None 3226 self.id = None 3227 self.address = None 3228 self.resource_id = None 3229 self.next_hop_ids = None 3230 self.issues = None 3231 3232 3233class ConnectivityInformation(msrest.serialization.Model): 3234 """Information on the connectivity status. 3235 3236 Variables are only populated by the server, and will be ignored when sending a request. 3237 3238 :ivar hops: List of hops between the source and the destination. 3239 :vartype hops: list[~azure.mgmt.network.v2018_07_01.models.ConnectivityHop] 3240 :ivar connection_status: The connection status. Possible values include: "Unknown", 3241 "Connected", "Disconnected", "Degraded". 3242 :vartype connection_status: str or ~azure.mgmt.network.v2018_07_01.models.ConnectionStatus 3243 :ivar avg_latency_in_ms: Average latency in milliseconds. 3244 :vartype avg_latency_in_ms: int 3245 :ivar min_latency_in_ms: Minimum latency in milliseconds. 3246 :vartype min_latency_in_ms: int 3247 :ivar max_latency_in_ms: Maximum latency in milliseconds. 3248 :vartype max_latency_in_ms: int 3249 :ivar probes_sent: Total number of probes sent. 3250 :vartype probes_sent: int 3251 :ivar probes_failed: Number of failed probes. 3252 :vartype probes_failed: int 3253 """ 3254 3255 _validation = { 3256 'hops': {'readonly': True}, 3257 'connection_status': {'readonly': True}, 3258 'avg_latency_in_ms': {'readonly': True}, 3259 'min_latency_in_ms': {'readonly': True}, 3260 'max_latency_in_ms': {'readonly': True}, 3261 'probes_sent': {'readonly': True}, 3262 'probes_failed': {'readonly': True}, 3263 } 3264 3265 _attribute_map = { 3266 'hops': {'key': 'hops', 'type': '[ConnectivityHop]'}, 3267 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, 3268 'avg_latency_in_ms': {'key': 'avgLatencyInMs', 'type': 'int'}, 3269 'min_latency_in_ms': {'key': 'minLatencyInMs', 'type': 'int'}, 3270 'max_latency_in_ms': {'key': 'maxLatencyInMs', 'type': 'int'}, 3271 'probes_sent': {'key': 'probesSent', 'type': 'int'}, 3272 'probes_failed': {'key': 'probesFailed', 'type': 'int'}, 3273 } 3274 3275 def __init__( 3276 self, 3277 **kwargs 3278 ): 3279 super(ConnectivityInformation, self).__init__(**kwargs) 3280 self.hops = None 3281 self.connection_status = None 3282 self.avg_latency_in_ms = None 3283 self.min_latency_in_ms = None 3284 self.max_latency_in_ms = None 3285 self.probes_sent = None 3286 self.probes_failed = None 3287 3288 3289class ConnectivityIssue(msrest.serialization.Model): 3290 """Information about an issue encountered in the process of checking for connectivity. 3291 3292 Variables are only populated by the server, and will be ignored when sending a request. 3293 3294 :ivar origin: The origin of the issue. Possible values include: "Local", "Inbound", "Outbound". 3295 :vartype origin: str or ~azure.mgmt.network.v2018_07_01.models.Origin 3296 :ivar severity: The severity of the issue. Possible values include: "Error", "Warning". 3297 :vartype severity: str or ~azure.mgmt.network.v2018_07_01.models.Severity 3298 :ivar type: The type of issue. Possible values include: "Unknown", "AgentStopped", 3299 "GuestFirewall", "DnsResolution", "SocketBind", "NetworkSecurityRule", "UserDefinedRoute", 3300 "PortThrottled", "Platform". 3301 :vartype type: str or ~azure.mgmt.network.v2018_07_01.models.IssueType 3302 :ivar context: Provides additional context on the issue. 3303 :vartype context: list[dict[str, str]] 3304 """ 3305 3306 _validation = { 3307 'origin': {'readonly': True}, 3308 'severity': {'readonly': True}, 3309 'type': {'readonly': True}, 3310 'context': {'readonly': True}, 3311 } 3312 3313 _attribute_map = { 3314 'origin': {'key': 'origin', 'type': 'str'}, 3315 'severity': {'key': 'severity', 'type': 'str'}, 3316 'type': {'key': 'type', 'type': 'str'}, 3317 'context': {'key': 'context', 'type': '[{str}]'}, 3318 } 3319 3320 def __init__( 3321 self, 3322 **kwargs 3323 ): 3324 super(ConnectivityIssue, self).__init__(**kwargs) 3325 self.origin = None 3326 self.severity = None 3327 self.type = None 3328 self.context = None 3329 3330 3331class ConnectivityParameters(msrest.serialization.Model): 3332 """Parameters that determine how the connectivity check will be performed. 3333 3334 All required parameters must be populated in order to send to Azure. 3335 3336 :param source: Required. Parameters that define the source of the connection. 3337 :type source: ~azure.mgmt.network.v2018_07_01.models.ConnectivitySource 3338 :param destination: Required. Parameters that define destination of connection. 3339 :type destination: ~azure.mgmt.network.v2018_07_01.models.ConnectivityDestination 3340 :param protocol: Network protocol. Possible values include: "Tcp", "Http", "Https", "Icmp". 3341 :type protocol: str or ~azure.mgmt.network.v2018_07_01.models.Protocol 3342 :param protocol_configuration: Configuration of the protocol. 3343 :type protocol_configuration: ~azure.mgmt.network.v2018_07_01.models.ProtocolConfiguration 3344 """ 3345 3346 _validation = { 3347 'source': {'required': True}, 3348 'destination': {'required': True}, 3349 } 3350 3351 _attribute_map = { 3352 'source': {'key': 'source', 'type': 'ConnectivitySource'}, 3353 'destination': {'key': 'destination', 'type': 'ConnectivityDestination'}, 3354 'protocol': {'key': 'protocol', 'type': 'str'}, 3355 'protocol_configuration': {'key': 'protocolConfiguration', 'type': 'ProtocolConfiguration'}, 3356 } 3357 3358 def __init__( 3359 self, 3360 **kwargs 3361 ): 3362 super(ConnectivityParameters, self).__init__(**kwargs) 3363 self.source = kwargs['source'] 3364 self.destination = kwargs['destination'] 3365 self.protocol = kwargs.get('protocol', None) 3366 self.protocol_configuration = kwargs.get('protocol_configuration', None) 3367 3368 3369class ConnectivitySource(msrest.serialization.Model): 3370 """Parameters that define the source of the connection. 3371 3372 All required parameters must be populated in order to send to Azure. 3373 3374 :param resource_id: Required. The ID of the resource from which a connectivity check will be 3375 initiated. 3376 :type resource_id: str 3377 :param port: The source port from which a connectivity check will be performed. 3378 :type port: int 3379 """ 3380 3381 _validation = { 3382 'resource_id': {'required': True}, 3383 } 3384 3385 _attribute_map = { 3386 'resource_id': {'key': 'resourceId', 'type': 'str'}, 3387 'port': {'key': 'port', 'type': 'int'}, 3388 } 3389 3390 def __init__( 3391 self, 3392 **kwargs 3393 ): 3394 super(ConnectivitySource, self).__init__(**kwargs) 3395 self.resource_id = kwargs['resource_id'] 3396 self.port = kwargs.get('port', None) 3397 3398 3399class DdosProtectionPlan(msrest.serialization.Model): 3400 """A DDoS protection plan in a resource group. 3401 3402 Variables are only populated by the server, and will be ignored when sending a request. 3403 3404 :ivar id: Resource ID. 3405 :vartype id: str 3406 :ivar name: Resource name. 3407 :vartype name: str 3408 :ivar type: Resource type. 3409 :vartype type: str 3410 :param location: Resource location. 3411 :type location: str 3412 :param tags: A set of tags. Resource tags. 3413 :type tags: dict[str, str] 3414 :ivar etag: A unique read-only string that changes whenever the resource is updated. 3415 :vartype etag: str 3416 :ivar resource_guid: The resource GUID property of the DDoS protection plan resource. It 3417 uniquely identifies the resource, even if the user changes its name or migrate the resource 3418 across subscriptions or resource groups. 3419 :vartype resource_guid: str 3420 :ivar provisioning_state: The provisioning state of the DDoS protection plan resource. Possible 3421 values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'. 3422 :vartype provisioning_state: str 3423 :ivar virtual_networks: The list of virtual networks associated with the DDoS protection plan 3424 resource. This list is read-only. 3425 :vartype virtual_networks: list[~azure.mgmt.network.v2018_07_01.models.SubResource] 3426 """ 3427 3428 _validation = { 3429 'id': {'readonly': True}, 3430 'name': {'readonly': True}, 3431 'type': {'readonly': True}, 3432 'etag': {'readonly': True}, 3433 'resource_guid': {'readonly': True}, 3434 'provisioning_state': {'readonly': True}, 3435 'virtual_networks': {'readonly': True}, 3436 } 3437 3438 _attribute_map = { 3439 'id': {'key': 'id', 'type': 'str'}, 3440 'name': {'key': 'name', 'type': 'str'}, 3441 'type': {'key': 'type', 'type': 'str'}, 3442 'location': {'key': 'location', 'type': 'str'}, 3443 'tags': {'key': 'tags', 'type': '{str}'}, 3444 'etag': {'key': 'etag', 'type': 'str'}, 3445 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 3446 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 3447 'virtual_networks': {'key': 'properties.virtualNetworks', 'type': '[SubResource]'}, 3448 } 3449 3450 def __init__( 3451 self, 3452 **kwargs 3453 ): 3454 super(DdosProtectionPlan, self).__init__(**kwargs) 3455 self.id = None 3456 self.name = None 3457 self.type = None 3458 self.location = kwargs.get('location', None) 3459 self.tags = kwargs.get('tags', None) 3460 self.etag = None 3461 self.resource_guid = None 3462 self.provisioning_state = None 3463 self.virtual_networks = None 3464 3465 3466class DdosProtectionPlanListResult(msrest.serialization.Model): 3467 """A list of DDoS protection plans. 3468 3469 Variables are only populated by the server, and will be ignored when sending a request. 3470 3471 :param value: A list of DDoS protection plans. 3472 :type value: list[~azure.mgmt.network.v2018_07_01.models.DdosProtectionPlan] 3473 :ivar next_link: The URL to get the next set of results. 3474 :vartype next_link: str 3475 """ 3476 3477 _validation = { 3478 'next_link': {'readonly': True}, 3479 } 3480 3481 _attribute_map = { 3482 'value': {'key': 'value', 'type': '[DdosProtectionPlan]'}, 3483 'next_link': {'key': 'nextLink', 'type': 'str'}, 3484 } 3485 3486 def __init__( 3487 self, 3488 **kwargs 3489 ): 3490 super(DdosProtectionPlanListResult, self).__init__(**kwargs) 3491 self.value = kwargs.get('value', None) 3492 self.next_link = None 3493 3494 3495class DeviceProperties(msrest.serialization.Model): 3496 """List of properties of the device. 3497 3498 :param device_vendor: Name of the device Vendor. 3499 :type device_vendor: str 3500 :param device_model: Model of the device. 3501 :type device_model: str 3502 :param link_speed_in_mbps: Link speed. 3503 :type link_speed_in_mbps: int 3504 """ 3505 3506 _attribute_map = { 3507 'device_vendor': {'key': 'deviceVendor', 'type': 'str'}, 3508 'device_model': {'key': 'deviceModel', 'type': 'str'}, 3509 'link_speed_in_mbps': {'key': 'linkSpeedInMbps', 'type': 'int'}, 3510 } 3511 3512 def __init__( 3513 self, 3514 **kwargs 3515 ): 3516 super(DeviceProperties, self).__init__(**kwargs) 3517 self.device_vendor = kwargs.get('device_vendor', None) 3518 self.device_model = kwargs.get('device_model', None) 3519 self.link_speed_in_mbps = kwargs.get('link_speed_in_mbps', None) 3520 3521 3522class DhcpOptions(msrest.serialization.Model): 3523 """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. 3524 3525 :param dns_servers: The list of DNS servers IP addresses. 3526 :type dns_servers: list[str] 3527 """ 3528 3529 _attribute_map = { 3530 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, 3531 } 3532 3533 def __init__( 3534 self, 3535 **kwargs 3536 ): 3537 super(DhcpOptions, self).__init__(**kwargs) 3538 self.dns_servers = kwargs.get('dns_servers', None) 3539 3540 3541class Dimension(msrest.serialization.Model): 3542 """Dimension of the metric. 3543 3544 :param name: The name of the dimension. 3545 :type name: str 3546 :param display_name: The display name of the dimension. 3547 :type display_name: str 3548 :param internal_name: The internal name of the dimension. 3549 :type internal_name: str 3550 """ 3551 3552 _attribute_map = { 3553 'name': {'key': 'name', 'type': 'str'}, 3554 'display_name': {'key': 'displayName', 'type': 'str'}, 3555 'internal_name': {'key': 'internalName', 'type': 'str'}, 3556 } 3557 3558 def __init__( 3559 self, 3560 **kwargs 3561 ): 3562 super(Dimension, self).__init__(**kwargs) 3563 self.name = kwargs.get('name', None) 3564 self.display_name = kwargs.get('display_name', None) 3565 self.internal_name = kwargs.get('internal_name', None) 3566 3567 3568class DnsNameAvailabilityResult(msrest.serialization.Model): 3569 """Response for the CheckDnsNameAvailability API service call. 3570 3571 :param available: Domain availability (True/False). 3572 :type available: bool 3573 """ 3574 3575 _attribute_map = { 3576 'available': {'key': 'available', 'type': 'bool'}, 3577 } 3578 3579 def __init__( 3580 self, 3581 **kwargs 3582 ): 3583 super(DnsNameAvailabilityResult, self).__init__(**kwargs) 3584 self.available = kwargs.get('available', None) 3585 3586 3587class EffectiveNetworkSecurityGroup(msrest.serialization.Model): 3588 """Effective network security group. 3589 3590 :param network_security_group: The ID of network security group that is applied. 3591 :type network_security_group: ~azure.mgmt.network.v2018_07_01.models.SubResource 3592 :param association: Associated resources. 3593 :type association: 3594 ~azure.mgmt.network.v2018_07_01.models.EffectiveNetworkSecurityGroupAssociation 3595 :param effective_security_rules: A collection of effective security rules. 3596 :type effective_security_rules: 3597 list[~azure.mgmt.network.v2018_07_01.models.EffectiveNetworkSecurityRule] 3598 :param tag_map: Mapping of tags to list of IP Addresses included within the tag. 3599 :type tag_map: str 3600 """ 3601 3602 _attribute_map = { 3603 'network_security_group': {'key': 'networkSecurityGroup', 'type': 'SubResource'}, 3604 'association': {'key': 'association', 'type': 'EffectiveNetworkSecurityGroupAssociation'}, 3605 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, 3606 'tag_map': {'key': 'tagMap', 'type': 'str'}, 3607 } 3608 3609 def __init__( 3610 self, 3611 **kwargs 3612 ): 3613 super(EffectiveNetworkSecurityGroup, self).__init__(**kwargs) 3614 self.network_security_group = kwargs.get('network_security_group', None) 3615 self.association = kwargs.get('association', None) 3616 self.effective_security_rules = kwargs.get('effective_security_rules', None) 3617 self.tag_map = kwargs.get('tag_map', None) 3618 3619 3620class EffectiveNetworkSecurityGroupAssociation(msrest.serialization.Model): 3621 """The effective network security group association. 3622 3623 :param subnet: The ID of the subnet if assigned. 3624 :type subnet: ~azure.mgmt.network.v2018_07_01.models.SubResource 3625 :param network_interface: The ID of the network interface if assigned. 3626 :type network_interface: ~azure.mgmt.network.v2018_07_01.models.SubResource 3627 """ 3628 3629 _attribute_map = { 3630 'subnet': {'key': 'subnet', 'type': 'SubResource'}, 3631 'network_interface': {'key': 'networkInterface', 'type': 'SubResource'}, 3632 } 3633 3634 def __init__( 3635 self, 3636 **kwargs 3637 ): 3638 super(EffectiveNetworkSecurityGroupAssociation, self).__init__(**kwargs) 3639 self.subnet = kwargs.get('subnet', None) 3640 self.network_interface = kwargs.get('network_interface', None) 3641 3642 3643class EffectiveNetworkSecurityGroupListResult(msrest.serialization.Model): 3644 """Response for list effective network security groups API service call. 3645 3646 Variables are only populated by the server, and will be ignored when sending a request. 3647 3648 :param value: A list of effective network security groups. 3649 :type value: list[~azure.mgmt.network.v2018_07_01.models.EffectiveNetworkSecurityGroup] 3650 :ivar next_link: The URL to get the next set of results. 3651 :vartype next_link: str 3652 """ 3653 3654 _validation = { 3655 'next_link': {'readonly': True}, 3656 } 3657 3658 _attribute_map = { 3659 'value': {'key': 'value', 'type': '[EffectiveNetworkSecurityGroup]'}, 3660 'next_link': {'key': 'nextLink', 'type': 'str'}, 3661 } 3662 3663 def __init__( 3664 self, 3665 **kwargs 3666 ): 3667 super(EffectiveNetworkSecurityGroupListResult, self).__init__(**kwargs) 3668 self.value = kwargs.get('value', None) 3669 self.next_link = None 3670 3671 3672class EffectiveNetworkSecurityRule(msrest.serialization.Model): 3673 """Effective network security rules. 3674 3675 :param name: The name of the security rule specified by the user (if created by the user). 3676 :type name: str 3677 :param protocol: The network protocol this rule applies to. Possible values are: 'Tcp', 'Udp', 3678 and 'All'. Possible values include: "Tcp", "Udp", "All". 3679 :type protocol: str or ~azure.mgmt.network.v2018_07_01.models.EffectiveSecurityRuleProtocol 3680 :param source_port_range: The source port or range. 3681 :type source_port_range: str 3682 :param destination_port_range: The destination port or range. 3683 :type destination_port_range: str 3684 :param source_port_ranges: The source port ranges. Expected values include a single integer 3685 between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*). 3686 :type source_port_ranges: list[str] 3687 :param destination_port_ranges: The destination port ranges. Expected values include a single 3688 integer between 0 and 65535, a range using '-' as separator (e.g. 100-400), or an asterisk (*). 3689 :type destination_port_ranges: list[str] 3690 :param source_address_prefix: The source address prefix. 3691 :type source_address_prefix: str 3692 :param destination_address_prefix: The destination address prefix. 3693 :type destination_address_prefix: str 3694 :param source_address_prefixes: The source address prefixes. Expected values include CIDR IP 3695 ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and the 3696 asterisk (*). 3697 :type source_address_prefixes: list[str] 3698 :param destination_address_prefixes: The destination address prefixes. Expected values include 3699 CIDR IP ranges, Default Tags (VirtualNetwork, AzureLoadBalancer, Internet), System Tags, and 3700 the asterisk (*). 3701 :type destination_address_prefixes: list[str] 3702 :param expanded_source_address_prefix: The expanded source address prefix. 3703 :type expanded_source_address_prefix: list[str] 3704 :param expanded_destination_address_prefix: Expanded destination address prefix. 3705 :type expanded_destination_address_prefix: list[str] 3706 :param access: Whether network traffic is allowed or denied. Possible values are: 'Allow' and 3707 'Deny'. Possible values include: "Allow", "Deny". 3708 :type access: str or ~azure.mgmt.network.v2018_07_01.models.SecurityRuleAccess 3709 :param priority: The priority of the rule. 3710 :type priority: int 3711 :param direction: The direction of the rule. Possible values are: 'Inbound and Outbound'. 3712 Possible values include: "Inbound", "Outbound". 3713 :type direction: str or ~azure.mgmt.network.v2018_07_01.models.SecurityRuleDirection 3714 """ 3715 3716 _attribute_map = { 3717 'name': {'key': 'name', 'type': 'str'}, 3718 'protocol': {'key': 'protocol', 'type': 'str'}, 3719 'source_port_range': {'key': 'sourcePortRange', 'type': 'str'}, 3720 'destination_port_range': {'key': 'destinationPortRange', 'type': 'str'}, 3721 'source_port_ranges': {'key': 'sourcePortRanges', 'type': '[str]'}, 3722 'destination_port_ranges': {'key': 'destinationPortRanges', 'type': '[str]'}, 3723 'source_address_prefix': {'key': 'sourceAddressPrefix', 'type': 'str'}, 3724 'destination_address_prefix': {'key': 'destinationAddressPrefix', 'type': 'str'}, 3725 'source_address_prefixes': {'key': 'sourceAddressPrefixes', 'type': '[str]'}, 3726 'destination_address_prefixes': {'key': 'destinationAddressPrefixes', 'type': '[str]'}, 3727 'expanded_source_address_prefix': {'key': 'expandedSourceAddressPrefix', 'type': '[str]'}, 3728 'expanded_destination_address_prefix': {'key': 'expandedDestinationAddressPrefix', 'type': '[str]'}, 3729 'access': {'key': 'access', 'type': 'str'}, 3730 'priority': {'key': 'priority', 'type': 'int'}, 3731 'direction': {'key': 'direction', 'type': 'str'}, 3732 } 3733 3734 def __init__( 3735 self, 3736 **kwargs 3737 ): 3738 super(EffectiveNetworkSecurityRule, self).__init__(**kwargs) 3739 self.name = kwargs.get('name', None) 3740 self.protocol = kwargs.get('protocol', None) 3741 self.source_port_range = kwargs.get('source_port_range', None) 3742 self.destination_port_range = kwargs.get('destination_port_range', None) 3743 self.source_port_ranges = kwargs.get('source_port_ranges', None) 3744 self.destination_port_ranges = kwargs.get('destination_port_ranges', None) 3745 self.source_address_prefix = kwargs.get('source_address_prefix', None) 3746 self.destination_address_prefix = kwargs.get('destination_address_prefix', None) 3747 self.source_address_prefixes = kwargs.get('source_address_prefixes', None) 3748 self.destination_address_prefixes = kwargs.get('destination_address_prefixes', None) 3749 self.expanded_source_address_prefix = kwargs.get('expanded_source_address_prefix', None) 3750 self.expanded_destination_address_prefix = kwargs.get('expanded_destination_address_prefix', None) 3751 self.access = kwargs.get('access', None) 3752 self.priority = kwargs.get('priority', None) 3753 self.direction = kwargs.get('direction', None) 3754 3755 3756class EffectiveRoute(msrest.serialization.Model): 3757 """Effective Route. 3758 3759 :param name: The name of the user defined route. This is optional. 3760 :type name: str 3761 :param source: Who created the route. Possible values are: 'Unknown', 'User', 3762 'VirtualNetworkGateway', and 'Default'. Possible values include: "Unknown", "User", 3763 "VirtualNetworkGateway", "Default". 3764 :type source: str or ~azure.mgmt.network.v2018_07_01.models.EffectiveRouteSource 3765 :param state: The value of effective route. Possible values are: 'Active' and 'Invalid'. 3766 Possible values include: "Active", "Invalid". 3767 :type state: str or ~azure.mgmt.network.v2018_07_01.models.EffectiveRouteState 3768 :param address_prefix: The address prefixes of the effective routes in CIDR notation. 3769 :type address_prefix: list[str] 3770 :param next_hop_ip_address: The IP address of the next hop of the effective route. 3771 :type next_hop_ip_address: list[str] 3772 :param next_hop_type: The type of Azure hop the packet should be sent to. Possible values are: 3773 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible 3774 values include: "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None". 3775 :type next_hop_type: str or ~azure.mgmt.network.v2018_07_01.models.RouteNextHopType 3776 """ 3777 3778 _attribute_map = { 3779 'name': {'key': 'name', 'type': 'str'}, 3780 'source': {'key': 'source', 'type': 'str'}, 3781 'state': {'key': 'state', 'type': 'str'}, 3782 'address_prefix': {'key': 'addressPrefix', 'type': '[str]'}, 3783 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': '[str]'}, 3784 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, 3785 } 3786 3787 def __init__( 3788 self, 3789 **kwargs 3790 ): 3791 super(EffectiveRoute, self).__init__(**kwargs) 3792 self.name = kwargs.get('name', None) 3793 self.source = kwargs.get('source', None) 3794 self.state = kwargs.get('state', None) 3795 self.address_prefix = kwargs.get('address_prefix', None) 3796 self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) 3797 self.next_hop_type = kwargs.get('next_hop_type', None) 3798 3799 3800class EffectiveRouteListResult(msrest.serialization.Model): 3801 """Response for list effective route API service call. 3802 3803 Variables are only populated by the server, and will be ignored when sending a request. 3804 3805 :param value: A list of effective routes. 3806 :type value: list[~azure.mgmt.network.v2018_07_01.models.EffectiveRoute] 3807 :ivar next_link: The URL to get the next set of results. 3808 :vartype next_link: str 3809 """ 3810 3811 _validation = { 3812 'next_link': {'readonly': True}, 3813 } 3814 3815 _attribute_map = { 3816 'value': {'key': 'value', 'type': '[EffectiveRoute]'}, 3817 'next_link': {'key': 'nextLink', 'type': 'str'}, 3818 } 3819 3820 def __init__( 3821 self, 3822 **kwargs 3823 ): 3824 super(EffectiveRouteListResult, self).__init__(**kwargs) 3825 self.value = kwargs.get('value', None) 3826 self.next_link = None 3827 3828 3829class EndpointServiceResult(SubResource): 3830 """Endpoint service. 3831 3832 Variables are only populated by the server, and will be ignored when sending a request. 3833 3834 :param id: Resource ID. 3835 :type id: str 3836 :ivar name: Name of the endpoint service. 3837 :vartype name: str 3838 :ivar type: Type of the endpoint service. 3839 :vartype type: str 3840 """ 3841 3842 _validation = { 3843 'name': {'readonly': True}, 3844 'type': {'readonly': True}, 3845 } 3846 3847 _attribute_map = { 3848 'id': {'key': 'id', 'type': 'str'}, 3849 'name': {'key': 'name', 'type': 'str'}, 3850 'type': {'key': 'type', 'type': 'str'}, 3851 } 3852 3853 def __init__( 3854 self, 3855 **kwargs 3856 ): 3857 super(EndpointServiceResult, self).__init__(**kwargs) 3858 self.name = None 3859 self.type = None 3860 3861 3862class EndpointServicesListResult(msrest.serialization.Model): 3863 """Response for the ListAvailableEndpointServices API service call. 3864 3865 :param value: List of available endpoint services in a region. 3866 :type value: list[~azure.mgmt.network.v2018_07_01.models.EndpointServiceResult] 3867 :param next_link: The URL to get the next set of results. 3868 :type next_link: str 3869 """ 3870 3871 _attribute_map = { 3872 'value': {'key': 'value', 'type': '[EndpointServiceResult]'}, 3873 'next_link': {'key': 'nextLink', 'type': 'str'}, 3874 } 3875 3876 def __init__( 3877 self, 3878 **kwargs 3879 ): 3880 super(EndpointServicesListResult, self).__init__(**kwargs) 3881 self.value = kwargs.get('value', None) 3882 self.next_link = kwargs.get('next_link', None) 3883 3884 3885class Error(msrest.serialization.Model): 3886 """Error. 3887 3888 :param code: 3889 :type code: str 3890 :param message: 3891 :type message: str 3892 :param target: 3893 :type target: str 3894 :param details: 3895 :type details: list[~azure.mgmt.network.v2018_07_01.models.ErrorDetails] 3896 :param inner_error: 3897 :type inner_error: str 3898 """ 3899 3900 _attribute_map = { 3901 'code': {'key': 'code', 'type': 'str'}, 3902 'message': {'key': 'message', 'type': 'str'}, 3903 'target': {'key': 'target', 'type': 'str'}, 3904 'details': {'key': 'details', 'type': '[ErrorDetails]'}, 3905 'inner_error': {'key': 'innerError', 'type': 'str'}, 3906 } 3907 3908 def __init__( 3909 self, 3910 **kwargs 3911 ): 3912 super(Error, self).__init__(**kwargs) 3913 self.code = kwargs.get('code', None) 3914 self.message = kwargs.get('message', None) 3915 self.target = kwargs.get('target', None) 3916 self.details = kwargs.get('details', None) 3917 self.inner_error = kwargs.get('inner_error', None) 3918 3919 3920class ErrorDetails(msrest.serialization.Model): 3921 """ErrorDetails. 3922 3923 :param code: 3924 :type code: str 3925 :param target: 3926 :type target: str 3927 :param message: 3928 :type message: str 3929 """ 3930 3931 _attribute_map = { 3932 'code': {'key': 'code', 'type': 'str'}, 3933 'target': {'key': 'target', 'type': 'str'}, 3934 'message': {'key': 'message', 'type': 'str'}, 3935 } 3936 3937 def __init__( 3938 self, 3939 **kwargs 3940 ): 3941 super(ErrorDetails, self).__init__(**kwargs) 3942 self.code = kwargs.get('code', None) 3943 self.target = kwargs.get('target', None) 3944 self.message = kwargs.get('message', None) 3945 3946 3947class ErrorResponse(msrest.serialization.Model): 3948 """The error object. 3949 3950 :param error: 3951 :type error: ~azure.mgmt.network.v2018_07_01.models.ErrorDetails 3952 """ 3953 3954 _attribute_map = { 3955 'error': {'key': 'error', 'type': 'ErrorDetails'}, 3956 } 3957 3958 def __init__( 3959 self, 3960 **kwargs 3961 ): 3962 super(ErrorResponse, self).__init__(**kwargs) 3963 self.error = kwargs.get('error', None) 3964 3965 3966class EvaluatedNetworkSecurityGroup(msrest.serialization.Model): 3967 """Results of network security group evaluation. 3968 3969 Variables are only populated by the server, and will be ignored when sending a request. 3970 3971 :param network_security_group_id: Network security group ID. 3972 :type network_security_group_id: str 3973 :param matched_rule: Matched rule. 3974 :type matched_rule: ~azure.mgmt.network.v2018_07_01.models.MatchedRule 3975 :ivar rules_evaluation_result: List of network security rules evaluation results. 3976 :vartype rules_evaluation_result: 3977 list[~azure.mgmt.network.v2018_07_01.models.NetworkSecurityRulesEvaluationResult] 3978 """ 3979 3980 _validation = { 3981 'rules_evaluation_result': {'readonly': True}, 3982 } 3983 3984 _attribute_map = { 3985 'network_security_group_id': {'key': 'networkSecurityGroupId', 'type': 'str'}, 3986 'matched_rule': {'key': 'matchedRule', 'type': 'MatchedRule'}, 3987 'rules_evaluation_result': {'key': 'rulesEvaluationResult', 'type': '[NetworkSecurityRulesEvaluationResult]'}, 3988 } 3989 3990 def __init__( 3991 self, 3992 **kwargs 3993 ): 3994 super(EvaluatedNetworkSecurityGroup, self).__init__(**kwargs) 3995 self.network_security_group_id = kwargs.get('network_security_group_id', None) 3996 self.matched_rule = kwargs.get('matched_rule', None) 3997 self.rules_evaluation_result = None 3998 3999 4000class ExpressRouteCircuit(Resource): 4001 """ExpressRouteCircuit resource. 4002 4003 Variables are only populated by the server, and will be ignored when sending a request. 4004 4005 :param id: Resource ID. 4006 :type id: str 4007 :ivar name: Resource name. 4008 :vartype name: str 4009 :ivar type: Resource type. 4010 :vartype type: str 4011 :param location: Resource location. 4012 :type location: str 4013 :param tags: A set of tags. Resource tags. 4014 :type tags: dict[str, str] 4015 :param sku: The SKU. 4016 :type sku: ~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitSku 4017 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 4018 :vartype etag: str 4019 :param allow_classic_operations: Allow classic operations. 4020 :type allow_classic_operations: bool 4021 :param circuit_provisioning_state: The CircuitProvisioningState state of the resource. 4022 :type circuit_provisioning_state: str 4023 :param service_provider_provisioning_state: The ServiceProviderProvisioningState state of the 4024 resource. Possible values are 'NotProvisioned', 'Provisioning', 'Provisioned', and 4025 'Deprovisioning'. Possible values include: "NotProvisioned", "Provisioning", "Provisioned", 4026 "Deprovisioning". 4027 :type service_provider_provisioning_state: str or 4028 ~azure.mgmt.network.v2018_07_01.models.ServiceProviderProvisioningState 4029 :param authorizations: The list of authorizations. 4030 :type authorizations: 4031 list[~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitAuthorization] 4032 :param peerings: The list of peerings. 4033 :type peerings: list[~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitPeering] 4034 :param service_key: The ServiceKey. 4035 :type service_key: str 4036 :param service_provider_notes: The ServiceProviderNotes. 4037 :type service_provider_notes: str 4038 :param service_provider_properties: The ServiceProviderProperties. 4039 :type service_provider_properties: 4040 ~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitServiceProviderProperties 4041 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 4042 values are: 'Updating', 'Deleting', and 'Failed'. 4043 :type provisioning_state: str 4044 :param gateway_manager_etag: The GatewayManager Etag. 4045 :type gateway_manager_etag: str 4046 :param allow_global_reach: Flag to enable Global Reach on the circuit. 4047 :type allow_global_reach: bool 4048 """ 4049 4050 _validation = { 4051 'name': {'readonly': True}, 4052 'type': {'readonly': True}, 4053 'etag': {'readonly': True}, 4054 } 4055 4056 _attribute_map = { 4057 'id': {'key': 'id', 'type': 'str'}, 4058 'name': {'key': 'name', 'type': 'str'}, 4059 'type': {'key': 'type', 'type': 'str'}, 4060 'location': {'key': 'location', 'type': 'str'}, 4061 'tags': {'key': 'tags', 'type': '{str}'}, 4062 'sku': {'key': 'sku', 'type': 'ExpressRouteCircuitSku'}, 4063 'etag': {'key': 'etag', 'type': 'str'}, 4064 'allow_classic_operations': {'key': 'properties.allowClassicOperations', 'type': 'bool'}, 4065 'circuit_provisioning_state': {'key': 'properties.circuitProvisioningState', 'type': 'str'}, 4066 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, 4067 'authorizations': {'key': 'properties.authorizations', 'type': '[ExpressRouteCircuitAuthorization]'}, 4068 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, 4069 'service_key': {'key': 'properties.serviceKey', 'type': 'str'}, 4070 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, 4071 'service_provider_properties': {'key': 'properties.serviceProviderProperties', 'type': 'ExpressRouteCircuitServiceProviderProperties'}, 4072 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4073 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, 4074 'allow_global_reach': {'key': 'properties.allowGlobalReach', 'type': 'bool'}, 4075 } 4076 4077 def __init__( 4078 self, 4079 **kwargs 4080 ): 4081 super(ExpressRouteCircuit, self).__init__(**kwargs) 4082 self.sku = kwargs.get('sku', None) 4083 self.etag = None 4084 self.allow_classic_operations = kwargs.get('allow_classic_operations', None) 4085 self.circuit_provisioning_state = kwargs.get('circuit_provisioning_state', None) 4086 self.service_provider_provisioning_state = kwargs.get('service_provider_provisioning_state', None) 4087 self.authorizations = kwargs.get('authorizations', None) 4088 self.peerings = kwargs.get('peerings', None) 4089 self.service_key = kwargs.get('service_key', None) 4090 self.service_provider_notes = kwargs.get('service_provider_notes', None) 4091 self.service_provider_properties = kwargs.get('service_provider_properties', None) 4092 self.provisioning_state = kwargs.get('provisioning_state', None) 4093 self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) 4094 self.allow_global_reach = kwargs.get('allow_global_reach', None) 4095 4096 4097class ExpressRouteCircuitArpTable(msrest.serialization.Model): 4098 """The ARP table associated with the ExpressRouteCircuit. 4099 4100 :param age: Entry age in minutes. 4101 :type age: int 4102 :param interface: Interface address. 4103 :type interface: str 4104 :param ip_address: The IP address. 4105 :type ip_address: str 4106 :param mac_address: The MAC address. 4107 :type mac_address: str 4108 """ 4109 4110 _attribute_map = { 4111 'age': {'key': 'age', 'type': 'int'}, 4112 'interface': {'key': 'interface', 'type': 'str'}, 4113 'ip_address': {'key': 'ipAddress', 'type': 'str'}, 4114 'mac_address': {'key': 'macAddress', 'type': 'str'}, 4115 } 4116 4117 def __init__( 4118 self, 4119 **kwargs 4120 ): 4121 super(ExpressRouteCircuitArpTable, self).__init__(**kwargs) 4122 self.age = kwargs.get('age', None) 4123 self.interface = kwargs.get('interface', None) 4124 self.ip_address = kwargs.get('ip_address', None) 4125 self.mac_address = kwargs.get('mac_address', None) 4126 4127 4128class ExpressRouteCircuitAuthorization(SubResource): 4129 """Authorization in an ExpressRouteCircuit resource. 4130 4131 Variables are only populated by the server, and will be ignored when sending a request. 4132 4133 :param id: Resource ID. 4134 :type id: str 4135 :param name: Gets name of the resource that is unique within a resource group. This name can be 4136 used to access the resource. 4137 :type name: str 4138 :ivar etag: A unique read-only string that changes whenever the resource is updated. 4139 :vartype etag: str 4140 :param authorization_key: The authorization key. 4141 :type authorization_key: str 4142 :param authorization_use_status: AuthorizationUseStatus. Possible values are: 'Available' and 4143 'InUse'. Possible values include: "Available", "InUse". 4144 :type authorization_use_status: str or 4145 ~azure.mgmt.network.v2018_07_01.models.AuthorizationUseStatus 4146 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 4147 values are: 'Updating', 'Deleting', and 'Failed'. 4148 :type provisioning_state: str 4149 """ 4150 4151 _validation = { 4152 'etag': {'readonly': True}, 4153 } 4154 4155 _attribute_map = { 4156 'id': {'key': 'id', 'type': 'str'}, 4157 'name': {'key': 'name', 'type': 'str'}, 4158 'etag': {'key': 'etag', 'type': 'str'}, 4159 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 4160 'authorization_use_status': {'key': 'properties.authorizationUseStatus', 'type': 'str'}, 4161 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4162 } 4163 4164 def __init__( 4165 self, 4166 **kwargs 4167 ): 4168 super(ExpressRouteCircuitAuthorization, self).__init__(**kwargs) 4169 self.name = kwargs.get('name', None) 4170 self.etag = None 4171 self.authorization_key = kwargs.get('authorization_key', None) 4172 self.authorization_use_status = kwargs.get('authorization_use_status', None) 4173 self.provisioning_state = kwargs.get('provisioning_state', None) 4174 4175 4176class ExpressRouteCircuitConnection(SubResource): 4177 """Express Route Circuit Connection in an ExpressRouteCircuitPeering resource. 4178 4179 Variables are only populated by the server, and will be ignored when sending a request. 4180 4181 :param id: Resource ID. 4182 :type id: str 4183 :param name: Gets name of the resource that is unique within a resource group. This name can be 4184 used to access the resource. 4185 :type name: str 4186 :ivar etag: A unique read-only string that changes whenever the resource is updated. 4187 :vartype etag: str 4188 :param express_route_circuit_peering: Reference to Express Route Circuit Private Peering 4189 Resource of the circuit initiating connection. 4190 :type express_route_circuit_peering: ~azure.mgmt.network.v2018_07_01.models.SubResource 4191 :param peer_express_route_circuit_peering: Reference to Express Route Circuit Private Peering 4192 Resource of the peered circuit. 4193 :type peer_express_route_circuit_peering: ~azure.mgmt.network.v2018_07_01.models.SubResource 4194 :param address_prefix: /29 IP address space to carve out Customer addresses for tunnels. 4195 :type address_prefix: str 4196 :param authorization_key: The authorization key. 4197 :type authorization_key: str 4198 :ivar circuit_connection_status: Express Route Circuit Connection State. Possible values are: 4199 'Connected' and 'Disconnected'. Possible values include: "Connected", "Connecting", 4200 "Disconnected". 4201 :vartype circuit_connection_status: str or 4202 ~azure.mgmt.network.v2018_07_01.models.CircuitConnectionStatus 4203 :ivar provisioning_state: Provisioning state of the circuit connection resource. Possible 4204 values are: 'Succeeded', 'Updating', 'Deleting', and 'Failed'. 4205 :vartype provisioning_state: str 4206 """ 4207 4208 _validation = { 4209 'etag': {'readonly': True}, 4210 'circuit_connection_status': {'readonly': True}, 4211 'provisioning_state': {'readonly': True}, 4212 } 4213 4214 _attribute_map = { 4215 'id': {'key': 'id', 'type': 'str'}, 4216 'name': {'key': 'name', 'type': 'str'}, 4217 'etag': {'key': 'etag', 'type': 'str'}, 4218 'express_route_circuit_peering': {'key': 'properties.expressRouteCircuitPeering', 'type': 'SubResource'}, 4219 'peer_express_route_circuit_peering': {'key': 'properties.peerExpressRouteCircuitPeering', 'type': 'SubResource'}, 4220 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 4221 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 4222 'circuit_connection_status': {'key': 'properties.circuitConnectionStatus', 'type': 'str'}, 4223 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4224 } 4225 4226 def __init__( 4227 self, 4228 **kwargs 4229 ): 4230 super(ExpressRouteCircuitConnection, self).__init__(**kwargs) 4231 self.name = kwargs.get('name', None) 4232 self.etag = None 4233 self.express_route_circuit_peering = kwargs.get('express_route_circuit_peering', None) 4234 self.peer_express_route_circuit_peering = kwargs.get('peer_express_route_circuit_peering', None) 4235 self.address_prefix = kwargs.get('address_prefix', None) 4236 self.authorization_key = kwargs.get('authorization_key', None) 4237 self.circuit_connection_status = None 4238 self.provisioning_state = None 4239 4240 4241class ExpressRouteCircuitListResult(msrest.serialization.Model): 4242 """Response for ListExpressRouteCircuit API service call. 4243 4244 :param value: A list of ExpressRouteCircuits in a resource group. 4245 :type value: list[~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuit] 4246 :param next_link: The URL to get the next set of results. 4247 :type next_link: str 4248 """ 4249 4250 _attribute_map = { 4251 'value': {'key': 'value', 'type': '[ExpressRouteCircuit]'}, 4252 'next_link': {'key': 'nextLink', 'type': 'str'}, 4253 } 4254 4255 def __init__( 4256 self, 4257 **kwargs 4258 ): 4259 super(ExpressRouteCircuitListResult, self).__init__(**kwargs) 4260 self.value = kwargs.get('value', None) 4261 self.next_link = kwargs.get('next_link', None) 4262 4263 4264class ExpressRouteCircuitPeering(SubResource): 4265 """Peering in an ExpressRouteCircuit resource. 4266 4267 Variables are only populated by the server, and will be ignored when sending a request. 4268 4269 :param id: Resource ID. 4270 :type id: str 4271 :param name: Gets name of the resource that is unique within a resource group. This name can be 4272 used to access the resource. 4273 :type name: str 4274 :ivar etag: A unique read-only string that changes whenever the resource is updated. 4275 :vartype etag: str 4276 :param peering_type: The peering type. Possible values include: "AzurePublicPeering", 4277 "AzurePrivatePeering", "MicrosoftPeering". 4278 :type peering_type: str or ~azure.mgmt.network.v2018_07_01.models.ExpressRoutePeeringType 4279 :param state: The peering state. Possible values include: "Disabled", "Enabled". 4280 :type state: str or ~azure.mgmt.network.v2018_07_01.models.ExpressRoutePeeringState 4281 :param azure_asn: The Azure ASN. 4282 :type azure_asn: int 4283 :param peer_asn: The peer ASN. 4284 :type peer_asn: long 4285 :param primary_peer_address_prefix: The primary address prefix. 4286 :type primary_peer_address_prefix: str 4287 :param secondary_peer_address_prefix: The secondary address prefix. 4288 :type secondary_peer_address_prefix: str 4289 :param primary_azure_port: The primary port. 4290 :type primary_azure_port: str 4291 :param secondary_azure_port: The secondary port. 4292 :type secondary_azure_port: str 4293 :param shared_key: The shared key. 4294 :type shared_key: str 4295 :param vlan_id: The VLAN ID. 4296 :type vlan_id: int 4297 :param microsoft_peering_config: The Microsoft peering configuration. 4298 :type microsoft_peering_config: 4299 ~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitPeeringConfig 4300 :param stats: Gets peering stats. 4301 :type stats: ~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitStats 4302 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 4303 values are: 'Updating', 'Deleting', and 'Failed'. 4304 :type provisioning_state: str 4305 :param gateway_manager_etag: The GatewayManager Etag. 4306 :type gateway_manager_etag: str 4307 :param last_modified_by: Gets whether the provider or the customer last modified the peering. 4308 :type last_modified_by: str 4309 :param route_filter: The reference of the RouteFilter resource. 4310 :type route_filter: ~azure.mgmt.network.v2018_07_01.models.RouteFilter 4311 :param ipv6_peering_config: The IPv6 peering configuration. 4312 :type ipv6_peering_config: 4313 ~azure.mgmt.network.v2018_07_01.models.Ipv6ExpressRouteCircuitPeeringConfig 4314 :param connections: The list of circuit connections associated with Azure Private Peering for 4315 this circuit. 4316 :type connections: list[~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitConnection] 4317 """ 4318 4319 _validation = { 4320 'etag': {'readonly': True}, 4321 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, 4322 } 4323 4324 _attribute_map = { 4325 'id': {'key': 'id', 'type': 'str'}, 4326 'name': {'key': 'name', 'type': 'str'}, 4327 'etag': {'key': 'etag', 'type': 'str'}, 4328 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, 4329 'state': {'key': 'properties.state', 'type': 'str'}, 4330 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, 4331 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, 4332 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, 4333 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, 4334 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, 4335 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, 4336 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 4337 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, 4338 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, 4339 'stats': {'key': 'properties.stats', 'type': 'ExpressRouteCircuitStats'}, 4340 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4341 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, 4342 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, 4343 'route_filter': {'key': 'properties.routeFilter', 'type': 'RouteFilter'}, 4344 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, 4345 'connections': {'key': 'properties.connections', 'type': '[ExpressRouteCircuitConnection]'}, 4346 } 4347 4348 def __init__( 4349 self, 4350 **kwargs 4351 ): 4352 super(ExpressRouteCircuitPeering, self).__init__(**kwargs) 4353 self.name = kwargs.get('name', None) 4354 self.etag = None 4355 self.peering_type = kwargs.get('peering_type', None) 4356 self.state = kwargs.get('state', None) 4357 self.azure_asn = kwargs.get('azure_asn', None) 4358 self.peer_asn = kwargs.get('peer_asn', None) 4359 self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) 4360 self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) 4361 self.primary_azure_port = kwargs.get('primary_azure_port', None) 4362 self.secondary_azure_port = kwargs.get('secondary_azure_port', None) 4363 self.shared_key = kwargs.get('shared_key', None) 4364 self.vlan_id = kwargs.get('vlan_id', None) 4365 self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) 4366 self.stats = kwargs.get('stats', None) 4367 self.provisioning_state = kwargs.get('provisioning_state', None) 4368 self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) 4369 self.last_modified_by = kwargs.get('last_modified_by', None) 4370 self.route_filter = kwargs.get('route_filter', None) 4371 self.ipv6_peering_config = kwargs.get('ipv6_peering_config', None) 4372 self.connections = kwargs.get('connections', None) 4373 4374 4375class ExpressRouteCircuitPeeringConfig(msrest.serialization.Model): 4376 """Specifies the peering configuration. 4377 4378 :param advertised_public_prefixes: The reference of AdvertisedPublicPrefixes. 4379 :type advertised_public_prefixes: list[str] 4380 :param advertised_communities: The communities of bgp peering. Specified for microsoft peering. 4381 :type advertised_communities: list[str] 4382 :param advertised_public_prefixes_state: AdvertisedPublicPrefixState of the Peering resource. 4383 Possible values are 'NotConfigured', 'Configuring', 'Configured', and 'ValidationNeeded'. 4384 Possible values include: "NotConfigured", "Configuring", "Configured", "ValidationNeeded". 4385 :type advertised_public_prefixes_state: str or 4386 ~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitPeeringAdvertisedPublicPrefixState 4387 :param legacy_mode: The legacy mode of the peering. 4388 :type legacy_mode: int 4389 :param customer_asn: The CustomerASN of the peering. 4390 :type customer_asn: int 4391 :param routing_registry_name: The RoutingRegistryName of the configuration. 4392 :type routing_registry_name: str 4393 """ 4394 4395 _attribute_map = { 4396 'advertised_public_prefixes': {'key': 'advertisedPublicPrefixes', 'type': '[str]'}, 4397 'advertised_communities': {'key': 'advertisedCommunities', 'type': '[str]'}, 4398 'advertised_public_prefixes_state': {'key': 'advertisedPublicPrefixesState', 'type': 'str'}, 4399 'legacy_mode': {'key': 'legacyMode', 'type': 'int'}, 4400 'customer_asn': {'key': 'customerASN', 'type': 'int'}, 4401 'routing_registry_name': {'key': 'routingRegistryName', 'type': 'str'}, 4402 } 4403 4404 def __init__( 4405 self, 4406 **kwargs 4407 ): 4408 super(ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) 4409 self.advertised_public_prefixes = kwargs.get('advertised_public_prefixes', None) 4410 self.advertised_communities = kwargs.get('advertised_communities', None) 4411 self.advertised_public_prefixes_state = kwargs.get('advertised_public_prefixes_state', None) 4412 self.legacy_mode = kwargs.get('legacy_mode', None) 4413 self.customer_asn = kwargs.get('customer_asn', None) 4414 self.routing_registry_name = kwargs.get('routing_registry_name', None) 4415 4416 4417class ExpressRouteCircuitPeeringListResult(msrest.serialization.Model): 4418 """Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCircuit. 4419 4420 :param value: The peerings in an express route circuit. 4421 :type value: list[~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitPeering] 4422 :param next_link: The URL to get the next set of results. 4423 :type next_link: str 4424 """ 4425 4426 _attribute_map = { 4427 'value': {'key': 'value', 'type': '[ExpressRouteCircuitPeering]'}, 4428 'next_link': {'key': 'nextLink', 'type': 'str'}, 4429 } 4430 4431 def __init__( 4432 self, 4433 **kwargs 4434 ): 4435 super(ExpressRouteCircuitPeeringListResult, self).__init__(**kwargs) 4436 self.value = kwargs.get('value', None) 4437 self.next_link = kwargs.get('next_link', None) 4438 4439 4440class ExpressRouteCircuitReference(msrest.serialization.Model): 4441 """ExpressRouteCircuitReference. 4442 4443 :param id: Corresponding Express Route Circuit Id. 4444 :type id: str 4445 """ 4446 4447 _attribute_map = { 4448 'id': {'key': 'id', 'type': 'str'}, 4449 } 4450 4451 def __init__( 4452 self, 4453 **kwargs 4454 ): 4455 super(ExpressRouteCircuitReference, self).__init__(**kwargs) 4456 self.id = kwargs.get('id', None) 4457 4458 4459class ExpressRouteCircuitRoutesTable(msrest.serialization.Model): 4460 """The routes table associated with the ExpressRouteCircuit. 4461 4462 :param network: IP address of a network entity. 4463 :type network: str 4464 :param next_hop: NextHop address. 4465 :type next_hop: str 4466 :param loc_prf: Local preference value as set with the set local-preference route-map 4467 configuration command. 4468 :type loc_prf: str 4469 :param weight: Route Weight. 4470 :type weight: int 4471 :param path: Autonomous system paths to the destination network. 4472 :type path: str 4473 """ 4474 4475 _attribute_map = { 4476 'network': {'key': 'network', 'type': 'str'}, 4477 'next_hop': {'key': 'nextHop', 'type': 'str'}, 4478 'loc_prf': {'key': 'locPrf', 'type': 'str'}, 4479 'weight': {'key': 'weight', 'type': 'int'}, 4480 'path': {'key': 'path', 'type': 'str'}, 4481 } 4482 4483 def __init__( 4484 self, 4485 **kwargs 4486 ): 4487 super(ExpressRouteCircuitRoutesTable, self).__init__(**kwargs) 4488 self.network = kwargs.get('network', None) 4489 self.next_hop = kwargs.get('next_hop', None) 4490 self.loc_prf = kwargs.get('loc_prf', None) 4491 self.weight = kwargs.get('weight', None) 4492 self.path = kwargs.get('path', None) 4493 4494 4495class ExpressRouteCircuitRoutesTableSummary(msrest.serialization.Model): 4496 """The routes table associated with the ExpressRouteCircuit. 4497 4498 :param neighbor: IP address of the neighbor. 4499 :type neighbor: str 4500 :param v: BGP version number spoken to the neighbor. 4501 :type v: int 4502 :param as_property: Autonomous system number. 4503 :type as_property: int 4504 :param up_down: The length of time that the BGP session has been in the Established state, or 4505 the current status if not in the Established state. 4506 :type up_down: str 4507 :param state_pfx_rcd: Current state of the BGP session, and the number of prefixes that have 4508 been received from a neighbor or peer group. 4509 :type state_pfx_rcd: str 4510 """ 4511 4512 _attribute_map = { 4513 'neighbor': {'key': 'neighbor', 'type': 'str'}, 4514 'v': {'key': 'v', 'type': 'int'}, 4515 'as_property': {'key': 'as', 'type': 'int'}, 4516 'up_down': {'key': 'upDown', 'type': 'str'}, 4517 'state_pfx_rcd': {'key': 'statePfxRcd', 'type': 'str'}, 4518 } 4519 4520 def __init__( 4521 self, 4522 **kwargs 4523 ): 4524 super(ExpressRouteCircuitRoutesTableSummary, self).__init__(**kwargs) 4525 self.neighbor = kwargs.get('neighbor', None) 4526 self.v = kwargs.get('v', None) 4527 self.as_property = kwargs.get('as_property', None) 4528 self.up_down = kwargs.get('up_down', None) 4529 self.state_pfx_rcd = kwargs.get('state_pfx_rcd', None) 4530 4531 4532class ExpressRouteCircuitsArpTableListResult(msrest.serialization.Model): 4533 """Response for ListArpTable associated with the Express Route Circuits API. 4534 4535 :param value: Gets list of the ARP table. 4536 :type value: list[~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitArpTable] 4537 :param next_link: The URL to get the next set of results. 4538 :type next_link: str 4539 """ 4540 4541 _attribute_map = { 4542 'value': {'key': 'value', 'type': '[ExpressRouteCircuitArpTable]'}, 4543 'next_link': {'key': 'nextLink', 'type': 'str'}, 4544 } 4545 4546 def __init__( 4547 self, 4548 **kwargs 4549 ): 4550 super(ExpressRouteCircuitsArpTableListResult, self).__init__(**kwargs) 4551 self.value = kwargs.get('value', None) 4552 self.next_link = kwargs.get('next_link', None) 4553 4554 4555class ExpressRouteCircuitServiceProviderProperties(msrest.serialization.Model): 4556 """Contains ServiceProviderProperties in an ExpressRouteCircuit. 4557 4558 :param service_provider_name: The serviceProviderName. 4559 :type service_provider_name: str 4560 :param peering_location: The peering location. 4561 :type peering_location: str 4562 :param bandwidth_in_mbps: The BandwidthInMbps. 4563 :type bandwidth_in_mbps: int 4564 """ 4565 4566 _attribute_map = { 4567 'service_provider_name': {'key': 'serviceProviderName', 'type': 'str'}, 4568 'peering_location': {'key': 'peeringLocation', 'type': 'str'}, 4569 'bandwidth_in_mbps': {'key': 'bandwidthInMbps', 'type': 'int'}, 4570 } 4571 4572 def __init__( 4573 self, 4574 **kwargs 4575 ): 4576 super(ExpressRouteCircuitServiceProviderProperties, self).__init__(**kwargs) 4577 self.service_provider_name = kwargs.get('service_provider_name', None) 4578 self.peering_location = kwargs.get('peering_location', None) 4579 self.bandwidth_in_mbps = kwargs.get('bandwidth_in_mbps', None) 4580 4581 4582class ExpressRouteCircuitSku(msrest.serialization.Model): 4583 """Contains SKU in an ExpressRouteCircuit. 4584 4585 :param name: The name of the SKU. 4586 :type name: str 4587 :param tier: The tier of the SKU. Possible values are 'Standard' and 'Premium'. Possible values 4588 include: "Standard", "Premium". 4589 :type tier: str or ~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitSkuTier 4590 :param family: The family of the SKU. Possible values are: 'UnlimitedData' and 'MeteredData'. 4591 Possible values include: "UnlimitedData", "MeteredData". 4592 :type family: str or ~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitSkuFamily 4593 """ 4594 4595 _attribute_map = { 4596 'name': {'key': 'name', 'type': 'str'}, 4597 'tier': {'key': 'tier', 'type': 'str'}, 4598 'family': {'key': 'family', 'type': 'str'}, 4599 } 4600 4601 def __init__( 4602 self, 4603 **kwargs 4604 ): 4605 super(ExpressRouteCircuitSku, self).__init__(**kwargs) 4606 self.name = kwargs.get('name', None) 4607 self.tier = kwargs.get('tier', None) 4608 self.family = kwargs.get('family', None) 4609 4610 4611class ExpressRouteCircuitsRoutesTableListResult(msrest.serialization.Model): 4612 """Response for ListRoutesTable associated with the Express Route Circuits API. 4613 4614 :param value: The list of routes table. 4615 :type value: list[~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitRoutesTable] 4616 :param next_link: The URL to get the next set of results. 4617 :type next_link: str 4618 """ 4619 4620 _attribute_map = { 4621 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTable]'}, 4622 'next_link': {'key': 'nextLink', 'type': 'str'}, 4623 } 4624 4625 def __init__( 4626 self, 4627 **kwargs 4628 ): 4629 super(ExpressRouteCircuitsRoutesTableListResult, self).__init__(**kwargs) 4630 self.value = kwargs.get('value', None) 4631 self.next_link = kwargs.get('next_link', None) 4632 4633 4634class ExpressRouteCircuitsRoutesTableSummaryListResult(msrest.serialization.Model): 4635 """Response for ListRoutesTable associated with the Express Route Circuits API. 4636 4637 :param value: A list of the routes table. 4638 :type value: list[~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitRoutesTableSummary] 4639 :param next_link: The URL to get the next set of results. 4640 :type next_link: str 4641 """ 4642 4643 _attribute_map = { 4644 'value': {'key': 'value', 'type': '[ExpressRouteCircuitRoutesTableSummary]'}, 4645 'next_link': {'key': 'nextLink', 'type': 'str'}, 4646 } 4647 4648 def __init__( 4649 self, 4650 **kwargs 4651 ): 4652 super(ExpressRouteCircuitsRoutesTableSummaryListResult, self).__init__(**kwargs) 4653 self.value = kwargs.get('value', None) 4654 self.next_link = kwargs.get('next_link', None) 4655 4656 4657class ExpressRouteCircuitStats(msrest.serialization.Model): 4658 """Contains stats associated with the peering. 4659 4660 :param primarybytes_in: Gets BytesIn of the peering. 4661 :type primarybytes_in: long 4662 :param primarybytes_out: Gets BytesOut of the peering. 4663 :type primarybytes_out: long 4664 :param secondarybytes_in: Gets BytesIn of the peering. 4665 :type secondarybytes_in: long 4666 :param secondarybytes_out: Gets BytesOut of the peering. 4667 :type secondarybytes_out: long 4668 """ 4669 4670 _attribute_map = { 4671 'primarybytes_in': {'key': 'primarybytesIn', 'type': 'long'}, 4672 'primarybytes_out': {'key': 'primarybytesOut', 'type': 'long'}, 4673 'secondarybytes_in': {'key': 'secondarybytesIn', 'type': 'long'}, 4674 'secondarybytes_out': {'key': 'secondarybytesOut', 'type': 'long'}, 4675 } 4676 4677 def __init__( 4678 self, 4679 **kwargs 4680 ): 4681 super(ExpressRouteCircuitStats, self).__init__(**kwargs) 4682 self.primarybytes_in = kwargs.get('primarybytes_in', None) 4683 self.primarybytes_out = kwargs.get('primarybytes_out', None) 4684 self.secondarybytes_in = kwargs.get('secondarybytes_in', None) 4685 self.secondarybytes_out = kwargs.get('secondarybytes_out', None) 4686 4687 4688class ExpressRouteCrossConnection(Resource): 4689 """ExpressRouteCrossConnection resource. 4690 4691 Variables are only populated by the server, and will be ignored when sending a request. 4692 4693 :param id: Resource ID. 4694 :type id: str 4695 :ivar name: Resource name. 4696 :vartype name: str 4697 :ivar type: Resource type. 4698 :vartype type: str 4699 :param location: Resource location. 4700 :type location: str 4701 :param tags: A set of tags. Resource tags. 4702 :type tags: dict[str, str] 4703 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 4704 :vartype etag: str 4705 :ivar primary_azure_port: The name of the primary port. 4706 :vartype primary_azure_port: str 4707 :ivar secondary_azure_port: The name of the secondary port. 4708 :vartype secondary_azure_port: str 4709 :ivar s_tag: The identifier of the circuit traffic. 4710 :vartype s_tag: int 4711 :param peering_location: The peering location of the ExpressRoute circuit. 4712 :type peering_location: str 4713 :param bandwidth_in_mbps: The circuit bandwidth In Mbps. 4714 :type bandwidth_in_mbps: int 4715 :param express_route_circuit: The ExpressRouteCircuit. 4716 :type express_route_circuit: 4717 ~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitReference 4718 :param service_provider_provisioning_state: The provisioning state of the circuit in the 4719 connectivity provider system. Possible values are 'NotProvisioned', 'Provisioning', 4720 'Provisioned'. Possible values include: "NotProvisioned", "Provisioning", "Provisioned", 4721 "Deprovisioning". 4722 :type service_provider_provisioning_state: str or 4723 ~azure.mgmt.network.v2018_07_01.models.ServiceProviderProvisioningState 4724 :param service_provider_notes: Additional read only notes set by the connectivity provider. 4725 :type service_provider_notes: str 4726 :ivar provisioning_state: Gets the provisioning state of the public IP resource. Possible 4727 values are: 'Updating', 'Deleting', and 'Failed'. 4728 :vartype provisioning_state: str 4729 :param peerings: The list of peerings. 4730 :type peerings: list[~azure.mgmt.network.v2018_07_01.models.ExpressRouteCrossConnectionPeering] 4731 """ 4732 4733 _validation = { 4734 'name': {'readonly': True}, 4735 'type': {'readonly': True}, 4736 'etag': {'readonly': True}, 4737 'primary_azure_port': {'readonly': True}, 4738 'secondary_azure_port': {'readonly': True}, 4739 's_tag': {'readonly': True}, 4740 'provisioning_state': {'readonly': True}, 4741 } 4742 4743 _attribute_map = { 4744 'id': {'key': 'id', 'type': 'str'}, 4745 'name': {'key': 'name', 'type': 'str'}, 4746 'type': {'key': 'type', 'type': 'str'}, 4747 'location': {'key': 'location', 'type': 'str'}, 4748 'tags': {'key': 'tags', 'type': '{str}'}, 4749 'etag': {'key': 'etag', 'type': 'str'}, 4750 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, 4751 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, 4752 's_tag': {'key': 'properties.sTag', 'type': 'int'}, 4753 'peering_location': {'key': 'properties.peeringLocation', 'type': 'str'}, 4754 'bandwidth_in_mbps': {'key': 'properties.bandwidthInMbps', 'type': 'int'}, 4755 'express_route_circuit': {'key': 'properties.expressRouteCircuit', 'type': 'ExpressRouteCircuitReference'}, 4756 'service_provider_provisioning_state': {'key': 'properties.serviceProviderProvisioningState', 'type': 'str'}, 4757 'service_provider_notes': {'key': 'properties.serviceProviderNotes', 'type': 'str'}, 4758 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4759 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCrossConnectionPeering]'}, 4760 } 4761 4762 def __init__( 4763 self, 4764 **kwargs 4765 ): 4766 super(ExpressRouteCrossConnection, self).__init__(**kwargs) 4767 self.etag = None 4768 self.primary_azure_port = None 4769 self.secondary_azure_port = None 4770 self.s_tag = None 4771 self.peering_location = kwargs.get('peering_location', None) 4772 self.bandwidth_in_mbps = kwargs.get('bandwidth_in_mbps', None) 4773 self.express_route_circuit = kwargs.get('express_route_circuit', None) 4774 self.service_provider_provisioning_state = kwargs.get('service_provider_provisioning_state', None) 4775 self.service_provider_notes = kwargs.get('service_provider_notes', None) 4776 self.provisioning_state = None 4777 self.peerings = kwargs.get('peerings', None) 4778 4779 4780class ExpressRouteCrossConnectionListResult(msrest.serialization.Model): 4781 """Response for ListExpressRouteCrossConnection API service call. 4782 4783 Variables are only populated by the server, and will be ignored when sending a request. 4784 4785 :param value: A list of ExpressRouteCrossConnection resources. 4786 :type value: list[~azure.mgmt.network.v2018_07_01.models.ExpressRouteCrossConnection] 4787 :ivar next_link: The URL to get the next set of results. 4788 :vartype next_link: str 4789 """ 4790 4791 _validation = { 4792 'next_link': {'readonly': True}, 4793 } 4794 4795 _attribute_map = { 4796 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnection]'}, 4797 'next_link': {'key': 'nextLink', 'type': 'str'}, 4798 } 4799 4800 def __init__( 4801 self, 4802 **kwargs 4803 ): 4804 super(ExpressRouteCrossConnectionListResult, self).__init__(**kwargs) 4805 self.value = kwargs.get('value', None) 4806 self.next_link = None 4807 4808 4809class ExpressRouteCrossConnectionPeering(SubResource): 4810 """Peering in an ExpressRoute Cross Connection resource. 4811 4812 Variables are only populated by the server, and will be ignored when sending a request. 4813 4814 :param id: Resource ID. 4815 :type id: str 4816 :param name: Gets name of the resource that is unique within a resource group. This name can be 4817 used to access the resource. 4818 :type name: str 4819 :ivar etag: A unique read-only string that changes whenever the resource is updated. 4820 :vartype etag: str 4821 :param peering_type: The peering type. Possible values include: "AzurePublicPeering", 4822 "AzurePrivatePeering", "MicrosoftPeering". 4823 :type peering_type: str or ~azure.mgmt.network.v2018_07_01.models.ExpressRoutePeeringType 4824 :param state: The peering state. Possible values include: "Disabled", "Enabled". 4825 :type state: str or ~azure.mgmt.network.v2018_07_01.models.ExpressRoutePeeringState 4826 :ivar azure_asn: The Azure ASN. 4827 :vartype azure_asn: int 4828 :param peer_asn: The peer ASN. 4829 :type peer_asn: long 4830 :param primary_peer_address_prefix: The primary address prefix. 4831 :type primary_peer_address_prefix: str 4832 :param secondary_peer_address_prefix: The secondary address prefix. 4833 :type secondary_peer_address_prefix: str 4834 :ivar primary_azure_port: The primary port. 4835 :vartype primary_azure_port: str 4836 :ivar secondary_azure_port: The secondary port. 4837 :vartype secondary_azure_port: str 4838 :param shared_key: The shared key. 4839 :type shared_key: str 4840 :param vlan_id: The VLAN ID. 4841 :type vlan_id: int 4842 :param microsoft_peering_config: The Microsoft peering configuration. 4843 :type microsoft_peering_config: 4844 ~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitPeeringConfig 4845 :ivar provisioning_state: Gets the provisioning state of the public IP resource. Possible 4846 values are: 'Updating', 'Deleting', and 'Failed'. 4847 :vartype provisioning_state: str 4848 :param gateway_manager_etag: The GatewayManager Etag. 4849 :type gateway_manager_etag: str 4850 :param last_modified_by: Gets whether the provider or the customer last modified the peering. 4851 :type last_modified_by: str 4852 :param ipv6_peering_config: The IPv6 peering configuration. 4853 :type ipv6_peering_config: 4854 ~azure.mgmt.network.v2018_07_01.models.Ipv6ExpressRouteCircuitPeeringConfig 4855 """ 4856 4857 _validation = { 4858 'etag': {'readonly': True}, 4859 'azure_asn': {'readonly': True}, 4860 'peer_asn': {'maximum': 4294967295, 'minimum': 1}, 4861 'primary_azure_port': {'readonly': True}, 4862 'secondary_azure_port': {'readonly': True}, 4863 'provisioning_state': {'readonly': True}, 4864 } 4865 4866 _attribute_map = { 4867 'id': {'key': 'id', 'type': 'str'}, 4868 'name': {'key': 'name', 'type': 'str'}, 4869 'etag': {'key': 'etag', 'type': 'str'}, 4870 'peering_type': {'key': 'properties.peeringType', 'type': 'str'}, 4871 'state': {'key': 'properties.state', 'type': 'str'}, 4872 'azure_asn': {'key': 'properties.azureASN', 'type': 'int'}, 4873 'peer_asn': {'key': 'properties.peerASN', 'type': 'long'}, 4874 'primary_peer_address_prefix': {'key': 'properties.primaryPeerAddressPrefix', 'type': 'str'}, 4875 'secondary_peer_address_prefix': {'key': 'properties.secondaryPeerAddressPrefix', 'type': 'str'}, 4876 'primary_azure_port': {'key': 'properties.primaryAzurePort', 'type': 'str'}, 4877 'secondary_azure_port': {'key': 'properties.secondaryAzurePort', 'type': 'str'}, 4878 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 4879 'vlan_id': {'key': 'properties.vlanId', 'type': 'int'}, 4880 'microsoft_peering_config': {'key': 'properties.microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, 4881 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 4882 'gateway_manager_etag': {'key': 'properties.gatewayManagerEtag', 'type': 'str'}, 4883 'last_modified_by': {'key': 'properties.lastModifiedBy', 'type': 'str'}, 4884 'ipv6_peering_config': {'key': 'properties.ipv6PeeringConfig', 'type': 'Ipv6ExpressRouteCircuitPeeringConfig'}, 4885 } 4886 4887 def __init__( 4888 self, 4889 **kwargs 4890 ): 4891 super(ExpressRouteCrossConnectionPeering, self).__init__(**kwargs) 4892 self.name = kwargs.get('name', None) 4893 self.etag = None 4894 self.peering_type = kwargs.get('peering_type', None) 4895 self.state = kwargs.get('state', None) 4896 self.azure_asn = None 4897 self.peer_asn = kwargs.get('peer_asn', None) 4898 self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) 4899 self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) 4900 self.primary_azure_port = None 4901 self.secondary_azure_port = None 4902 self.shared_key = kwargs.get('shared_key', None) 4903 self.vlan_id = kwargs.get('vlan_id', None) 4904 self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) 4905 self.provisioning_state = None 4906 self.gateway_manager_etag = kwargs.get('gateway_manager_etag', None) 4907 self.last_modified_by = kwargs.get('last_modified_by', None) 4908 self.ipv6_peering_config = kwargs.get('ipv6_peering_config', None) 4909 4910 4911class ExpressRouteCrossConnectionPeeringList(msrest.serialization.Model): 4912 """Response for ListPeering API service call retrieves all peerings that belong to an ExpressRouteCrossConnection. 4913 4914 Variables are only populated by the server, and will be ignored when sending a request. 4915 4916 :param value: The peerings in an express route cross connection. 4917 :type value: list[~azure.mgmt.network.v2018_07_01.models.ExpressRouteCrossConnectionPeering] 4918 :ivar next_link: The URL to get the next set of results. 4919 :vartype next_link: str 4920 """ 4921 4922 _validation = { 4923 'next_link': {'readonly': True}, 4924 } 4925 4926 _attribute_map = { 4927 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionPeering]'}, 4928 'next_link': {'key': 'nextLink', 'type': 'str'}, 4929 } 4930 4931 def __init__( 4932 self, 4933 **kwargs 4934 ): 4935 super(ExpressRouteCrossConnectionPeeringList, self).__init__(**kwargs) 4936 self.value = kwargs.get('value', None) 4937 self.next_link = None 4938 4939 4940class ExpressRouteCrossConnectionRoutesTableSummary(msrest.serialization.Model): 4941 """The routes table associated with the ExpressRouteCircuit. 4942 4943 :param neighbor: IP address of Neighbor router. 4944 :type neighbor: str 4945 :param asn: Autonomous system number. 4946 :type asn: int 4947 :param up_down: The length of time that the BGP session has been in the Established state, or 4948 the current status if not in the Established state. 4949 :type up_down: str 4950 :param state_or_prefixes_received: Current state of the BGP session, and the number of prefixes 4951 that have been received from a neighbor or peer group. 4952 :type state_or_prefixes_received: str 4953 """ 4954 4955 _attribute_map = { 4956 'neighbor': {'key': 'neighbor', 'type': 'str'}, 4957 'asn': {'key': 'asn', 'type': 'int'}, 4958 'up_down': {'key': 'upDown', 'type': 'str'}, 4959 'state_or_prefixes_received': {'key': 'stateOrPrefixesReceived', 'type': 'str'}, 4960 } 4961 4962 def __init__( 4963 self, 4964 **kwargs 4965 ): 4966 super(ExpressRouteCrossConnectionRoutesTableSummary, self).__init__(**kwargs) 4967 self.neighbor = kwargs.get('neighbor', None) 4968 self.asn = kwargs.get('asn', None) 4969 self.up_down = kwargs.get('up_down', None) 4970 self.state_or_prefixes_received = kwargs.get('state_or_prefixes_received', None) 4971 4972 4973class ExpressRouteCrossConnectionsRoutesTableSummaryListResult(msrest.serialization.Model): 4974 """Response for ListRoutesTable associated with the Express Route Cross Connections. 4975 4976 Variables are only populated by the server, and will be ignored when sending a request. 4977 4978 :param value: A list of the routes table. 4979 :type value: 4980 list[~azure.mgmt.network.v2018_07_01.models.ExpressRouteCrossConnectionRoutesTableSummary] 4981 :ivar next_link: The URL to get the next set of results. 4982 :vartype next_link: str 4983 """ 4984 4985 _validation = { 4986 'next_link': {'readonly': True}, 4987 } 4988 4989 _attribute_map = { 4990 'value': {'key': 'value', 'type': '[ExpressRouteCrossConnectionRoutesTableSummary]'}, 4991 'next_link': {'key': 'nextLink', 'type': 'str'}, 4992 } 4993 4994 def __init__( 4995 self, 4996 **kwargs 4997 ): 4998 super(ExpressRouteCrossConnectionsRoutesTableSummaryListResult, self).__init__(**kwargs) 4999 self.value = kwargs.get('value', None) 5000 self.next_link = None 5001 5002 5003class ExpressRouteServiceProvider(Resource): 5004 """A ExpressRouteResourceProvider object. 5005 5006 Variables are only populated by the server, and will be ignored when sending a request. 5007 5008 :param id: Resource ID. 5009 :type id: str 5010 :ivar name: Resource name. 5011 :vartype name: str 5012 :ivar type: Resource type. 5013 :vartype type: str 5014 :param location: Resource location. 5015 :type location: str 5016 :param tags: A set of tags. Resource tags. 5017 :type tags: dict[str, str] 5018 :param peering_locations: Get a list of peering locations. 5019 :type peering_locations: list[str] 5020 :param bandwidths_offered: Gets bandwidths offered. 5021 :type bandwidths_offered: 5022 list[~azure.mgmt.network.v2018_07_01.models.ExpressRouteServiceProviderBandwidthsOffered] 5023 :param provisioning_state: Gets the provisioning state of the resource. 5024 :type provisioning_state: str 5025 """ 5026 5027 _validation = { 5028 'name': {'readonly': True}, 5029 'type': {'readonly': True}, 5030 } 5031 5032 _attribute_map = { 5033 'id': {'key': 'id', 'type': 'str'}, 5034 'name': {'key': 'name', 'type': 'str'}, 5035 'type': {'key': 'type', 'type': 'str'}, 5036 'location': {'key': 'location', 'type': 'str'}, 5037 'tags': {'key': 'tags', 'type': '{str}'}, 5038 'peering_locations': {'key': 'properties.peeringLocations', 'type': '[str]'}, 5039 'bandwidths_offered': {'key': 'properties.bandwidthsOffered', 'type': '[ExpressRouteServiceProviderBandwidthsOffered]'}, 5040 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5041 } 5042 5043 def __init__( 5044 self, 5045 **kwargs 5046 ): 5047 super(ExpressRouteServiceProvider, self).__init__(**kwargs) 5048 self.peering_locations = kwargs.get('peering_locations', None) 5049 self.bandwidths_offered = kwargs.get('bandwidths_offered', None) 5050 self.provisioning_state = kwargs.get('provisioning_state', None) 5051 5052 5053class ExpressRouteServiceProviderBandwidthsOffered(msrest.serialization.Model): 5054 """Contains bandwidths offered in ExpressRouteServiceProvider resources. 5055 5056 :param offer_name: The OfferName. 5057 :type offer_name: str 5058 :param value_in_mbps: The ValueInMbps. 5059 :type value_in_mbps: int 5060 """ 5061 5062 _attribute_map = { 5063 'offer_name': {'key': 'offerName', 'type': 'str'}, 5064 'value_in_mbps': {'key': 'valueInMbps', 'type': 'int'}, 5065 } 5066 5067 def __init__( 5068 self, 5069 **kwargs 5070 ): 5071 super(ExpressRouteServiceProviderBandwidthsOffered, self).__init__(**kwargs) 5072 self.offer_name = kwargs.get('offer_name', None) 5073 self.value_in_mbps = kwargs.get('value_in_mbps', None) 5074 5075 5076class ExpressRouteServiceProviderListResult(msrest.serialization.Model): 5077 """Response for the ListExpressRouteServiceProvider API service call. 5078 5079 :param value: A list of ExpressRouteResourceProvider resources. 5080 :type value: list[~azure.mgmt.network.v2018_07_01.models.ExpressRouteServiceProvider] 5081 :param next_link: The URL to get the next set of results. 5082 :type next_link: str 5083 """ 5084 5085 _attribute_map = { 5086 'value': {'key': 'value', 'type': '[ExpressRouteServiceProvider]'}, 5087 'next_link': {'key': 'nextLink', 'type': 'str'}, 5088 } 5089 5090 def __init__( 5091 self, 5092 **kwargs 5093 ): 5094 super(ExpressRouteServiceProviderListResult, self).__init__(**kwargs) 5095 self.value = kwargs.get('value', None) 5096 self.next_link = kwargs.get('next_link', None) 5097 5098 5099class FlowLogInformation(msrest.serialization.Model): 5100 """Information on the configuration of flow log and traffic analytics (optional) . 5101 5102 All required parameters must be populated in order to send to Azure. 5103 5104 :param target_resource_id: Required. The ID of the resource to configure for flow log and 5105 traffic analytics (optional) . 5106 :type target_resource_id: str 5107 :param flow_analytics_configuration: Parameters that define the configuration of traffic 5108 analytics. 5109 :type flow_analytics_configuration: 5110 ~azure.mgmt.network.v2018_07_01.models.TrafficAnalyticsProperties 5111 :param storage_id: Required. ID of the storage account which is used to store the flow log. 5112 :type storage_id: str 5113 :param enabled: Required. Flag to enable/disable flow logging. 5114 :type enabled: bool 5115 :param retention_policy: Parameters that define the retention policy for flow log. 5116 :type retention_policy: ~azure.mgmt.network.v2018_07_01.models.RetentionPolicyParameters 5117 """ 5118 5119 _validation = { 5120 'target_resource_id': {'required': True}, 5121 'storage_id': {'required': True}, 5122 'enabled': {'required': True}, 5123 } 5124 5125 _attribute_map = { 5126 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 5127 'flow_analytics_configuration': {'key': 'flowAnalyticsConfiguration', 'type': 'TrafficAnalyticsProperties'}, 5128 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, 5129 'enabled': {'key': 'properties.enabled', 'type': 'bool'}, 5130 'retention_policy': {'key': 'properties.retentionPolicy', 'type': 'RetentionPolicyParameters'}, 5131 } 5132 5133 def __init__( 5134 self, 5135 **kwargs 5136 ): 5137 super(FlowLogInformation, self).__init__(**kwargs) 5138 self.target_resource_id = kwargs['target_resource_id'] 5139 self.flow_analytics_configuration = kwargs.get('flow_analytics_configuration', None) 5140 self.storage_id = kwargs['storage_id'] 5141 self.enabled = kwargs['enabled'] 5142 self.retention_policy = kwargs.get('retention_policy', None) 5143 5144 5145class FlowLogStatusParameters(msrest.serialization.Model): 5146 """Parameters that define a resource to query flow log and traffic analytics (optional) status. 5147 5148 All required parameters must be populated in order to send to Azure. 5149 5150 :param target_resource_id: Required. The target resource where getting the flow log and traffic 5151 analytics (optional) status. 5152 :type target_resource_id: str 5153 """ 5154 5155 _validation = { 5156 'target_resource_id': {'required': True}, 5157 } 5158 5159 _attribute_map = { 5160 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 5161 } 5162 5163 def __init__( 5164 self, 5165 **kwargs 5166 ): 5167 super(FlowLogStatusParameters, self).__init__(**kwargs) 5168 self.target_resource_id = kwargs['target_resource_id'] 5169 5170 5171class FrontendIPConfiguration(SubResource): 5172 """Frontend IP address of the load balancer. 5173 5174 Variables are only populated by the server, and will be ignored when sending a request. 5175 5176 :param id: Resource ID. 5177 :type id: str 5178 :param name: The name of the resource that is unique within a resource group. This name can be 5179 used to access the resource. 5180 :type name: str 5181 :param etag: A unique read-only string that changes whenever the resource is updated. 5182 :type etag: str 5183 :param zones: A list of availability zones denoting the IP allocated for the resource needs to 5184 come from. 5185 :type zones: list[str] 5186 :ivar inbound_nat_rules: Read only. Inbound rules URIs that use this frontend IP. 5187 :vartype inbound_nat_rules: list[~azure.mgmt.network.v2018_07_01.models.SubResource] 5188 :ivar inbound_nat_pools: Read only. Inbound pools URIs that use this frontend IP. 5189 :vartype inbound_nat_pools: list[~azure.mgmt.network.v2018_07_01.models.SubResource] 5190 :ivar outbound_rules: Read only. Outbound rules URIs that use this frontend IP. 5191 :vartype outbound_rules: list[~azure.mgmt.network.v2018_07_01.models.SubResource] 5192 :ivar load_balancing_rules: Gets load balancing rules URIs that use this frontend IP. 5193 :vartype load_balancing_rules: list[~azure.mgmt.network.v2018_07_01.models.SubResource] 5194 :param private_ip_address: The private IP address of the IP configuration. 5195 :type private_ip_address: str 5196 :param private_ip_allocation_method: The Private IP allocation method. Possible values are: 5197 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 5198 :type private_ip_allocation_method: str or 5199 ~azure.mgmt.network.v2018_07_01.models.IPAllocationMethod 5200 :param subnet: The reference of the subnet resource. 5201 :type subnet: ~azure.mgmt.network.v2018_07_01.models.Subnet 5202 :param public_ip_address: The reference of the Public IP resource. 5203 :type public_ip_address: ~azure.mgmt.network.v2018_07_01.models.PublicIPAddress 5204 :param public_ip_prefix: The reference of the Public IP Prefix resource. 5205 :type public_ip_prefix: ~azure.mgmt.network.v2018_07_01.models.SubResource 5206 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 5207 values are: 'Updating', 'Deleting', and 'Failed'. 5208 :type provisioning_state: str 5209 """ 5210 5211 _validation = { 5212 'inbound_nat_rules': {'readonly': True}, 5213 'inbound_nat_pools': {'readonly': True}, 5214 'outbound_rules': {'readonly': True}, 5215 'load_balancing_rules': {'readonly': True}, 5216 } 5217 5218 _attribute_map = { 5219 'id': {'key': 'id', 'type': 'str'}, 5220 'name': {'key': 'name', 'type': 'str'}, 5221 'etag': {'key': 'etag', 'type': 'str'}, 5222 'zones': {'key': 'zones', 'type': '[str]'}, 5223 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[SubResource]'}, 5224 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[SubResource]'}, 5225 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[SubResource]'}, 5226 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 5227 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 5228 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 5229 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 5230 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 5231 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, 5232 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5233 } 5234 5235 def __init__( 5236 self, 5237 **kwargs 5238 ): 5239 super(FrontendIPConfiguration, self).__init__(**kwargs) 5240 self.name = kwargs.get('name', None) 5241 self.etag = kwargs.get('etag', None) 5242 self.zones = kwargs.get('zones', None) 5243 self.inbound_nat_rules = None 5244 self.inbound_nat_pools = None 5245 self.outbound_rules = None 5246 self.load_balancing_rules = None 5247 self.private_ip_address = kwargs.get('private_ip_address', None) 5248 self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) 5249 self.subnet = kwargs.get('subnet', None) 5250 self.public_ip_address = kwargs.get('public_ip_address', None) 5251 self.public_ip_prefix = kwargs.get('public_ip_prefix', None) 5252 self.provisioning_state = kwargs.get('provisioning_state', None) 5253 5254 5255class GatewayRoute(msrest.serialization.Model): 5256 """Gateway routing details. 5257 5258 Variables are only populated by the server, and will be ignored when sending a request. 5259 5260 :ivar local_address: The gateway's local address. 5261 :vartype local_address: str 5262 :ivar network: The route's network prefix. 5263 :vartype network: str 5264 :ivar next_hop: The route's next hop. 5265 :vartype next_hop: str 5266 :ivar source_peer: The peer this route was learned from. 5267 :vartype source_peer: str 5268 :ivar origin: The source this route was learned from. 5269 :vartype origin: str 5270 :ivar as_path: The route's AS path sequence. 5271 :vartype as_path: str 5272 :ivar weight: The route's weight. 5273 :vartype weight: int 5274 """ 5275 5276 _validation = { 5277 'local_address': {'readonly': True}, 5278 'network': {'readonly': True}, 5279 'next_hop': {'readonly': True}, 5280 'source_peer': {'readonly': True}, 5281 'origin': {'readonly': True}, 5282 'as_path': {'readonly': True}, 5283 'weight': {'readonly': True}, 5284 } 5285 5286 _attribute_map = { 5287 'local_address': {'key': 'localAddress', 'type': 'str'}, 5288 'network': {'key': 'network', 'type': 'str'}, 5289 'next_hop': {'key': 'nextHop', 'type': 'str'}, 5290 'source_peer': {'key': 'sourcePeer', 'type': 'str'}, 5291 'origin': {'key': 'origin', 'type': 'str'}, 5292 'as_path': {'key': 'asPath', 'type': 'str'}, 5293 'weight': {'key': 'weight', 'type': 'int'}, 5294 } 5295 5296 def __init__( 5297 self, 5298 **kwargs 5299 ): 5300 super(GatewayRoute, self).__init__(**kwargs) 5301 self.local_address = None 5302 self.network = None 5303 self.next_hop = None 5304 self.source_peer = None 5305 self.origin = None 5306 self.as_path = None 5307 self.weight = None 5308 5309 5310class GatewayRouteListResult(msrest.serialization.Model): 5311 """List of virtual network gateway routes. 5312 5313 :param value: List of gateway routes. 5314 :type value: list[~azure.mgmt.network.v2018_07_01.models.GatewayRoute] 5315 """ 5316 5317 _attribute_map = { 5318 'value': {'key': 'value', 'type': '[GatewayRoute]'}, 5319 } 5320 5321 def __init__( 5322 self, 5323 **kwargs 5324 ): 5325 super(GatewayRouteListResult, self).__init__(**kwargs) 5326 self.value = kwargs.get('value', None) 5327 5328 5329class GetVpnSitesConfigurationRequest(msrest.serialization.Model): 5330 """List of Vpn-Sites. 5331 5332 :param vpn_sites: List of resource-ids of the vpn-sites for which config is to be downloaded. 5333 :type vpn_sites: list[~azure.mgmt.network.v2018_07_01.models.SubResource] 5334 :param output_blob_sas_url: The sas-url to download the configurations for vpn-sites. 5335 :type output_blob_sas_url: str 5336 """ 5337 5338 _attribute_map = { 5339 'vpn_sites': {'key': 'vpnSites', 'type': '[SubResource]'}, 5340 'output_blob_sas_url': {'key': 'outputBlobSasUrl', 'type': 'str'}, 5341 } 5342 5343 def __init__( 5344 self, 5345 **kwargs 5346 ): 5347 super(GetVpnSitesConfigurationRequest, self).__init__(**kwargs) 5348 self.vpn_sites = kwargs.get('vpn_sites', None) 5349 self.output_blob_sas_url = kwargs.get('output_blob_sas_url', None) 5350 5351 5352class HTTPConfiguration(msrest.serialization.Model): 5353 """HTTP configuration of the connectivity check. 5354 5355 :param method: HTTP method. Possible values include: "Get". 5356 :type method: str or ~azure.mgmt.network.v2018_07_01.models.HTTPMethod 5357 :param headers: List of HTTP headers. 5358 :type headers: list[~azure.mgmt.network.v2018_07_01.models.HTTPHeader] 5359 :param valid_status_codes: Valid status codes. 5360 :type valid_status_codes: list[int] 5361 """ 5362 5363 _attribute_map = { 5364 'method': {'key': 'method', 'type': 'str'}, 5365 'headers': {'key': 'headers', 'type': '[HTTPHeader]'}, 5366 'valid_status_codes': {'key': 'validStatusCodes', 'type': '[int]'}, 5367 } 5368 5369 def __init__( 5370 self, 5371 **kwargs 5372 ): 5373 super(HTTPConfiguration, self).__init__(**kwargs) 5374 self.method = kwargs.get('method', None) 5375 self.headers = kwargs.get('headers', None) 5376 self.valid_status_codes = kwargs.get('valid_status_codes', None) 5377 5378 5379class HTTPHeader(msrest.serialization.Model): 5380 """Describes the HTTP header. 5381 5382 :param name: The name in HTTP header. 5383 :type name: str 5384 :param value: The value in HTTP header. 5385 :type value: str 5386 """ 5387 5388 _attribute_map = { 5389 'name': {'key': 'name', 'type': 'str'}, 5390 'value': {'key': 'value', 'type': 'str'}, 5391 } 5392 5393 def __init__( 5394 self, 5395 **kwargs 5396 ): 5397 super(HTTPHeader, self).__init__(**kwargs) 5398 self.name = kwargs.get('name', None) 5399 self.value = kwargs.get('value', None) 5400 5401 5402class HubVirtualNetworkConnection(Resource): 5403 """HubVirtualNetworkConnection Resource. 5404 5405 Variables are only populated by the server, and will be ignored when sending a request. 5406 5407 :param id: Resource ID. 5408 :type id: str 5409 :ivar name: Resource name. 5410 :vartype name: str 5411 :ivar type: Resource type. 5412 :vartype type: str 5413 :param location: Resource location. 5414 :type location: str 5415 :param tags: A set of tags. Resource tags. 5416 :type tags: dict[str, str] 5417 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 5418 :vartype etag: str 5419 :param remote_virtual_network: Reference to the remote virtual network. 5420 :type remote_virtual_network: ~azure.mgmt.network.v2018_07_01.models.SubResource 5421 :param allow_hub_to_remote_vnet_transit: VirtualHub to RemoteVnet transit to enabled or not. 5422 :type allow_hub_to_remote_vnet_transit: bool 5423 :param allow_remote_vnet_to_use_hub_vnet_gateways: Allow RemoteVnet to use Virtual Hub's 5424 gateways. 5425 :type allow_remote_vnet_to_use_hub_vnet_gateways: bool 5426 :param provisioning_state: The provisioning state of the resource. Possible values include: 5427 "Succeeded", "Updating", "Deleting", "Failed". 5428 :type provisioning_state: str or ~azure.mgmt.network.v2018_07_01.models.ProvisioningState 5429 """ 5430 5431 _validation = { 5432 'name': {'readonly': True}, 5433 'type': {'readonly': True}, 5434 'etag': {'readonly': True}, 5435 } 5436 5437 _attribute_map = { 5438 'id': {'key': 'id', 'type': 'str'}, 5439 'name': {'key': 'name', 'type': 'str'}, 5440 'type': {'key': 'type', 'type': 'str'}, 5441 'location': {'key': 'location', 'type': 'str'}, 5442 'tags': {'key': 'tags', 'type': '{str}'}, 5443 'etag': {'key': 'etag', 'type': 'str'}, 5444 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, 5445 'allow_hub_to_remote_vnet_transit': {'key': 'properties.allowHubToRemoteVnetTransit', 'type': 'bool'}, 5446 'allow_remote_vnet_to_use_hub_vnet_gateways': {'key': 'properties.allowRemoteVnetToUseHubVnetGateways', 'type': 'bool'}, 5447 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5448 } 5449 5450 def __init__( 5451 self, 5452 **kwargs 5453 ): 5454 super(HubVirtualNetworkConnection, self).__init__(**kwargs) 5455 self.etag = None 5456 self.remote_virtual_network = kwargs.get('remote_virtual_network', None) 5457 self.allow_hub_to_remote_vnet_transit = kwargs.get('allow_hub_to_remote_vnet_transit', None) 5458 self.allow_remote_vnet_to_use_hub_vnet_gateways = kwargs.get('allow_remote_vnet_to_use_hub_vnet_gateways', None) 5459 self.provisioning_state = kwargs.get('provisioning_state', None) 5460 5461 5462class InboundNatPool(SubResource): 5463 """Inbound NAT pool of the load balancer. 5464 5465 :param id: Resource ID. 5466 :type id: str 5467 :param name: The name of the resource that is unique within a resource group. This name can be 5468 used to access the resource. 5469 :type name: str 5470 :param etag: A unique read-only string that changes whenever the resource is updated. 5471 :type etag: str 5472 :param frontend_ip_configuration: A reference to frontend IP addresses. 5473 :type frontend_ip_configuration: ~azure.mgmt.network.v2018_07_01.models.SubResource 5474 :param protocol: The transport protocol for the endpoint. Possible values are 'Udp' or 'Tcp' or 5475 'All'. Possible values include: "Udp", "Tcp", "All". 5476 :type protocol: str or ~azure.mgmt.network.v2018_07_01.models.TransportProtocol 5477 :param frontend_port_range_start: The first port number in the range of external ports that 5478 will be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values 5479 range between 1 and 65534. 5480 :type frontend_port_range_start: int 5481 :param frontend_port_range_end: The last port number in the range of external ports that will 5482 be used to provide Inbound Nat to NICs associated with a load balancer. Acceptable values range 5483 between 1 and 65535. 5484 :type frontend_port_range_end: int 5485 :param backend_port: The port used for internal connections on the endpoint. Acceptable values 5486 are between 1 and 65535. 5487 :type backend_port: int 5488 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. The value can be set 5489 between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the 5490 protocol is set to TCP. 5491 :type idle_timeout_in_minutes: int 5492 :param enable_floating_ip: Configures a virtual machine's endpoint for the floating IP 5493 capability required to configure a SQL AlwaysOn Availability Group. This setting is required 5494 when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed 5495 after you create the endpoint. 5496 :type enable_floating_ip: bool 5497 :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected 5498 connection termination. This element is only used when the protocol is set to TCP. 5499 :type enable_tcp_reset: bool 5500 :param provisioning_state: Gets the provisioning state of the PublicIP resource. Possible 5501 values are: 'Updating', 'Deleting', and 'Failed'. 5502 :type provisioning_state: str 5503 """ 5504 5505 _attribute_map = { 5506 'id': {'key': 'id', 'type': 'str'}, 5507 'name': {'key': 'name', 'type': 'str'}, 5508 'etag': {'key': 'etag', 'type': 'str'}, 5509 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 5510 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 5511 'frontend_port_range_start': {'key': 'properties.frontendPortRangeStart', 'type': 'int'}, 5512 'frontend_port_range_end': {'key': 'properties.frontendPortRangeEnd', 'type': 'int'}, 5513 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 5514 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 5515 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, 5516 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, 5517 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5518 } 5519 5520 def __init__( 5521 self, 5522 **kwargs 5523 ): 5524 super(InboundNatPool, self).__init__(**kwargs) 5525 self.name = kwargs.get('name', None) 5526 self.etag = kwargs.get('etag', None) 5527 self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) 5528 self.protocol = kwargs.get('protocol', None) 5529 self.frontend_port_range_start = kwargs.get('frontend_port_range_start', None) 5530 self.frontend_port_range_end = kwargs.get('frontend_port_range_end', None) 5531 self.backend_port = kwargs.get('backend_port', None) 5532 self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) 5533 self.enable_floating_ip = kwargs.get('enable_floating_ip', None) 5534 self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) 5535 self.provisioning_state = kwargs.get('provisioning_state', None) 5536 5537 5538class InboundNatRule(SubResource): 5539 """Inbound NAT rule of the load balancer. 5540 5541 Variables are only populated by the server, and will be ignored when sending a request. 5542 5543 :param id: Resource ID. 5544 :type id: str 5545 :param name: Gets name of the resource that is unique within a resource group. This name can be 5546 used to access the resource. 5547 :type name: str 5548 :param etag: A unique read-only string that changes whenever the resource is updated. 5549 :type etag: str 5550 :param frontend_ip_configuration: A reference to frontend IP addresses. 5551 :type frontend_ip_configuration: ~azure.mgmt.network.v2018_07_01.models.SubResource 5552 :ivar backend_ip_configuration: A reference to a private IP address defined on a network 5553 interface of a VM. Traffic sent to the frontend port of each of the frontend IP configurations 5554 is forwarded to the backend IP. 5555 :vartype backend_ip_configuration: 5556 ~azure.mgmt.network.v2018_07_01.models.NetworkInterfaceIPConfiguration 5557 :param protocol: The transport protocol for the endpoint. Possible values are 'Udp' or 'Tcp' or 5558 'All'. Possible values include: "Udp", "Tcp", "All". 5559 :type protocol: str or ~azure.mgmt.network.v2018_07_01.models.TransportProtocol 5560 :param frontend_port: The port for the external endpoint. Port numbers for each rule must be 5561 unique within the Load Balancer. Acceptable values range from 1 to 65534. 5562 :type frontend_port: int 5563 :param backend_port: The port used for the internal endpoint. Acceptable values range from 1 to 5564 65535. 5565 :type backend_port: int 5566 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. The value can be set 5567 between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the 5568 protocol is set to TCP. 5569 :type idle_timeout_in_minutes: int 5570 :param enable_floating_ip: Configures a virtual machine's endpoint for the floating IP 5571 capability required to configure a SQL AlwaysOn Availability Group. This setting is required 5572 when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed 5573 after you create the endpoint. 5574 :type enable_floating_ip: bool 5575 :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected 5576 connection termination. This element is only used when the protocol is set to TCP. 5577 :type enable_tcp_reset: bool 5578 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 5579 values are: 'Updating', 'Deleting', and 'Failed'. 5580 :type provisioning_state: str 5581 """ 5582 5583 _validation = { 5584 'backend_ip_configuration': {'readonly': True}, 5585 } 5586 5587 _attribute_map = { 5588 'id': {'key': 'id', 'type': 'str'}, 5589 'name': {'key': 'name', 'type': 'str'}, 5590 'etag': {'key': 'etag', 'type': 'str'}, 5591 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 5592 'backend_ip_configuration': {'key': 'properties.backendIPConfiguration', 'type': 'NetworkInterfaceIPConfiguration'}, 5593 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 5594 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, 5595 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 5596 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 5597 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, 5598 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, 5599 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5600 } 5601 5602 def __init__( 5603 self, 5604 **kwargs 5605 ): 5606 super(InboundNatRule, self).__init__(**kwargs) 5607 self.name = kwargs.get('name', None) 5608 self.etag = kwargs.get('etag', None) 5609 self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) 5610 self.backend_ip_configuration = None 5611 self.protocol = kwargs.get('protocol', None) 5612 self.frontend_port = kwargs.get('frontend_port', None) 5613 self.backend_port = kwargs.get('backend_port', None) 5614 self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) 5615 self.enable_floating_ip = kwargs.get('enable_floating_ip', None) 5616 self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) 5617 self.provisioning_state = kwargs.get('provisioning_state', None) 5618 5619 5620class InboundNatRuleListResult(msrest.serialization.Model): 5621 """Response for ListInboundNatRule API service call. 5622 5623 Variables are only populated by the server, and will be ignored when sending a request. 5624 5625 :param value: A list of inbound nat rules in a load balancer. 5626 :type value: list[~azure.mgmt.network.v2018_07_01.models.InboundNatRule] 5627 :ivar next_link: The URL to get the next set of results. 5628 :vartype next_link: str 5629 """ 5630 5631 _validation = { 5632 'next_link': {'readonly': True}, 5633 } 5634 5635 _attribute_map = { 5636 'value': {'key': 'value', 'type': '[InboundNatRule]'}, 5637 'next_link': {'key': 'nextLink', 'type': 'str'}, 5638 } 5639 5640 def __init__( 5641 self, 5642 **kwargs 5643 ): 5644 super(InboundNatRuleListResult, self).__init__(**kwargs) 5645 self.value = kwargs.get('value', None) 5646 self.next_link = None 5647 5648 5649class IPAddressAvailabilityResult(msrest.serialization.Model): 5650 """Response for CheckIPAddressAvailability API service call. 5651 5652 :param available: Private IP address availability. 5653 :type available: bool 5654 :param available_ip_addresses: Contains other available private IP addresses if the asked for 5655 address is taken. 5656 :type available_ip_addresses: list[str] 5657 """ 5658 5659 _attribute_map = { 5660 'available': {'key': 'available', 'type': 'bool'}, 5661 'available_ip_addresses': {'key': 'availableIPAddresses', 'type': '[str]'}, 5662 } 5663 5664 def __init__( 5665 self, 5666 **kwargs 5667 ): 5668 super(IPAddressAvailabilityResult, self).__init__(**kwargs) 5669 self.available = kwargs.get('available', None) 5670 self.available_ip_addresses = kwargs.get('available_ip_addresses', None) 5671 5672 5673class IPConfiguration(SubResource): 5674 """IP configuration. 5675 5676 :param id: Resource ID. 5677 :type id: str 5678 :param name: The name of the resource that is unique within a resource group. This name can be 5679 used to access the resource. 5680 :type name: str 5681 :param etag: A unique read-only string that changes whenever the resource is updated. 5682 :type etag: str 5683 :param private_ip_address: The private IP address of the IP configuration. 5684 :type private_ip_address: str 5685 :param private_ip_allocation_method: The private IP allocation method. Possible values are 5686 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 5687 :type private_ip_allocation_method: str or 5688 ~azure.mgmt.network.v2018_07_01.models.IPAllocationMethod 5689 :param subnet: The reference of the subnet resource. 5690 :type subnet: ~azure.mgmt.network.v2018_07_01.models.Subnet 5691 :param public_ip_address: The reference of the public IP resource. 5692 :type public_ip_address: ~azure.mgmt.network.v2018_07_01.models.PublicIPAddress 5693 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 5694 values are: 'Updating', 'Deleting', and 'Failed'. 5695 :type provisioning_state: str 5696 """ 5697 5698 _attribute_map = { 5699 'id': {'key': 'id', 'type': 'str'}, 5700 'name': {'key': 'name', 'type': 'str'}, 5701 'etag': {'key': 'etag', 'type': 'str'}, 5702 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 5703 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 5704 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 5705 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 5706 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 5707 } 5708 5709 def __init__( 5710 self, 5711 **kwargs 5712 ): 5713 super(IPConfiguration, self).__init__(**kwargs) 5714 self.name = kwargs.get('name', None) 5715 self.etag = kwargs.get('etag', None) 5716 self.private_ip_address = kwargs.get('private_ip_address', None) 5717 self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) 5718 self.subnet = kwargs.get('subnet', None) 5719 self.public_ip_address = kwargs.get('public_ip_address', None) 5720 self.provisioning_state = kwargs.get('provisioning_state', None) 5721 5722 5723class IpsecPolicy(msrest.serialization.Model): 5724 """An IPSec Policy configuration for a virtual network gateway connection. 5725 5726 All required parameters must be populated in order to send to Azure. 5727 5728 :param sa_life_time_seconds: Required. The IPSec Security Association (also called Quick Mode 5729 or Phase 2 SA) lifetime in seconds for a site to site VPN tunnel. 5730 :type sa_life_time_seconds: int 5731 :param sa_data_size_kilobytes: Required. The IPSec Security Association (also called Quick Mode 5732 or Phase 2 SA) payload size in KB for a site to site VPN tunnel. 5733 :type sa_data_size_kilobytes: int 5734 :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE phase 1). Possible 5735 values include: "None", "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES128", "GCMAES192", 5736 "GCMAES256". 5737 :type ipsec_encryption: str or ~azure.mgmt.network.v2018_07_01.models.IpsecEncryption 5738 :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase 1). Possible values 5739 include: "MD5", "SHA1", "SHA256", "GCMAES128", "GCMAES192", "GCMAES256". 5740 :type ipsec_integrity: str or ~azure.mgmt.network.v2018_07_01.models.IpsecIntegrity 5741 :param ike_encryption: Required. The IKE encryption algorithm (IKE phase 2). Possible values 5742 include: "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES256", "GCMAES128". 5743 :type ike_encryption: str or ~azure.mgmt.network.v2018_07_01.models.IkeEncryption 5744 :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). Possible values 5745 include: "MD5", "SHA1", "SHA256", "SHA384", "GCMAES256", "GCMAES128". 5746 :type ike_integrity: str or ~azure.mgmt.network.v2018_07_01.models.IkeIntegrity 5747 :param dh_group: Required. The DH Groups used in IKE Phase 1 for initial SA. Possible values 5748 include: "None", "DHGroup1", "DHGroup2", "DHGroup14", "DHGroup2048", "ECP256", "ECP384", 5749 "DHGroup24". 5750 :type dh_group: str or ~azure.mgmt.network.v2018_07_01.models.DhGroup 5751 :param pfs_group: Required. The Pfs Groups used in IKE Phase 2 for new child SA. Possible 5752 values include: "None", "PFS1", "PFS2", "PFS2048", "ECP256", "ECP384", "PFS24", "PFS14", 5753 "PFSMM". 5754 :type pfs_group: str or ~azure.mgmt.network.v2018_07_01.models.PfsGroup 5755 """ 5756 5757 _validation = { 5758 'sa_life_time_seconds': {'required': True}, 5759 'sa_data_size_kilobytes': {'required': True}, 5760 'ipsec_encryption': {'required': True}, 5761 'ipsec_integrity': {'required': True}, 5762 'ike_encryption': {'required': True}, 5763 'ike_integrity': {'required': True}, 5764 'dh_group': {'required': True}, 5765 'pfs_group': {'required': True}, 5766 } 5767 5768 _attribute_map = { 5769 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, 5770 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, 5771 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, 5772 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, 5773 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, 5774 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, 5775 'dh_group': {'key': 'dhGroup', 'type': 'str'}, 5776 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, 5777 } 5778 5779 def __init__( 5780 self, 5781 **kwargs 5782 ): 5783 super(IpsecPolicy, self).__init__(**kwargs) 5784 self.sa_life_time_seconds = kwargs['sa_life_time_seconds'] 5785 self.sa_data_size_kilobytes = kwargs['sa_data_size_kilobytes'] 5786 self.ipsec_encryption = kwargs['ipsec_encryption'] 5787 self.ipsec_integrity = kwargs['ipsec_integrity'] 5788 self.ike_encryption = kwargs['ike_encryption'] 5789 self.ike_integrity = kwargs['ike_integrity'] 5790 self.dh_group = kwargs['dh_group'] 5791 self.pfs_group = kwargs['pfs_group'] 5792 5793 5794class IpTag(msrest.serialization.Model): 5795 """Contains the IpTag associated with the object. 5796 5797 :param ip_tag_type: Gets or sets the ipTag type: Example FirstPartyUsage. 5798 :type ip_tag_type: str 5799 :param tag: Gets or sets value of the IpTag associated with the public IP. Example SQL, Storage 5800 etc. 5801 :type tag: str 5802 """ 5803 5804 _attribute_map = { 5805 'ip_tag_type': {'key': 'ipTagType', 'type': 'str'}, 5806 'tag': {'key': 'tag', 'type': 'str'}, 5807 } 5808 5809 def __init__( 5810 self, 5811 **kwargs 5812 ): 5813 super(IpTag, self).__init__(**kwargs) 5814 self.ip_tag_type = kwargs.get('ip_tag_type', None) 5815 self.tag = kwargs.get('tag', None) 5816 5817 5818class Ipv6ExpressRouteCircuitPeeringConfig(msrest.serialization.Model): 5819 """Contains IPv6 peering config. 5820 5821 :param primary_peer_address_prefix: The primary address prefix. 5822 :type primary_peer_address_prefix: str 5823 :param secondary_peer_address_prefix: The secondary address prefix. 5824 :type secondary_peer_address_prefix: str 5825 :param microsoft_peering_config: The Microsoft peering configuration. 5826 :type microsoft_peering_config: 5827 ~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitPeeringConfig 5828 :param route_filter: The reference of the RouteFilter resource. 5829 :type route_filter: ~azure.mgmt.network.v2018_07_01.models.RouteFilter 5830 :param state: The state of peering. Possible values are: 'Disabled' and 'Enabled'. Possible 5831 values include: "Disabled", "Enabled". 5832 :type state: str or ~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitPeeringState 5833 """ 5834 5835 _attribute_map = { 5836 'primary_peer_address_prefix': {'key': 'primaryPeerAddressPrefix', 'type': 'str'}, 5837 'secondary_peer_address_prefix': {'key': 'secondaryPeerAddressPrefix', 'type': 'str'}, 5838 'microsoft_peering_config': {'key': 'microsoftPeeringConfig', 'type': 'ExpressRouteCircuitPeeringConfig'}, 5839 'route_filter': {'key': 'routeFilter', 'type': 'RouteFilter'}, 5840 'state': {'key': 'state', 'type': 'str'}, 5841 } 5842 5843 def __init__( 5844 self, 5845 **kwargs 5846 ): 5847 super(Ipv6ExpressRouteCircuitPeeringConfig, self).__init__(**kwargs) 5848 self.primary_peer_address_prefix = kwargs.get('primary_peer_address_prefix', None) 5849 self.secondary_peer_address_prefix = kwargs.get('secondary_peer_address_prefix', None) 5850 self.microsoft_peering_config = kwargs.get('microsoft_peering_config', None) 5851 self.route_filter = kwargs.get('route_filter', None) 5852 self.state = kwargs.get('state', None) 5853 5854 5855class ListHubVirtualNetworkConnectionsResult(msrest.serialization.Model): 5856 """List of HubVirtualNetworkConnections and a URL nextLink to get the next set of results. 5857 5858 :param value: List of HubVirtualNetworkConnections. 5859 :type value: list[~azure.mgmt.network.v2018_07_01.models.HubVirtualNetworkConnection] 5860 :param next_link: URL to get the next set of operation list results if there are any. 5861 :type next_link: str 5862 """ 5863 5864 _attribute_map = { 5865 'value': {'key': 'value', 'type': '[HubVirtualNetworkConnection]'}, 5866 'next_link': {'key': 'nextLink', 'type': 'str'}, 5867 } 5868 5869 def __init__( 5870 self, 5871 **kwargs 5872 ): 5873 super(ListHubVirtualNetworkConnectionsResult, self).__init__(**kwargs) 5874 self.value = kwargs.get('value', None) 5875 self.next_link = kwargs.get('next_link', None) 5876 5877 5878class ListVirtualHubsResult(msrest.serialization.Model): 5879 """Result of the request to list VirtualHubs. It contains a list of VirtualHubs and a URL nextLink to get the next set of results. 5880 5881 :param value: List of VirtualHubs. 5882 :type value: list[~azure.mgmt.network.v2018_07_01.models.VirtualHub] 5883 :param next_link: URL to get the next set of operation list results if there are any. 5884 :type next_link: str 5885 """ 5886 5887 _attribute_map = { 5888 'value': {'key': 'value', 'type': '[VirtualHub]'}, 5889 'next_link': {'key': 'nextLink', 'type': 'str'}, 5890 } 5891 5892 def __init__( 5893 self, 5894 **kwargs 5895 ): 5896 super(ListVirtualHubsResult, self).__init__(**kwargs) 5897 self.value = kwargs.get('value', None) 5898 self.next_link = kwargs.get('next_link', None) 5899 5900 5901class ListVirtualWANsResult(msrest.serialization.Model): 5902 """Result of the request to list VirtualWANs. It contains a list of VirtualWANs and a URL nextLink to get the next set of results. 5903 5904 :param value: List of VirtualWANs. 5905 :type value: list[~azure.mgmt.network.v2018_07_01.models.VirtualWAN] 5906 :param next_link: URL to get the next set of operation list results if there are any. 5907 :type next_link: str 5908 """ 5909 5910 _attribute_map = { 5911 'value': {'key': 'value', 'type': '[VirtualWAN]'}, 5912 'next_link': {'key': 'nextLink', 'type': 'str'}, 5913 } 5914 5915 def __init__( 5916 self, 5917 **kwargs 5918 ): 5919 super(ListVirtualWANsResult, self).__init__(**kwargs) 5920 self.value = kwargs.get('value', None) 5921 self.next_link = kwargs.get('next_link', None) 5922 5923 5924class ListVpnConnectionsResult(msrest.serialization.Model): 5925 """Result of the request to list all vpn connections to a virtual wan vpn gateway. It contains a list of Vpn Connections and a URL nextLink to get the next set of results. 5926 5927 :param value: List of Vpn Connections. 5928 :type value: list[~azure.mgmt.network.v2018_07_01.models.VpnConnection] 5929 :param next_link: URL to get the next set of operation list results if there are any. 5930 :type next_link: str 5931 """ 5932 5933 _attribute_map = { 5934 'value': {'key': 'value', 'type': '[VpnConnection]'}, 5935 'next_link': {'key': 'nextLink', 'type': 'str'}, 5936 } 5937 5938 def __init__( 5939 self, 5940 **kwargs 5941 ): 5942 super(ListVpnConnectionsResult, self).__init__(**kwargs) 5943 self.value = kwargs.get('value', None) 5944 self.next_link = kwargs.get('next_link', None) 5945 5946 5947class ListVpnGatewaysResult(msrest.serialization.Model): 5948 """Result of the request to list VpnGateways. It contains a list of VpnGateways and a URL nextLink to get the next set of results. 5949 5950 :param value: List of VpnGateways. 5951 :type value: list[~azure.mgmt.network.v2018_07_01.models.VpnGateway] 5952 :param next_link: URL to get the next set of operation list results if there are any. 5953 :type next_link: str 5954 """ 5955 5956 _attribute_map = { 5957 'value': {'key': 'value', 'type': '[VpnGateway]'}, 5958 'next_link': {'key': 'nextLink', 'type': 'str'}, 5959 } 5960 5961 def __init__( 5962 self, 5963 **kwargs 5964 ): 5965 super(ListVpnGatewaysResult, self).__init__(**kwargs) 5966 self.value = kwargs.get('value', None) 5967 self.next_link = kwargs.get('next_link', None) 5968 5969 5970class ListVpnSitesResult(msrest.serialization.Model): 5971 """Result of the request to list VpnSites. It contains a list of VpnSites and a URL nextLink to get the next set of results. 5972 5973 :param value: List of VpnSites. 5974 :type value: list[~azure.mgmt.network.v2018_07_01.models.VpnSite] 5975 :param next_link: URL to get the next set of operation list results if there are any. 5976 :type next_link: str 5977 """ 5978 5979 _attribute_map = { 5980 'value': {'key': 'value', 'type': '[VpnSite]'}, 5981 'next_link': {'key': 'nextLink', 'type': 'str'}, 5982 } 5983 5984 def __init__( 5985 self, 5986 **kwargs 5987 ): 5988 super(ListVpnSitesResult, self).__init__(**kwargs) 5989 self.value = kwargs.get('value', None) 5990 self.next_link = kwargs.get('next_link', None) 5991 5992 5993class LoadBalancer(Resource): 5994 """LoadBalancer resource. 5995 5996 Variables are only populated by the server, and will be ignored when sending a request. 5997 5998 :param id: Resource ID. 5999 :type id: str 6000 :ivar name: Resource name. 6001 :vartype name: str 6002 :ivar type: Resource type. 6003 :vartype type: str 6004 :param location: Resource location. 6005 :type location: str 6006 :param tags: A set of tags. Resource tags. 6007 :type tags: dict[str, str] 6008 :param sku: The load balancer SKU. 6009 :type sku: ~azure.mgmt.network.v2018_07_01.models.LoadBalancerSku 6010 :param etag: A unique read-only string that changes whenever the resource is updated. 6011 :type etag: str 6012 :param frontend_ip_configurations: Object representing the frontend IPs to be used for the load 6013 balancer. 6014 :type frontend_ip_configurations: 6015 list[~azure.mgmt.network.v2018_07_01.models.FrontendIPConfiguration] 6016 :param backend_address_pools: Collection of backend address pools used by a load balancer. 6017 :type backend_address_pools: list[~azure.mgmt.network.v2018_07_01.models.BackendAddressPool] 6018 :param load_balancing_rules: Object collection representing the load balancing rules Gets the 6019 provisioning. 6020 :type load_balancing_rules: list[~azure.mgmt.network.v2018_07_01.models.LoadBalancingRule] 6021 :param probes: Collection of probe objects used in the load balancer. 6022 :type probes: list[~azure.mgmt.network.v2018_07_01.models.Probe] 6023 :param inbound_nat_rules: Collection of inbound NAT Rules used by a load balancer. Defining 6024 inbound NAT rules on your load balancer is mutually exclusive with defining an inbound NAT 6025 pool. Inbound NAT pools are referenced from virtual machine scale sets. NICs that are 6026 associated with individual virtual machines cannot reference an Inbound NAT pool. They have to 6027 reference individual inbound NAT rules. 6028 :type inbound_nat_rules: list[~azure.mgmt.network.v2018_07_01.models.InboundNatRule] 6029 :param inbound_nat_pools: Defines an external port range for inbound NAT to a single backend 6030 port on NICs associated with a load balancer. Inbound NAT rules are created automatically for 6031 each NIC associated with the Load Balancer using an external port from this range. Defining an 6032 Inbound NAT pool on your Load Balancer is mutually exclusive with defining inbound Nat rules. 6033 Inbound NAT pools are referenced from virtual machine scale sets. NICs that are associated with 6034 individual virtual machines cannot reference an inbound NAT pool. They have to reference 6035 individual inbound NAT rules. 6036 :type inbound_nat_pools: list[~azure.mgmt.network.v2018_07_01.models.InboundNatPool] 6037 :param outbound_rules: The outbound rules. 6038 :type outbound_rules: list[~azure.mgmt.network.v2018_07_01.models.OutboundRule] 6039 :param resource_guid: The resource GUID property of the load balancer resource. 6040 :type resource_guid: str 6041 :param provisioning_state: Gets the provisioning state of the PublicIP resource. Possible 6042 values are: 'Updating', 'Deleting', and 'Failed'. 6043 :type provisioning_state: str 6044 """ 6045 6046 _validation = { 6047 'name': {'readonly': True}, 6048 'type': {'readonly': True}, 6049 } 6050 6051 _attribute_map = { 6052 'id': {'key': 'id', 'type': 'str'}, 6053 'name': {'key': 'name', 'type': 'str'}, 6054 'type': {'key': 'type', 'type': 'str'}, 6055 'location': {'key': 'location', 'type': 'str'}, 6056 'tags': {'key': 'tags', 'type': '{str}'}, 6057 'sku': {'key': 'sku', 'type': 'LoadBalancerSku'}, 6058 'etag': {'key': 'etag', 'type': 'str'}, 6059 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[FrontendIPConfiguration]'}, 6060 'backend_address_pools': {'key': 'properties.backendAddressPools', 'type': '[BackendAddressPool]'}, 6061 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[LoadBalancingRule]'}, 6062 'probes': {'key': 'properties.probes', 'type': '[Probe]'}, 6063 'inbound_nat_rules': {'key': 'properties.inboundNatRules', 'type': '[InboundNatRule]'}, 6064 'inbound_nat_pools': {'key': 'properties.inboundNatPools', 'type': '[InboundNatPool]'}, 6065 'outbound_rules': {'key': 'properties.outboundRules', 'type': '[OutboundRule]'}, 6066 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 6067 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6068 } 6069 6070 def __init__( 6071 self, 6072 **kwargs 6073 ): 6074 super(LoadBalancer, self).__init__(**kwargs) 6075 self.sku = kwargs.get('sku', None) 6076 self.etag = kwargs.get('etag', None) 6077 self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) 6078 self.backend_address_pools = kwargs.get('backend_address_pools', None) 6079 self.load_balancing_rules = kwargs.get('load_balancing_rules', None) 6080 self.probes = kwargs.get('probes', None) 6081 self.inbound_nat_rules = kwargs.get('inbound_nat_rules', None) 6082 self.inbound_nat_pools = kwargs.get('inbound_nat_pools', None) 6083 self.outbound_rules = kwargs.get('outbound_rules', None) 6084 self.resource_guid = kwargs.get('resource_guid', None) 6085 self.provisioning_state = kwargs.get('provisioning_state', None) 6086 6087 6088class LoadBalancerBackendAddressPoolListResult(msrest.serialization.Model): 6089 """Response for ListBackendAddressPool API service call. 6090 6091 Variables are only populated by the server, and will be ignored when sending a request. 6092 6093 :param value: A list of backend address pools in a load balancer. 6094 :type value: list[~azure.mgmt.network.v2018_07_01.models.BackendAddressPool] 6095 :ivar next_link: The URL to get the next set of results. 6096 :vartype next_link: str 6097 """ 6098 6099 _validation = { 6100 'next_link': {'readonly': True}, 6101 } 6102 6103 _attribute_map = { 6104 'value': {'key': 'value', 'type': '[BackendAddressPool]'}, 6105 'next_link': {'key': 'nextLink', 'type': 'str'}, 6106 } 6107 6108 def __init__( 6109 self, 6110 **kwargs 6111 ): 6112 super(LoadBalancerBackendAddressPoolListResult, self).__init__(**kwargs) 6113 self.value = kwargs.get('value', None) 6114 self.next_link = None 6115 6116 6117class LoadBalancerFrontendIPConfigurationListResult(msrest.serialization.Model): 6118 """Response for ListFrontendIPConfiguration API service call. 6119 6120 Variables are only populated by the server, and will be ignored when sending a request. 6121 6122 :param value: A list of frontend IP configurations in a load balancer. 6123 :type value: list[~azure.mgmt.network.v2018_07_01.models.FrontendIPConfiguration] 6124 :ivar next_link: The URL to get the next set of results. 6125 :vartype next_link: str 6126 """ 6127 6128 _validation = { 6129 'next_link': {'readonly': True}, 6130 } 6131 6132 _attribute_map = { 6133 'value': {'key': 'value', 'type': '[FrontendIPConfiguration]'}, 6134 'next_link': {'key': 'nextLink', 'type': 'str'}, 6135 } 6136 6137 def __init__( 6138 self, 6139 **kwargs 6140 ): 6141 super(LoadBalancerFrontendIPConfigurationListResult, self).__init__(**kwargs) 6142 self.value = kwargs.get('value', None) 6143 self.next_link = None 6144 6145 6146class LoadBalancerListResult(msrest.serialization.Model): 6147 """Response for ListLoadBalancers API service call. 6148 6149 Variables are only populated by the server, and will be ignored when sending a request. 6150 6151 :param value: A list of load balancers in a resource group. 6152 :type value: list[~azure.mgmt.network.v2018_07_01.models.LoadBalancer] 6153 :ivar next_link: The URL to get the next set of results. 6154 :vartype next_link: str 6155 """ 6156 6157 _validation = { 6158 'next_link': {'readonly': True}, 6159 } 6160 6161 _attribute_map = { 6162 'value': {'key': 'value', 'type': '[LoadBalancer]'}, 6163 'next_link': {'key': 'nextLink', 'type': 'str'}, 6164 } 6165 6166 def __init__( 6167 self, 6168 **kwargs 6169 ): 6170 super(LoadBalancerListResult, self).__init__(**kwargs) 6171 self.value = kwargs.get('value', None) 6172 self.next_link = None 6173 6174 6175class LoadBalancerLoadBalancingRuleListResult(msrest.serialization.Model): 6176 """Response for ListLoadBalancingRule API service call. 6177 6178 Variables are only populated by the server, and will be ignored when sending a request. 6179 6180 :param value: A list of load balancing rules in a load balancer. 6181 :type value: list[~azure.mgmt.network.v2018_07_01.models.LoadBalancingRule] 6182 :ivar next_link: The URL to get the next set of results. 6183 :vartype next_link: str 6184 """ 6185 6186 _validation = { 6187 'next_link': {'readonly': True}, 6188 } 6189 6190 _attribute_map = { 6191 'value': {'key': 'value', 'type': '[LoadBalancingRule]'}, 6192 'next_link': {'key': 'nextLink', 'type': 'str'}, 6193 } 6194 6195 def __init__( 6196 self, 6197 **kwargs 6198 ): 6199 super(LoadBalancerLoadBalancingRuleListResult, self).__init__(**kwargs) 6200 self.value = kwargs.get('value', None) 6201 self.next_link = None 6202 6203 6204class LoadBalancerProbeListResult(msrest.serialization.Model): 6205 """Response for ListProbe 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 probes in a load balancer. 6210 :type value: list[~azure.mgmt.network.v2018_07_01.models.Probe] 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': '[Probe]'}, 6221 'next_link': {'key': 'nextLink', 'type': 'str'}, 6222 } 6223 6224 def __init__( 6225 self, 6226 **kwargs 6227 ): 6228 super(LoadBalancerProbeListResult, self).__init__(**kwargs) 6229 self.value = kwargs.get('value', None) 6230 self.next_link = None 6231 6232 6233class LoadBalancerSku(msrest.serialization.Model): 6234 """SKU of a load balancer. 6235 6236 :param name: Name of a load balancer SKU. Possible values include: "Basic", "Standard". 6237 :type name: str or ~azure.mgmt.network.v2018_07_01.models.LoadBalancerSkuName 6238 """ 6239 6240 _attribute_map = { 6241 'name': {'key': 'name', 'type': 'str'}, 6242 } 6243 6244 def __init__( 6245 self, 6246 **kwargs 6247 ): 6248 super(LoadBalancerSku, self).__init__(**kwargs) 6249 self.name = kwargs.get('name', None) 6250 6251 6252class LoadBalancingRule(SubResource): 6253 """A load balancing rule for a load balancer. 6254 6255 :param id: Resource ID. 6256 :type id: str 6257 :param name: The name of the resource that is unique within a resource group. This name can be 6258 used to access the resource. 6259 :type name: str 6260 :param etag: A unique read-only string that changes whenever the resource is updated. 6261 :type etag: str 6262 :param frontend_ip_configuration: A reference to frontend IP addresses. 6263 :type frontend_ip_configuration: ~azure.mgmt.network.v2018_07_01.models.SubResource 6264 :param backend_address_pool: A reference to a pool of DIPs. Inbound traffic is randomly load 6265 balanced across IPs in the backend IPs. 6266 :type backend_address_pool: ~azure.mgmt.network.v2018_07_01.models.SubResource 6267 :param probe: The reference of the load balancer probe used by the load balancing rule. 6268 :type probe: ~azure.mgmt.network.v2018_07_01.models.SubResource 6269 :param protocol: The transport protocol for the endpoint. Possible values are 'Udp' or 'Tcp' or 6270 'All'. Possible values include: "Udp", "Tcp", "All". 6271 :type protocol: str or ~azure.mgmt.network.v2018_07_01.models.TransportProtocol 6272 :param load_distribution: The load distribution policy for this rule. Possible values are 6273 'Default', 'SourceIP', and 'SourceIPProtocol'. Possible values include: "Default", "SourceIP", 6274 "SourceIPProtocol". 6275 :type load_distribution: str or ~azure.mgmt.network.v2018_07_01.models.LoadDistribution 6276 :param frontend_port: The port for the external endpoint. Port numbers for each rule must be 6277 unique within the Load Balancer. Acceptable values are between 0 and 65534. Note that value 0 6278 enables "Any Port". 6279 :type frontend_port: int 6280 :param backend_port: The port used for internal connections on the endpoint. Acceptable values 6281 are between 0 and 65535. Note that value 0 enables "Any Port". 6282 :type backend_port: int 6283 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. The value can be set 6284 between 4 and 30 minutes. The default value is 4 minutes. This element is only used when the 6285 protocol is set to TCP. 6286 :type idle_timeout_in_minutes: int 6287 :param enable_floating_ip: Configures a virtual machine's endpoint for the floating IP 6288 capability required to configure a SQL AlwaysOn Availability Group. This setting is required 6289 when using the SQL AlwaysOn Availability Groups in SQL server. This setting can't be changed 6290 after you create the endpoint. 6291 :type enable_floating_ip: bool 6292 :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected 6293 connection termination. This element is only used when the protocol is set to TCP. 6294 :type enable_tcp_reset: bool 6295 :param disable_outbound_snat: Configures SNAT for the VMs in the backend pool to use the 6296 publicIP address specified in the frontend of the load balancing rule. 6297 :type disable_outbound_snat: bool 6298 :param provisioning_state: Gets the provisioning state of the PublicIP resource. Possible 6299 values are: 'Updating', 'Deleting', and 'Failed'. 6300 :type provisioning_state: str 6301 """ 6302 6303 _attribute_map = { 6304 'id': {'key': 'id', 'type': 'str'}, 6305 'name': {'key': 'name', 'type': 'str'}, 6306 'etag': {'key': 'etag', 'type': 'str'}, 6307 'frontend_ip_configuration': {'key': 'properties.frontendIPConfiguration', 'type': 'SubResource'}, 6308 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 6309 'probe': {'key': 'properties.probe', 'type': 'SubResource'}, 6310 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 6311 'load_distribution': {'key': 'properties.loadDistribution', 'type': 'str'}, 6312 'frontend_port': {'key': 'properties.frontendPort', 'type': 'int'}, 6313 'backend_port': {'key': 'properties.backendPort', 'type': 'int'}, 6314 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 6315 'enable_floating_ip': {'key': 'properties.enableFloatingIP', 'type': 'bool'}, 6316 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, 6317 'disable_outbound_snat': {'key': 'properties.disableOutboundSnat', 'type': 'bool'}, 6318 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6319 } 6320 6321 def __init__( 6322 self, 6323 **kwargs 6324 ): 6325 super(LoadBalancingRule, self).__init__(**kwargs) 6326 self.name = kwargs.get('name', None) 6327 self.etag = kwargs.get('etag', None) 6328 self.frontend_ip_configuration = kwargs.get('frontend_ip_configuration', None) 6329 self.backend_address_pool = kwargs.get('backend_address_pool', None) 6330 self.probe = kwargs.get('probe', None) 6331 self.protocol = kwargs.get('protocol', None) 6332 self.load_distribution = kwargs.get('load_distribution', None) 6333 self.frontend_port = kwargs.get('frontend_port', None) 6334 self.backend_port = kwargs.get('backend_port', None) 6335 self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) 6336 self.enable_floating_ip = kwargs.get('enable_floating_ip', None) 6337 self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) 6338 self.disable_outbound_snat = kwargs.get('disable_outbound_snat', None) 6339 self.provisioning_state = kwargs.get('provisioning_state', None) 6340 6341 6342class LocalNetworkGateway(Resource): 6343 """A common class for general resource information. 6344 6345 Variables are only populated by the server, and will be ignored when sending a request. 6346 6347 :param id: Resource ID. 6348 :type id: str 6349 :ivar name: Resource name. 6350 :vartype name: str 6351 :ivar type: Resource type. 6352 :vartype type: str 6353 :param location: Resource location. 6354 :type location: str 6355 :param tags: A set of tags. Resource tags. 6356 :type tags: dict[str, str] 6357 :param etag: A unique read-only string that changes whenever the resource is updated. 6358 :type etag: str 6359 :param local_network_address_space: Local network site address space. 6360 :type local_network_address_space: ~azure.mgmt.network.v2018_07_01.models.AddressSpace 6361 :param gateway_ip_address: IP address of local network gateway. 6362 :type gateway_ip_address: str 6363 :param bgp_settings: Local network gateway's BGP speaker settings. 6364 :type bgp_settings: ~azure.mgmt.network.v2018_07_01.models.BgpSettings 6365 :param resource_guid: The resource GUID property of the LocalNetworkGateway resource. 6366 :type resource_guid: str 6367 :ivar provisioning_state: The provisioning state of the LocalNetworkGateway resource. Possible 6368 values are: 'Updating', 'Deleting', and 'Failed'. 6369 :vartype provisioning_state: str 6370 """ 6371 6372 _validation = { 6373 'name': {'readonly': True}, 6374 'type': {'readonly': True}, 6375 'provisioning_state': {'readonly': True}, 6376 } 6377 6378 _attribute_map = { 6379 'id': {'key': 'id', 'type': 'str'}, 6380 'name': {'key': 'name', 'type': 'str'}, 6381 'type': {'key': 'type', 'type': 'str'}, 6382 'location': {'key': 'location', 'type': 'str'}, 6383 'tags': {'key': 'tags', 'type': '{str}'}, 6384 'etag': {'key': 'etag', 'type': 'str'}, 6385 'local_network_address_space': {'key': 'properties.localNetworkAddressSpace', 'type': 'AddressSpace'}, 6386 'gateway_ip_address': {'key': 'properties.gatewayIpAddress', 'type': 'str'}, 6387 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, 6388 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 6389 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6390 } 6391 6392 def __init__( 6393 self, 6394 **kwargs 6395 ): 6396 super(LocalNetworkGateway, self).__init__(**kwargs) 6397 self.etag = kwargs.get('etag', None) 6398 self.local_network_address_space = kwargs.get('local_network_address_space', None) 6399 self.gateway_ip_address = kwargs.get('gateway_ip_address', None) 6400 self.bgp_settings = kwargs.get('bgp_settings', None) 6401 self.resource_guid = kwargs.get('resource_guid', None) 6402 self.provisioning_state = None 6403 6404 6405class LocalNetworkGatewayListResult(msrest.serialization.Model): 6406 """Response for ListLocalNetworkGateways API service call. 6407 6408 Variables are only populated by the server, and will be ignored when sending a request. 6409 6410 :param value: A list of local network gateways that exists in a resource group. 6411 :type value: list[~azure.mgmt.network.v2018_07_01.models.LocalNetworkGateway] 6412 :ivar next_link: The URL to get the next set of results. 6413 :vartype next_link: str 6414 """ 6415 6416 _validation = { 6417 'next_link': {'readonly': True}, 6418 } 6419 6420 _attribute_map = { 6421 'value': {'key': 'value', 'type': '[LocalNetworkGateway]'}, 6422 'next_link': {'key': 'nextLink', 'type': 'str'}, 6423 } 6424 6425 def __init__( 6426 self, 6427 **kwargs 6428 ): 6429 super(LocalNetworkGatewayListResult, self).__init__(**kwargs) 6430 self.value = kwargs.get('value', None) 6431 self.next_link = None 6432 6433 6434class LogSpecification(msrest.serialization.Model): 6435 """Description of logging specification. 6436 6437 :param name: The name of the specification. 6438 :type name: str 6439 :param display_name: The display name of the specification. 6440 :type display_name: str 6441 :param blob_duration: Duration of the blob. 6442 :type blob_duration: str 6443 """ 6444 6445 _attribute_map = { 6446 'name': {'key': 'name', 'type': 'str'}, 6447 'display_name': {'key': 'displayName', 'type': 'str'}, 6448 'blob_duration': {'key': 'blobDuration', 'type': 'str'}, 6449 } 6450 6451 def __init__( 6452 self, 6453 **kwargs 6454 ): 6455 super(LogSpecification, self).__init__(**kwargs) 6456 self.name = kwargs.get('name', None) 6457 self.display_name = kwargs.get('display_name', None) 6458 self.blob_duration = kwargs.get('blob_duration', None) 6459 6460 6461class MatchedRule(msrest.serialization.Model): 6462 """Matched rule. 6463 6464 :param rule_name: Name of the matched network security rule. 6465 :type rule_name: str 6466 :param action: The network traffic is allowed or denied. Possible values are 'Allow' and 6467 'Deny'. 6468 :type action: str 6469 """ 6470 6471 _attribute_map = { 6472 'rule_name': {'key': 'ruleName', 'type': 'str'}, 6473 'action': {'key': 'action', 'type': 'str'}, 6474 } 6475 6476 def __init__( 6477 self, 6478 **kwargs 6479 ): 6480 super(MatchedRule, self).__init__(**kwargs) 6481 self.rule_name = kwargs.get('rule_name', None) 6482 self.action = kwargs.get('action', None) 6483 6484 6485class MetricSpecification(msrest.serialization.Model): 6486 """Description of metrics specification. 6487 6488 :param name: The name of the metric. 6489 :type name: str 6490 :param display_name: The display name of the metric. 6491 :type display_name: str 6492 :param display_description: The description of the metric. 6493 :type display_description: str 6494 :param unit: Units the metric to be displayed in. 6495 :type unit: str 6496 :param aggregation_type: The aggregation type. 6497 :type aggregation_type: str 6498 :param availabilities: List of availability. 6499 :type availabilities: list[~azure.mgmt.network.v2018_07_01.models.Availability] 6500 :param enable_regional_mdm_account: Whether regional MDM account enabled. 6501 :type enable_regional_mdm_account: bool 6502 :param fill_gap_with_zero: Whether gaps would be filled with zeros. 6503 :type fill_gap_with_zero: bool 6504 :param metric_filter_pattern: Pattern for the filter of the metric. 6505 :type metric_filter_pattern: str 6506 :param dimensions: List of dimensions. 6507 :type dimensions: list[~azure.mgmt.network.v2018_07_01.models.Dimension] 6508 :param is_internal: Whether the metric is internal. 6509 :type is_internal: bool 6510 :param source_mdm_account: The source MDM account. 6511 :type source_mdm_account: str 6512 :param source_mdm_namespace: The source MDM namespace. 6513 :type source_mdm_namespace: str 6514 :param resource_id_dimension_name_override: The resource Id dimension name override. 6515 :type resource_id_dimension_name_override: str 6516 """ 6517 6518 _attribute_map = { 6519 'name': {'key': 'name', 'type': 'str'}, 6520 'display_name': {'key': 'displayName', 'type': 'str'}, 6521 'display_description': {'key': 'displayDescription', 'type': 'str'}, 6522 'unit': {'key': 'unit', 'type': 'str'}, 6523 'aggregation_type': {'key': 'aggregationType', 'type': 'str'}, 6524 'availabilities': {'key': 'availabilities', 'type': '[Availability]'}, 6525 'enable_regional_mdm_account': {'key': 'enableRegionalMdmAccount', 'type': 'bool'}, 6526 'fill_gap_with_zero': {'key': 'fillGapWithZero', 'type': 'bool'}, 6527 'metric_filter_pattern': {'key': 'metricFilterPattern', 'type': 'str'}, 6528 'dimensions': {'key': 'dimensions', 'type': '[Dimension]'}, 6529 'is_internal': {'key': 'isInternal', 'type': 'bool'}, 6530 'source_mdm_account': {'key': 'sourceMdmAccount', 'type': 'str'}, 6531 'source_mdm_namespace': {'key': 'sourceMdmNamespace', 'type': 'str'}, 6532 'resource_id_dimension_name_override': {'key': 'resourceIdDimensionNameOverride', 'type': 'str'}, 6533 } 6534 6535 def __init__( 6536 self, 6537 **kwargs 6538 ): 6539 super(MetricSpecification, self).__init__(**kwargs) 6540 self.name = kwargs.get('name', None) 6541 self.display_name = kwargs.get('display_name', None) 6542 self.display_description = kwargs.get('display_description', None) 6543 self.unit = kwargs.get('unit', None) 6544 self.aggregation_type = kwargs.get('aggregation_type', None) 6545 self.availabilities = kwargs.get('availabilities', None) 6546 self.enable_regional_mdm_account = kwargs.get('enable_regional_mdm_account', None) 6547 self.fill_gap_with_zero = kwargs.get('fill_gap_with_zero', None) 6548 self.metric_filter_pattern = kwargs.get('metric_filter_pattern', None) 6549 self.dimensions = kwargs.get('dimensions', None) 6550 self.is_internal = kwargs.get('is_internal', None) 6551 self.source_mdm_account = kwargs.get('source_mdm_account', None) 6552 self.source_mdm_namespace = kwargs.get('source_mdm_namespace', None) 6553 self.resource_id_dimension_name_override = kwargs.get('resource_id_dimension_name_override', None) 6554 6555 6556class NetworkConfigurationDiagnosticParameters(msrest.serialization.Model): 6557 """Parameters to get network configuration diagnostic. 6558 6559 All required parameters must be populated in order to send to Azure. 6560 6561 :param target_resource_id: Required. The ID of the target resource to perform network 6562 configuration diagnostic. Valid options are VM, NetworkInterface, VMSS/NetworkInterface and 6563 Application Gateway. 6564 :type target_resource_id: str 6565 :param queries: Required. List of traffic queries. 6566 :type queries: list[~azure.mgmt.network.v2018_07_01.models.TrafficQuery] 6567 """ 6568 6569 _validation = { 6570 'target_resource_id': {'required': True}, 6571 'queries': {'required': True}, 6572 } 6573 6574 _attribute_map = { 6575 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 6576 'queries': {'key': 'queries', 'type': '[TrafficQuery]'}, 6577 } 6578 6579 def __init__( 6580 self, 6581 **kwargs 6582 ): 6583 super(NetworkConfigurationDiagnosticParameters, self).__init__(**kwargs) 6584 self.target_resource_id = kwargs['target_resource_id'] 6585 self.queries = kwargs['queries'] 6586 6587 6588class NetworkConfigurationDiagnosticResponse(msrest.serialization.Model): 6589 """Results of network configuration diagnostic on the target resource. 6590 6591 Variables are only populated by the server, and will be ignored when sending a request. 6592 6593 :ivar results: List of network configuration diagnostic results. 6594 :vartype results: 6595 list[~azure.mgmt.network.v2018_07_01.models.NetworkConfigurationDiagnosticResult] 6596 """ 6597 6598 _validation = { 6599 'results': {'readonly': True}, 6600 } 6601 6602 _attribute_map = { 6603 'results': {'key': 'results', 'type': '[NetworkConfigurationDiagnosticResult]'}, 6604 } 6605 6606 def __init__( 6607 self, 6608 **kwargs 6609 ): 6610 super(NetworkConfigurationDiagnosticResponse, self).__init__(**kwargs) 6611 self.results = None 6612 6613 6614class NetworkConfigurationDiagnosticResult(msrest.serialization.Model): 6615 """Network configuration diagnostic result corresponded to provided traffic query. 6616 6617 :param traffic_query: Parameters to compare with network configuration. 6618 :type traffic_query: ~azure.mgmt.network.v2018_07_01.models.TrafficQuery 6619 :param network_security_group_result: Network configuration diagnostic result corresponded 6620 provided traffic query. 6621 :type network_security_group_result: 6622 ~azure.mgmt.network.v2018_07_01.models.NetworkSecurityGroupResult 6623 """ 6624 6625 _attribute_map = { 6626 'traffic_query': {'key': 'trafficQuery', 'type': 'TrafficQuery'}, 6627 'network_security_group_result': {'key': 'networkSecurityGroupResult', 'type': 'NetworkSecurityGroupResult'}, 6628 } 6629 6630 def __init__( 6631 self, 6632 **kwargs 6633 ): 6634 super(NetworkConfigurationDiagnosticResult, self).__init__(**kwargs) 6635 self.traffic_query = kwargs.get('traffic_query', None) 6636 self.network_security_group_result = kwargs.get('network_security_group_result', None) 6637 6638 6639class NetworkInterface(Resource): 6640 """A network interface in a resource group. 6641 6642 Variables are only populated by the server, and will be ignored when sending a request. 6643 6644 :param id: Resource ID. 6645 :type id: str 6646 :ivar name: Resource name. 6647 :vartype name: str 6648 :ivar type: Resource type. 6649 :vartype type: str 6650 :param location: Resource location. 6651 :type location: str 6652 :param tags: A set of tags. Resource tags. 6653 :type tags: dict[str, str] 6654 :param etag: A unique read-only string that changes whenever the resource is updated. 6655 :type etag: str 6656 :param virtual_machine: The reference of a virtual machine. 6657 :type virtual_machine: ~azure.mgmt.network.v2018_07_01.models.SubResource 6658 :param network_security_group: The reference of the NetworkSecurityGroup resource. 6659 :type network_security_group: ~azure.mgmt.network.v2018_07_01.models.NetworkSecurityGroup 6660 :param ip_configurations: A list of IPConfigurations of the network interface. 6661 :type ip_configurations: 6662 list[~azure.mgmt.network.v2018_07_01.models.NetworkInterfaceIPConfiguration] 6663 :param dns_settings: The DNS settings in network interface. 6664 :type dns_settings: ~azure.mgmt.network.v2018_07_01.models.NetworkInterfaceDnsSettings 6665 :param mac_address: The MAC address of the network interface. 6666 :type mac_address: str 6667 :param primary: Gets whether this is a primary network interface on a virtual machine. 6668 :type primary: bool 6669 :param enable_accelerated_networking: If the network interface is accelerated networking 6670 enabled. 6671 :type enable_accelerated_networking: bool 6672 :param enable_ip_forwarding: Indicates whether IP forwarding is enabled on this network 6673 interface. 6674 :type enable_ip_forwarding: bool 6675 :param resource_guid: The resource GUID property of the network interface resource. 6676 :type resource_guid: str 6677 :param provisioning_state: The provisioning state of the public IP resource. Possible values 6678 are: 'Updating', 'Deleting', and 'Failed'. 6679 :type provisioning_state: str 6680 """ 6681 6682 _validation = { 6683 'name': {'readonly': True}, 6684 'type': {'readonly': True}, 6685 } 6686 6687 _attribute_map = { 6688 'id': {'key': 'id', 'type': 'str'}, 6689 'name': {'key': 'name', 'type': 'str'}, 6690 'type': {'key': 'type', 'type': 'str'}, 6691 'location': {'key': 'location', 'type': 'str'}, 6692 'tags': {'key': 'tags', 'type': '{str}'}, 6693 'etag': {'key': 'etag', 'type': 'str'}, 6694 'virtual_machine': {'key': 'properties.virtualMachine', 'type': 'SubResource'}, 6695 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, 6696 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[NetworkInterfaceIPConfiguration]'}, 6697 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'NetworkInterfaceDnsSettings'}, 6698 'mac_address': {'key': 'properties.macAddress', 'type': 'str'}, 6699 'primary': {'key': 'properties.primary', 'type': 'bool'}, 6700 'enable_accelerated_networking': {'key': 'properties.enableAcceleratedNetworking', 'type': 'bool'}, 6701 'enable_ip_forwarding': {'key': 'properties.enableIPForwarding', 'type': 'bool'}, 6702 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 6703 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6704 } 6705 6706 def __init__( 6707 self, 6708 **kwargs 6709 ): 6710 super(NetworkInterface, self).__init__(**kwargs) 6711 self.etag = kwargs.get('etag', None) 6712 self.virtual_machine = kwargs.get('virtual_machine', None) 6713 self.network_security_group = kwargs.get('network_security_group', None) 6714 self.ip_configurations = kwargs.get('ip_configurations', None) 6715 self.dns_settings = kwargs.get('dns_settings', None) 6716 self.mac_address = kwargs.get('mac_address', None) 6717 self.primary = kwargs.get('primary', None) 6718 self.enable_accelerated_networking = kwargs.get('enable_accelerated_networking', None) 6719 self.enable_ip_forwarding = kwargs.get('enable_ip_forwarding', None) 6720 self.resource_guid = kwargs.get('resource_guid', None) 6721 self.provisioning_state = kwargs.get('provisioning_state', None) 6722 6723 6724class NetworkInterfaceAssociation(msrest.serialization.Model): 6725 """Network interface and its custom security rules. 6726 6727 Variables are only populated by the server, and will be ignored when sending a request. 6728 6729 :ivar id: Network interface ID. 6730 :vartype id: str 6731 :param security_rules: Collection of custom security rules. 6732 :type security_rules: list[~azure.mgmt.network.v2018_07_01.models.SecurityRule] 6733 """ 6734 6735 _validation = { 6736 'id': {'readonly': True}, 6737 } 6738 6739 _attribute_map = { 6740 'id': {'key': 'id', 'type': 'str'}, 6741 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, 6742 } 6743 6744 def __init__( 6745 self, 6746 **kwargs 6747 ): 6748 super(NetworkInterfaceAssociation, self).__init__(**kwargs) 6749 self.id = None 6750 self.security_rules = kwargs.get('security_rules', None) 6751 6752 6753class NetworkInterfaceDnsSettings(msrest.serialization.Model): 6754 """DNS settings of a network interface. 6755 6756 :param dns_servers: List of DNS servers IP addresses. Use 'AzureProvidedDNS' to switch to azure 6757 provided DNS resolution. 'AzureProvidedDNS' value cannot be combined with other IPs, it must be 6758 the only value in dnsServers collection. 6759 :type dns_servers: list[str] 6760 :param applied_dns_servers: If the VM that uses this NIC is part of an Availability Set, then 6761 this list will have the union of all DNS servers from all NICs that are part of the 6762 Availability Set. This property is what is configured on each of those VMs. 6763 :type applied_dns_servers: list[str] 6764 :param internal_dns_name_label: Relative DNS name for this NIC used for internal communications 6765 between VMs in the same virtual network. 6766 :type internal_dns_name_label: str 6767 :param internal_fqdn: Fully qualified DNS name supporting internal communications between VMs 6768 in the same virtual network. 6769 :type internal_fqdn: str 6770 :param internal_domain_name_suffix: Even if internalDnsNameLabel is not specified, a DNS entry 6771 is created for the primary NIC of the VM. This DNS name can be constructed by concatenating the 6772 VM name with the value of internalDomainNameSuffix. 6773 :type internal_domain_name_suffix: str 6774 """ 6775 6776 _attribute_map = { 6777 'dns_servers': {'key': 'dnsServers', 'type': '[str]'}, 6778 'applied_dns_servers': {'key': 'appliedDnsServers', 'type': '[str]'}, 6779 'internal_dns_name_label': {'key': 'internalDnsNameLabel', 'type': 'str'}, 6780 'internal_fqdn': {'key': 'internalFqdn', 'type': 'str'}, 6781 'internal_domain_name_suffix': {'key': 'internalDomainNameSuffix', 'type': 'str'}, 6782 } 6783 6784 def __init__( 6785 self, 6786 **kwargs 6787 ): 6788 super(NetworkInterfaceDnsSettings, self).__init__(**kwargs) 6789 self.dns_servers = kwargs.get('dns_servers', None) 6790 self.applied_dns_servers = kwargs.get('applied_dns_servers', None) 6791 self.internal_dns_name_label = kwargs.get('internal_dns_name_label', None) 6792 self.internal_fqdn = kwargs.get('internal_fqdn', None) 6793 self.internal_domain_name_suffix = kwargs.get('internal_domain_name_suffix', None) 6794 6795 6796class NetworkInterfaceIPConfiguration(SubResource): 6797 """IPConfiguration in a network interface. 6798 6799 :param id: Resource ID. 6800 :type id: str 6801 :param name: The name of the resource that is unique within a resource group. This name can be 6802 used to access the resource. 6803 :type name: str 6804 :param etag: A unique read-only string that changes whenever the resource is updated. 6805 :type etag: str 6806 :param application_gateway_backend_address_pools: The reference of 6807 ApplicationGatewayBackendAddressPool resource. 6808 :type application_gateway_backend_address_pools: 6809 list[~azure.mgmt.network.v2018_07_01.models.ApplicationGatewayBackendAddressPool] 6810 :param load_balancer_backend_address_pools: The reference of LoadBalancerBackendAddressPool 6811 resource. 6812 :type load_balancer_backend_address_pools: 6813 list[~azure.mgmt.network.v2018_07_01.models.BackendAddressPool] 6814 :param load_balancer_inbound_nat_rules: A list of references of LoadBalancerInboundNatRules. 6815 :type load_balancer_inbound_nat_rules: 6816 list[~azure.mgmt.network.v2018_07_01.models.InboundNatRule] 6817 :param private_ip_address: Private IP address of the IP configuration. 6818 :type private_ip_address: str 6819 :param private_ip_allocation_method: Defines how a private IP address is assigned. Possible 6820 values are: 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 6821 :type private_ip_allocation_method: str or 6822 ~azure.mgmt.network.v2018_07_01.models.IPAllocationMethod 6823 :param private_ip_address_version: Available from Api-Version 2016-03-30 onwards, it represents 6824 whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible 6825 values are: 'IPv4' and 'IPv6'. Possible values include: "IPv4", "IPv6". 6826 :type private_ip_address_version: str or ~azure.mgmt.network.v2018_07_01.models.IPVersion 6827 :param subnet: Subnet bound to the IP configuration. 6828 :type subnet: ~azure.mgmt.network.v2018_07_01.models.Subnet 6829 :param primary: Gets whether this is a primary customer address on the network interface. 6830 :type primary: bool 6831 :param public_ip_address: Public IP address bound to the IP configuration. 6832 :type public_ip_address: ~azure.mgmt.network.v2018_07_01.models.PublicIPAddress 6833 :param application_security_groups: Application security groups in which the IP configuration 6834 is included. 6835 :type application_security_groups: 6836 list[~azure.mgmt.network.v2018_07_01.models.ApplicationSecurityGroup] 6837 :param provisioning_state: The provisioning state of the network interface IP configuration. 6838 Possible values are: 'Updating', 'Deleting', and 'Failed'. 6839 :type provisioning_state: str 6840 """ 6841 6842 _attribute_map = { 6843 'id': {'key': 'id', 'type': 'str'}, 6844 'name': {'key': 'name', 'type': 'str'}, 6845 'etag': {'key': 'etag', 'type': 'str'}, 6846 'application_gateway_backend_address_pools': {'key': 'properties.applicationGatewayBackendAddressPools', 'type': '[ApplicationGatewayBackendAddressPool]'}, 6847 'load_balancer_backend_address_pools': {'key': 'properties.loadBalancerBackendAddressPools', 'type': '[BackendAddressPool]'}, 6848 'load_balancer_inbound_nat_rules': {'key': 'properties.loadBalancerInboundNatRules', 'type': '[InboundNatRule]'}, 6849 'private_ip_address': {'key': 'properties.privateIPAddress', 'type': 'str'}, 6850 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 6851 'private_ip_address_version': {'key': 'properties.privateIPAddressVersion', 'type': 'str'}, 6852 'subnet': {'key': 'properties.subnet', 'type': 'Subnet'}, 6853 'primary': {'key': 'properties.primary', 'type': 'bool'}, 6854 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'PublicIPAddress'}, 6855 'application_security_groups': {'key': 'properties.applicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, 6856 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 6857 } 6858 6859 def __init__( 6860 self, 6861 **kwargs 6862 ): 6863 super(NetworkInterfaceIPConfiguration, self).__init__(**kwargs) 6864 self.name = kwargs.get('name', None) 6865 self.etag = kwargs.get('etag', None) 6866 self.application_gateway_backend_address_pools = kwargs.get('application_gateway_backend_address_pools', None) 6867 self.load_balancer_backend_address_pools = kwargs.get('load_balancer_backend_address_pools', None) 6868 self.load_balancer_inbound_nat_rules = kwargs.get('load_balancer_inbound_nat_rules', None) 6869 self.private_ip_address = kwargs.get('private_ip_address', None) 6870 self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) 6871 self.private_ip_address_version = kwargs.get('private_ip_address_version', None) 6872 self.subnet = kwargs.get('subnet', None) 6873 self.primary = kwargs.get('primary', None) 6874 self.public_ip_address = kwargs.get('public_ip_address', None) 6875 self.application_security_groups = kwargs.get('application_security_groups', None) 6876 self.provisioning_state = kwargs.get('provisioning_state', None) 6877 6878 6879class NetworkInterfaceIPConfigurationListResult(msrest.serialization.Model): 6880 """Response for list ip configurations API service call. 6881 6882 Variables are only populated by the server, and will be ignored when sending a request. 6883 6884 :param value: A list of ip configurations. 6885 :type value: list[~azure.mgmt.network.v2018_07_01.models.NetworkInterfaceIPConfiguration] 6886 :ivar next_link: The URL to get the next set of results. 6887 :vartype next_link: str 6888 """ 6889 6890 _validation = { 6891 'next_link': {'readonly': True}, 6892 } 6893 6894 _attribute_map = { 6895 'value': {'key': 'value', 'type': '[NetworkInterfaceIPConfiguration]'}, 6896 'next_link': {'key': 'nextLink', 'type': 'str'}, 6897 } 6898 6899 def __init__( 6900 self, 6901 **kwargs 6902 ): 6903 super(NetworkInterfaceIPConfigurationListResult, self).__init__(**kwargs) 6904 self.value = kwargs.get('value', None) 6905 self.next_link = None 6906 6907 6908class NetworkInterfaceListResult(msrest.serialization.Model): 6909 """Response for the ListNetworkInterface API service call. 6910 6911 Variables are only populated by the server, and will be ignored when sending a request. 6912 6913 :param value: A list of network interfaces in a resource group. 6914 :type value: list[~azure.mgmt.network.v2018_07_01.models.NetworkInterface] 6915 :ivar next_link: The URL to get the next set of results. 6916 :vartype next_link: str 6917 """ 6918 6919 _validation = { 6920 'next_link': {'readonly': True}, 6921 } 6922 6923 _attribute_map = { 6924 'value': {'key': 'value', 'type': '[NetworkInterface]'}, 6925 'next_link': {'key': 'nextLink', 'type': 'str'}, 6926 } 6927 6928 def __init__( 6929 self, 6930 **kwargs 6931 ): 6932 super(NetworkInterfaceListResult, self).__init__(**kwargs) 6933 self.value = kwargs.get('value', None) 6934 self.next_link = None 6935 6936 6937class NetworkInterfaceLoadBalancerListResult(msrest.serialization.Model): 6938 """Response for list ip configurations API service call. 6939 6940 Variables are only populated by the server, and will be ignored when sending a request. 6941 6942 :param value: A list of load balancers. 6943 :type value: list[~azure.mgmt.network.v2018_07_01.models.LoadBalancer] 6944 :ivar next_link: The URL to get the next set of results. 6945 :vartype next_link: str 6946 """ 6947 6948 _validation = { 6949 'next_link': {'readonly': True}, 6950 } 6951 6952 _attribute_map = { 6953 'value': {'key': 'value', 'type': '[LoadBalancer]'}, 6954 'next_link': {'key': 'nextLink', 'type': 'str'}, 6955 } 6956 6957 def __init__( 6958 self, 6959 **kwargs 6960 ): 6961 super(NetworkInterfaceLoadBalancerListResult, self).__init__(**kwargs) 6962 self.value = kwargs.get('value', None) 6963 self.next_link = None 6964 6965 6966class NetworkSecurityGroup(Resource): 6967 """NetworkSecurityGroup resource. 6968 6969 Variables are only populated by the server, and will be ignored when sending a request. 6970 6971 :param id: Resource ID. 6972 :type id: str 6973 :ivar name: Resource name. 6974 :vartype name: str 6975 :ivar type: Resource type. 6976 :vartype type: str 6977 :param location: Resource location. 6978 :type location: str 6979 :param tags: A set of tags. Resource tags. 6980 :type tags: dict[str, str] 6981 :param etag: A unique read-only string that changes whenever the resource is updated. 6982 :type etag: str 6983 :param security_rules: A collection of security rules of the network security group. 6984 :type security_rules: list[~azure.mgmt.network.v2018_07_01.models.SecurityRule] 6985 :param default_security_rules: The default security rules of network security group. 6986 :type default_security_rules: list[~azure.mgmt.network.v2018_07_01.models.SecurityRule] 6987 :ivar network_interfaces: A collection of references to network interfaces. 6988 :vartype network_interfaces: list[~azure.mgmt.network.v2018_07_01.models.NetworkInterface] 6989 :ivar subnets: A collection of references to subnets. 6990 :vartype subnets: list[~azure.mgmt.network.v2018_07_01.models.Subnet] 6991 :param resource_guid: The resource GUID property of the network security group resource. 6992 :type resource_guid: str 6993 :param provisioning_state: The provisioning state of the public IP resource. Possible values 6994 are: 'Updating', 'Deleting', and 'Failed'. 6995 :type provisioning_state: str 6996 """ 6997 6998 _validation = { 6999 'name': {'readonly': True}, 7000 'type': {'readonly': True}, 7001 'network_interfaces': {'readonly': True}, 7002 'subnets': {'readonly': True}, 7003 } 7004 7005 _attribute_map = { 7006 'id': {'key': 'id', 'type': 'str'}, 7007 'name': {'key': 'name', 'type': 'str'}, 7008 'type': {'key': 'type', 'type': 'str'}, 7009 'location': {'key': 'location', 'type': 'str'}, 7010 'tags': {'key': 'tags', 'type': '{str}'}, 7011 'etag': {'key': 'etag', 'type': 'str'}, 7012 'security_rules': {'key': 'properties.securityRules', 'type': '[SecurityRule]'}, 7013 'default_security_rules': {'key': 'properties.defaultSecurityRules', 'type': '[SecurityRule]'}, 7014 'network_interfaces': {'key': 'properties.networkInterfaces', 'type': '[NetworkInterface]'}, 7015 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 7016 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 7017 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7018 } 7019 7020 def __init__( 7021 self, 7022 **kwargs 7023 ): 7024 super(NetworkSecurityGroup, self).__init__(**kwargs) 7025 self.etag = kwargs.get('etag', None) 7026 self.security_rules = kwargs.get('security_rules', None) 7027 self.default_security_rules = kwargs.get('default_security_rules', None) 7028 self.network_interfaces = None 7029 self.subnets = None 7030 self.resource_guid = kwargs.get('resource_guid', None) 7031 self.provisioning_state = kwargs.get('provisioning_state', None) 7032 7033 7034class NetworkSecurityGroupListResult(msrest.serialization.Model): 7035 """Response for ListNetworkSecurityGroups API service call. 7036 7037 :param value: A list of NetworkSecurityGroup resources. 7038 :type value: list[~azure.mgmt.network.v2018_07_01.models.NetworkSecurityGroup] 7039 :param next_link: The URL to get the next set of results. 7040 :type next_link: str 7041 """ 7042 7043 _attribute_map = { 7044 'value': {'key': 'value', 'type': '[NetworkSecurityGroup]'}, 7045 'next_link': {'key': 'nextLink', 'type': 'str'}, 7046 } 7047 7048 def __init__( 7049 self, 7050 **kwargs 7051 ): 7052 super(NetworkSecurityGroupListResult, self).__init__(**kwargs) 7053 self.value = kwargs.get('value', None) 7054 self.next_link = kwargs.get('next_link', None) 7055 7056 7057class NetworkSecurityGroupResult(msrest.serialization.Model): 7058 """Network configuration diagnostic result corresponded provided traffic query. 7059 7060 Variables are only populated by the server, and will be ignored when sending a request. 7061 7062 :param security_rule_access_result: The network traffic is allowed or denied. Possible values 7063 are 'Allow' and 'Deny'. Possible values include: "Allow", "Deny". 7064 :type security_rule_access_result: str or 7065 ~azure.mgmt.network.v2018_07_01.models.SecurityRuleAccess 7066 :ivar evaluated_network_security_groups: List of results network security groups diagnostic. 7067 :vartype evaluated_network_security_groups: 7068 list[~azure.mgmt.network.v2018_07_01.models.EvaluatedNetworkSecurityGroup] 7069 """ 7070 7071 _validation = { 7072 'evaluated_network_security_groups': {'readonly': True}, 7073 } 7074 7075 _attribute_map = { 7076 'security_rule_access_result': {'key': 'securityRuleAccessResult', 'type': 'str'}, 7077 'evaluated_network_security_groups': {'key': 'evaluatedNetworkSecurityGroups', 'type': '[EvaluatedNetworkSecurityGroup]'}, 7078 } 7079 7080 def __init__( 7081 self, 7082 **kwargs 7083 ): 7084 super(NetworkSecurityGroupResult, self).__init__(**kwargs) 7085 self.security_rule_access_result = kwargs.get('security_rule_access_result', None) 7086 self.evaluated_network_security_groups = None 7087 7088 7089class NetworkSecurityRulesEvaluationResult(msrest.serialization.Model): 7090 """Network security rules evaluation result. 7091 7092 :param name: Name of the network security rule. 7093 :type name: str 7094 :param protocol_matched: Value indicating whether protocol is matched. 7095 :type protocol_matched: bool 7096 :param source_matched: Value indicating whether source is matched. 7097 :type source_matched: bool 7098 :param source_port_matched: Value indicating whether source port is matched. 7099 :type source_port_matched: bool 7100 :param destination_matched: Value indicating whether destination is matched. 7101 :type destination_matched: bool 7102 :param destination_port_matched: Value indicating whether destination port is matched. 7103 :type destination_port_matched: bool 7104 """ 7105 7106 _attribute_map = { 7107 'name': {'key': 'name', 'type': 'str'}, 7108 'protocol_matched': {'key': 'protocolMatched', 'type': 'bool'}, 7109 'source_matched': {'key': 'sourceMatched', 'type': 'bool'}, 7110 'source_port_matched': {'key': 'sourcePortMatched', 'type': 'bool'}, 7111 'destination_matched': {'key': 'destinationMatched', 'type': 'bool'}, 7112 'destination_port_matched': {'key': 'destinationPortMatched', 'type': 'bool'}, 7113 } 7114 7115 def __init__( 7116 self, 7117 **kwargs 7118 ): 7119 super(NetworkSecurityRulesEvaluationResult, self).__init__(**kwargs) 7120 self.name = kwargs.get('name', None) 7121 self.protocol_matched = kwargs.get('protocol_matched', None) 7122 self.source_matched = kwargs.get('source_matched', None) 7123 self.source_port_matched = kwargs.get('source_port_matched', None) 7124 self.destination_matched = kwargs.get('destination_matched', None) 7125 self.destination_port_matched = kwargs.get('destination_port_matched', None) 7126 7127 7128class NetworkWatcher(Resource): 7129 """Network watcher in a resource group. 7130 7131 Variables are only populated by the server, and will be ignored when sending a request. 7132 7133 :param id: Resource ID. 7134 :type id: str 7135 :ivar name: Resource name. 7136 :vartype name: str 7137 :ivar type: Resource type. 7138 :vartype type: str 7139 :param location: Resource location. 7140 :type location: str 7141 :param tags: A set of tags. Resource tags. 7142 :type tags: dict[str, str] 7143 :param etag: A unique read-only string that changes whenever the resource is updated. 7144 :type etag: str 7145 :ivar provisioning_state: The provisioning state of the resource. Possible values include: 7146 "Succeeded", "Updating", "Deleting", "Failed". 7147 :vartype provisioning_state: str or ~azure.mgmt.network.v2018_07_01.models.ProvisioningState 7148 """ 7149 7150 _validation = { 7151 'name': {'readonly': True}, 7152 'type': {'readonly': True}, 7153 'provisioning_state': {'readonly': True}, 7154 } 7155 7156 _attribute_map = { 7157 'id': {'key': 'id', 'type': 'str'}, 7158 'name': {'key': 'name', 'type': 'str'}, 7159 'type': {'key': 'type', 'type': 'str'}, 7160 'location': {'key': 'location', 'type': 'str'}, 7161 'tags': {'key': 'tags', 'type': '{str}'}, 7162 'etag': {'key': 'etag', 'type': 'str'}, 7163 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7164 } 7165 7166 def __init__( 7167 self, 7168 **kwargs 7169 ): 7170 super(NetworkWatcher, self).__init__(**kwargs) 7171 self.etag = kwargs.get('etag', None) 7172 self.provisioning_state = None 7173 7174 7175class NetworkWatcherListResult(msrest.serialization.Model): 7176 """List of network watcher resources. 7177 7178 :param value: 7179 :type value: list[~azure.mgmt.network.v2018_07_01.models.NetworkWatcher] 7180 """ 7181 7182 _attribute_map = { 7183 'value': {'key': 'value', 'type': '[NetworkWatcher]'}, 7184 } 7185 7186 def __init__( 7187 self, 7188 **kwargs 7189 ): 7190 super(NetworkWatcherListResult, self).__init__(**kwargs) 7191 self.value = kwargs.get('value', None) 7192 7193 7194class NextHopParameters(msrest.serialization.Model): 7195 """Parameters that define the source and destination endpoint. 7196 7197 All required parameters must be populated in order to send to Azure. 7198 7199 :param target_resource_id: Required. The resource identifier of the target resource against 7200 which the action is to be performed. 7201 :type target_resource_id: str 7202 :param source_ip_address: Required. The source IP address. 7203 :type source_ip_address: str 7204 :param destination_ip_address: Required. The destination IP address. 7205 :type destination_ip_address: str 7206 :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP forwarding is 7207 enabled on any of the nics, then this parameter must be specified. Otherwise optional). 7208 :type target_nic_resource_id: str 7209 """ 7210 7211 _validation = { 7212 'target_resource_id': {'required': True}, 7213 'source_ip_address': {'required': True}, 7214 'destination_ip_address': {'required': True}, 7215 } 7216 7217 _attribute_map = { 7218 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 7219 'source_ip_address': {'key': 'sourceIPAddress', 'type': 'str'}, 7220 'destination_ip_address': {'key': 'destinationIPAddress', 'type': 'str'}, 7221 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, 7222 } 7223 7224 def __init__( 7225 self, 7226 **kwargs 7227 ): 7228 super(NextHopParameters, self).__init__(**kwargs) 7229 self.target_resource_id = kwargs['target_resource_id'] 7230 self.source_ip_address = kwargs['source_ip_address'] 7231 self.destination_ip_address = kwargs['destination_ip_address'] 7232 self.target_nic_resource_id = kwargs.get('target_nic_resource_id', None) 7233 7234 7235class NextHopResult(msrest.serialization.Model): 7236 """The information about next hop from the specified VM. 7237 7238 :param next_hop_type: Next hop type. Possible values include: "Internet", "VirtualAppliance", 7239 "VirtualNetworkGateway", "VnetLocal", "HyperNetGateway", "None". 7240 :type next_hop_type: str or ~azure.mgmt.network.v2018_07_01.models.NextHopType 7241 :param next_hop_ip_address: Next hop IP Address. 7242 :type next_hop_ip_address: str 7243 :param route_table_id: The resource identifier for the route table associated with the route 7244 being returned. If the route being returned does not correspond to any user created routes then 7245 this field will be the string 'System Route'. 7246 :type route_table_id: str 7247 """ 7248 7249 _attribute_map = { 7250 'next_hop_type': {'key': 'nextHopType', 'type': 'str'}, 7251 'next_hop_ip_address': {'key': 'nextHopIpAddress', 'type': 'str'}, 7252 'route_table_id': {'key': 'routeTableId', 'type': 'str'}, 7253 } 7254 7255 def __init__( 7256 self, 7257 **kwargs 7258 ): 7259 super(NextHopResult, self).__init__(**kwargs) 7260 self.next_hop_type = kwargs.get('next_hop_type', None) 7261 self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) 7262 self.route_table_id = kwargs.get('route_table_id', None) 7263 7264 7265class Operation(msrest.serialization.Model): 7266 """Network REST API operation definition. 7267 7268 :param name: Operation name: {provider}/{resource}/{operation}. 7269 :type name: str 7270 :param display: Display metadata associated with the operation. 7271 :type display: ~azure.mgmt.network.v2018_07_01.models.OperationDisplay 7272 :param origin: Origin of the operation. 7273 :type origin: str 7274 :param service_specification: Specification of the service. 7275 :type service_specification: 7276 ~azure.mgmt.network.v2018_07_01.models.OperationPropertiesFormatServiceSpecification 7277 """ 7278 7279 _attribute_map = { 7280 'name': {'key': 'name', 'type': 'str'}, 7281 'display': {'key': 'display', 'type': 'OperationDisplay'}, 7282 'origin': {'key': 'origin', 'type': 'str'}, 7283 'service_specification': {'key': 'properties.serviceSpecification', 'type': 'OperationPropertiesFormatServiceSpecification'}, 7284 } 7285 7286 def __init__( 7287 self, 7288 **kwargs 7289 ): 7290 super(Operation, self).__init__(**kwargs) 7291 self.name = kwargs.get('name', None) 7292 self.display = kwargs.get('display', None) 7293 self.origin = kwargs.get('origin', None) 7294 self.service_specification = kwargs.get('service_specification', None) 7295 7296 7297class OperationDisplay(msrest.serialization.Model): 7298 """Display metadata associated with the operation. 7299 7300 :param provider: Service provider: Microsoft Network. 7301 :type provider: str 7302 :param resource: Resource on which the operation is performed. 7303 :type resource: str 7304 :param operation: Type of the operation: get, read, delete, etc. 7305 :type operation: str 7306 :param description: Description of the operation. 7307 :type description: str 7308 """ 7309 7310 _attribute_map = { 7311 'provider': {'key': 'provider', 'type': 'str'}, 7312 'resource': {'key': 'resource', 'type': 'str'}, 7313 'operation': {'key': 'operation', 'type': 'str'}, 7314 'description': {'key': 'description', 'type': 'str'}, 7315 } 7316 7317 def __init__( 7318 self, 7319 **kwargs 7320 ): 7321 super(OperationDisplay, self).__init__(**kwargs) 7322 self.provider = kwargs.get('provider', None) 7323 self.resource = kwargs.get('resource', None) 7324 self.operation = kwargs.get('operation', None) 7325 self.description = kwargs.get('description', None) 7326 7327 7328class OperationListResult(msrest.serialization.Model): 7329 """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. 7330 7331 :param value: List of Network operations supported by the Network resource provider. 7332 :type value: list[~azure.mgmt.network.v2018_07_01.models.Operation] 7333 :param next_link: URL to get the next set of operation list results if there are any. 7334 :type next_link: str 7335 """ 7336 7337 _attribute_map = { 7338 'value': {'key': 'value', 'type': '[Operation]'}, 7339 'next_link': {'key': 'nextLink', 'type': 'str'}, 7340 } 7341 7342 def __init__( 7343 self, 7344 **kwargs 7345 ): 7346 super(OperationListResult, self).__init__(**kwargs) 7347 self.value = kwargs.get('value', None) 7348 self.next_link = kwargs.get('next_link', None) 7349 7350 7351class OperationPropertiesFormatServiceSpecification(msrest.serialization.Model): 7352 """Specification of the service. 7353 7354 :param metric_specifications: Operation service specification. 7355 :type metric_specifications: list[~azure.mgmt.network.v2018_07_01.models.MetricSpecification] 7356 :param log_specifications: Operation log specification. 7357 :type log_specifications: list[~azure.mgmt.network.v2018_07_01.models.LogSpecification] 7358 """ 7359 7360 _attribute_map = { 7361 'metric_specifications': {'key': 'metricSpecifications', 'type': '[MetricSpecification]'}, 7362 'log_specifications': {'key': 'logSpecifications', 'type': '[LogSpecification]'}, 7363 } 7364 7365 def __init__( 7366 self, 7367 **kwargs 7368 ): 7369 super(OperationPropertiesFormatServiceSpecification, self).__init__(**kwargs) 7370 self.metric_specifications = kwargs.get('metric_specifications', None) 7371 self.log_specifications = kwargs.get('log_specifications', None) 7372 7373 7374class OutboundRule(SubResource): 7375 """Outbound rule of the load balancer. 7376 7377 :param id: Resource ID. 7378 :type id: str 7379 :param name: The name of the resource that is unique within a resource group. This name can be 7380 used to access the resource. 7381 :type name: str 7382 :param etag: A unique read-only string that changes whenever the resource is updated. 7383 :type etag: str 7384 :param allocated_outbound_ports: The number of outbound ports to be used for NAT. 7385 :type allocated_outbound_ports: int 7386 :param frontend_ip_configurations: The Frontend IP addresses of the load balancer. 7387 :type frontend_ip_configurations: list[~azure.mgmt.network.v2018_07_01.models.SubResource] 7388 :param backend_address_pool: A reference to a pool of DIPs. Outbound traffic is randomly load 7389 balanced across IPs in the backend IPs. 7390 :type backend_address_pool: ~azure.mgmt.network.v2018_07_01.models.SubResource 7391 :param provisioning_state: Gets the provisioning state of the PublicIP resource. Possible 7392 values are: 'Updating', 'Deleting', and 'Failed'. 7393 :type provisioning_state: str 7394 :param protocol: Protocol - TCP, UDP or All. Possible values include: "Tcp", "Udp", "All". 7395 :type protocol: str or 7396 ~azure.mgmt.network.v2018_07_01.models.OutboundRulePropertiesFormatProtocol 7397 :param enable_tcp_reset: Receive bidirectional TCP Reset on TCP flow idle timeout or unexpected 7398 connection termination. This element is only used when the protocol is set to TCP. 7399 :type enable_tcp_reset: bool 7400 :param idle_timeout_in_minutes: The timeout for the TCP idle connection. 7401 :type idle_timeout_in_minutes: int 7402 """ 7403 7404 _attribute_map = { 7405 'id': {'key': 'id', 'type': 'str'}, 7406 'name': {'key': 'name', 'type': 'str'}, 7407 'etag': {'key': 'etag', 'type': 'str'}, 7408 'allocated_outbound_ports': {'key': 'properties.allocatedOutboundPorts', 'type': 'int'}, 7409 'frontend_ip_configurations': {'key': 'properties.frontendIPConfigurations', 'type': '[SubResource]'}, 7410 'backend_address_pool': {'key': 'properties.backendAddressPool', 'type': 'SubResource'}, 7411 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7412 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 7413 'enable_tcp_reset': {'key': 'properties.enableTcpReset', 'type': 'bool'}, 7414 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 7415 } 7416 7417 def __init__( 7418 self, 7419 **kwargs 7420 ): 7421 super(OutboundRule, self).__init__(**kwargs) 7422 self.name = kwargs.get('name', None) 7423 self.etag = kwargs.get('etag', None) 7424 self.allocated_outbound_ports = kwargs.get('allocated_outbound_ports', None) 7425 self.frontend_ip_configurations = kwargs.get('frontend_ip_configurations', None) 7426 self.backend_address_pool = kwargs.get('backend_address_pool', None) 7427 self.provisioning_state = kwargs.get('provisioning_state', None) 7428 self.protocol = kwargs.get('protocol', None) 7429 self.enable_tcp_reset = kwargs.get('enable_tcp_reset', None) 7430 self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) 7431 7432 7433class PacketCapture(msrest.serialization.Model): 7434 """Parameters that define the create packet capture operation. 7435 7436 All required parameters must be populated in order to send to Azure. 7437 7438 :param target: Required. The ID of the targeted resource, only VM is currently supported. 7439 :type target: str 7440 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 7441 are truncated. 7442 :type bytes_to_capture_per_packet: int 7443 :param total_bytes_per_session: Maximum size of the capture output. 7444 :type total_bytes_per_session: int 7445 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 7446 :type time_limit_in_seconds: int 7447 :param storage_location: Required. Describes the storage location for a packet capture session. 7448 :type storage_location: ~azure.mgmt.network.v2018_07_01.models.PacketCaptureStorageLocation 7449 :param filters: 7450 :type filters: list[~azure.mgmt.network.v2018_07_01.models.PacketCaptureFilter] 7451 """ 7452 7453 _validation = { 7454 'target': {'required': True}, 7455 'storage_location': {'required': True}, 7456 } 7457 7458 _attribute_map = { 7459 'target': {'key': 'properties.target', 'type': 'str'}, 7460 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, 7461 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, 7462 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, 7463 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, 7464 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, 7465 } 7466 7467 def __init__( 7468 self, 7469 **kwargs 7470 ): 7471 super(PacketCapture, self).__init__(**kwargs) 7472 self.target = kwargs['target'] 7473 self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) 7474 self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) 7475 self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) 7476 self.storage_location = kwargs['storage_location'] 7477 self.filters = kwargs.get('filters', None) 7478 7479 7480class PacketCaptureFilter(msrest.serialization.Model): 7481 """Filter that is applied to packet capture request. Multiple filters can be applied. 7482 7483 :param protocol: Protocol to be filtered on. Possible values include: "TCP", "UDP", "Any". 7484 Default value: "Any". 7485 :type protocol: str or ~azure.mgmt.network.v2018_07_01.models.PcProtocol 7486 :param local_ip_address: Local IP Address to be filtered on. Notation: "127.0.0.1" for single 7487 address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5"? for multiple entries. 7488 Multiple ranges not currently supported. Mixing ranges with multiple entries not currently 7489 supported. Default = null. 7490 :type local_ip_address: str 7491 :param remote_ip_address: Local IP Address to be filtered on. Notation: "127.0.0.1" for single 7492 address entry. "127.0.0.1-127.0.0.255" for range. "127.0.0.1;127.0.0.5;" for multiple entries. 7493 Multiple ranges not currently supported. Mixing ranges with multiple entries not currently 7494 supported. Default = null. 7495 :type remote_ip_address: str 7496 :param local_port: Local port to be filtered on. Notation: "80" for single port entry."80-85" 7497 for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing 7498 ranges with multiple entries not currently supported. Default = null. 7499 :type local_port: str 7500 :param remote_port: Remote port to be filtered on. Notation: "80" for single port entry."80-85" 7501 for range. "80;443;" for multiple entries. Multiple ranges not currently supported. Mixing 7502 ranges with multiple entries not currently supported. Default = null. 7503 :type remote_port: str 7504 """ 7505 7506 _attribute_map = { 7507 'protocol': {'key': 'protocol', 'type': 'str'}, 7508 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, 7509 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, 7510 'local_port': {'key': 'localPort', 'type': 'str'}, 7511 'remote_port': {'key': 'remotePort', 'type': 'str'}, 7512 } 7513 7514 def __init__( 7515 self, 7516 **kwargs 7517 ): 7518 super(PacketCaptureFilter, self).__init__(**kwargs) 7519 self.protocol = kwargs.get('protocol', "Any") 7520 self.local_ip_address = kwargs.get('local_ip_address', None) 7521 self.remote_ip_address = kwargs.get('remote_ip_address', None) 7522 self.local_port = kwargs.get('local_port', None) 7523 self.remote_port = kwargs.get('remote_port', None) 7524 7525 7526class PacketCaptureListResult(msrest.serialization.Model): 7527 """List of packet capture sessions. 7528 7529 :param value: Information about packet capture sessions. 7530 :type value: list[~azure.mgmt.network.v2018_07_01.models.PacketCaptureResult] 7531 """ 7532 7533 _attribute_map = { 7534 'value': {'key': 'value', 'type': '[PacketCaptureResult]'}, 7535 } 7536 7537 def __init__( 7538 self, 7539 **kwargs 7540 ): 7541 super(PacketCaptureListResult, self).__init__(**kwargs) 7542 self.value = kwargs.get('value', None) 7543 7544 7545class PacketCaptureParameters(msrest.serialization.Model): 7546 """Parameters that define the create packet capture operation. 7547 7548 All required parameters must be populated in order to send to Azure. 7549 7550 :param target: Required. The ID of the targeted resource, only VM is currently supported. 7551 :type target: str 7552 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 7553 are truncated. 7554 :type bytes_to_capture_per_packet: int 7555 :param total_bytes_per_session: Maximum size of the capture output. 7556 :type total_bytes_per_session: int 7557 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 7558 :type time_limit_in_seconds: int 7559 :param storage_location: Required. Describes the storage location for a packet capture session. 7560 :type storage_location: ~azure.mgmt.network.v2018_07_01.models.PacketCaptureStorageLocation 7561 :param filters: 7562 :type filters: list[~azure.mgmt.network.v2018_07_01.models.PacketCaptureFilter] 7563 """ 7564 7565 _validation = { 7566 'target': {'required': True}, 7567 'storage_location': {'required': True}, 7568 } 7569 7570 _attribute_map = { 7571 'target': {'key': 'target', 'type': 'str'}, 7572 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, 7573 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, 7574 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, 7575 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, 7576 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, 7577 } 7578 7579 def __init__( 7580 self, 7581 **kwargs 7582 ): 7583 super(PacketCaptureParameters, self).__init__(**kwargs) 7584 self.target = kwargs['target'] 7585 self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) 7586 self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) 7587 self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) 7588 self.storage_location = kwargs['storage_location'] 7589 self.filters = kwargs.get('filters', None) 7590 7591 7592class PacketCaptureQueryStatusResult(msrest.serialization.Model): 7593 """Status of packet capture session. 7594 7595 :param name: The name of the packet capture resource. 7596 :type name: str 7597 :param id: The ID of the packet capture resource. 7598 :type id: str 7599 :param capture_start_time: The start time of the packet capture session. 7600 :type capture_start_time: ~datetime.datetime 7601 :param packet_capture_status: The status of the packet capture session. Possible values 7602 include: "NotStarted", "Running", "Stopped", "Error", "Unknown". 7603 :type packet_capture_status: str or ~azure.mgmt.network.v2018_07_01.models.PcStatus 7604 :param stop_reason: The reason the current packet capture session was stopped. 7605 :type stop_reason: str 7606 :param packet_capture_error: List of errors of packet capture session. 7607 :type packet_capture_error: list[str or ~azure.mgmt.network.v2018_07_01.models.PcError] 7608 """ 7609 7610 _attribute_map = { 7611 'name': {'key': 'name', 'type': 'str'}, 7612 'id': {'key': 'id', 'type': 'str'}, 7613 'capture_start_time': {'key': 'captureStartTime', 'type': 'iso-8601'}, 7614 'packet_capture_status': {'key': 'packetCaptureStatus', 'type': 'str'}, 7615 'stop_reason': {'key': 'stopReason', 'type': 'str'}, 7616 'packet_capture_error': {'key': 'packetCaptureError', 'type': '[str]'}, 7617 } 7618 7619 def __init__( 7620 self, 7621 **kwargs 7622 ): 7623 super(PacketCaptureQueryStatusResult, self).__init__(**kwargs) 7624 self.name = kwargs.get('name', None) 7625 self.id = kwargs.get('id', None) 7626 self.capture_start_time = kwargs.get('capture_start_time', None) 7627 self.packet_capture_status = kwargs.get('packet_capture_status', None) 7628 self.stop_reason = kwargs.get('stop_reason', None) 7629 self.packet_capture_error = kwargs.get('packet_capture_error', None) 7630 7631 7632class PacketCaptureResult(msrest.serialization.Model): 7633 """Information about packet capture session. 7634 7635 Variables are only populated by the server, and will be ignored when sending a request. 7636 7637 :ivar name: Name of the packet capture session. 7638 :vartype name: str 7639 :ivar id: ID of the packet capture operation. 7640 :vartype id: str 7641 :param etag: 7642 :type etag: str 7643 :param target: The ID of the targeted resource, only VM is currently supported. 7644 :type target: str 7645 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 7646 are truncated. 7647 :type bytes_to_capture_per_packet: int 7648 :param total_bytes_per_session: Maximum size of the capture output. 7649 :type total_bytes_per_session: int 7650 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 7651 :type time_limit_in_seconds: int 7652 :param storage_location: Describes the storage location for a packet capture session. 7653 :type storage_location: ~azure.mgmt.network.v2018_07_01.models.PacketCaptureStorageLocation 7654 :param filters: 7655 :type filters: list[~azure.mgmt.network.v2018_07_01.models.PacketCaptureFilter] 7656 :param provisioning_state: The provisioning state of the packet capture session. Possible 7657 values include: "Succeeded", "Updating", "Deleting", "Failed". 7658 :type provisioning_state: str or ~azure.mgmt.network.v2018_07_01.models.ProvisioningState 7659 """ 7660 7661 _validation = { 7662 'name': {'readonly': True}, 7663 'id': {'readonly': True}, 7664 } 7665 7666 _attribute_map = { 7667 'name': {'key': 'name', 'type': 'str'}, 7668 'id': {'key': 'id', 'type': 'str'}, 7669 'etag': {'key': 'etag', 'type': 'str'}, 7670 'target': {'key': 'properties.target', 'type': 'str'}, 7671 'bytes_to_capture_per_packet': {'key': 'properties.bytesToCapturePerPacket', 'type': 'int'}, 7672 'total_bytes_per_session': {'key': 'properties.totalBytesPerSession', 'type': 'int'}, 7673 'time_limit_in_seconds': {'key': 'properties.timeLimitInSeconds', 'type': 'int'}, 7674 'storage_location': {'key': 'properties.storageLocation', 'type': 'PacketCaptureStorageLocation'}, 7675 'filters': {'key': 'properties.filters', 'type': '[PacketCaptureFilter]'}, 7676 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7677 } 7678 7679 def __init__( 7680 self, 7681 **kwargs 7682 ): 7683 super(PacketCaptureResult, self).__init__(**kwargs) 7684 self.name = None 7685 self.id = None 7686 self.etag = kwargs.get('etag', "A unique read-only string that changes whenever the resource is updated.") 7687 self.target = kwargs.get('target', None) 7688 self.bytes_to_capture_per_packet = kwargs.get('bytes_to_capture_per_packet', 0) 7689 self.total_bytes_per_session = kwargs.get('total_bytes_per_session', 1073741824) 7690 self.time_limit_in_seconds = kwargs.get('time_limit_in_seconds', 18000) 7691 self.storage_location = kwargs.get('storage_location', None) 7692 self.filters = kwargs.get('filters', None) 7693 self.provisioning_state = kwargs.get('provisioning_state', None) 7694 7695 7696class PacketCaptureResultProperties(PacketCaptureParameters): 7697 """Describes the properties of a packet capture session. 7698 7699 All required parameters must be populated in order to send to Azure. 7700 7701 :param target: Required. The ID of the targeted resource, only VM is currently supported. 7702 :type target: str 7703 :param bytes_to_capture_per_packet: Number of bytes captured per packet, the remaining bytes 7704 are truncated. 7705 :type bytes_to_capture_per_packet: int 7706 :param total_bytes_per_session: Maximum size of the capture output. 7707 :type total_bytes_per_session: int 7708 :param time_limit_in_seconds: Maximum duration of the capture session in seconds. 7709 :type time_limit_in_seconds: int 7710 :param storage_location: Required. Describes the storage location for a packet capture session. 7711 :type storage_location: ~azure.mgmt.network.v2018_07_01.models.PacketCaptureStorageLocation 7712 :param filters: 7713 :type filters: list[~azure.mgmt.network.v2018_07_01.models.PacketCaptureFilter] 7714 :param provisioning_state: The provisioning state of the packet capture session. Possible 7715 values include: "Succeeded", "Updating", "Deleting", "Failed". 7716 :type provisioning_state: str or ~azure.mgmt.network.v2018_07_01.models.ProvisioningState 7717 """ 7718 7719 _validation = { 7720 'target': {'required': True}, 7721 'storage_location': {'required': True}, 7722 } 7723 7724 _attribute_map = { 7725 'target': {'key': 'target', 'type': 'str'}, 7726 'bytes_to_capture_per_packet': {'key': 'bytesToCapturePerPacket', 'type': 'int'}, 7727 'total_bytes_per_session': {'key': 'totalBytesPerSession', 'type': 'int'}, 7728 'time_limit_in_seconds': {'key': 'timeLimitInSeconds', 'type': 'int'}, 7729 'storage_location': {'key': 'storageLocation', 'type': 'PacketCaptureStorageLocation'}, 7730 'filters': {'key': 'filters', 'type': '[PacketCaptureFilter]'}, 7731 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 7732 } 7733 7734 def __init__( 7735 self, 7736 **kwargs 7737 ): 7738 super(PacketCaptureResultProperties, self).__init__(**kwargs) 7739 self.provisioning_state = kwargs.get('provisioning_state', None) 7740 7741 7742class PacketCaptureStorageLocation(msrest.serialization.Model): 7743 """Describes the storage location for a packet capture session. 7744 7745 :param storage_id: The ID of the storage account to save the packet capture session. Required 7746 if no local file path is provided. 7747 :type storage_id: str 7748 :param storage_path: The URI of the storage path to save the packet capture. Must be a 7749 well-formed URI describing the location to save the packet capture. 7750 :type storage_path: str 7751 :param file_path: A valid local path on the targeting VM. Must include the name of the capture 7752 file (*.cap). For linux virtual machine it must start with /var/captures. Required if no 7753 storage ID is provided, otherwise optional. 7754 :type file_path: str 7755 """ 7756 7757 _attribute_map = { 7758 'storage_id': {'key': 'storageId', 'type': 'str'}, 7759 'storage_path': {'key': 'storagePath', 'type': 'str'}, 7760 'file_path': {'key': 'filePath', 'type': 'str'}, 7761 } 7762 7763 def __init__( 7764 self, 7765 **kwargs 7766 ): 7767 super(PacketCaptureStorageLocation, self).__init__(**kwargs) 7768 self.storage_id = kwargs.get('storage_id', None) 7769 self.storage_path = kwargs.get('storage_path', None) 7770 self.file_path = kwargs.get('file_path', None) 7771 7772 7773class PatchRouteFilter(SubResource): 7774 """Route Filter Resource. 7775 7776 Variables are only populated by the server, and will be ignored when sending a request. 7777 7778 :param id: Resource ID. 7779 :type id: str 7780 :ivar name: The name of the resource that is unique within a resource group. This name can be 7781 used to access the resource. 7782 :vartype name: str 7783 :ivar etag: A unique read-only string that changes whenever the resource is updated. 7784 :vartype etag: str 7785 :ivar type: Resource type. 7786 :vartype type: str 7787 :param tags: A set of tags. Resource tags. 7788 :type tags: dict[str, str] 7789 :param rules: Collection of RouteFilterRules contained within a route filter. 7790 :type rules: list[~azure.mgmt.network.v2018_07_01.models.RouteFilterRule] 7791 :param peerings: A collection of references to express route circuit peerings. 7792 :type peerings: list[~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitPeering] 7793 :ivar provisioning_state: The provisioning state of the resource. Possible values are: 7794 'Updating', 'Deleting', 'Succeeded' and 'Failed'. 7795 :vartype provisioning_state: str 7796 """ 7797 7798 _validation = { 7799 'name': {'readonly': True}, 7800 'etag': {'readonly': True}, 7801 'type': {'readonly': True}, 7802 'provisioning_state': {'readonly': True}, 7803 } 7804 7805 _attribute_map = { 7806 'id': {'key': 'id', 'type': 'str'}, 7807 'name': {'key': 'name', 'type': 'str'}, 7808 'etag': {'key': 'etag', 'type': 'str'}, 7809 'type': {'key': 'type', 'type': 'str'}, 7810 'tags': {'key': 'tags', 'type': '{str}'}, 7811 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, 7812 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, 7813 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7814 } 7815 7816 def __init__( 7817 self, 7818 **kwargs 7819 ): 7820 super(PatchRouteFilter, self).__init__(**kwargs) 7821 self.name = None 7822 self.etag = None 7823 self.type = None 7824 self.tags = kwargs.get('tags', None) 7825 self.rules = kwargs.get('rules', None) 7826 self.peerings = kwargs.get('peerings', None) 7827 self.provisioning_state = None 7828 7829 7830class PatchRouteFilterRule(SubResource): 7831 """Route Filter Rule Resource. 7832 7833 Variables are only populated by the server, and will be ignored when sending a request. 7834 7835 :param id: Resource ID. 7836 :type id: str 7837 :ivar name: The name of the resource that is unique within a resource group. This name can be 7838 used to access the resource. 7839 :vartype name: str 7840 :ivar etag: A unique read-only string that changes whenever the resource is updated. 7841 :vartype etag: str 7842 :param access: The access type of the rule. Valid values are: 'Allow', 'Deny'. Possible values 7843 include: "Allow", "Deny". 7844 :type access: str or ~azure.mgmt.network.v2018_07_01.models.Access 7845 :param route_filter_rule_type: The rule type of the rule. Valid value is: 'Community'. Possible 7846 values include: "Community". 7847 :type route_filter_rule_type: str or ~azure.mgmt.network.v2018_07_01.models.RouteFilterRuleType 7848 :param communities: The collection for bgp community values to filter on. e.g. 7849 ['12076:5010','12076:5020']. 7850 :type communities: list[str] 7851 :ivar provisioning_state: The provisioning state of the resource. Possible values are: 7852 'Updating', 'Deleting', 'Succeeded' and 'Failed'. 7853 :vartype provisioning_state: str 7854 """ 7855 7856 _validation = { 7857 'name': {'readonly': True}, 7858 'etag': {'readonly': True}, 7859 'provisioning_state': {'readonly': True}, 7860 } 7861 7862 _attribute_map = { 7863 'id': {'key': 'id', 'type': 'str'}, 7864 'name': {'key': 'name', 'type': 'str'}, 7865 'etag': {'key': 'etag', 'type': 'str'}, 7866 'access': {'key': 'properties.access', 'type': 'str'}, 7867 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, 7868 'communities': {'key': 'properties.communities', 'type': '[str]'}, 7869 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7870 } 7871 7872 def __init__( 7873 self, 7874 **kwargs 7875 ): 7876 super(PatchRouteFilterRule, self).__init__(**kwargs) 7877 self.name = None 7878 self.etag = None 7879 self.access = kwargs.get('access', None) 7880 self.route_filter_rule_type = kwargs.get('route_filter_rule_type', None) 7881 self.communities = kwargs.get('communities', None) 7882 self.provisioning_state = None 7883 7884 7885class Policies(msrest.serialization.Model): 7886 """Policies for vpn gateway. 7887 7888 :param allow_branch_to_branch_traffic: True if branch to branch traffic is allowed. 7889 :type allow_branch_to_branch_traffic: bool 7890 :param allow_vnet_to_vnet_traffic: True if Vnet to Vnet traffic is allowed. 7891 :type allow_vnet_to_vnet_traffic: bool 7892 """ 7893 7894 _attribute_map = { 7895 'allow_branch_to_branch_traffic': {'key': 'allowBranchToBranchTraffic', 'type': 'bool'}, 7896 'allow_vnet_to_vnet_traffic': {'key': 'allowVnetToVnetTraffic', 'type': 'bool'}, 7897 } 7898 7899 def __init__( 7900 self, 7901 **kwargs 7902 ): 7903 super(Policies, self).__init__(**kwargs) 7904 self.allow_branch_to_branch_traffic = kwargs.get('allow_branch_to_branch_traffic', None) 7905 self.allow_vnet_to_vnet_traffic = kwargs.get('allow_vnet_to_vnet_traffic', None) 7906 7907 7908class Probe(SubResource): 7909 """A load balancer probe. 7910 7911 Variables are only populated by the server, and will be ignored when sending a request. 7912 7913 :param id: Resource ID. 7914 :type id: str 7915 :param name: Gets name of the resource that is unique within a resource group. This name can be 7916 used to access the resource. 7917 :type name: str 7918 :param etag: A unique read-only string that changes whenever the resource is updated. 7919 :type etag: str 7920 :ivar load_balancing_rules: The load balancer rules that use this probe. 7921 :vartype load_balancing_rules: list[~azure.mgmt.network.v2018_07_01.models.SubResource] 7922 :param protocol: The protocol of the end point. Possible values are: 'Http', 'Tcp', or 'Https'. 7923 If 'Tcp' is specified, a received ACK is required for the probe to be successful. If 'Http' or 7924 'Https' is specified, a 200 OK response from the specifies URI is required for the probe to be 7925 successful. Possible values include: "Http", "Tcp", "Https". 7926 :type protocol: str or ~azure.mgmt.network.v2018_07_01.models.ProbeProtocol 7927 :param port: The port for communicating the probe. Possible values range from 1 to 65535, 7928 inclusive. 7929 :type port: int 7930 :param interval_in_seconds: The interval, in seconds, for how frequently to probe the endpoint 7931 for health status. Typically, the interval is slightly less than half the allocated timeout 7932 period (in seconds) which allows two full probes before taking the instance out of rotation. 7933 The default value is 15, the minimum value is 5. 7934 :type interval_in_seconds: int 7935 :param number_of_probes: The number of probes where if no response, will result in stopping 7936 further traffic from being delivered to the endpoint. This values allows endpoints to be taken 7937 out of rotation faster or slower than the typical times used in Azure. 7938 :type number_of_probes: int 7939 :param request_path: The URI used for requesting health status from the VM. Path is required if 7940 a protocol is set to http. Otherwise, it is not allowed. There is no default value. 7941 :type request_path: str 7942 :param provisioning_state: Gets the provisioning state of the public IP resource. Possible 7943 values are: 'Updating', 'Deleting', and 'Failed'. 7944 :type provisioning_state: str 7945 """ 7946 7947 _validation = { 7948 'load_balancing_rules': {'readonly': True}, 7949 } 7950 7951 _attribute_map = { 7952 'id': {'key': 'id', 'type': 'str'}, 7953 'name': {'key': 'name', 'type': 'str'}, 7954 'etag': {'key': 'etag', 'type': 'str'}, 7955 'load_balancing_rules': {'key': 'properties.loadBalancingRules', 'type': '[SubResource]'}, 7956 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 7957 'port': {'key': 'properties.port', 'type': 'int'}, 7958 'interval_in_seconds': {'key': 'properties.intervalInSeconds', 'type': 'int'}, 7959 'number_of_probes': {'key': 'properties.numberOfProbes', 'type': 'int'}, 7960 'request_path': {'key': 'properties.requestPath', 'type': 'str'}, 7961 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 7962 } 7963 7964 def __init__( 7965 self, 7966 **kwargs 7967 ): 7968 super(Probe, self).__init__(**kwargs) 7969 self.name = kwargs.get('name', None) 7970 self.etag = kwargs.get('etag', None) 7971 self.load_balancing_rules = None 7972 self.protocol = kwargs.get('protocol', None) 7973 self.port = kwargs.get('port', None) 7974 self.interval_in_seconds = kwargs.get('interval_in_seconds', None) 7975 self.number_of_probes = kwargs.get('number_of_probes', None) 7976 self.request_path = kwargs.get('request_path', None) 7977 self.provisioning_state = kwargs.get('provisioning_state', None) 7978 7979 7980class ProtocolConfiguration(msrest.serialization.Model): 7981 """Configuration of the protocol. 7982 7983 :param http_configuration: HTTP configuration of the connectivity check. 7984 :type http_configuration: ~azure.mgmt.network.v2018_07_01.models.HTTPConfiguration 7985 """ 7986 7987 _attribute_map = { 7988 'http_configuration': {'key': 'HTTPConfiguration', 'type': 'HTTPConfiguration'}, 7989 } 7990 7991 def __init__( 7992 self, 7993 **kwargs 7994 ): 7995 super(ProtocolConfiguration, self).__init__(**kwargs) 7996 self.http_configuration = kwargs.get('http_configuration', None) 7997 7998 7999class PublicIPAddress(Resource): 8000 """Public IP address resource. 8001 8002 Variables are only populated by the server, and will be ignored when sending a request. 8003 8004 :param id: Resource ID. 8005 :type id: str 8006 :ivar name: Resource name. 8007 :vartype name: str 8008 :ivar type: Resource type. 8009 :vartype type: str 8010 :param location: Resource location. 8011 :type location: str 8012 :param tags: A set of tags. Resource tags. 8013 :type tags: dict[str, str] 8014 :param sku: The public IP address SKU. 8015 :type sku: ~azure.mgmt.network.v2018_07_01.models.PublicIPAddressSku 8016 :param etag: A unique read-only string that changes whenever the resource is updated. 8017 :type etag: str 8018 :param zones: A list of availability zones denoting the IP allocated for the resource needs to 8019 come from. 8020 :type zones: list[str] 8021 :param public_ip_allocation_method: The public IP allocation method. Possible values are: 8022 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 8023 :type public_ip_allocation_method: str or 8024 ~azure.mgmt.network.v2018_07_01.models.IPAllocationMethod 8025 :param public_ip_address_version: The public IP address version. Possible values are: 'IPv4' 8026 and 'IPv6'. Possible values include: "IPv4", "IPv6". 8027 :type public_ip_address_version: str or ~azure.mgmt.network.v2018_07_01.models.IPVersion 8028 :ivar ip_configuration: The IP configuration associated with the public IP address. 8029 :vartype ip_configuration: ~azure.mgmt.network.v2018_07_01.models.IPConfiguration 8030 :param dns_settings: The FQDN of the DNS record associated with the public IP address. 8031 :type dns_settings: ~azure.mgmt.network.v2018_07_01.models.PublicIPAddressDnsSettings 8032 :param ip_tags: The list of tags associated with the public IP address. 8033 :type ip_tags: list[~azure.mgmt.network.v2018_07_01.models.IpTag] 8034 :param ip_address: The IP address associated with the public IP address resource. 8035 :type ip_address: str 8036 :param public_ip_prefix: The Public IP Prefix this Public IP Address should be allocated from. 8037 :type public_ip_prefix: ~azure.mgmt.network.v2018_07_01.models.SubResource 8038 :param idle_timeout_in_minutes: The idle timeout of the public IP address. 8039 :type idle_timeout_in_minutes: int 8040 :param resource_guid: The resource GUID property of the public IP resource. 8041 :type resource_guid: str 8042 :param provisioning_state: The provisioning state of the PublicIP resource. Possible values 8043 are: 'Updating', 'Deleting', and 'Failed'. 8044 :type provisioning_state: str 8045 """ 8046 8047 _validation = { 8048 'name': {'readonly': True}, 8049 'type': {'readonly': True}, 8050 'ip_configuration': {'readonly': True}, 8051 } 8052 8053 _attribute_map = { 8054 'id': {'key': 'id', 'type': 'str'}, 8055 'name': {'key': 'name', 'type': 'str'}, 8056 'type': {'key': 'type', 'type': 'str'}, 8057 'location': {'key': 'location', 'type': 'str'}, 8058 'tags': {'key': 'tags', 'type': '{str}'}, 8059 'sku': {'key': 'sku', 'type': 'PublicIPAddressSku'}, 8060 'etag': {'key': 'etag', 'type': 'str'}, 8061 'zones': {'key': 'zones', 'type': '[str]'}, 8062 'public_ip_allocation_method': {'key': 'properties.publicIPAllocationMethod', 'type': 'str'}, 8063 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, 8064 'ip_configuration': {'key': 'properties.ipConfiguration', 'type': 'IPConfiguration'}, 8065 'dns_settings': {'key': 'properties.dnsSettings', 'type': 'PublicIPAddressDnsSettings'}, 8066 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, 8067 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, 8068 'public_ip_prefix': {'key': 'properties.publicIPPrefix', 'type': 'SubResource'}, 8069 'idle_timeout_in_minutes': {'key': 'properties.idleTimeoutInMinutes', 'type': 'int'}, 8070 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 8071 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8072 } 8073 8074 def __init__( 8075 self, 8076 **kwargs 8077 ): 8078 super(PublicIPAddress, self).__init__(**kwargs) 8079 self.sku = kwargs.get('sku', None) 8080 self.etag = kwargs.get('etag', None) 8081 self.zones = kwargs.get('zones', None) 8082 self.public_ip_allocation_method = kwargs.get('public_ip_allocation_method', None) 8083 self.public_ip_address_version = kwargs.get('public_ip_address_version', None) 8084 self.ip_configuration = None 8085 self.dns_settings = kwargs.get('dns_settings', None) 8086 self.ip_tags = kwargs.get('ip_tags', None) 8087 self.ip_address = kwargs.get('ip_address', None) 8088 self.public_ip_prefix = kwargs.get('public_ip_prefix', None) 8089 self.idle_timeout_in_minutes = kwargs.get('idle_timeout_in_minutes', None) 8090 self.resource_guid = kwargs.get('resource_guid', None) 8091 self.provisioning_state = kwargs.get('provisioning_state', None) 8092 8093 8094class PublicIPAddressDnsSettings(msrest.serialization.Model): 8095 """Contains FQDN of the DNS record associated with the public IP address. 8096 8097 :param domain_name_label: Gets or sets the Domain name label.The concatenation of the domain 8098 name label and the regionalized DNS zone make up the fully qualified domain name associated 8099 with the public IP address. If a domain name label is specified, an A DNS record is created for 8100 the public IP in the Microsoft Azure DNS system. 8101 :type domain_name_label: str 8102 :param fqdn: Gets the FQDN, Fully qualified domain name of the A DNS record associated with the 8103 public IP. This is the concatenation of the domainNameLabel and the regionalized DNS zone. 8104 :type fqdn: str 8105 :param reverse_fqdn: Gets or Sets the Reverse FQDN. A user-visible, fully qualified domain name 8106 that resolves to this public IP address. If the reverseFqdn is specified, then a PTR DNS record 8107 is created pointing from the IP address in the in-addr.arpa domain to the reverse FQDN. 8108 :type reverse_fqdn: str 8109 """ 8110 8111 _attribute_map = { 8112 'domain_name_label': {'key': 'domainNameLabel', 'type': 'str'}, 8113 'fqdn': {'key': 'fqdn', 'type': 'str'}, 8114 'reverse_fqdn': {'key': 'reverseFqdn', 'type': 'str'}, 8115 } 8116 8117 def __init__( 8118 self, 8119 **kwargs 8120 ): 8121 super(PublicIPAddressDnsSettings, self).__init__(**kwargs) 8122 self.domain_name_label = kwargs.get('domain_name_label', None) 8123 self.fqdn = kwargs.get('fqdn', None) 8124 self.reverse_fqdn = kwargs.get('reverse_fqdn', None) 8125 8126 8127class PublicIPAddressListResult(msrest.serialization.Model): 8128 """Response for ListPublicIpAddresses API service call. 8129 8130 :param value: A list of public IP addresses that exists in a resource group. 8131 :type value: list[~azure.mgmt.network.v2018_07_01.models.PublicIPAddress] 8132 :param next_link: The URL to get the next set of results. 8133 :type next_link: str 8134 """ 8135 8136 _attribute_map = { 8137 'value': {'key': 'value', 'type': '[PublicIPAddress]'}, 8138 'next_link': {'key': 'nextLink', 'type': 'str'}, 8139 } 8140 8141 def __init__( 8142 self, 8143 **kwargs 8144 ): 8145 super(PublicIPAddressListResult, self).__init__(**kwargs) 8146 self.value = kwargs.get('value', None) 8147 self.next_link = kwargs.get('next_link', None) 8148 8149 8150class PublicIPAddressSku(msrest.serialization.Model): 8151 """SKU of a public IP address. 8152 8153 :param name: Name of a public IP address SKU. Possible values include: "Basic", "Standard". 8154 :type name: str or ~azure.mgmt.network.v2018_07_01.models.PublicIPAddressSkuName 8155 """ 8156 8157 _attribute_map = { 8158 'name': {'key': 'name', 'type': 'str'}, 8159 } 8160 8161 def __init__( 8162 self, 8163 **kwargs 8164 ): 8165 super(PublicIPAddressSku, self).__init__(**kwargs) 8166 self.name = kwargs.get('name', None) 8167 8168 8169class PublicIPPrefix(Resource): 8170 """Public IP prefix resource. 8171 8172 Variables are only populated by the server, and will be ignored when sending a request. 8173 8174 :param id: Resource ID. 8175 :type id: str 8176 :ivar name: Resource name. 8177 :vartype name: str 8178 :ivar type: Resource type. 8179 :vartype type: str 8180 :param location: Resource location. 8181 :type location: str 8182 :param tags: A set of tags. Resource tags. 8183 :type tags: dict[str, str] 8184 :param sku: The public IP prefix SKU. 8185 :type sku: ~azure.mgmt.network.v2018_07_01.models.PublicIPPrefixSku 8186 :param etag: A unique read-only string that changes whenever the resource is updated. 8187 :type etag: str 8188 :param zones: A list of availability zones denoting the IP allocated for the resource needs to 8189 come from. 8190 :type zones: list[str] 8191 :param public_ip_address_version: The public IP address version. Possible values are: 'IPv4' 8192 and 'IPv6'. Possible values include: "IPv4", "IPv6". 8193 :type public_ip_address_version: str or ~azure.mgmt.network.v2018_07_01.models.IPVersion 8194 :param ip_tags: The list of tags associated with the public IP prefix. 8195 :type ip_tags: list[~azure.mgmt.network.v2018_07_01.models.IpTag] 8196 :param prefix_length: The Length of the Public IP Prefix. 8197 :type prefix_length: int 8198 :param ip_prefix: The allocated Prefix. 8199 :type ip_prefix: str 8200 :param public_ip_addresses: The list of all referenced PublicIPAddresses. 8201 :type public_ip_addresses: 8202 list[~azure.mgmt.network.v2018_07_01.models.ReferencedPublicIpAddress] 8203 :ivar load_balancer_frontend_ip_configuration: The reference to load balancer frontend IP 8204 configuration associated with the public IP prefix. 8205 :vartype load_balancer_frontend_ip_configuration: 8206 ~azure.mgmt.network.v2018_07_01.models.SubResource 8207 :param resource_guid: The resource GUID property of the public IP prefix resource. 8208 :type resource_guid: str 8209 :param provisioning_state: The provisioning state of the Public IP prefix resource. Possible 8210 values are: 'Updating', 'Deleting', and 'Failed'. 8211 :type provisioning_state: str 8212 """ 8213 8214 _validation = { 8215 'name': {'readonly': True}, 8216 'type': {'readonly': True}, 8217 'load_balancer_frontend_ip_configuration': {'readonly': True}, 8218 } 8219 8220 _attribute_map = { 8221 'id': {'key': 'id', 'type': 'str'}, 8222 'name': {'key': 'name', 'type': 'str'}, 8223 'type': {'key': 'type', 'type': 'str'}, 8224 'location': {'key': 'location', 'type': 'str'}, 8225 'tags': {'key': 'tags', 'type': '{str}'}, 8226 'sku': {'key': 'sku', 'type': 'PublicIPPrefixSku'}, 8227 'etag': {'key': 'etag', 'type': 'str'}, 8228 'zones': {'key': 'zones', 'type': '[str]'}, 8229 'public_ip_address_version': {'key': 'properties.publicIPAddressVersion', 'type': 'str'}, 8230 'ip_tags': {'key': 'properties.ipTags', 'type': '[IpTag]'}, 8231 'prefix_length': {'key': 'properties.prefixLength', 'type': 'int'}, 8232 'ip_prefix': {'key': 'properties.ipPrefix', 'type': 'str'}, 8233 'public_ip_addresses': {'key': 'properties.publicIPAddresses', 'type': '[ReferencedPublicIpAddress]'}, 8234 'load_balancer_frontend_ip_configuration': {'key': 'properties.loadBalancerFrontendIpConfiguration', 'type': 'SubResource'}, 8235 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 8236 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8237 } 8238 8239 def __init__( 8240 self, 8241 **kwargs 8242 ): 8243 super(PublicIPPrefix, self).__init__(**kwargs) 8244 self.sku = kwargs.get('sku', None) 8245 self.etag = kwargs.get('etag', None) 8246 self.zones = kwargs.get('zones', None) 8247 self.public_ip_address_version = kwargs.get('public_ip_address_version', None) 8248 self.ip_tags = kwargs.get('ip_tags', None) 8249 self.prefix_length = kwargs.get('prefix_length', None) 8250 self.ip_prefix = kwargs.get('ip_prefix', None) 8251 self.public_ip_addresses = kwargs.get('public_ip_addresses', None) 8252 self.load_balancer_frontend_ip_configuration = None 8253 self.resource_guid = kwargs.get('resource_guid', None) 8254 self.provisioning_state = kwargs.get('provisioning_state', None) 8255 8256 8257class PublicIPPrefixListResult(msrest.serialization.Model): 8258 """Response for ListPublicIpPrefixes API service call. 8259 8260 :param value: A list of public IP prefixes that exists in a resource group. 8261 :type value: list[~azure.mgmt.network.v2018_07_01.models.PublicIPPrefix] 8262 :param next_link: The URL to get the next set of results. 8263 :type next_link: str 8264 """ 8265 8266 _attribute_map = { 8267 'value': {'key': 'value', 'type': '[PublicIPPrefix]'}, 8268 'next_link': {'key': 'nextLink', 'type': 'str'}, 8269 } 8270 8271 def __init__( 8272 self, 8273 **kwargs 8274 ): 8275 super(PublicIPPrefixListResult, self).__init__(**kwargs) 8276 self.value = kwargs.get('value', None) 8277 self.next_link = kwargs.get('next_link', None) 8278 8279 8280class PublicIPPrefixSku(msrest.serialization.Model): 8281 """SKU of a public IP prefix. 8282 8283 :param name: Name of a public IP prefix SKU. Possible values include: "Standard". 8284 :type name: str or ~azure.mgmt.network.v2018_07_01.models.PublicIPPrefixSkuName 8285 """ 8286 8287 _attribute_map = { 8288 'name': {'key': 'name', 'type': 'str'}, 8289 } 8290 8291 def __init__( 8292 self, 8293 **kwargs 8294 ): 8295 super(PublicIPPrefixSku, self).__init__(**kwargs) 8296 self.name = kwargs.get('name', None) 8297 8298 8299class QueryTroubleshootingParameters(msrest.serialization.Model): 8300 """Parameters that define the resource to query the troubleshooting result. 8301 8302 All required parameters must be populated in order to send to Azure. 8303 8304 :param target_resource_id: Required. The target resource ID to query the troubleshooting 8305 result. 8306 :type target_resource_id: str 8307 """ 8308 8309 _validation = { 8310 'target_resource_id': {'required': True}, 8311 } 8312 8313 _attribute_map = { 8314 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 8315 } 8316 8317 def __init__( 8318 self, 8319 **kwargs 8320 ): 8321 super(QueryTroubleshootingParameters, self).__init__(**kwargs) 8322 self.target_resource_id = kwargs['target_resource_id'] 8323 8324 8325class ReferencedPublicIpAddress(msrest.serialization.Model): 8326 """ReferencedPublicIpAddress. 8327 8328 :param id: The PublicIPAddress Reference. 8329 :type id: str 8330 """ 8331 8332 _attribute_map = { 8333 'id': {'key': 'id', 'type': 'str'}, 8334 } 8335 8336 def __init__( 8337 self, 8338 **kwargs 8339 ): 8340 super(ReferencedPublicIpAddress, self).__init__(**kwargs) 8341 self.id = kwargs.get('id', None) 8342 8343 8344class ResourceNavigationLink(SubResource): 8345 """ResourceNavigationLink resource. 8346 8347 Variables are only populated by the server, and will be ignored when sending a request. 8348 8349 :param id: Resource ID. 8350 :type id: str 8351 :param name: Name of the resource that is unique within a resource group. This name can be used 8352 to access the resource. 8353 :type name: str 8354 :ivar etag: A unique read-only string that changes whenever the resource is updated. 8355 :vartype etag: str 8356 :param linked_resource_type: Resource type of the linked resource. 8357 :type linked_resource_type: str 8358 :param link: Link to the external resource. 8359 :type link: str 8360 :ivar provisioning_state: Provisioning state of the ResourceNavigationLink resource. 8361 :vartype provisioning_state: str 8362 """ 8363 8364 _validation = { 8365 'etag': {'readonly': True}, 8366 'provisioning_state': {'readonly': True}, 8367 } 8368 8369 _attribute_map = { 8370 'id': {'key': 'id', 'type': 'str'}, 8371 'name': {'key': 'name', 'type': 'str'}, 8372 'etag': {'key': 'etag', 'type': 'str'}, 8373 'linked_resource_type': {'key': 'properties.linkedResourceType', 'type': 'str'}, 8374 'link': {'key': 'properties.link', 'type': 'str'}, 8375 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8376 } 8377 8378 def __init__( 8379 self, 8380 **kwargs 8381 ): 8382 super(ResourceNavigationLink, self).__init__(**kwargs) 8383 self.name = kwargs.get('name', None) 8384 self.etag = None 8385 self.linked_resource_type = kwargs.get('linked_resource_type', None) 8386 self.link = kwargs.get('link', None) 8387 self.provisioning_state = None 8388 8389 8390class RetentionPolicyParameters(msrest.serialization.Model): 8391 """Parameters that define the retention policy for flow log. 8392 8393 :param days: Number of days to retain flow log records. 8394 :type days: int 8395 :param enabled: Flag to enable/disable retention. 8396 :type enabled: bool 8397 """ 8398 8399 _attribute_map = { 8400 'days': {'key': 'days', 'type': 'int'}, 8401 'enabled': {'key': 'enabled', 'type': 'bool'}, 8402 } 8403 8404 def __init__( 8405 self, 8406 **kwargs 8407 ): 8408 super(RetentionPolicyParameters, self).__init__(**kwargs) 8409 self.days = kwargs.get('days', 0) 8410 self.enabled = kwargs.get('enabled', False) 8411 8412 8413class Route(SubResource): 8414 """Route resource. 8415 8416 :param id: Resource ID. 8417 :type id: str 8418 :param name: The name of the resource that is unique within a resource group. This name can be 8419 used to access the resource. 8420 :type name: str 8421 :param etag: A unique read-only string that changes whenever the resource is updated. 8422 :type etag: str 8423 :param address_prefix: The destination CIDR to which the route applies. 8424 :type address_prefix: str 8425 :param next_hop_type: The type of Azure hop the packet should be sent to. Possible values are: 8426 'VirtualNetworkGateway', 'VnetLocal', 'Internet', 'VirtualAppliance', and 'None'. Possible 8427 values include: "VirtualNetworkGateway", "VnetLocal", "Internet", "VirtualAppliance", "None". 8428 :type next_hop_type: str or ~azure.mgmt.network.v2018_07_01.models.RouteNextHopType 8429 :param next_hop_ip_address: The IP address packets should be forwarded to. Next hop values are 8430 only allowed in routes where the next hop type is VirtualAppliance. 8431 :type next_hop_ip_address: str 8432 :param provisioning_state: The provisioning state of the resource. Possible values are: 8433 'Updating', 'Deleting', and 'Failed'. 8434 :type provisioning_state: str 8435 """ 8436 8437 _attribute_map = { 8438 'id': {'key': 'id', 'type': 'str'}, 8439 'name': {'key': 'name', 'type': 'str'}, 8440 'etag': {'key': 'etag', 'type': 'str'}, 8441 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 8442 'next_hop_type': {'key': 'properties.nextHopType', 'type': 'str'}, 8443 'next_hop_ip_address': {'key': 'properties.nextHopIpAddress', 'type': 'str'}, 8444 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8445 } 8446 8447 def __init__( 8448 self, 8449 **kwargs 8450 ): 8451 super(Route, self).__init__(**kwargs) 8452 self.name = kwargs.get('name', None) 8453 self.etag = kwargs.get('etag', None) 8454 self.address_prefix = kwargs.get('address_prefix', None) 8455 self.next_hop_type = kwargs.get('next_hop_type', None) 8456 self.next_hop_ip_address = kwargs.get('next_hop_ip_address', None) 8457 self.provisioning_state = kwargs.get('provisioning_state', None) 8458 8459 8460class RouteFilter(Resource): 8461 """Route Filter Resource. 8462 8463 Variables are only populated by the server, and will be ignored when sending a request. 8464 8465 :param id: Resource ID. 8466 :type id: str 8467 :ivar name: Resource name. 8468 :vartype name: str 8469 :ivar type: Resource type. 8470 :vartype type: str 8471 :param location: Resource location. 8472 :type location: str 8473 :param tags: A set of tags. Resource tags. 8474 :type tags: dict[str, str] 8475 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 8476 :vartype etag: str 8477 :param rules: Collection of RouteFilterRules contained within a route filter. 8478 :type rules: list[~azure.mgmt.network.v2018_07_01.models.RouteFilterRule] 8479 :param peerings: A collection of references to express route circuit peerings. 8480 :type peerings: list[~azure.mgmt.network.v2018_07_01.models.ExpressRouteCircuitPeering] 8481 :ivar provisioning_state: The provisioning state of the resource. Possible values are: 8482 'Updating', 'Deleting', 'Succeeded' and 'Failed'. 8483 :vartype provisioning_state: str 8484 """ 8485 8486 _validation = { 8487 'name': {'readonly': True}, 8488 'type': {'readonly': True}, 8489 'etag': {'readonly': True}, 8490 'provisioning_state': {'readonly': True}, 8491 } 8492 8493 _attribute_map = { 8494 'id': {'key': 'id', 'type': 'str'}, 8495 'name': {'key': 'name', 'type': 'str'}, 8496 'type': {'key': 'type', 'type': 'str'}, 8497 'location': {'key': 'location', 'type': 'str'}, 8498 'tags': {'key': 'tags', 'type': '{str}'}, 8499 'etag': {'key': 'etag', 'type': 'str'}, 8500 'rules': {'key': 'properties.rules', 'type': '[RouteFilterRule]'}, 8501 'peerings': {'key': 'properties.peerings', 'type': '[ExpressRouteCircuitPeering]'}, 8502 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8503 } 8504 8505 def __init__( 8506 self, 8507 **kwargs 8508 ): 8509 super(RouteFilter, self).__init__(**kwargs) 8510 self.etag = None 8511 self.rules = kwargs.get('rules', None) 8512 self.peerings = kwargs.get('peerings', None) 8513 self.provisioning_state = None 8514 8515 8516class RouteFilterListResult(msrest.serialization.Model): 8517 """Response for the ListRouteFilters API service call. 8518 8519 :param value: Gets a list of route filters in a resource group. 8520 :type value: list[~azure.mgmt.network.v2018_07_01.models.RouteFilter] 8521 :param next_link: The URL to get the next set of results. 8522 :type next_link: str 8523 """ 8524 8525 _attribute_map = { 8526 'value': {'key': 'value', 'type': '[RouteFilter]'}, 8527 'next_link': {'key': 'nextLink', 'type': 'str'}, 8528 } 8529 8530 def __init__( 8531 self, 8532 **kwargs 8533 ): 8534 super(RouteFilterListResult, self).__init__(**kwargs) 8535 self.value = kwargs.get('value', None) 8536 self.next_link = kwargs.get('next_link', None) 8537 8538 8539class RouteFilterRule(SubResource): 8540 """Route Filter Rule Resource. 8541 8542 Variables are only populated by the server, and will be ignored when sending a request. 8543 8544 :param id: Resource ID. 8545 :type id: str 8546 :param name: The name of the resource that is unique within a resource group. This name can be 8547 used to access the resource. 8548 :type name: str 8549 :param location: Resource location. 8550 :type location: str 8551 :ivar etag: A unique read-only string that changes whenever the resource is updated. 8552 :vartype etag: str 8553 :param access: The access type of the rule. Valid values are: 'Allow', 'Deny'. Possible values 8554 include: "Allow", "Deny". 8555 :type access: str or ~azure.mgmt.network.v2018_07_01.models.Access 8556 :param route_filter_rule_type: The rule type of the rule. Valid value is: 'Community'. Possible 8557 values include: "Community". 8558 :type route_filter_rule_type: str or ~azure.mgmt.network.v2018_07_01.models.RouteFilterRuleType 8559 :param communities: The collection for bgp community values to filter on. e.g. 8560 ['12076:5010','12076:5020']. 8561 :type communities: list[str] 8562 :ivar provisioning_state: The provisioning state of the resource. Possible values are: 8563 'Updating', 'Deleting', 'Succeeded' and 'Failed'. 8564 :vartype provisioning_state: str 8565 """ 8566 8567 _validation = { 8568 'etag': {'readonly': True}, 8569 'provisioning_state': {'readonly': True}, 8570 } 8571 8572 _attribute_map = { 8573 'id': {'key': 'id', 'type': 'str'}, 8574 'name': {'key': 'name', 'type': 'str'}, 8575 'location': {'key': 'location', 'type': 'str'}, 8576 'etag': {'key': 'etag', 'type': 'str'}, 8577 'access': {'key': 'properties.access', 'type': 'str'}, 8578 'route_filter_rule_type': {'key': 'properties.routeFilterRuleType', 'type': 'str'}, 8579 'communities': {'key': 'properties.communities', 'type': '[str]'}, 8580 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8581 } 8582 8583 def __init__( 8584 self, 8585 **kwargs 8586 ): 8587 super(RouteFilterRule, self).__init__(**kwargs) 8588 self.name = kwargs.get('name', None) 8589 self.location = kwargs.get('location', None) 8590 self.etag = None 8591 self.access = kwargs.get('access', None) 8592 self.route_filter_rule_type = kwargs.get('route_filter_rule_type', None) 8593 self.communities = kwargs.get('communities', None) 8594 self.provisioning_state = None 8595 8596 8597class RouteFilterRuleListResult(msrest.serialization.Model): 8598 """Response for the ListRouteFilterRules API service call. 8599 8600 :param value: Gets a list of RouteFilterRules in a resource group. 8601 :type value: list[~azure.mgmt.network.v2018_07_01.models.RouteFilterRule] 8602 :param next_link: The URL to get the next set of results. 8603 :type next_link: str 8604 """ 8605 8606 _attribute_map = { 8607 'value': {'key': 'value', 'type': '[RouteFilterRule]'}, 8608 'next_link': {'key': 'nextLink', 'type': 'str'}, 8609 } 8610 8611 def __init__( 8612 self, 8613 **kwargs 8614 ): 8615 super(RouteFilterRuleListResult, self).__init__(**kwargs) 8616 self.value = kwargs.get('value', None) 8617 self.next_link = kwargs.get('next_link', None) 8618 8619 8620class RouteListResult(msrest.serialization.Model): 8621 """Response for the ListRoute API service call. 8622 8623 :param value: Gets a list of routes in a resource group. 8624 :type value: list[~azure.mgmt.network.v2018_07_01.models.Route] 8625 :param next_link: The URL to get the next set of results. 8626 :type next_link: str 8627 """ 8628 8629 _attribute_map = { 8630 'value': {'key': 'value', 'type': '[Route]'}, 8631 'next_link': {'key': 'nextLink', 'type': 'str'}, 8632 } 8633 8634 def __init__( 8635 self, 8636 **kwargs 8637 ): 8638 super(RouteListResult, self).__init__(**kwargs) 8639 self.value = kwargs.get('value', None) 8640 self.next_link = kwargs.get('next_link', None) 8641 8642 8643class RouteTable(Resource): 8644 """Route table resource. 8645 8646 Variables are only populated by the server, and will be ignored when sending a request. 8647 8648 :param id: Resource ID. 8649 :type id: str 8650 :ivar name: Resource name. 8651 :vartype name: str 8652 :ivar type: Resource type. 8653 :vartype type: str 8654 :param location: Resource location. 8655 :type location: str 8656 :param tags: A set of tags. Resource tags. 8657 :type tags: dict[str, str] 8658 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 8659 :type etag: str 8660 :param routes: Collection of routes contained within a route table. 8661 :type routes: list[~azure.mgmt.network.v2018_07_01.models.Route] 8662 :ivar subnets: A collection of references to subnets. 8663 :vartype subnets: list[~azure.mgmt.network.v2018_07_01.models.Subnet] 8664 :param disable_bgp_route_propagation: Gets or sets whether to disable the routes learned by BGP 8665 on that route table. True means disable. 8666 :type disable_bgp_route_propagation: bool 8667 :param provisioning_state: The provisioning state of the resource. Possible values are: 8668 'Updating', 'Deleting', and 'Failed'. 8669 :type provisioning_state: str 8670 """ 8671 8672 _validation = { 8673 'name': {'readonly': True}, 8674 'type': {'readonly': True}, 8675 'subnets': {'readonly': True}, 8676 } 8677 8678 _attribute_map = { 8679 'id': {'key': 'id', 'type': 'str'}, 8680 'name': {'key': 'name', 'type': 'str'}, 8681 'type': {'key': 'type', 'type': 'str'}, 8682 'location': {'key': 'location', 'type': 'str'}, 8683 'tags': {'key': 'tags', 'type': '{str}'}, 8684 'etag': {'key': 'etag', 'type': 'str'}, 8685 'routes': {'key': 'properties.routes', 'type': '[Route]'}, 8686 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 8687 'disable_bgp_route_propagation': {'key': 'properties.disableBgpRoutePropagation', 'type': 'bool'}, 8688 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8689 } 8690 8691 def __init__( 8692 self, 8693 **kwargs 8694 ): 8695 super(RouteTable, self).__init__(**kwargs) 8696 self.etag = kwargs.get('etag', None) 8697 self.routes = kwargs.get('routes', None) 8698 self.subnets = None 8699 self.disable_bgp_route_propagation = kwargs.get('disable_bgp_route_propagation', None) 8700 self.provisioning_state = kwargs.get('provisioning_state', None) 8701 8702 8703class RouteTableListResult(msrest.serialization.Model): 8704 """Response for the ListRouteTable API service call. 8705 8706 :param value: Gets a list of route tables in a resource group. 8707 :type value: list[~azure.mgmt.network.v2018_07_01.models.RouteTable] 8708 :param next_link: The URL to get the next set of results. 8709 :type next_link: str 8710 """ 8711 8712 _attribute_map = { 8713 'value': {'key': 'value', 'type': '[RouteTable]'}, 8714 'next_link': {'key': 'nextLink', 'type': 'str'}, 8715 } 8716 8717 def __init__( 8718 self, 8719 **kwargs 8720 ): 8721 super(RouteTableListResult, self).__init__(**kwargs) 8722 self.value = kwargs.get('value', None) 8723 self.next_link = kwargs.get('next_link', None) 8724 8725 8726class SecurityGroupNetworkInterface(msrest.serialization.Model): 8727 """Network interface and all its associated security rules. 8728 8729 :param id: ID of the network interface. 8730 :type id: str 8731 :param security_rule_associations: All security rules associated with the network interface. 8732 :type security_rule_associations: 8733 ~azure.mgmt.network.v2018_07_01.models.SecurityRuleAssociations 8734 """ 8735 8736 _attribute_map = { 8737 'id': {'key': 'id', 'type': 'str'}, 8738 'security_rule_associations': {'key': 'securityRuleAssociations', 'type': 'SecurityRuleAssociations'}, 8739 } 8740 8741 def __init__( 8742 self, 8743 **kwargs 8744 ): 8745 super(SecurityGroupNetworkInterface, self).__init__(**kwargs) 8746 self.id = kwargs.get('id', None) 8747 self.security_rule_associations = kwargs.get('security_rule_associations', None) 8748 8749 8750class SecurityGroupViewParameters(msrest.serialization.Model): 8751 """Parameters that define the VM to check security groups for. 8752 8753 All required parameters must be populated in order to send to Azure. 8754 8755 :param target_resource_id: Required. ID of the target VM. 8756 :type target_resource_id: str 8757 """ 8758 8759 _validation = { 8760 'target_resource_id': {'required': True}, 8761 } 8762 8763 _attribute_map = { 8764 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 8765 } 8766 8767 def __init__( 8768 self, 8769 **kwargs 8770 ): 8771 super(SecurityGroupViewParameters, self).__init__(**kwargs) 8772 self.target_resource_id = kwargs['target_resource_id'] 8773 8774 8775class SecurityGroupViewResult(msrest.serialization.Model): 8776 """The information about security rules applied to the specified VM. 8777 8778 :param network_interfaces: List of network interfaces on the specified VM. 8779 :type network_interfaces: 8780 list[~azure.mgmt.network.v2018_07_01.models.SecurityGroupNetworkInterface] 8781 """ 8782 8783 _attribute_map = { 8784 'network_interfaces': {'key': 'networkInterfaces', 'type': '[SecurityGroupNetworkInterface]'}, 8785 } 8786 8787 def __init__( 8788 self, 8789 **kwargs 8790 ): 8791 super(SecurityGroupViewResult, self).__init__(**kwargs) 8792 self.network_interfaces = kwargs.get('network_interfaces', None) 8793 8794 8795class SecurityRule(SubResource): 8796 """Network security rule. 8797 8798 :param id: Resource ID. 8799 :type id: str 8800 :param name: The name of the resource that is unique within a resource group. This name can be 8801 used to access the resource. 8802 :type name: str 8803 :param etag: A unique read-only string that changes whenever the resource is updated. 8804 :type etag: str 8805 :param description: A description for this rule. Restricted to 140 chars. 8806 :type description: str 8807 :param protocol: Network protocol this rule applies to. Possible values are 'Tcp', 'Udp', and 8808 '*'. Possible values include: "Tcp", "Udp", "*". 8809 :type protocol: str or ~azure.mgmt.network.v2018_07_01.models.SecurityRuleProtocol 8810 :param source_port_range: The source port or range. Integer or range between 0 and 65535. 8811 Asterisk '*' can also be used to match all ports. 8812 :type source_port_range: str 8813 :param destination_port_range: The destination port or range. Integer or range between 0 and 8814 65535. Asterisk '*' can also be used to match all ports. 8815 :type destination_port_range: str 8816 :param source_address_prefix: The CIDR or source IP range. Asterisk '*' can also be used to 8817 match all source IPs. Default tags such as 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' 8818 can also be used. If this is an ingress rule, specifies where network traffic originates from. 8819 :type source_address_prefix: str 8820 :param source_address_prefixes: The CIDR or source IP ranges. 8821 :type source_address_prefixes: list[str] 8822 :param source_application_security_groups: The application security group specified as source. 8823 :type source_application_security_groups: 8824 list[~azure.mgmt.network.v2018_07_01.models.ApplicationSecurityGroup] 8825 :param destination_address_prefix: The destination address prefix. CIDR or destination IP 8826 range. Asterisk '*' can also be used to match all source IPs. Default tags such as 8827 'VirtualNetwork', 'AzureLoadBalancer' and 'Internet' can also be used. 8828 :type destination_address_prefix: str 8829 :param destination_address_prefixes: The destination address prefixes. CIDR or destination IP 8830 ranges. 8831 :type destination_address_prefixes: list[str] 8832 :param destination_application_security_groups: The application security group specified as 8833 destination. 8834 :type destination_application_security_groups: 8835 list[~azure.mgmt.network.v2018_07_01.models.ApplicationSecurityGroup] 8836 :param source_port_ranges: The source port ranges. 8837 :type source_port_ranges: list[str] 8838 :param destination_port_ranges: The destination port ranges. 8839 :type destination_port_ranges: list[str] 8840 :param access: The network traffic is allowed or denied. Possible values are: 'Allow' and 8841 'Deny'. Possible values include: "Allow", "Deny". 8842 :type access: str or ~azure.mgmt.network.v2018_07_01.models.SecurityRuleAccess 8843 :param priority: The priority of the rule. The value can be between 100 and 4096. The priority 8844 number must be unique for each rule in the collection. The lower the priority number, the 8845 higher the priority of the rule. 8846 :type priority: int 8847 :param direction: The direction of the rule. The direction specifies if rule will be evaluated 8848 on incoming or outgoing traffic. Possible values are: 'Inbound' and 'Outbound'. Possible values 8849 include: "Inbound", "Outbound". 8850 :type direction: str or ~azure.mgmt.network.v2018_07_01.models.SecurityRuleDirection 8851 :param provisioning_state: The provisioning state of the public IP resource. Possible values 8852 are: 'Updating', 'Deleting', and 'Failed'. 8853 :type provisioning_state: str 8854 """ 8855 8856 _attribute_map = { 8857 'id': {'key': 'id', 'type': 'str'}, 8858 'name': {'key': 'name', 'type': 'str'}, 8859 'etag': {'key': 'etag', 'type': 'str'}, 8860 'description': {'key': 'properties.description', 'type': 'str'}, 8861 'protocol': {'key': 'properties.protocol', 'type': 'str'}, 8862 'source_port_range': {'key': 'properties.sourcePortRange', 'type': 'str'}, 8863 'destination_port_range': {'key': 'properties.destinationPortRange', 'type': 'str'}, 8864 'source_address_prefix': {'key': 'properties.sourceAddressPrefix', 'type': 'str'}, 8865 'source_address_prefixes': {'key': 'properties.sourceAddressPrefixes', 'type': '[str]'}, 8866 'source_application_security_groups': {'key': 'properties.sourceApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, 8867 'destination_address_prefix': {'key': 'properties.destinationAddressPrefix', 'type': 'str'}, 8868 'destination_address_prefixes': {'key': 'properties.destinationAddressPrefixes', 'type': '[str]'}, 8869 'destination_application_security_groups': {'key': 'properties.destinationApplicationSecurityGroups', 'type': '[ApplicationSecurityGroup]'}, 8870 'source_port_ranges': {'key': 'properties.sourcePortRanges', 'type': '[str]'}, 8871 'destination_port_ranges': {'key': 'properties.destinationPortRanges', 'type': '[str]'}, 8872 'access': {'key': 'properties.access', 'type': 'str'}, 8873 'priority': {'key': 'properties.priority', 'type': 'int'}, 8874 'direction': {'key': 'properties.direction', 'type': 'str'}, 8875 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 8876 } 8877 8878 def __init__( 8879 self, 8880 **kwargs 8881 ): 8882 super(SecurityRule, self).__init__(**kwargs) 8883 self.name = kwargs.get('name', None) 8884 self.etag = kwargs.get('etag', None) 8885 self.description = kwargs.get('description', None) 8886 self.protocol = kwargs.get('protocol', None) 8887 self.source_port_range = kwargs.get('source_port_range', None) 8888 self.destination_port_range = kwargs.get('destination_port_range', None) 8889 self.source_address_prefix = kwargs.get('source_address_prefix', None) 8890 self.source_address_prefixes = kwargs.get('source_address_prefixes', None) 8891 self.source_application_security_groups = kwargs.get('source_application_security_groups', None) 8892 self.destination_address_prefix = kwargs.get('destination_address_prefix', None) 8893 self.destination_address_prefixes = kwargs.get('destination_address_prefixes', None) 8894 self.destination_application_security_groups = kwargs.get('destination_application_security_groups', None) 8895 self.source_port_ranges = kwargs.get('source_port_ranges', None) 8896 self.destination_port_ranges = kwargs.get('destination_port_ranges', None) 8897 self.access = kwargs.get('access', None) 8898 self.priority = kwargs.get('priority', None) 8899 self.direction = kwargs.get('direction', None) 8900 self.provisioning_state = kwargs.get('provisioning_state', None) 8901 8902 8903class SecurityRuleAssociations(msrest.serialization.Model): 8904 """All security rules associated with the network interface. 8905 8906 :param network_interface_association: Network interface and its custom security rules. 8907 :type network_interface_association: 8908 ~azure.mgmt.network.v2018_07_01.models.NetworkInterfaceAssociation 8909 :param subnet_association: Network interface and its custom security rules. 8910 :type subnet_association: ~azure.mgmt.network.v2018_07_01.models.SubnetAssociation 8911 :param default_security_rules: Collection of default security rules of the network security 8912 group. 8913 :type default_security_rules: list[~azure.mgmt.network.v2018_07_01.models.SecurityRule] 8914 :param effective_security_rules: Collection of effective security rules. 8915 :type effective_security_rules: 8916 list[~azure.mgmt.network.v2018_07_01.models.EffectiveNetworkSecurityRule] 8917 """ 8918 8919 _attribute_map = { 8920 'network_interface_association': {'key': 'networkInterfaceAssociation', 'type': 'NetworkInterfaceAssociation'}, 8921 'subnet_association': {'key': 'subnetAssociation', 'type': 'SubnetAssociation'}, 8922 'default_security_rules': {'key': 'defaultSecurityRules', 'type': '[SecurityRule]'}, 8923 'effective_security_rules': {'key': 'effectiveSecurityRules', 'type': '[EffectiveNetworkSecurityRule]'}, 8924 } 8925 8926 def __init__( 8927 self, 8928 **kwargs 8929 ): 8930 super(SecurityRuleAssociations, self).__init__(**kwargs) 8931 self.network_interface_association = kwargs.get('network_interface_association', None) 8932 self.subnet_association = kwargs.get('subnet_association', None) 8933 self.default_security_rules = kwargs.get('default_security_rules', None) 8934 self.effective_security_rules = kwargs.get('effective_security_rules', None) 8935 8936 8937class SecurityRuleListResult(msrest.serialization.Model): 8938 """Response for ListSecurityRule API service call. Retrieves all security rules that belongs to a network security group. 8939 8940 :param value: The security rules in a network security group. 8941 :type value: list[~azure.mgmt.network.v2018_07_01.models.SecurityRule] 8942 :param next_link: The URL to get the next set of results. 8943 :type next_link: str 8944 """ 8945 8946 _attribute_map = { 8947 'value': {'key': 'value', 'type': '[SecurityRule]'}, 8948 'next_link': {'key': 'nextLink', 'type': 'str'}, 8949 } 8950 8951 def __init__( 8952 self, 8953 **kwargs 8954 ): 8955 super(SecurityRuleListResult, self).__init__(**kwargs) 8956 self.value = kwargs.get('value', None) 8957 self.next_link = kwargs.get('next_link', None) 8958 8959 8960class ServiceEndpointPolicy(Resource): 8961 """Service End point policy resource. 8962 8963 Variables are only populated by the server, and will be ignored when sending a request. 8964 8965 :param id: Resource ID. 8966 :type id: str 8967 :ivar name: Resource name. 8968 :vartype name: str 8969 :ivar type: Resource type. 8970 :vartype type: str 8971 :param location: Resource location. 8972 :type location: str 8973 :param tags: A set of tags. Resource tags. 8974 :type tags: dict[str, str] 8975 :param etag: A unique read-only string that changes whenever the resource is updated. 8976 :type etag: str 8977 :param service_endpoint_policy_definitions: A collection of service endpoint policy definitions 8978 of the service endpoint policy. 8979 :type service_endpoint_policy_definitions: 8980 list[~azure.mgmt.network.v2018_07_01.models.ServiceEndpointPolicyDefinition] 8981 :param resource_guid: The resource GUID property of the service endpoint policy resource. 8982 :type resource_guid: str 8983 :param provisioning_state: The provisioning state of the service endpoint policy. Possible 8984 values are: 'Updating', 'Deleting', and 'Failed'. 8985 :type provisioning_state: str 8986 """ 8987 8988 _validation = { 8989 'name': {'readonly': True}, 8990 'type': {'readonly': True}, 8991 } 8992 8993 _attribute_map = { 8994 'id': {'key': 'id', 'type': 'str'}, 8995 'name': {'key': 'name', 'type': 'str'}, 8996 'type': {'key': 'type', 'type': 'str'}, 8997 'location': {'key': 'location', 'type': 'str'}, 8998 'tags': {'key': 'tags', 'type': '{str}'}, 8999 'etag': {'key': 'etag', 'type': 'str'}, 9000 'service_endpoint_policy_definitions': {'key': 'properties.serviceEndpointPolicyDefinitions', 'type': '[ServiceEndpointPolicyDefinition]'}, 9001 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 9002 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9003 } 9004 9005 def __init__( 9006 self, 9007 **kwargs 9008 ): 9009 super(ServiceEndpointPolicy, self).__init__(**kwargs) 9010 self.etag = kwargs.get('etag', None) 9011 self.service_endpoint_policy_definitions = kwargs.get('service_endpoint_policy_definitions', None) 9012 self.resource_guid = kwargs.get('resource_guid', None) 9013 self.provisioning_state = kwargs.get('provisioning_state', None) 9014 9015 9016class ServiceEndpointPolicyDefinition(SubResource): 9017 """Service Endpoint policy definitions. 9018 9019 :param id: Resource ID. 9020 :type id: str 9021 :param name: The name of the resource that is unique within a resource group. This name can be 9022 used to access the resource. 9023 :type name: str 9024 :param etag: A unique read-only string that changes whenever the resource is updated. 9025 :type etag: str 9026 :param description: A description for this rule. Restricted to 140 chars. 9027 :type description: str 9028 :param service: service endpoint name. 9029 :type service: str 9030 :param service_resources: A list of service resources. 9031 :type service_resources: list[str] 9032 :param provisioning_state: The provisioning state of the service end point policy definition. 9033 Possible values are: 'Updating', 'Deleting', and 'Failed'. 9034 :type provisioning_state: str 9035 """ 9036 9037 _attribute_map = { 9038 'id': {'key': 'id', 'type': 'str'}, 9039 'name': {'key': 'name', 'type': 'str'}, 9040 'etag': {'key': 'etag', 'type': 'str'}, 9041 'description': {'key': 'properties.description', 'type': 'str'}, 9042 'service': {'key': 'properties.service', 'type': 'str'}, 9043 'service_resources': {'key': 'properties.serviceResources', 'type': '[str]'}, 9044 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9045 } 9046 9047 def __init__( 9048 self, 9049 **kwargs 9050 ): 9051 super(ServiceEndpointPolicyDefinition, self).__init__(**kwargs) 9052 self.name = kwargs.get('name', None) 9053 self.etag = kwargs.get('etag', None) 9054 self.description = kwargs.get('description', None) 9055 self.service = kwargs.get('service', None) 9056 self.service_resources = kwargs.get('service_resources', None) 9057 self.provisioning_state = kwargs.get('provisioning_state', None) 9058 9059 9060class ServiceEndpointPolicyDefinitionListResult(msrest.serialization.Model): 9061 """Response for ListServiceEndpointPolicyDefinition API service call. Retrieves all service endpoint policy definition that belongs to a service endpoint policy. 9062 9063 :param value: The service endpoint policy definition in a service endpoint policy. 9064 :type value: list[~azure.mgmt.network.v2018_07_01.models.ServiceEndpointPolicyDefinition] 9065 :param next_link: The URL to get the next set of results. 9066 :type next_link: str 9067 """ 9068 9069 _attribute_map = { 9070 'value': {'key': 'value', 'type': '[ServiceEndpointPolicyDefinition]'}, 9071 'next_link': {'key': 'nextLink', 'type': 'str'}, 9072 } 9073 9074 def __init__( 9075 self, 9076 **kwargs 9077 ): 9078 super(ServiceEndpointPolicyDefinitionListResult, self).__init__(**kwargs) 9079 self.value = kwargs.get('value', None) 9080 self.next_link = kwargs.get('next_link', None) 9081 9082 9083class ServiceEndpointPolicyListResult(msrest.serialization.Model): 9084 """Response for ListServiceEndpointPolicies API service call. 9085 9086 Variables are only populated by the server, and will be ignored when sending a request. 9087 9088 :param value: A list of ServiceEndpointPolicy resources. 9089 :type value: list[~azure.mgmt.network.v2018_07_01.models.ServiceEndpointPolicy] 9090 :ivar next_link: The URL to get the next set of results. 9091 :vartype next_link: str 9092 """ 9093 9094 _validation = { 9095 'next_link': {'readonly': True}, 9096 } 9097 9098 _attribute_map = { 9099 'value': {'key': 'value', 'type': '[ServiceEndpointPolicy]'}, 9100 'next_link': {'key': 'nextLink', 'type': 'str'}, 9101 } 9102 9103 def __init__( 9104 self, 9105 **kwargs 9106 ): 9107 super(ServiceEndpointPolicyListResult, self).__init__(**kwargs) 9108 self.value = kwargs.get('value', None) 9109 self.next_link = None 9110 9111 9112class ServiceEndpointPropertiesFormat(msrest.serialization.Model): 9113 """The service endpoint properties. 9114 9115 :param service: The type of the endpoint service. 9116 :type service: str 9117 :param locations: A list of locations. 9118 :type locations: list[str] 9119 :param provisioning_state: The provisioning state of the resource. 9120 :type provisioning_state: str 9121 """ 9122 9123 _attribute_map = { 9124 'service': {'key': 'service', 'type': 'str'}, 9125 'locations': {'key': 'locations', 'type': '[str]'}, 9126 'provisioning_state': {'key': 'provisioningState', 'type': 'str'}, 9127 } 9128 9129 def __init__( 9130 self, 9131 **kwargs 9132 ): 9133 super(ServiceEndpointPropertiesFormat, self).__init__(**kwargs) 9134 self.service = kwargs.get('service', None) 9135 self.locations = kwargs.get('locations', None) 9136 self.provisioning_state = kwargs.get('provisioning_state', None) 9137 9138 9139class Subnet(SubResource): 9140 """Subnet in a virtual network resource. 9141 9142 Variables are only populated by the server, and will be ignored when sending a request. 9143 9144 :param id: Resource ID. 9145 :type id: str 9146 :param name: The name of the resource that is unique within a resource group. This name can be 9147 used to access the resource. 9148 :type name: str 9149 :param etag: A unique read-only string that changes whenever the resource is updated. 9150 :type etag: str 9151 :param address_prefix: The address prefix for the subnet. 9152 :type address_prefix: str 9153 :param network_security_group: The reference of the NetworkSecurityGroup resource. 9154 :type network_security_group: ~azure.mgmt.network.v2018_07_01.models.NetworkSecurityGroup 9155 :param route_table: The reference of the RouteTable resource. 9156 :type route_table: ~azure.mgmt.network.v2018_07_01.models.RouteTable 9157 :param service_endpoints: An array of service endpoints. 9158 :type service_endpoints: 9159 list[~azure.mgmt.network.v2018_07_01.models.ServiceEndpointPropertiesFormat] 9160 :param service_endpoint_policies: An array of service endpoint policies. 9161 :type service_endpoint_policies: 9162 list[~azure.mgmt.network.v2018_07_01.models.ServiceEndpointPolicy] 9163 :ivar ip_configurations: Gets an array of references to the network interface IP configurations 9164 using subnet. 9165 :vartype ip_configurations: list[~azure.mgmt.network.v2018_07_01.models.IPConfiguration] 9166 :param resource_navigation_links: Gets an array of references to the external resources using 9167 subnet. 9168 :type resource_navigation_links: 9169 list[~azure.mgmt.network.v2018_07_01.models.ResourceNavigationLink] 9170 :param provisioning_state: The provisioning state of the resource. 9171 :type provisioning_state: str 9172 """ 9173 9174 _validation = { 9175 'ip_configurations': {'readonly': True}, 9176 } 9177 9178 _attribute_map = { 9179 'id': {'key': 'id', 'type': 'str'}, 9180 'name': {'key': 'name', 'type': 'str'}, 9181 'etag': {'key': 'etag', 'type': 'str'}, 9182 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 9183 'network_security_group': {'key': 'properties.networkSecurityGroup', 'type': 'NetworkSecurityGroup'}, 9184 'route_table': {'key': 'properties.routeTable', 'type': 'RouteTable'}, 9185 'service_endpoints': {'key': 'properties.serviceEndpoints', 'type': '[ServiceEndpointPropertiesFormat]'}, 9186 'service_endpoint_policies': {'key': 'properties.serviceEndpointPolicies', 'type': '[ServiceEndpointPolicy]'}, 9187 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[IPConfiguration]'}, 9188 'resource_navigation_links': {'key': 'properties.resourceNavigationLinks', 'type': '[ResourceNavigationLink]'}, 9189 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9190 } 9191 9192 def __init__( 9193 self, 9194 **kwargs 9195 ): 9196 super(Subnet, self).__init__(**kwargs) 9197 self.name = kwargs.get('name', None) 9198 self.etag = kwargs.get('etag', None) 9199 self.address_prefix = kwargs.get('address_prefix', None) 9200 self.network_security_group = kwargs.get('network_security_group', None) 9201 self.route_table = kwargs.get('route_table', None) 9202 self.service_endpoints = kwargs.get('service_endpoints', None) 9203 self.service_endpoint_policies = kwargs.get('service_endpoint_policies', None) 9204 self.ip_configurations = None 9205 self.resource_navigation_links = kwargs.get('resource_navigation_links', None) 9206 self.provisioning_state = kwargs.get('provisioning_state', None) 9207 9208 9209class SubnetAssociation(msrest.serialization.Model): 9210 """Network interface and its custom security rules. 9211 9212 Variables are only populated by the server, and will be ignored when sending a request. 9213 9214 :ivar id: Subnet ID. 9215 :vartype id: str 9216 :param security_rules: Collection of custom security rules. 9217 :type security_rules: list[~azure.mgmt.network.v2018_07_01.models.SecurityRule] 9218 """ 9219 9220 _validation = { 9221 'id': {'readonly': True}, 9222 } 9223 9224 _attribute_map = { 9225 'id': {'key': 'id', 'type': 'str'}, 9226 'security_rules': {'key': 'securityRules', 'type': '[SecurityRule]'}, 9227 } 9228 9229 def __init__( 9230 self, 9231 **kwargs 9232 ): 9233 super(SubnetAssociation, self).__init__(**kwargs) 9234 self.id = None 9235 self.security_rules = kwargs.get('security_rules', None) 9236 9237 9238class SubnetListResult(msrest.serialization.Model): 9239 """Response for ListSubnets API service callRetrieves all subnet that belongs to a virtual network. 9240 9241 :param value: The subnets in a virtual network. 9242 :type value: list[~azure.mgmt.network.v2018_07_01.models.Subnet] 9243 :param next_link: The URL to get the next set of results. 9244 :type next_link: str 9245 """ 9246 9247 _attribute_map = { 9248 'value': {'key': 'value', 'type': '[Subnet]'}, 9249 'next_link': {'key': 'nextLink', 'type': 'str'}, 9250 } 9251 9252 def __init__( 9253 self, 9254 **kwargs 9255 ): 9256 super(SubnetListResult, self).__init__(**kwargs) 9257 self.value = kwargs.get('value', None) 9258 self.next_link = kwargs.get('next_link', None) 9259 9260 9261class TagsObject(msrest.serialization.Model): 9262 """Tags object for patch operations. 9263 9264 :param tags: A set of tags. Resource tags. 9265 :type tags: dict[str, str] 9266 """ 9267 9268 _attribute_map = { 9269 'tags': {'key': 'tags', 'type': '{str}'}, 9270 } 9271 9272 def __init__( 9273 self, 9274 **kwargs 9275 ): 9276 super(TagsObject, self).__init__(**kwargs) 9277 self.tags = kwargs.get('tags', None) 9278 9279 9280class Topology(msrest.serialization.Model): 9281 """Topology of the specified resource group. 9282 9283 Variables are only populated by the server, and will be ignored when sending a request. 9284 9285 :ivar id: GUID representing the operation id. 9286 :vartype id: str 9287 :ivar created_date_time: The datetime when the topology was initially created for the resource 9288 group. 9289 :vartype created_date_time: ~datetime.datetime 9290 :ivar last_modified: The datetime when the topology was last modified. 9291 :vartype last_modified: ~datetime.datetime 9292 :param resources: 9293 :type resources: list[~azure.mgmt.network.v2018_07_01.models.TopologyResource] 9294 """ 9295 9296 _validation = { 9297 'id': {'readonly': True}, 9298 'created_date_time': {'readonly': True}, 9299 'last_modified': {'readonly': True}, 9300 } 9301 9302 _attribute_map = { 9303 'id': {'key': 'id', 'type': 'str'}, 9304 'created_date_time': {'key': 'createdDateTime', 'type': 'iso-8601'}, 9305 'last_modified': {'key': 'lastModified', 'type': 'iso-8601'}, 9306 'resources': {'key': 'resources', 'type': '[TopologyResource]'}, 9307 } 9308 9309 def __init__( 9310 self, 9311 **kwargs 9312 ): 9313 super(Topology, self).__init__(**kwargs) 9314 self.id = None 9315 self.created_date_time = None 9316 self.last_modified = None 9317 self.resources = kwargs.get('resources', None) 9318 9319 9320class TopologyAssociation(msrest.serialization.Model): 9321 """Resources that have an association with the parent resource. 9322 9323 :param name: The name of the resource that is associated with the parent resource. 9324 :type name: str 9325 :param resource_id: The ID of the resource that is associated with the parent resource. 9326 :type resource_id: str 9327 :param association_type: The association type of the child resource to the parent resource. 9328 Possible values include: "Associated", "Contains". 9329 :type association_type: str or ~azure.mgmt.network.v2018_07_01.models.AssociationType 9330 """ 9331 9332 _attribute_map = { 9333 'name': {'key': 'name', 'type': 'str'}, 9334 'resource_id': {'key': 'resourceId', 'type': 'str'}, 9335 'association_type': {'key': 'associationType', 'type': 'str'}, 9336 } 9337 9338 def __init__( 9339 self, 9340 **kwargs 9341 ): 9342 super(TopologyAssociation, self).__init__(**kwargs) 9343 self.name = kwargs.get('name', None) 9344 self.resource_id = kwargs.get('resource_id', None) 9345 self.association_type = kwargs.get('association_type', None) 9346 9347 9348class TopologyParameters(msrest.serialization.Model): 9349 """Parameters that define the representation of topology. 9350 9351 :param target_resource_group_name: The name of the target resource group to perform topology 9352 on. 9353 :type target_resource_group_name: str 9354 :param target_virtual_network: The reference of the Virtual Network resource. 9355 :type target_virtual_network: ~azure.mgmt.network.v2018_07_01.models.SubResource 9356 :param target_subnet: The reference of the Subnet resource. 9357 :type target_subnet: ~azure.mgmt.network.v2018_07_01.models.SubResource 9358 """ 9359 9360 _attribute_map = { 9361 'target_resource_group_name': {'key': 'targetResourceGroupName', 'type': 'str'}, 9362 'target_virtual_network': {'key': 'targetVirtualNetwork', 'type': 'SubResource'}, 9363 'target_subnet': {'key': 'targetSubnet', 'type': 'SubResource'}, 9364 } 9365 9366 def __init__( 9367 self, 9368 **kwargs 9369 ): 9370 super(TopologyParameters, self).__init__(**kwargs) 9371 self.target_resource_group_name = kwargs.get('target_resource_group_name', None) 9372 self.target_virtual_network = kwargs.get('target_virtual_network', None) 9373 self.target_subnet = kwargs.get('target_subnet', None) 9374 9375 9376class TopologyResource(msrest.serialization.Model): 9377 """The network resource topology information for the given resource group. 9378 9379 :param name: Name of the resource. 9380 :type name: str 9381 :param id: ID of the resource. 9382 :type id: str 9383 :param location: Resource location. 9384 :type location: str 9385 :param associations: Holds the associations the resource has with other resources in the 9386 resource group. 9387 :type associations: list[~azure.mgmt.network.v2018_07_01.models.TopologyAssociation] 9388 """ 9389 9390 _attribute_map = { 9391 'name': {'key': 'name', 'type': 'str'}, 9392 'id': {'key': 'id', 'type': 'str'}, 9393 'location': {'key': 'location', 'type': 'str'}, 9394 'associations': {'key': 'associations', 'type': '[TopologyAssociation]'}, 9395 } 9396 9397 def __init__( 9398 self, 9399 **kwargs 9400 ): 9401 super(TopologyResource, self).__init__(**kwargs) 9402 self.name = kwargs.get('name', None) 9403 self.id = kwargs.get('id', None) 9404 self.location = kwargs.get('location', None) 9405 self.associations = kwargs.get('associations', None) 9406 9407 9408class TrafficAnalyticsConfigurationProperties(msrest.serialization.Model): 9409 """Parameters that define the configuration of traffic analytics. 9410 9411 All required parameters must be populated in order to send to Azure. 9412 9413 :param enabled: Required. Flag to enable/disable traffic analytics. 9414 :type enabled: bool 9415 :param workspace_id: Required. The resource guid of the attached workspace. 9416 :type workspace_id: str 9417 :param workspace_region: Required. The location of the attached workspace. 9418 :type workspace_region: str 9419 :param workspace_resource_id: Required. Resource Id of the attached workspace. 9420 :type workspace_resource_id: str 9421 """ 9422 9423 _validation = { 9424 'enabled': {'required': True}, 9425 'workspace_id': {'required': True}, 9426 'workspace_region': {'required': True}, 9427 'workspace_resource_id': {'required': True}, 9428 } 9429 9430 _attribute_map = { 9431 'enabled': {'key': 'enabled', 'type': 'bool'}, 9432 'workspace_id': {'key': 'workspaceId', 'type': 'str'}, 9433 'workspace_region': {'key': 'workspaceRegion', 'type': 'str'}, 9434 'workspace_resource_id': {'key': 'workspaceResourceId', 'type': 'str'}, 9435 } 9436 9437 def __init__( 9438 self, 9439 **kwargs 9440 ): 9441 super(TrafficAnalyticsConfigurationProperties, self).__init__(**kwargs) 9442 self.enabled = kwargs['enabled'] 9443 self.workspace_id = kwargs['workspace_id'] 9444 self.workspace_region = kwargs['workspace_region'] 9445 self.workspace_resource_id = kwargs['workspace_resource_id'] 9446 9447 9448class TrafficAnalyticsProperties(msrest.serialization.Model): 9449 """Parameters that define the configuration of traffic analytics. 9450 9451 All required parameters must be populated in order to send to Azure. 9452 9453 :param network_watcher_flow_analytics_configuration: Required. Parameters that define the 9454 configuration of traffic analytics. 9455 :type network_watcher_flow_analytics_configuration: 9456 ~azure.mgmt.network.v2018_07_01.models.TrafficAnalyticsConfigurationProperties 9457 """ 9458 9459 _validation = { 9460 'network_watcher_flow_analytics_configuration': {'required': True}, 9461 } 9462 9463 _attribute_map = { 9464 'network_watcher_flow_analytics_configuration': {'key': 'networkWatcherFlowAnalyticsConfiguration', 'type': 'TrafficAnalyticsConfigurationProperties'}, 9465 } 9466 9467 def __init__( 9468 self, 9469 **kwargs 9470 ): 9471 super(TrafficAnalyticsProperties, self).__init__(**kwargs) 9472 self.network_watcher_flow_analytics_configuration = kwargs['network_watcher_flow_analytics_configuration'] 9473 9474 9475class TrafficQuery(msrest.serialization.Model): 9476 """Parameters to compare with network configuration. 9477 9478 All required parameters must be populated in order to send to Azure. 9479 9480 :param direction: Required. The direction of the traffic. Accepted values are 'Inbound' and 9481 'Outbound'. Possible values include: "Inbound", "Outbound". 9482 :type direction: str or ~azure.mgmt.network.v2018_07_01.models.Direction 9483 :param protocol: Required. Protocol to be verified on. Accepted values are '*', TCP, UDP. 9484 :type protocol: str 9485 :param source: Required. Traffic source. Accepted values are '*', IP Address/CIDR, Service Tag. 9486 :type source: str 9487 :param destination: Required. Traffic destination. Accepted values are: '*', IP Address/CIDR, 9488 Service Tag. 9489 :type destination: str 9490 :param destination_port: Required. Traffic destination port. Accepted values are '*', port (for 9491 example, 3389) and port range (for example, 80-100). 9492 :type destination_port: str 9493 """ 9494 9495 _validation = { 9496 'direction': {'required': True}, 9497 'protocol': {'required': True}, 9498 'source': {'required': True}, 9499 'destination': {'required': True}, 9500 'destination_port': {'required': True}, 9501 } 9502 9503 _attribute_map = { 9504 'direction': {'key': 'direction', 'type': 'str'}, 9505 'protocol': {'key': 'protocol', 'type': 'str'}, 9506 'source': {'key': 'source', 'type': 'str'}, 9507 'destination': {'key': 'destination', 'type': 'str'}, 9508 'destination_port': {'key': 'destinationPort', 'type': 'str'}, 9509 } 9510 9511 def __init__( 9512 self, 9513 **kwargs 9514 ): 9515 super(TrafficQuery, self).__init__(**kwargs) 9516 self.direction = kwargs['direction'] 9517 self.protocol = kwargs['protocol'] 9518 self.source = kwargs['source'] 9519 self.destination = kwargs['destination'] 9520 self.destination_port = kwargs['destination_port'] 9521 9522 9523class TroubleshootingDetails(msrest.serialization.Model): 9524 """Information gained from troubleshooting of specified resource. 9525 9526 :param id: The id of the get troubleshoot operation. 9527 :type id: str 9528 :param reason_type: Reason type of failure. 9529 :type reason_type: str 9530 :param summary: A summary of troubleshooting. 9531 :type summary: str 9532 :param detail: Details on troubleshooting results. 9533 :type detail: str 9534 :param recommended_actions: List of recommended actions. 9535 :type recommended_actions: 9536 list[~azure.mgmt.network.v2018_07_01.models.TroubleshootingRecommendedActions] 9537 """ 9538 9539 _attribute_map = { 9540 'id': {'key': 'id', 'type': 'str'}, 9541 'reason_type': {'key': 'reasonType', 'type': 'str'}, 9542 'summary': {'key': 'summary', 'type': 'str'}, 9543 'detail': {'key': 'detail', 'type': 'str'}, 9544 'recommended_actions': {'key': 'recommendedActions', 'type': '[TroubleshootingRecommendedActions]'}, 9545 } 9546 9547 def __init__( 9548 self, 9549 **kwargs 9550 ): 9551 super(TroubleshootingDetails, self).__init__(**kwargs) 9552 self.id = kwargs.get('id', None) 9553 self.reason_type = kwargs.get('reason_type', None) 9554 self.summary = kwargs.get('summary', None) 9555 self.detail = kwargs.get('detail', None) 9556 self.recommended_actions = kwargs.get('recommended_actions', None) 9557 9558 9559class TroubleshootingParameters(msrest.serialization.Model): 9560 """Parameters that define the resource to troubleshoot. 9561 9562 All required parameters must be populated in order to send to Azure. 9563 9564 :param target_resource_id: Required. The target resource to troubleshoot. 9565 :type target_resource_id: str 9566 :param storage_id: Required. The ID for the storage account to save the troubleshoot result. 9567 :type storage_id: str 9568 :param storage_path: Required. The path to the blob to save the troubleshoot result in. 9569 :type storage_path: str 9570 """ 9571 9572 _validation = { 9573 'target_resource_id': {'required': True}, 9574 'storage_id': {'required': True}, 9575 'storage_path': {'required': True}, 9576 } 9577 9578 _attribute_map = { 9579 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 9580 'storage_id': {'key': 'properties.storageId', 'type': 'str'}, 9581 'storage_path': {'key': 'properties.storagePath', 'type': 'str'}, 9582 } 9583 9584 def __init__( 9585 self, 9586 **kwargs 9587 ): 9588 super(TroubleshootingParameters, self).__init__(**kwargs) 9589 self.target_resource_id = kwargs['target_resource_id'] 9590 self.storage_id = kwargs['storage_id'] 9591 self.storage_path = kwargs['storage_path'] 9592 9593 9594class TroubleshootingRecommendedActions(msrest.serialization.Model): 9595 """Recommended actions based on discovered issues. 9596 9597 :param action_id: ID of the recommended action. 9598 :type action_id: str 9599 :param action_text: Description of recommended actions. 9600 :type action_text: str 9601 :param action_uri: The uri linking to a documentation for the recommended troubleshooting 9602 actions. 9603 :type action_uri: str 9604 :param action_uri_text: The information from the URI for the recommended troubleshooting 9605 actions. 9606 :type action_uri_text: str 9607 """ 9608 9609 _attribute_map = { 9610 'action_id': {'key': 'actionId', 'type': 'str'}, 9611 'action_text': {'key': 'actionText', 'type': 'str'}, 9612 'action_uri': {'key': 'actionUri', 'type': 'str'}, 9613 'action_uri_text': {'key': 'actionUriText', 'type': 'str'}, 9614 } 9615 9616 def __init__( 9617 self, 9618 **kwargs 9619 ): 9620 super(TroubleshootingRecommendedActions, self).__init__(**kwargs) 9621 self.action_id = kwargs.get('action_id', None) 9622 self.action_text = kwargs.get('action_text', None) 9623 self.action_uri = kwargs.get('action_uri', None) 9624 self.action_uri_text = kwargs.get('action_uri_text', None) 9625 9626 9627class TroubleshootingResult(msrest.serialization.Model): 9628 """Troubleshooting information gained from specified resource. 9629 9630 :param start_time: The start time of the troubleshooting. 9631 :type start_time: ~datetime.datetime 9632 :param end_time: The end time of the troubleshooting. 9633 :type end_time: ~datetime.datetime 9634 :param code: The result code of the troubleshooting. 9635 :type code: str 9636 :param results: Information from troubleshooting. 9637 :type results: list[~azure.mgmt.network.v2018_07_01.models.TroubleshootingDetails] 9638 """ 9639 9640 _attribute_map = { 9641 'start_time': {'key': 'startTime', 'type': 'iso-8601'}, 9642 'end_time': {'key': 'endTime', 'type': 'iso-8601'}, 9643 'code': {'key': 'code', 'type': 'str'}, 9644 'results': {'key': 'results', 'type': '[TroubleshootingDetails]'}, 9645 } 9646 9647 def __init__( 9648 self, 9649 **kwargs 9650 ): 9651 super(TroubleshootingResult, self).__init__(**kwargs) 9652 self.start_time = kwargs.get('start_time', None) 9653 self.end_time = kwargs.get('end_time', None) 9654 self.code = kwargs.get('code', None) 9655 self.results = kwargs.get('results', None) 9656 9657 9658class TunnelConnectionHealth(msrest.serialization.Model): 9659 """VirtualNetworkGatewayConnection properties. 9660 9661 Variables are only populated by the server, and will be ignored when sending a request. 9662 9663 :ivar tunnel: Tunnel name. 9664 :vartype tunnel: str 9665 :ivar connection_status: Virtual network Gateway connection status. Possible values include: 9666 "Unknown", "Connecting", "Connected", "NotConnected". 9667 :vartype connection_status: str or 9668 ~azure.mgmt.network.v2018_07_01.models.VirtualNetworkGatewayConnectionStatus 9669 :ivar ingress_bytes_transferred: The Ingress Bytes Transferred in this connection. 9670 :vartype ingress_bytes_transferred: long 9671 :ivar egress_bytes_transferred: The Egress Bytes Transferred in this connection. 9672 :vartype egress_bytes_transferred: long 9673 :ivar last_connection_established_utc_time: The time at which connection was established in Utc 9674 format. 9675 :vartype last_connection_established_utc_time: str 9676 """ 9677 9678 _validation = { 9679 'tunnel': {'readonly': True}, 9680 'connection_status': {'readonly': True}, 9681 'ingress_bytes_transferred': {'readonly': True}, 9682 'egress_bytes_transferred': {'readonly': True}, 9683 'last_connection_established_utc_time': {'readonly': True}, 9684 } 9685 9686 _attribute_map = { 9687 'tunnel': {'key': 'tunnel', 'type': 'str'}, 9688 'connection_status': {'key': 'connectionStatus', 'type': 'str'}, 9689 'ingress_bytes_transferred': {'key': 'ingressBytesTransferred', 'type': 'long'}, 9690 'egress_bytes_transferred': {'key': 'egressBytesTransferred', 'type': 'long'}, 9691 'last_connection_established_utc_time': {'key': 'lastConnectionEstablishedUtcTime', 'type': 'str'}, 9692 } 9693 9694 def __init__( 9695 self, 9696 **kwargs 9697 ): 9698 super(TunnelConnectionHealth, self).__init__(**kwargs) 9699 self.tunnel = None 9700 self.connection_status = None 9701 self.ingress_bytes_transferred = None 9702 self.egress_bytes_transferred = None 9703 self.last_connection_established_utc_time = None 9704 9705 9706class Usage(msrest.serialization.Model): 9707 """Describes network resource usage. 9708 9709 Variables are only populated by the server, and will be ignored when sending a request. 9710 9711 All required parameters must be populated in order to send to Azure. 9712 9713 :ivar id: Resource identifier. 9714 :vartype id: str 9715 :param unit: Required. An enum describing the unit of measurement. Possible values include: 9716 "Count". 9717 :type unit: str or ~azure.mgmt.network.v2018_07_01.models.UsageUnit 9718 :param current_value: Required. The current value of the usage. 9719 :type current_value: long 9720 :param limit: Required. The limit of usage. 9721 :type limit: long 9722 :param name: Required. The name of the type of usage. 9723 :type name: ~azure.mgmt.network.v2018_07_01.models.UsageName 9724 """ 9725 9726 _validation = { 9727 'id': {'readonly': True}, 9728 'unit': {'required': True}, 9729 'current_value': {'required': True}, 9730 'limit': {'required': True}, 9731 'name': {'required': True}, 9732 } 9733 9734 _attribute_map = { 9735 'id': {'key': 'id', 'type': 'str'}, 9736 'unit': {'key': 'unit', 'type': 'str'}, 9737 'current_value': {'key': 'currentValue', 'type': 'long'}, 9738 'limit': {'key': 'limit', 'type': 'long'}, 9739 'name': {'key': 'name', 'type': 'UsageName'}, 9740 } 9741 9742 def __init__( 9743 self, 9744 **kwargs 9745 ): 9746 super(Usage, self).__init__(**kwargs) 9747 self.id = None 9748 self.unit = kwargs['unit'] 9749 self.current_value = kwargs['current_value'] 9750 self.limit = kwargs['limit'] 9751 self.name = kwargs['name'] 9752 9753 9754class UsageName(msrest.serialization.Model): 9755 """The usage names. 9756 9757 :param value: A string describing the resource name. 9758 :type value: str 9759 :param localized_value: A localized string describing the resource name. 9760 :type localized_value: str 9761 """ 9762 9763 _attribute_map = { 9764 'value': {'key': 'value', 'type': 'str'}, 9765 'localized_value': {'key': 'localizedValue', 'type': 'str'}, 9766 } 9767 9768 def __init__( 9769 self, 9770 **kwargs 9771 ): 9772 super(UsageName, self).__init__(**kwargs) 9773 self.value = kwargs.get('value', None) 9774 self.localized_value = kwargs.get('localized_value', None) 9775 9776 9777class UsagesListResult(msrest.serialization.Model): 9778 """The list usages operation response. 9779 9780 :param value: The list network resource usages. 9781 :type value: list[~azure.mgmt.network.v2018_07_01.models.Usage] 9782 :param next_link: URL to get the next set of results. 9783 :type next_link: str 9784 """ 9785 9786 _attribute_map = { 9787 'value': {'key': 'value', 'type': '[Usage]'}, 9788 'next_link': {'key': 'nextLink', 'type': 'str'}, 9789 } 9790 9791 def __init__( 9792 self, 9793 **kwargs 9794 ): 9795 super(UsagesListResult, self).__init__(**kwargs) 9796 self.value = kwargs.get('value', None) 9797 self.next_link = kwargs.get('next_link', None) 9798 9799 9800class VerificationIPFlowParameters(msrest.serialization.Model): 9801 """Parameters that define the IP flow to be verified. 9802 9803 All required parameters must be populated in order to send to Azure. 9804 9805 :param target_resource_id: Required. The ID of the target resource to perform next-hop on. 9806 :type target_resource_id: str 9807 :param direction: Required. The direction of the packet represented as a 5-tuple. Possible 9808 values include: "Inbound", "Outbound". 9809 :type direction: str or ~azure.mgmt.network.v2018_07_01.models.Direction 9810 :param protocol: Required. Protocol to be verified on. Possible values include: "TCP", "UDP". 9811 :type protocol: str or ~azure.mgmt.network.v2018_07_01.models.IpFlowProtocol 9812 :param local_port: Required. The local port. Acceptable values are a single integer in the 9813 range (0-65535). Support for * for the source port, which depends on the direction. 9814 :type local_port: str 9815 :param remote_port: Required. The remote port. Acceptable values are a single integer in the 9816 range (0-65535). Support for * for the source port, which depends on the direction. 9817 :type remote_port: str 9818 :param local_ip_address: Required. The local IP address. Acceptable values are valid IPv4 9819 addresses. 9820 :type local_ip_address: str 9821 :param remote_ip_address: Required. The remote IP address. Acceptable values are valid IPv4 9822 addresses. 9823 :type remote_ip_address: str 9824 :param target_nic_resource_id: The NIC ID. (If VM has multiple NICs and IP forwarding is 9825 enabled on any of them, then this parameter must be specified. Otherwise optional). 9826 :type target_nic_resource_id: str 9827 """ 9828 9829 _validation = { 9830 'target_resource_id': {'required': True}, 9831 'direction': {'required': True}, 9832 'protocol': {'required': True}, 9833 'local_port': {'required': True}, 9834 'remote_port': {'required': True}, 9835 'local_ip_address': {'required': True}, 9836 'remote_ip_address': {'required': True}, 9837 } 9838 9839 _attribute_map = { 9840 'target_resource_id': {'key': 'targetResourceId', 'type': 'str'}, 9841 'direction': {'key': 'direction', 'type': 'str'}, 9842 'protocol': {'key': 'protocol', 'type': 'str'}, 9843 'local_port': {'key': 'localPort', 'type': 'str'}, 9844 'remote_port': {'key': 'remotePort', 'type': 'str'}, 9845 'local_ip_address': {'key': 'localIPAddress', 'type': 'str'}, 9846 'remote_ip_address': {'key': 'remoteIPAddress', 'type': 'str'}, 9847 'target_nic_resource_id': {'key': 'targetNicResourceId', 'type': 'str'}, 9848 } 9849 9850 def __init__( 9851 self, 9852 **kwargs 9853 ): 9854 super(VerificationIPFlowParameters, self).__init__(**kwargs) 9855 self.target_resource_id = kwargs['target_resource_id'] 9856 self.direction = kwargs['direction'] 9857 self.protocol = kwargs['protocol'] 9858 self.local_port = kwargs['local_port'] 9859 self.remote_port = kwargs['remote_port'] 9860 self.local_ip_address = kwargs['local_ip_address'] 9861 self.remote_ip_address = kwargs['remote_ip_address'] 9862 self.target_nic_resource_id = kwargs.get('target_nic_resource_id', None) 9863 9864 9865class VerificationIPFlowResult(msrest.serialization.Model): 9866 """Results of IP flow verification on the target resource. 9867 9868 :param access: Indicates whether the traffic is allowed or denied. Possible values include: 9869 "Allow", "Deny". 9870 :type access: str or ~azure.mgmt.network.v2018_07_01.models.Access 9871 :param rule_name: Name of the rule. If input is not matched against any security rule, it is 9872 not displayed. 9873 :type rule_name: str 9874 """ 9875 9876 _attribute_map = { 9877 'access': {'key': 'access', 'type': 'str'}, 9878 'rule_name': {'key': 'ruleName', 'type': 'str'}, 9879 } 9880 9881 def __init__( 9882 self, 9883 **kwargs 9884 ): 9885 super(VerificationIPFlowResult, self).__init__(**kwargs) 9886 self.access = kwargs.get('access', None) 9887 self.rule_name = kwargs.get('rule_name', None) 9888 9889 9890class VirtualHub(Resource): 9891 """VirtualHub Resource. 9892 9893 Variables are only populated by the server, and will be ignored when sending a request. 9894 9895 :param id: Resource ID. 9896 :type id: str 9897 :ivar name: Resource name. 9898 :vartype name: str 9899 :ivar type: Resource type. 9900 :vartype type: str 9901 :param location: Resource location. 9902 :type location: str 9903 :param tags: A set of tags. Resource tags. 9904 :type tags: dict[str, str] 9905 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 9906 :vartype etag: str 9907 :param virtual_wan: The VirtualWAN to which the VirtualHub belongs. 9908 :type virtual_wan: ~azure.mgmt.network.v2018_07_01.models.SubResource 9909 :param hub_virtual_network_connections: list of all vnet connections with this VirtualHub. 9910 :type hub_virtual_network_connections: 9911 list[~azure.mgmt.network.v2018_07_01.models.HubVirtualNetworkConnection] 9912 :param address_prefix: Address-prefix for this VirtualHub. 9913 :type address_prefix: str 9914 :param provisioning_state: The provisioning state of the resource. Possible values include: 9915 "Succeeded", "Updating", "Deleting", "Failed". 9916 :type provisioning_state: str or ~azure.mgmt.network.v2018_07_01.models.ProvisioningState 9917 """ 9918 9919 _validation = { 9920 'name': {'readonly': True}, 9921 'type': {'readonly': True}, 9922 'etag': {'readonly': True}, 9923 } 9924 9925 _attribute_map = { 9926 'id': {'key': 'id', 'type': 'str'}, 9927 'name': {'key': 'name', 'type': 'str'}, 9928 'type': {'key': 'type', 'type': 'str'}, 9929 'location': {'key': 'location', 'type': 'str'}, 9930 'tags': {'key': 'tags', 'type': '{str}'}, 9931 'etag': {'key': 'etag', 'type': 'str'}, 9932 'virtual_wan': {'key': 'properties.virtualWan', 'type': 'SubResource'}, 9933 'hub_virtual_network_connections': {'key': 'properties.hubVirtualNetworkConnections', 'type': '[HubVirtualNetworkConnection]'}, 9934 'address_prefix': {'key': 'properties.addressPrefix', 'type': 'str'}, 9935 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 9936 } 9937 9938 def __init__( 9939 self, 9940 **kwargs 9941 ): 9942 super(VirtualHub, self).__init__(**kwargs) 9943 self.etag = None 9944 self.virtual_wan = kwargs.get('virtual_wan', None) 9945 self.hub_virtual_network_connections = kwargs.get('hub_virtual_network_connections', None) 9946 self.address_prefix = kwargs.get('address_prefix', None) 9947 self.provisioning_state = kwargs.get('provisioning_state', None) 9948 9949 9950class VirtualNetwork(Resource): 9951 """Virtual Network resource. 9952 9953 Variables are only populated by the server, and will be ignored when sending a request. 9954 9955 :param id: Resource ID. 9956 :type id: str 9957 :ivar name: Resource name. 9958 :vartype name: str 9959 :ivar type: Resource type. 9960 :vartype type: str 9961 :param location: Resource location. 9962 :type location: str 9963 :param tags: A set of tags. Resource tags. 9964 :type tags: dict[str, str] 9965 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 9966 :type etag: str 9967 :param address_space: The AddressSpace that contains an array of IP address ranges that can be 9968 used by subnets. 9969 :type address_space: ~azure.mgmt.network.v2018_07_01.models.AddressSpace 9970 :param dhcp_options: The dhcpOptions that contains an array of DNS servers available to VMs 9971 deployed in the virtual network. 9972 :type dhcp_options: ~azure.mgmt.network.v2018_07_01.models.DhcpOptions 9973 :param subnets: A list of subnets in a Virtual Network. 9974 :type subnets: list[~azure.mgmt.network.v2018_07_01.models.Subnet] 9975 :param virtual_network_peerings: A list of peerings in a Virtual Network. 9976 :type virtual_network_peerings: 9977 list[~azure.mgmt.network.v2018_07_01.models.VirtualNetworkPeering] 9978 :param resource_guid: The resourceGuid property of the Virtual Network resource. 9979 :type resource_guid: str 9980 :param provisioning_state: The provisioning state of the PublicIP resource. Possible values 9981 are: 'Updating', 'Deleting', and 'Failed'. 9982 :type provisioning_state: str 9983 :param enable_ddos_protection: Indicates if DDoS protection is enabled for all the protected 9984 resources in the virtual network. It requires a DDoS protection plan associated with the 9985 resource. 9986 :type enable_ddos_protection: bool 9987 :param enable_vm_protection: Indicates if VM protection is enabled for all the subnets in the 9988 virtual network. 9989 :type enable_vm_protection: bool 9990 :param ddos_protection_plan: The DDoS protection plan associated with the virtual network. 9991 :type ddos_protection_plan: ~azure.mgmt.network.v2018_07_01.models.SubResource 9992 """ 9993 9994 _validation = { 9995 'name': {'readonly': True}, 9996 'type': {'readonly': True}, 9997 } 9998 9999 _attribute_map = { 10000 'id': {'key': 'id', 'type': 'str'}, 10001 'name': {'key': 'name', 'type': 'str'}, 10002 'type': {'key': 'type', 'type': 'str'}, 10003 'location': {'key': 'location', 'type': 'str'}, 10004 'tags': {'key': 'tags', 'type': '{str}'}, 10005 'etag': {'key': 'etag', 'type': 'str'}, 10006 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, 10007 'dhcp_options': {'key': 'properties.dhcpOptions', 'type': 'DhcpOptions'}, 10008 'subnets': {'key': 'properties.subnets', 'type': '[Subnet]'}, 10009 'virtual_network_peerings': {'key': 'properties.virtualNetworkPeerings', 'type': '[VirtualNetworkPeering]'}, 10010 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 10011 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10012 'enable_ddos_protection': {'key': 'properties.enableDdosProtection', 'type': 'bool'}, 10013 'enable_vm_protection': {'key': 'properties.enableVmProtection', 'type': 'bool'}, 10014 'ddos_protection_plan': {'key': 'properties.ddosProtectionPlan', 'type': 'SubResource'}, 10015 } 10016 10017 def __init__( 10018 self, 10019 **kwargs 10020 ): 10021 super(VirtualNetwork, self).__init__(**kwargs) 10022 self.etag = kwargs.get('etag', None) 10023 self.address_space = kwargs.get('address_space', None) 10024 self.dhcp_options = kwargs.get('dhcp_options', None) 10025 self.subnets = kwargs.get('subnets', None) 10026 self.virtual_network_peerings = kwargs.get('virtual_network_peerings', None) 10027 self.resource_guid = kwargs.get('resource_guid', None) 10028 self.provisioning_state = kwargs.get('provisioning_state', None) 10029 self.enable_ddos_protection = kwargs.get('enable_ddos_protection', False) 10030 self.enable_vm_protection = kwargs.get('enable_vm_protection', False) 10031 self.ddos_protection_plan = kwargs.get('ddos_protection_plan', None) 10032 10033 10034class VirtualNetworkConnectionGatewayReference(msrest.serialization.Model): 10035 """A reference to VirtualNetworkGateway or LocalNetworkGateway resource. 10036 10037 All required parameters must be populated in order to send to Azure. 10038 10039 :param id: Required. The ID of VirtualNetworkGateway or LocalNetworkGateway resource. 10040 :type id: str 10041 """ 10042 10043 _validation = { 10044 'id': {'required': True}, 10045 } 10046 10047 _attribute_map = { 10048 'id': {'key': 'id', 'type': 'str'}, 10049 } 10050 10051 def __init__( 10052 self, 10053 **kwargs 10054 ): 10055 super(VirtualNetworkConnectionGatewayReference, self).__init__(**kwargs) 10056 self.id = kwargs['id'] 10057 10058 10059class VirtualNetworkGateway(Resource): 10060 """A common class for general resource information. 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 :ivar name: Resource name. 10067 :vartype name: str 10068 :ivar type: Resource type. 10069 :vartype type: str 10070 :param location: Resource location. 10071 :type location: str 10072 :param tags: A set of tags. Resource tags. 10073 :type tags: dict[str, str] 10074 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 10075 :type etag: str 10076 :param ip_configurations: IP configurations for virtual network gateway. 10077 :type ip_configurations: 10078 list[~azure.mgmt.network.v2018_07_01.models.VirtualNetworkGatewayIPConfiguration] 10079 :param gateway_type: The type of this virtual network gateway. Possible values are: 'Vpn' and 10080 'ExpressRoute'. Possible values include: "Vpn", "ExpressRoute". 10081 :type gateway_type: str or ~azure.mgmt.network.v2018_07_01.models.VirtualNetworkGatewayType 10082 :param vpn_type: The type of this virtual network gateway. Possible values are: 'PolicyBased' 10083 and 'RouteBased'. Possible values include: "PolicyBased", "RouteBased". 10084 :type vpn_type: str or ~azure.mgmt.network.v2018_07_01.models.VpnType 10085 :param enable_bgp: Whether BGP is enabled for this virtual network gateway or not. 10086 :type enable_bgp: bool 10087 :param active: ActiveActive flag. 10088 :type active: bool 10089 :param gateway_default_site: The reference of the LocalNetworkGateway resource which represents 10090 local network site having default routes. Assign Null value in case of removing existing 10091 default site setting. 10092 :type gateway_default_site: ~azure.mgmt.network.v2018_07_01.models.SubResource 10093 :param sku: The reference of the VirtualNetworkGatewaySku resource which represents the SKU 10094 selected for Virtual network gateway. 10095 :type sku: ~azure.mgmt.network.v2018_07_01.models.VirtualNetworkGatewaySku 10096 :param vpn_client_configuration: The reference of the VpnClientConfiguration resource which 10097 represents the P2S VpnClient configurations. 10098 :type vpn_client_configuration: ~azure.mgmt.network.v2018_07_01.models.VpnClientConfiguration 10099 :param bgp_settings: Virtual network gateway's BGP speaker settings. 10100 :type bgp_settings: ~azure.mgmt.network.v2018_07_01.models.BgpSettings 10101 :param resource_guid: The resource GUID property of the VirtualNetworkGateway resource. 10102 :type resource_guid: str 10103 :ivar provisioning_state: The provisioning state of the VirtualNetworkGateway resource. 10104 Possible values are: 'Updating', 'Deleting', and 'Failed'. 10105 :vartype provisioning_state: str 10106 """ 10107 10108 _validation = { 10109 'name': {'readonly': True}, 10110 'type': {'readonly': True}, 10111 'provisioning_state': {'readonly': True}, 10112 } 10113 10114 _attribute_map = { 10115 'id': {'key': 'id', 'type': 'str'}, 10116 'name': {'key': 'name', 'type': 'str'}, 10117 'type': {'key': 'type', 'type': 'str'}, 10118 'location': {'key': 'location', 'type': 'str'}, 10119 'tags': {'key': 'tags', 'type': '{str}'}, 10120 'etag': {'key': 'etag', 'type': 'str'}, 10121 'ip_configurations': {'key': 'properties.ipConfigurations', 'type': '[VirtualNetworkGatewayIPConfiguration]'}, 10122 'gateway_type': {'key': 'properties.gatewayType', 'type': 'str'}, 10123 'vpn_type': {'key': 'properties.vpnType', 'type': 'str'}, 10124 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 10125 'active': {'key': 'properties.activeActive', 'type': 'bool'}, 10126 'gateway_default_site': {'key': 'properties.gatewayDefaultSite', 'type': 'SubResource'}, 10127 'sku': {'key': 'properties.sku', 'type': 'VirtualNetworkGatewaySku'}, 10128 'vpn_client_configuration': {'key': 'properties.vpnClientConfiguration', 'type': 'VpnClientConfiguration'}, 10129 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, 10130 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 10131 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10132 } 10133 10134 def __init__( 10135 self, 10136 **kwargs 10137 ): 10138 super(VirtualNetworkGateway, self).__init__(**kwargs) 10139 self.etag = kwargs.get('etag', None) 10140 self.ip_configurations = kwargs.get('ip_configurations', None) 10141 self.gateway_type = kwargs.get('gateway_type', None) 10142 self.vpn_type = kwargs.get('vpn_type', None) 10143 self.enable_bgp = kwargs.get('enable_bgp', None) 10144 self.active = kwargs.get('active', None) 10145 self.gateway_default_site = kwargs.get('gateway_default_site', None) 10146 self.sku = kwargs.get('sku', None) 10147 self.vpn_client_configuration = kwargs.get('vpn_client_configuration', None) 10148 self.bgp_settings = kwargs.get('bgp_settings', None) 10149 self.resource_guid = kwargs.get('resource_guid', None) 10150 self.provisioning_state = None 10151 10152 10153class VirtualNetworkGatewayConnection(Resource): 10154 """A common class for general resource information. 10155 10156 Variables are only populated by the server, and will be ignored when sending a request. 10157 10158 All required parameters must be populated in order to send to Azure. 10159 10160 :param id: Resource ID. 10161 :type id: str 10162 :ivar name: Resource name. 10163 :vartype name: str 10164 :ivar type: Resource type. 10165 :vartype type: str 10166 :param location: Resource location. 10167 :type location: str 10168 :param tags: A set of tags. Resource tags. 10169 :type tags: dict[str, str] 10170 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 10171 :type etag: str 10172 :param authorization_key: The authorizationKey. 10173 :type authorization_key: str 10174 :param virtual_network_gateway1: Required. The reference to virtual network gateway resource. 10175 :type virtual_network_gateway1: ~azure.mgmt.network.v2018_07_01.models.VirtualNetworkGateway 10176 :param virtual_network_gateway2: The reference to virtual network gateway resource. 10177 :type virtual_network_gateway2: ~azure.mgmt.network.v2018_07_01.models.VirtualNetworkGateway 10178 :param local_network_gateway2: The reference to local network gateway resource. 10179 :type local_network_gateway2: ~azure.mgmt.network.v2018_07_01.models.LocalNetworkGateway 10180 :param connection_type: Required. Gateway connection type. Possible values are: 10181 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values include: "IPsec", 10182 "Vnet2Vnet", "ExpressRoute", "VPNClient". 10183 :type connection_type: str or 10184 ~azure.mgmt.network.v2018_07_01.models.VirtualNetworkGatewayConnectionType 10185 :param routing_weight: The routing weight. 10186 :type routing_weight: int 10187 :param shared_key: The IPSec shared key. 10188 :type shared_key: str 10189 :ivar connection_status: Virtual network Gateway connection status. Possible values are 10190 'Unknown', 'Connecting', 'Connected' and 'NotConnected'. Possible values include: "Unknown", 10191 "Connecting", "Connected", "NotConnected". 10192 :vartype connection_status: str or 10193 ~azure.mgmt.network.v2018_07_01.models.VirtualNetworkGatewayConnectionStatus 10194 :ivar tunnel_connection_status: Collection of all tunnels' connection health status. 10195 :vartype tunnel_connection_status: 10196 list[~azure.mgmt.network.v2018_07_01.models.TunnelConnectionHealth] 10197 :ivar egress_bytes_transferred: The egress bytes transferred in this connection. 10198 :vartype egress_bytes_transferred: long 10199 :ivar ingress_bytes_transferred: The ingress bytes transferred in this connection. 10200 :vartype ingress_bytes_transferred: long 10201 :param peer: The reference to peerings resource. 10202 :type peer: ~azure.mgmt.network.v2018_07_01.models.SubResource 10203 :param enable_bgp: EnableBgp flag. 10204 :type enable_bgp: bool 10205 :param use_policy_based_traffic_selectors: Enable policy-based traffic selectors. 10206 :type use_policy_based_traffic_selectors: bool 10207 :param ipsec_policies: The IPSec Policies to be considered by this connection. 10208 :type ipsec_policies: list[~azure.mgmt.network.v2018_07_01.models.IpsecPolicy] 10209 :param resource_guid: The resource GUID property of the VirtualNetworkGatewayConnection 10210 resource. 10211 :type resource_guid: str 10212 :ivar provisioning_state: The provisioning state of the VirtualNetworkGatewayConnection 10213 resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. 10214 :vartype provisioning_state: str 10215 :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data forwarding. 10216 :type express_route_gateway_bypass: bool 10217 """ 10218 10219 _validation = { 10220 'name': {'readonly': True}, 10221 'type': {'readonly': True}, 10222 'virtual_network_gateway1': {'required': True}, 10223 'connection_type': {'required': True}, 10224 'connection_status': {'readonly': True}, 10225 'tunnel_connection_status': {'readonly': True}, 10226 'egress_bytes_transferred': {'readonly': True}, 10227 'ingress_bytes_transferred': {'readonly': True}, 10228 'provisioning_state': {'readonly': True}, 10229 } 10230 10231 _attribute_map = { 10232 'id': {'key': 'id', 'type': 'str'}, 10233 'name': {'key': 'name', 'type': 'str'}, 10234 'type': {'key': 'type', 'type': 'str'}, 10235 'location': {'key': 'location', 'type': 'str'}, 10236 'tags': {'key': 'tags', 'type': '{str}'}, 10237 'etag': {'key': 'etag', 'type': 'str'}, 10238 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 10239 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkGateway'}, 10240 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkGateway'}, 10241 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'LocalNetworkGateway'}, 10242 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, 10243 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, 10244 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 10245 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, 10246 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, 10247 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, 10248 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, 10249 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, 10250 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 10251 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, 10252 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, 10253 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 10254 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10255 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, 10256 } 10257 10258 def __init__( 10259 self, 10260 **kwargs 10261 ): 10262 super(VirtualNetworkGatewayConnection, self).__init__(**kwargs) 10263 self.etag = kwargs.get('etag', None) 10264 self.authorization_key = kwargs.get('authorization_key', None) 10265 self.virtual_network_gateway1 = kwargs['virtual_network_gateway1'] 10266 self.virtual_network_gateway2 = kwargs.get('virtual_network_gateway2', None) 10267 self.local_network_gateway2 = kwargs.get('local_network_gateway2', None) 10268 self.connection_type = kwargs['connection_type'] 10269 self.routing_weight = kwargs.get('routing_weight', None) 10270 self.shared_key = kwargs.get('shared_key', None) 10271 self.connection_status = None 10272 self.tunnel_connection_status = None 10273 self.egress_bytes_transferred = None 10274 self.ingress_bytes_transferred = None 10275 self.peer = kwargs.get('peer', None) 10276 self.enable_bgp = kwargs.get('enable_bgp', None) 10277 self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) 10278 self.ipsec_policies = kwargs.get('ipsec_policies', None) 10279 self.resource_guid = kwargs.get('resource_guid', None) 10280 self.provisioning_state = None 10281 self.express_route_gateway_bypass = kwargs.get('express_route_gateway_bypass', None) 10282 10283 10284class VirtualNetworkGatewayConnectionListEntity(Resource): 10285 """A common class for general resource information. 10286 10287 Variables are only populated by the server, and will be ignored when sending a request. 10288 10289 All required parameters must be populated in order to send to Azure. 10290 10291 :param id: Resource ID. 10292 :type id: str 10293 :ivar name: Resource name. 10294 :vartype name: str 10295 :ivar type: Resource type. 10296 :vartype type: str 10297 :param location: Resource location. 10298 :type location: str 10299 :param tags: A set of tags. Resource tags. 10300 :type tags: dict[str, str] 10301 :param etag: Gets a unique read-only string that changes whenever the resource is updated. 10302 :type etag: str 10303 :param authorization_key: The authorizationKey. 10304 :type authorization_key: str 10305 :param virtual_network_gateway1: Required. The reference to virtual network gateway resource. 10306 :type virtual_network_gateway1: 10307 ~azure.mgmt.network.v2018_07_01.models.VirtualNetworkConnectionGatewayReference 10308 :param virtual_network_gateway2: The reference to virtual network gateway resource. 10309 :type virtual_network_gateway2: 10310 ~azure.mgmt.network.v2018_07_01.models.VirtualNetworkConnectionGatewayReference 10311 :param local_network_gateway2: The reference to local network gateway resource. 10312 :type local_network_gateway2: 10313 ~azure.mgmt.network.v2018_07_01.models.VirtualNetworkConnectionGatewayReference 10314 :param connection_type: Required. Gateway connection type. Possible values are: 10315 'IPsec','Vnet2Vnet','ExpressRoute', and 'VPNClient. Possible values include: "IPsec", 10316 "Vnet2Vnet", "ExpressRoute", "VPNClient". 10317 :type connection_type: str or 10318 ~azure.mgmt.network.v2018_07_01.models.VirtualNetworkGatewayConnectionType 10319 :param routing_weight: The routing weight. 10320 :type routing_weight: int 10321 :param shared_key: The IPSec shared key. 10322 :type shared_key: str 10323 :ivar connection_status: Virtual network Gateway connection status. Possible values are 10324 'Unknown', 'Connecting', 'Connected' and 'NotConnected'. Possible values include: "Unknown", 10325 "Connecting", "Connected", "NotConnected". 10326 :vartype connection_status: str or 10327 ~azure.mgmt.network.v2018_07_01.models.VirtualNetworkGatewayConnectionStatus 10328 :ivar tunnel_connection_status: Collection of all tunnels' connection health status. 10329 :vartype tunnel_connection_status: 10330 list[~azure.mgmt.network.v2018_07_01.models.TunnelConnectionHealth] 10331 :ivar egress_bytes_transferred: The egress bytes transferred in this connection. 10332 :vartype egress_bytes_transferred: long 10333 :ivar ingress_bytes_transferred: The ingress bytes transferred in this connection. 10334 :vartype ingress_bytes_transferred: long 10335 :param peer: The reference to peerings resource. 10336 :type peer: ~azure.mgmt.network.v2018_07_01.models.SubResource 10337 :param enable_bgp: EnableBgp flag. 10338 :type enable_bgp: bool 10339 :param use_policy_based_traffic_selectors: Enable policy-based traffic selectors. 10340 :type use_policy_based_traffic_selectors: bool 10341 :param ipsec_policies: The IPSec Policies to be considered by this connection. 10342 :type ipsec_policies: list[~azure.mgmt.network.v2018_07_01.models.IpsecPolicy] 10343 :param resource_guid: The resource GUID property of the VirtualNetworkGatewayConnection 10344 resource. 10345 :type resource_guid: str 10346 :ivar provisioning_state: The provisioning state of the VirtualNetworkGatewayConnection 10347 resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. 10348 :vartype provisioning_state: str 10349 :param express_route_gateway_bypass: Bypass ExpressRoute Gateway for data forwarding. 10350 :type express_route_gateway_bypass: bool 10351 """ 10352 10353 _validation = { 10354 'name': {'readonly': True}, 10355 'type': {'readonly': True}, 10356 'virtual_network_gateway1': {'required': True}, 10357 'connection_type': {'required': True}, 10358 'connection_status': {'readonly': True}, 10359 'tunnel_connection_status': {'readonly': True}, 10360 'egress_bytes_transferred': {'readonly': True}, 10361 'ingress_bytes_transferred': {'readonly': True}, 10362 'provisioning_state': {'readonly': True}, 10363 } 10364 10365 _attribute_map = { 10366 'id': {'key': 'id', 'type': 'str'}, 10367 'name': {'key': 'name', 'type': 'str'}, 10368 'type': {'key': 'type', 'type': 'str'}, 10369 'location': {'key': 'location', 'type': 'str'}, 10370 'tags': {'key': 'tags', 'type': '{str}'}, 10371 'etag': {'key': 'etag', 'type': 'str'}, 10372 'authorization_key': {'key': 'properties.authorizationKey', 'type': 'str'}, 10373 'virtual_network_gateway1': {'key': 'properties.virtualNetworkGateway1', 'type': 'VirtualNetworkConnectionGatewayReference'}, 10374 'virtual_network_gateway2': {'key': 'properties.virtualNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, 10375 'local_network_gateway2': {'key': 'properties.localNetworkGateway2', 'type': 'VirtualNetworkConnectionGatewayReference'}, 10376 'connection_type': {'key': 'properties.connectionType', 'type': 'str'}, 10377 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, 10378 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 10379 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, 10380 'tunnel_connection_status': {'key': 'properties.tunnelConnectionStatus', 'type': '[TunnelConnectionHealth]'}, 10381 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, 10382 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, 10383 'peer': {'key': 'properties.peer', 'type': 'SubResource'}, 10384 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 10385 'use_policy_based_traffic_selectors': {'key': 'properties.usePolicyBasedTrafficSelectors', 'type': 'bool'}, 10386 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, 10387 'resource_guid': {'key': 'properties.resourceGuid', 'type': 'str'}, 10388 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10389 'express_route_gateway_bypass': {'key': 'properties.expressRouteGatewayBypass', 'type': 'bool'}, 10390 } 10391 10392 def __init__( 10393 self, 10394 **kwargs 10395 ): 10396 super(VirtualNetworkGatewayConnectionListEntity, self).__init__(**kwargs) 10397 self.etag = kwargs.get('etag', None) 10398 self.authorization_key = kwargs.get('authorization_key', None) 10399 self.virtual_network_gateway1 = kwargs['virtual_network_gateway1'] 10400 self.virtual_network_gateway2 = kwargs.get('virtual_network_gateway2', None) 10401 self.local_network_gateway2 = kwargs.get('local_network_gateway2', None) 10402 self.connection_type = kwargs['connection_type'] 10403 self.routing_weight = kwargs.get('routing_weight', None) 10404 self.shared_key = kwargs.get('shared_key', None) 10405 self.connection_status = None 10406 self.tunnel_connection_status = None 10407 self.egress_bytes_transferred = None 10408 self.ingress_bytes_transferred = None 10409 self.peer = kwargs.get('peer', None) 10410 self.enable_bgp = kwargs.get('enable_bgp', None) 10411 self.use_policy_based_traffic_selectors = kwargs.get('use_policy_based_traffic_selectors', None) 10412 self.ipsec_policies = kwargs.get('ipsec_policies', None) 10413 self.resource_guid = kwargs.get('resource_guid', None) 10414 self.provisioning_state = None 10415 self.express_route_gateway_bypass = kwargs.get('express_route_gateway_bypass', None) 10416 10417 10418class VirtualNetworkGatewayConnectionListResult(msrest.serialization.Model): 10419 """Response for the ListVirtualNetworkGatewayConnections API service call. 10420 10421 Variables are only populated by the server, and will be ignored when sending a request. 10422 10423 :param value: Gets a list of VirtualNetworkGatewayConnection resources that exists in a 10424 resource group. 10425 :type value: list[~azure.mgmt.network.v2018_07_01.models.VirtualNetworkGatewayConnection] 10426 :ivar next_link: The URL to get the next set of results. 10427 :vartype next_link: str 10428 """ 10429 10430 _validation = { 10431 'next_link': {'readonly': True}, 10432 } 10433 10434 _attribute_map = { 10435 'value': {'key': 'value', 'type': '[VirtualNetworkGatewayConnection]'}, 10436 'next_link': {'key': 'nextLink', 'type': 'str'}, 10437 } 10438 10439 def __init__( 10440 self, 10441 **kwargs 10442 ): 10443 super(VirtualNetworkGatewayConnectionListResult, self).__init__(**kwargs) 10444 self.value = kwargs.get('value', None) 10445 self.next_link = None 10446 10447 10448class VirtualNetworkGatewayIPConfiguration(SubResource): 10449 """IP configuration for virtual network gateway. 10450 10451 Variables are only populated by the server, and will be ignored when sending a request. 10452 10453 :param id: Resource ID. 10454 :type id: str 10455 :param name: The name of the resource that is unique within a resource group. This name can be 10456 used to access the resource. 10457 :type name: str 10458 :param etag: A unique read-only string that changes whenever the resource is updated. 10459 :type etag: str 10460 :param private_ip_allocation_method: The private IP allocation method. Possible values are: 10461 'Static' and 'Dynamic'. Possible values include: "Static", "Dynamic". 10462 :type private_ip_allocation_method: str or 10463 ~azure.mgmt.network.v2018_07_01.models.IPAllocationMethod 10464 :param subnet: The reference of the subnet resource. 10465 :type subnet: ~azure.mgmt.network.v2018_07_01.models.SubResource 10466 :param public_ip_address: The reference of the public IP resource. 10467 :type public_ip_address: ~azure.mgmt.network.v2018_07_01.models.SubResource 10468 :ivar provisioning_state: The provisioning state of the public IP resource. Possible values 10469 are: 'Updating', 'Deleting', and 'Failed'. 10470 :vartype provisioning_state: str 10471 """ 10472 10473 _validation = { 10474 'provisioning_state': {'readonly': True}, 10475 } 10476 10477 _attribute_map = { 10478 'id': {'key': 'id', 'type': 'str'}, 10479 'name': {'key': 'name', 'type': 'str'}, 10480 'etag': {'key': 'etag', 'type': 'str'}, 10481 'private_ip_allocation_method': {'key': 'properties.privateIPAllocationMethod', 'type': 'str'}, 10482 'subnet': {'key': 'properties.subnet', 'type': 'SubResource'}, 10483 'public_ip_address': {'key': 'properties.publicIPAddress', 'type': 'SubResource'}, 10484 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10485 } 10486 10487 def __init__( 10488 self, 10489 **kwargs 10490 ): 10491 super(VirtualNetworkGatewayIPConfiguration, self).__init__(**kwargs) 10492 self.name = kwargs.get('name', None) 10493 self.etag = kwargs.get('etag', None) 10494 self.private_ip_allocation_method = kwargs.get('private_ip_allocation_method', None) 10495 self.subnet = kwargs.get('subnet', None) 10496 self.public_ip_address = kwargs.get('public_ip_address', None) 10497 self.provisioning_state = None 10498 10499 10500class VirtualNetworkGatewayListConnectionsResult(msrest.serialization.Model): 10501 """Response for the VirtualNetworkGatewayListConnections API service call. 10502 10503 Variables are only populated by the server, and will be ignored when sending a request. 10504 10505 :param value: Gets a list of VirtualNetworkGatewayConnection resources that exists in a 10506 resource group. 10507 :type value: 10508 list[~azure.mgmt.network.v2018_07_01.models.VirtualNetworkGatewayConnectionListEntity] 10509 :ivar next_link: The URL to get the next set of results. 10510 :vartype next_link: str 10511 """ 10512 10513 _validation = { 10514 'next_link': {'readonly': True}, 10515 } 10516 10517 _attribute_map = { 10518 'value': {'key': 'value', 'type': '[VirtualNetworkGatewayConnectionListEntity]'}, 10519 'next_link': {'key': 'nextLink', 'type': 'str'}, 10520 } 10521 10522 def __init__( 10523 self, 10524 **kwargs 10525 ): 10526 super(VirtualNetworkGatewayListConnectionsResult, self).__init__(**kwargs) 10527 self.value = kwargs.get('value', None) 10528 self.next_link = None 10529 10530 10531class VirtualNetworkGatewayListResult(msrest.serialization.Model): 10532 """Response for the ListVirtualNetworkGateways API service call. 10533 10534 Variables are only populated by the server, and will be ignored when sending a request. 10535 10536 :param value: Gets a list of VirtualNetworkGateway resources that exists in a resource group. 10537 :type value: list[~azure.mgmt.network.v2018_07_01.models.VirtualNetworkGateway] 10538 :ivar next_link: The URL to get the next set of results. 10539 :vartype next_link: str 10540 """ 10541 10542 _validation = { 10543 'next_link': {'readonly': True}, 10544 } 10545 10546 _attribute_map = { 10547 'value': {'key': 'value', 'type': '[VirtualNetworkGateway]'}, 10548 'next_link': {'key': 'nextLink', 'type': 'str'}, 10549 } 10550 10551 def __init__( 10552 self, 10553 **kwargs 10554 ): 10555 super(VirtualNetworkGatewayListResult, self).__init__(**kwargs) 10556 self.value = kwargs.get('value', None) 10557 self.next_link = None 10558 10559 10560class VirtualNetworkGatewaySku(msrest.serialization.Model): 10561 """VirtualNetworkGatewaySku details. 10562 10563 :param name: Gateway SKU name. Possible values include: "Basic", "HighPerformance", "Standard", 10564 "UltraPerformance", "VpnGw1", "VpnGw2", "VpnGw3", "VpnGw1AZ", "VpnGw2AZ", "VpnGw3AZ", 10565 "ErGw1AZ", "ErGw2AZ", "ErGw3AZ". 10566 :type name: str or ~azure.mgmt.network.v2018_07_01.models.VirtualNetworkGatewaySkuName 10567 :param tier: Gateway SKU tier. Possible values include: "Basic", "HighPerformance", "Standard", 10568 "UltraPerformance", "VpnGw1", "VpnGw2", "VpnGw3", "VpnGw1AZ", "VpnGw2AZ", "VpnGw3AZ", 10569 "ErGw1AZ", "ErGw2AZ", "ErGw3AZ". 10570 :type tier: str or ~azure.mgmt.network.v2018_07_01.models.VirtualNetworkGatewaySkuTier 10571 :param capacity: The capacity. 10572 :type capacity: int 10573 """ 10574 10575 _attribute_map = { 10576 'name': {'key': 'name', 'type': 'str'}, 10577 'tier': {'key': 'tier', 'type': 'str'}, 10578 'capacity': {'key': 'capacity', 'type': 'int'}, 10579 } 10580 10581 def __init__( 10582 self, 10583 **kwargs 10584 ): 10585 super(VirtualNetworkGatewaySku, self).__init__(**kwargs) 10586 self.name = kwargs.get('name', None) 10587 self.tier = kwargs.get('tier', None) 10588 self.capacity = kwargs.get('capacity', None) 10589 10590 10591class VirtualNetworkListResult(msrest.serialization.Model): 10592 """Response for the ListVirtualNetworks API service call. 10593 10594 :param value: Gets a list of VirtualNetwork resources in a resource group. 10595 :type value: list[~azure.mgmt.network.v2018_07_01.models.VirtualNetwork] 10596 :param next_link: The URL to get the next set of results. 10597 :type next_link: str 10598 """ 10599 10600 _attribute_map = { 10601 'value': {'key': 'value', 'type': '[VirtualNetwork]'}, 10602 'next_link': {'key': 'nextLink', 'type': 'str'}, 10603 } 10604 10605 def __init__( 10606 self, 10607 **kwargs 10608 ): 10609 super(VirtualNetworkListResult, self).__init__(**kwargs) 10610 self.value = kwargs.get('value', None) 10611 self.next_link = kwargs.get('next_link', None) 10612 10613 10614class VirtualNetworkListUsageResult(msrest.serialization.Model): 10615 """Response for the virtual networks GetUsage API service call. 10616 10617 Variables are only populated by the server, and will be ignored when sending a request. 10618 10619 :ivar value: VirtualNetwork usage stats. 10620 :vartype value: list[~azure.mgmt.network.v2018_07_01.models.VirtualNetworkUsage] 10621 :param next_link: The URL to get the next set of results. 10622 :type next_link: str 10623 """ 10624 10625 _validation = { 10626 'value': {'readonly': True}, 10627 } 10628 10629 _attribute_map = { 10630 'value': {'key': 'value', 'type': '[VirtualNetworkUsage]'}, 10631 'next_link': {'key': 'nextLink', 'type': 'str'}, 10632 } 10633 10634 def __init__( 10635 self, 10636 **kwargs 10637 ): 10638 super(VirtualNetworkListUsageResult, self).__init__(**kwargs) 10639 self.value = None 10640 self.next_link = kwargs.get('next_link', None) 10641 10642 10643class VirtualNetworkPeering(SubResource): 10644 """Peerings in a virtual network resource. 10645 10646 :param id: Resource ID. 10647 :type id: str 10648 :param name: The name of the resource that is unique within a resource group. This name can be 10649 used to access the resource. 10650 :type name: str 10651 :param etag: A unique read-only string that changes whenever the resource is updated. 10652 :type etag: str 10653 :param allow_virtual_network_access: Whether the VMs in the linked virtual network space would 10654 be able to access all the VMs in local Virtual network space. 10655 :type allow_virtual_network_access: bool 10656 :param allow_forwarded_traffic: Whether the forwarded traffic from the VMs in the remote 10657 virtual network will be allowed/disallowed. 10658 :type allow_forwarded_traffic: bool 10659 :param allow_gateway_transit: If gateway links can be used in remote virtual networking to link 10660 to this virtual network. 10661 :type allow_gateway_transit: bool 10662 :param use_remote_gateways: If remote gateways can be used on this virtual network. If the flag 10663 is set to true, and allowGatewayTransit on remote peering is also true, virtual network will 10664 use gateways of remote virtual network for transit. Only one peering can have this flag set to 10665 true. This flag cannot be set if virtual network already has a gateway. 10666 :type use_remote_gateways: bool 10667 :param remote_virtual_network: The reference of the remote virtual network. The remote virtual 10668 network can be in the same or different region (preview). See here to register for the preview 10669 and learn more 10670 (https://docs.microsoft.com/en-us/azure/virtual-network/virtual-network-create-peering). 10671 :type remote_virtual_network: ~azure.mgmt.network.v2018_07_01.models.SubResource 10672 :param remote_address_space: The reference of the remote virtual network address space. 10673 :type remote_address_space: ~azure.mgmt.network.v2018_07_01.models.AddressSpace 10674 :param peering_state: The status of the virtual network peering. Possible values are 10675 'Initiated', 'Connected', and 'Disconnected'. Possible values include: "Initiated", 10676 "Connected", "Disconnected". 10677 :type peering_state: str or ~azure.mgmt.network.v2018_07_01.models.VirtualNetworkPeeringState 10678 :param provisioning_state: The provisioning state of the resource. 10679 :type provisioning_state: str 10680 """ 10681 10682 _attribute_map = { 10683 'id': {'key': 'id', 'type': 'str'}, 10684 'name': {'key': 'name', 'type': 'str'}, 10685 'etag': {'key': 'etag', 'type': 'str'}, 10686 'allow_virtual_network_access': {'key': 'properties.allowVirtualNetworkAccess', 'type': 'bool'}, 10687 'allow_forwarded_traffic': {'key': 'properties.allowForwardedTraffic', 'type': 'bool'}, 10688 'allow_gateway_transit': {'key': 'properties.allowGatewayTransit', 'type': 'bool'}, 10689 'use_remote_gateways': {'key': 'properties.useRemoteGateways', 'type': 'bool'}, 10690 'remote_virtual_network': {'key': 'properties.remoteVirtualNetwork', 'type': 'SubResource'}, 10691 'remote_address_space': {'key': 'properties.remoteAddressSpace', 'type': 'AddressSpace'}, 10692 'peering_state': {'key': 'properties.peeringState', 'type': 'str'}, 10693 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10694 } 10695 10696 def __init__( 10697 self, 10698 **kwargs 10699 ): 10700 super(VirtualNetworkPeering, self).__init__(**kwargs) 10701 self.name = kwargs.get('name', None) 10702 self.etag = kwargs.get('etag', None) 10703 self.allow_virtual_network_access = kwargs.get('allow_virtual_network_access', None) 10704 self.allow_forwarded_traffic = kwargs.get('allow_forwarded_traffic', None) 10705 self.allow_gateway_transit = kwargs.get('allow_gateway_transit', None) 10706 self.use_remote_gateways = kwargs.get('use_remote_gateways', None) 10707 self.remote_virtual_network = kwargs.get('remote_virtual_network', None) 10708 self.remote_address_space = kwargs.get('remote_address_space', None) 10709 self.peering_state = kwargs.get('peering_state', None) 10710 self.provisioning_state = kwargs.get('provisioning_state', None) 10711 10712 10713class VirtualNetworkPeeringListResult(msrest.serialization.Model): 10714 """Response for ListSubnets API service call. Retrieves all subnets that belong to a virtual network. 10715 10716 :param value: The peerings in a virtual network. 10717 :type value: list[~azure.mgmt.network.v2018_07_01.models.VirtualNetworkPeering] 10718 :param next_link: The URL to get the next set of results. 10719 :type next_link: str 10720 """ 10721 10722 _attribute_map = { 10723 'value': {'key': 'value', 'type': '[VirtualNetworkPeering]'}, 10724 'next_link': {'key': 'nextLink', 'type': 'str'}, 10725 } 10726 10727 def __init__( 10728 self, 10729 **kwargs 10730 ): 10731 super(VirtualNetworkPeeringListResult, self).__init__(**kwargs) 10732 self.value = kwargs.get('value', None) 10733 self.next_link = kwargs.get('next_link', None) 10734 10735 10736class VirtualNetworkUsage(msrest.serialization.Model): 10737 """Usage details for subnet. 10738 10739 Variables are only populated by the server, and will be ignored when sending a request. 10740 10741 :ivar current_value: Indicates number of IPs used from the Subnet. 10742 :vartype current_value: float 10743 :ivar id: Subnet identifier. 10744 :vartype id: str 10745 :ivar limit: Indicates the size of the subnet. 10746 :vartype limit: float 10747 :ivar name: The name containing common and localized value for usage. 10748 :vartype name: ~azure.mgmt.network.v2018_07_01.models.VirtualNetworkUsageName 10749 :ivar unit: Usage units. Returns 'Count'. 10750 :vartype unit: str 10751 """ 10752 10753 _validation = { 10754 'current_value': {'readonly': True}, 10755 'id': {'readonly': True}, 10756 'limit': {'readonly': True}, 10757 'name': {'readonly': True}, 10758 'unit': {'readonly': True}, 10759 } 10760 10761 _attribute_map = { 10762 'current_value': {'key': 'currentValue', 'type': 'float'}, 10763 'id': {'key': 'id', 'type': 'str'}, 10764 'limit': {'key': 'limit', 'type': 'float'}, 10765 'name': {'key': 'name', 'type': 'VirtualNetworkUsageName'}, 10766 'unit': {'key': 'unit', 'type': 'str'}, 10767 } 10768 10769 def __init__( 10770 self, 10771 **kwargs 10772 ): 10773 super(VirtualNetworkUsage, self).__init__(**kwargs) 10774 self.current_value = None 10775 self.id = None 10776 self.limit = None 10777 self.name = None 10778 self.unit = None 10779 10780 10781class VirtualNetworkUsageName(msrest.serialization.Model): 10782 """Usage strings container. 10783 10784 Variables are only populated by the server, and will be ignored when sending a request. 10785 10786 :ivar localized_value: Localized subnet size and usage string. 10787 :vartype localized_value: str 10788 :ivar value: Subnet size and usage string. 10789 :vartype value: str 10790 """ 10791 10792 _validation = { 10793 'localized_value': {'readonly': True}, 10794 'value': {'readonly': True}, 10795 } 10796 10797 _attribute_map = { 10798 'localized_value': {'key': 'localizedValue', 'type': 'str'}, 10799 'value': {'key': 'value', 'type': 'str'}, 10800 } 10801 10802 def __init__( 10803 self, 10804 **kwargs 10805 ): 10806 super(VirtualNetworkUsageName, self).__init__(**kwargs) 10807 self.localized_value = None 10808 self.value = None 10809 10810 10811class VirtualWAN(Resource): 10812 """VirtualWAN Resource. 10813 10814 Variables are only populated by the server, and will be ignored when sending a request. 10815 10816 :param id: Resource ID. 10817 :type id: str 10818 :ivar name: Resource name. 10819 :vartype name: str 10820 :ivar type: Resource type. 10821 :vartype type: str 10822 :param location: Resource location. 10823 :type location: str 10824 :param tags: A set of tags. Resource tags. 10825 :type tags: dict[str, str] 10826 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 10827 :vartype etag: str 10828 :param disable_vpn_encryption: Vpn encryption to be disabled or not. 10829 :type disable_vpn_encryption: bool 10830 :ivar virtual_hubs: List of VirtualHubs in the VirtualWAN. 10831 :vartype virtual_hubs: list[~azure.mgmt.network.v2018_07_01.models.SubResource] 10832 :ivar vpn_sites: 10833 :vartype vpn_sites: list[~azure.mgmt.network.v2018_07_01.models.SubResource] 10834 :param provisioning_state: The provisioning state of the resource. Possible values include: 10835 "Succeeded", "Updating", "Deleting", "Failed". 10836 :type provisioning_state: str or ~azure.mgmt.network.v2018_07_01.models.ProvisioningState 10837 """ 10838 10839 _validation = { 10840 'name': {'readonly': True}, 10841 'type': {'readonly': True}, 10842 'etag': {'readonly': True}, 10843 'virtual_hubs': {'readonly': True}, 10844 'vpn_sites': {'readonly': True}, 10845 } 10846 10847 _attribute_map = { 10848 'id': {'key': 'id', 'type': 'str'}, 10849 'name': {'key': 'name', 'type': 'str'}, 10850 'type': {'key': 'type', 'type': 'str'}, 10851 'location': {'key': 'location', 'type': 'str'}, 10852 'tags': {'key': 'tags', 'type': '{str}'}, 10853 'etag': {'key': 'etag', 'type': 'str'}, 10854 'disable_vpn_encryption': {'key': 'properties.disableVpnEncryption', 'type': 'bool'}, 10855 'virtual_hubs': {'key': 'properties.virtualHubs', 'type': '[SubResource]'}, 10856 'vpn_sites': {'key': 'properties.vpnSites', 'type': '[SubResource]'}, 10857 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 10858 } 10859 10860 def __init__( 10861 self, 10862 **kwargs 10863 ): 10864 super(VirtualWAN, self).__init__(**kwargs) 10865 self.etag = None 10866 self.disable_vpn_encryption = kwargs.get('disable_vpn_encryption', None) 10867 self.virtual_hubs = None 10868 self.vpn_sites = None 10869 self.provisioning_state = kwargs.get('provisioning_state', None) 10870 10871 10872class VpnClientConfiguration(msrest.serialization.Model): 10873 """VpnClientConfiguration for P2S client. 10874 10875 :param vpn_client_address_pool: The reference of the address space resource which represents 10876 Address space for P2S VpnClient. 10877 :type vpn_client_address_pool: ~azure.mgmt.network.v2018_07_01.models.AddressSpace 10878 :param vpn_client_root_certificates: VpnClientRootCertificate for virtual network gateway. 10879 :type vpn_client_root_certificates: 10880 list[~azure.mgmt.network.v2018_07_01.models.VpnClientRootCertificate] 10881 :param vpn_client_revoked_certificates: VpnClientRevokedCertificate for Virtual network 10882 gateway. 10883 :type vpn_client_revoked_certificates: 10884 list[~azure.mgmt.network.v2018_07_01.models.VpnClientRevokedCertificate] 10885 :param vpn_client_protocols: VpnClientProtocols for Virtual network gateway. 10886 :type vpn_client_protocols: list[str or 10887 ~azure.mgmt.network.v2018_07_01.models.VpnClientProtocol] 10888 :param vpn_client_ipsec_policies: VpnClientIpsecPolicies for virtual network gateway P2S 10889 client. 10890 :type vpn_client_ipsec_policies: list[~azure.mgmt.network.v2018_07_01.models.IpsecPolicy] 10891 :param radius_server_address: The radius server address property of the VirtualNetworkGateway 10892 resource for vpn client connection. 10893 :type radius_server_address: str 10894 :param radius_server_secret: The radius secret property of the VirtualNetworkGateway resource 10895 for vpn client connection. 10896 :type radius_server_secret: str 10897 """ 10898 10899 _attribute_map = { 10900 'vpn_client_address_pool': {'key': 'vpnClientAddressPool', 'type': 'AddressSpace'}, 10901 'vpn_client_root_certificates': {'key': 'vpnClientRootCertificates', 'type': '[VpnClientRootCertificate]'}, 10902 'vpn_client_revoked_certificates': {'key': 'vpnClientRevokedCertificates', 'type': '[VpnClientRevokedCertificate]'}, 10903 'vpn_client_protocols': {'key': 'vpnClientProtocols', 'type': '[str]'}, 10904 'vpn_client_ipsec_policies': {'key': 'vpnClientIpsecPolicies', 'type': '[IpsecPolicy]'}, 10905 'radius_server_address': {'key': 'radiusServerAddress', 'type': 'str'}, 10906 'radius_server_secret': {'key': 'radiusServerSecret', 'type': 'str'}, 10907 } 10908 10909 def __init__( 10910 self, 10911 **kwargs 10912 ): 10913 super(VpnClientConfiguration, self).__init__(**kwargs) 10914 self.vpn_client_address_pool = kwargs.get('vpn_client_address_pool', None) 10915 self.vpn_client_root_certificates = kwargs.get('vpn_client_root_certificates', None) 10916 self.vpn_client_revoked_certificates = kwargs.get('vpn_client_revoked_certificates', None) 10917 self.vpn_client_protocols = kwargs.get('vpn_client_protocols', None) 10918 self.vpn_client_ipsec_policies = kwargs.get('vpn_client_ipsec_policies', None) 10919 self.radius_server_address = kwargs.get('radius_server_address', None) 10920 self.radius_server_secret = kwargs.get('radius_server_secret', None) 10921 10922 10923class VpnClientIPsecParameters(msrest.serialization.Model): 10924 """An IPSec parameters for a virtual network gateway P2S connection. 10925 10926 All required parameters must be populated in order to send to Azure. 10927 10928 :param sa_life_time_seconds: Required. The IPSec Security Association (also called Quick Mode 10929 or Phase 2 SA) lifetime in seconds for P2S client. 10930 :type sa_life_time_seconds: int 10931 :param sa_data_size_kilobytes: Required. The IPSec Security Association (also called Quick Mode 10932 or Phase 2 SA) payload size in KB for P2S client.. 10933 :type sa_data_size_kilobytes: int 10934 :param ipsec_encryption: Required. The IPSec encryption algorithm (IKE phase 1). Possible 10935 values include: "None", "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES128", "GCMAES192", 10936 "GCMAES256". 10937 :type ipsec_encryption: str or ~azure.mgmt.network.v2018_07_01.models.IpsecEncryption 10938 :param ipsec_integrity: Required. The IPSec integrity algorithm (IKE phase 1). Possible values 10939 include: "MD5", "SHA1", "SHA256", "GCMAES128", "GCMAES192", "GCMAES256". 10940 :type ipsec_integrity: str or ~azure.mgmt.network.v2018_07_01.models.IpsecIntegrity 10941 :param ike_encryption: Required. The IKE encryption algorithm (IKE phase 2). Possible values 10942 include: "DES", "DES3", "AES128", "AES192", "AES256", "GCMAES256", "GCMAES128". 10943 :type ike_encryption: str or ~azure.mgmt.network.v2018_07_01.models.IkeEncryption 10944 :param ike_integrity: Required. The IKE integrity algorithm (IKE phase 2). Possible values 10945 include: "MD5", "SHA1", "SHA256", "SHA384", "GCMAES256", "GCMAES128". 10946 :type ike_integrity: str or ~azure.mgmt.network.v2018_07_01.models.IkeIntegrity 10947 :param dh_group: Required. The DH Groups used in IKE Phase 1 for initial SA. Possible values 10948 include: "None", "DHGroup1", "DHGroup2", "DHGroup14", "DHGroup2048", "ECP256", "ECP384", 10949 "DHGroup24". 10950 :type dh_group: str or ~azure.mgmt.network.v2018_07_01.models.DhGroup 10951 :param pfs_group: Required. The Pfs Groups used in IKE Phase 2 for new child SA. Possible 10952 values include: "None", "PFS1", "PFS2", "PFS2048", "ECP256", "ECP384", "PFS24", "PFS14", 10953 "PFSMM". 10954 :type pfs_group: str or ~azure.mgmt.network.v2018_07_01.models.PfsGroup 10955 """ 10956 10957 _validation = { 10958 'sa_life_time_seconds': {'required': True}, 10959 'sa_data_size_kilobytes': {'required': True}, 10960 'ipsec_encryption': {'required': True}, 10961 'ipsec_integrity': {'required': True}, 10962 'ike_encryption': {'required': True}, 10963 'ike_integrity': {'required': True}, 10964 'dh_group': {'required': True}, 10965 'pfs_group': {'required': True}, 10966 } 10967 10968 _attribute_map = { 10969 'sa_life_time_seconds': {'key': 'saLifeTimeSeconds', 'type': 'int'}, 10970 'sa_data_size_kilobytes': {'key': 'saDataSizeKilobytes', 'type': 'int'}, 10971 'ipsec_encryption': {'key': 'ipsecEncryption', 'type': 'str'}, 10972 'ipsec_integrity': {'key': 'ipsecIntegrity', 'type': 'str'}, 10973 'ike_encryption': {'key': 'ikeEncryption', 'type': 'str'}, 10974 'ike_integrity': {'key': 'ikeIntegrity', 'type': 'str'}, 10975 'dh_group': {'key': 'dhGroup', 'type': 'str'}, 10976 'pfs_group': {'key': 'pfsGroup', 'type': 'str'}, 10977 } 10978 10979 def __init__( 10980 self, 10981 **kwargs 10982 ): 10983 super(VpnClientIPsecParameters, self).__init__(**kwargs) 10984 self.sa_life_time_seconds = kwargs['sa_life_time_seconds'] 10985 self.sa_data_size_kilobytes = kwargs['sa_data_size_kilobytes'] 10986 self.ipsec_encryption = kwargs['ipsec_encryption'] 10987 self.ipsec_integrity = kwargs['ipsec_integrity'] 10988 self.ike_encryption = kwargs['ike_encryption'] 10989 self.ike_integrity = kwargs['ike_integrity'] 10990 self.dh_group = kwargs['dh_group'] 10991 self.pfs_group = kwargs['pfs_group'] 10992 10993 10994class VpnClientParameters(msrest.serialization.Model): 10995 """Vpn Client Parameters for package generation. 10996 10997 :param processor_architecture: VPN client Processor Architecture. Possible values are: 'AMD64' 10998 and 'X86'. Possible values include: "Amd64", "X86". 10999 :type processor_architecture: str or 11000 ~azure.mgmt.network.v2018_07_01.models.ProcessorArchitecture 11001 :param authentication_method: VPN client Authentication Method. Possible values are: 'EAPTLS' 11002 and 'EAPMSCHAPv2'. Possible values include: "EAPTLS", "EAPMSCHAPv2". 11003 :type authentication_method: str or ~azure.mgmt.network.v2018_07_01.models.AuthenticationMethod 11004 :param radius_server_auth_certificate: The public certificate data for the radius server 11005 authentication certificate as a Base-64 encoded string. Required only if external radius 11006 authentication has been configured with EAPTLS authentication. 11007 :type radius_server_auth_certificate: str 11008 :param client_root_certificates: A list of client root certificates public certificate data 11009 encoded as Base-64 strings. Optional parameter for external radius based authentication with 11010 EAPTLS. 11011 :type client_root_certificates: list[str] 11012 """ 11013 11014 _attribute_map = { 11015 'processor_architecture': {'key': 'processorArchitecture', 'type': 'str'}, 11016 'authentication_method': {'key': 'authenticationMethod', 'type': 'str'}, 11017 'radius_server_auth_certificate': {'key': 'radiusServerAuthCertificate', 'type': 'str'}, 11018 'client_root_certificates': {'key': 'clientRootCertificates', 'type': '[str]'}, 11019 } 11020 11021 def __init__( 11022 self, 11023 **kwargs 11024 ): 11025 super(VpnClientParameters, self).__init__(**kwargs) 11026 self.processor_architecture = kwargs.get('processor_architecture', None) 11027 self.authentication_method = kwargs.get('authentication_method', None) 11028 self.radius_server_auth_certificate = kwargs.get('radius_server_auth_certificate', None) 11029 self.client_root_certificates = kwargs.get('client_root_certificates', None) 11030 11031 11032class VpnClientRevokedCertificate(SubResource): 11033 """VPN client revoked certificate of virtual network gateway. 11034 11035 Variables are only populated by the server, and will be ignored when sending a request. 11036 11037 :param id: Resource ID. 11038 :type id: str 11039 :param name: The name of the resource that is unique within a resource group. This name can be 11040 used to access the resource. 11041 :type name: str 11042 :param etag: A unique read-only string that changes whenever the resource is updated. 11043 :type etag: str 11044 :param thumbprint: The revoked VPN client certificate thumbprint. 11045 :type thumbprint: str 11046 :ivar provisioning_state: The provisioning state of the VPN client revoked certificate 11047 resource. Possible values are: 'Updating', 'Deleting', and 'Failed'. 11048 :vartype provisioning_state: str 11049 """ 11050 11051 _validation = { 11052 'provisioning_state': {'readonly': True}, 11053 } 11054 11055 _attribute_map = { 11056 'id': {'key': 'id', 'type': 'str'}, 11057 'name': {'key': 'name', 'type': 'str'}, 11058 'etag': {'key': 'etag', 'type': 'str'}, 11059 'thumbprint': {'key': 'properties.thumbprint', 'type': 'str'}, 11060 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 11061 } 11062 11063 def __init__( 11064 self, 11065 **kwargs 11066 ): 11067 super(VpnClientRevokedCertificate, self).__init__(**kwargs) 11068 self.name = kwargs.get('name', None) 11069 self.etag = kwargs.get('etag', None) 11070 self.thumbprint = kwargs.get('thumbprint', None) 11071 self.provisioning_state = None 11072 11073 11074class VpnClientRootCertificate(SubResource): 11075 """VPN client root certificate of virtual network gateway. 11076 11077 Variables are only populated by the server, and will be ignored when sending a request. 11078 11079 All required parameters must be populated in order to send to Azure. 11080 11081 :param id: Resource ID. 11082 :type id: str 11083 :param name: The name of the resource that is unique within a resource group. This name can be 11084 used to access the resource. 11085 :type name: str 11086 :param etag: A unique read-only string that changes whenever the resource is updated. 11087 :type etag: str 11088 :param public_cert_data: Required. The certificate public data. 11089 :type public_cert_data: str 11090 :ivar provisioning_state: The provisioning state of the VPN client root certificate resource. 11091 Possible values are: 'Updating', 'Deleting', and 'Failed'. 11092 :vartype provisioning_state: str 11093 """ 11094 11095 _validation = { 11096 'public_cert_data': {'required': True}, 11097 'provisioning_state': {'readonly': True}, 11098 } 11099 11100 _attribute_map = { 11101 'id': {'key': 'id', 'type': 'str'}, 11102 'name': {'key': 'name', 'type': 'str'}, 11103 'etag': {'key': 'etag', 'type': 'str'}, 11104 'public_cert_data': {'key': 'properties.publicCertData', 'type': 'str'}, 11105 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 11106 } 11107 11108 def __init__( 11109 self, 11110 **kwargs 11111 ): 11112 super(VpnClientRootCertificate, self).__init__(**kwargs) 11113 self.name = kwargs.get('name', None) 11114 self.etag = kwargs.get('etag', None) 11115 self.public_cert_data = kwargs['public_cert_data'] 11116 self.provisioning_state = None 11117 11118 11119class VpnConnection(SubResource): 11120 """VpnConnection Resource. 11121 11122 Variables are only populated by the server, and will be ignored when sending a request. 11123 11124 :param id: Resource ID. 11125 :type id: str 11126 :param name: The name of the resource that is unique within a resource group. This name can be 11127 used to access the resource. 11128 :type name: str 11129 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 11130 :vartype etag: str 11131 :param remote_vpn_site: Id of the connected vpn site. 11132 :type remote_vpn_site: ~azure.mgmt.network.v2018_07_01.models.SubResource 11133 :param routing_weight: routing weight for vpn connection. 11134 :type routing_weight: int 11135 :ivar connection_status: The connection status. Possible values include: "Unknown", 11136 "Connecting", "Connected", "NotConnected". 11137 :vartype connection_status: str or ~azure.mgmt.network.v2018_07_01.models.VpnConnectionStatus 11138 :ivar ingress_bytes_transferred: Ingress bytes transferred. 11139 :vartype ingress_bytes_transferred: long 11140 :ivar egress_bytes_transferred: Egress bytes transferred. 11141 :vartype egress_bytes_transferred: long 11142 :ivar connection_bandwidth_in_mbps: Expected bandwidth in MBPS. 11143 :vartype connection_bandwidth_in_mbps: int 11144 :param shared_key: SharedKey for the vpn connection. 11145 :type shared_key: str 11146 :param enable_bgp: EnableBgp flag. 11147 :type enable_bgp: bool 11148 :param ipsec_policies: The IPSec Policies to be considered by this connection. 11149 :type ipsec_policies: list[~azure.mgmt.network.v2018_07_01.models.IpsecPolicy] 11150 :param provisioning_state: The provisioning state of the resource. Possible values include: 11151 "Succeeded", "Updating", "Deleting", "Failed". 11152 :type provisioning_state: str or ~azure.mgmt.network.v2018_07_01.models.ProvisioningState 11153 """ 11154 11155 _validation = { 11156 'etag': {'readonly': True}, 11157 'connection_status': {'readonly': True}, 11158 'ingress_bytes_transferred': {'readonly': True}, 11159 'egress_bytes_transferred': {'readonly': True}, 11160 'connection_bandwidth_in_mbps': {'readonly': True}, 11161 } 11162 11163 _attribute_map = { 11164 'id': {'key': 'id', 'type': 'str'}, 11165 'name': {'key': 'name', 'type': 'str'}, 11166 'etag': {'key': 'etag', 'type': 'str'}, 11167 'remote_vpn_site': {'key': 'properties.remoteVpnSite', 'type': 'SubResource'}, 11168 'routing_weight': {'key': 'properties.routingWeight', 'type': 'int'}, 11169 'connection_status': {'key': 'properties.connectionStatus', 'type': 'str'}, 11170 'ingress_bytes_transferred': {'key': 'properties.ingressBytesTransferred', 'type': 'long'}, 11171 'egress_bytes_transferred': {'key': 'properties.egressBytesTransferred', 'type': 'long'}, 11172 'connection_bandwidth_in_mbps': {'key': 'properties.connectionBandwidthInMbps', 'type': 'int'}, 11173 'shared_key': {'key': 'properties.sharedKey', 'type': 'str'}, 11174 'enable_bgp': {'key': 'properties.enableBgp', 'type': 'bool'}, 11175 'ipsec_policies': {'key': 'properties.ipsecPolicies', 'type': '[IpsecPolicy]'}, 11176 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 11177 } 11178 11179 def __init__( 11180 self, 11181 **kwargs 11182 ): 11183 super(VpnConnection, self).__init__(**kwargs) 11184 self.name = kwargs.get('name', None) 11185 self.etag = None 11186 self.remote_vpn_site = kwargs.get('remote_vpn_site', None) 11187 self.routing_weight = kwargs.get('routing_weight', None) 11188 self.connection_status = None 11189 self.ingress_bytes_transferred = None 11190 self.egress_bytes_transferred = None 11191 self.connection_bandwidth_in_mbps = None 11192 self.shared_key = kwargs.get('shared_key', None) 11193 self.enable_bgp = kwargs.get('enable_bgp', None) 11194 self.ipsec_policies = kwargs.get('ipsec_policies', None) 11195 self.provisioning_state = kwargs.get('provisioning_state', None) 11196 11197 11198class VpnDeviceScriptParameters(msrest.serialization.Model): 11199 """Vpn device configuration script generation parameters. 11200 11201 :param vendor: The vendor for the vpn device. 11202 :type vendor: str 11203 :param device_family: The device family for the vpn device. 11204 :type device_family: str 11205 :param firmware_version: The firmware version for the vpn device. 11206 :type firmware_version: str 11207 """ 11208 11209 _attribute_map = { 11210 'vendor': {'key': 'vendor', 'type': 'str'}, 11211 'device_family': {'key': 'deviceFamily', 'type': 'str'}, 11212 'firmware_version': {'key': 'firmwareVersion', 'type': 'str'}, 11213 } 11214 11215 def __init__( 11216 self, 11217 **kwargs 11218 ): 11219 super(VpnDeviceScriptParameters, self).__init__(**kwargs) 11220 self.vendor = kwargs.get('vendor', None) 11221 self.device_family = kwargs.get('device_family', None) 11222 self.firmware_version = kwargs.get('firmware_version', None) 11223 11224 11225class VpnGateway(Resource): 11226 """VpnGateway Resource. 11227 11228 Variables are only populated by the server, and will be ignored when sending a request. 11229 11230 :param id: Resource ID. 11231 :type id: str 11232 :ivar name: Resource name. 11233 :vartype name: str 11234 :ivar type: Resource type. 11235 :vartype type: str 11236 :param location: Resource location. 11237 :type location: str 11238 :param tags: A set of tags. Resource tags. 11239 :type tags: dict[str, str] 11240 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 11241 :vartype etag: str 11242 :param virtual_hub: The VirtualHub to which the gateway belongs. 11243 :type virtual_hub: ~azure.mgmt.network.v2018_07_01.models.SubResource 11244 :param connections: list of all vpn connections to the gateway. 11245 :type connections: list[~azure.mgmt.network.v2018_07_01.models.VpnConnection] 11246 :param bgp_settings: Local network gateway's BGP speaker settings. 11247 :type bgp_settings: ~azure.mgmt.network.v2018_07_01.models.BgpSettings 11248 :param provisioning_state: The provisioning state of the resource. Possible values include: 11249 "Succeeded", "Updating", "Deleting", "Failed". 11250 :type provisioning_state: str or ~azure.mgmt.network.v2018_07_01.models.ProvisioningState 11251 :param policies: The policies applied to this vpn gateway. 11252 :type policies: ~azure.mgmt.network.v2018_07_01.models.Policies 11253 """ 11254 11255 _validation = { 11256 'name': {'readonly': True}, 11257 'type': {'readonly': True}, 11258 'etag': {'readonly': True}, 11259 } 11260 11261 _attribute_map = { 11262 'id': {'key': 'id', 'type': 'str'}, 11263 'name': {'key': 'name', 'type': 'str'}, 11264 'type': {'key': 'type', 'type': 'str'}, 11265 'location': {'key': 'location', 'type': 'str'}, 11266 'tags': {'key': 'tags', 'type': '{str}'}, 11267 'etag': {'key': 'etag', 'type': 'str'}, 11268 'virtual_hub': {'key': 'properties.virtualHub', 'type': 'SubResource'}, 11269 'connections': {'key': 'properties.connections', 'type': '[VpnConnection]'}, 11270 'bgp_settings': {'key': 'properties.bgpSettings', 'type': 'BgpSettings'}, 11271 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 11272 'policies': {'key': 'properties.policies', 'type': 'Policies'}, 11273 } 11274 11275 def __init__( 11276 self, 11277 **kwargs 11278 ): 11279 super(VpnGateway, self).__init__(**kwargs) 11280 self.etag = None 11281 self.virtual_hub = kwargs.get('virtual_hub', None) 11282 self.connections = kwargs.get('connections', None) 11283 self.bgp_settings = kwargs.get('bgp_settings', None) 11284 self.provisioning_state = kwargs.get('provisioning_state', None) 11285 self.policies = kwargs.get('policies', None) 11286 11287 11288class VpnSite(Resource): 11289 """VpnSite Resource. 11290 11291 Variables are only populated by the server, and will be ignored when sending a request. 11292 11293 :param id: Resource ID. 11294 :type id: str 11295 :ivar name: Resource name. 11296 :vartype name: str 11297 :ivar type: Resource type. 11298 :vartype type: str 11299 :param location: Resource location. 11300 :type location: str 11301 :param tags: A set of tags. Resource tags. 11302 :type tags: dict[str, str] 11303 :ivar etag: Gets a unique read-only string that changes whenever the resource is updated. 11304 :vartype etag: str 11305 :param virtual_wan: The VirtualWAN to which the vpnSite belongs. 11306 :type virtual_wan: ~azure.mgmt.network.v2018_07_01.models.SubResource 11307 :param device_properties: The device properties. 11308 :type device_properties: ~azure.mgmt.network.v2018_07_01.models.DeviceProperties 11309 :param ip_address: The ip-address for the vpn-site. 11310 :type ip_address: str 11311 :param site_key: The key for vpn-site that can be used for connections. 11312 :type site_key: str 11313 :param address_space: The AddressSpace that contains an array of IP address ranges. 11314 :type address_space: ~azure.mgmt.network.v2018_07_01.models.AddressSpace 11315 :param bgp_properties: The set of bgp properties. 11316 :type bgp_properties: ~azure.mgmt.network.v2018_07_01.models.BgpSettings 11317 :param provisioning_state: The provisioning state of the resource. Possible values include: 11318 "Succeeded", "Updating", "Deleting", "Failed". 11319 :type provisioning_state: str or ~azure.mgmt.network.v2018_07_01.models.ProvisioningState 11320 """ 11321 11322 _validation = { 11323 'name': {'readonly': True}, 11324 'type': {'readonly': True}, 11325 'etag': {'readonly': True}, 11326 } 11327 11328 _attribute_map = { 11329 'id': {'key': 'id', 'type': 'str'}, 11330 'name': {'key': 'name', 'type': 'str'}, 11331 'type': {'key': 'type', 'type': 'str'}, 11332 'location': {'key': 'location', 'type': 'str'}, 11333 'tags': {'key': 'tags', 'type': '{str}'}, 11334 'etag': {'key': 'etag', 'type': 'str'}, 11335 'virtual_wan': {'key': 'properties.virtualWAN', 'type': 'SubResource'}, 11336 'device_properties': {'key': 'properties.deviceProperties', 'type': 'DeviceProperties'}, 11337 'ip_address': {'key': 'properties.ipAddress', 'type': 'str'}, 11338 'site_key': {'key': 'properties.siteKey', 'type': 'str'}, 11339 'address_space': {'key': 'properties.addressSpace', 'type': 'AddressSpace'}, 11340 'bgp_properties': {'key': 'properties.bgpProperties', 'type': 'BgpSettings'}, 11341 'provisioning_state': {'key': 'properties.provisioningState', 'type': 'str'}, 11342 } 11343 11344 def __init__( 11345 self, 11346 **kwargs 11347 ): 11348 super(VpnSite, self).__init__(**kwargs) 11349 self.etag = None 11350 self.virtual_wan = kwargs.get('virtual_wan', None) 11351 self.device_properties = kwargs.get('device_properties', None) 11352 self.ip_address = kwargs.get('ip_address', None) 11353 self.site_key = kwargs.get('site_key', None) 11354 self.address_space = kwargs.get('address_space', None) 11355 self.bgp_properties = kwargs.get('bgp_properties', None) 11356 self.provisioning_state = kwargs.get('provisioning_state', None) 11357 11358 11359class VpnSiteId(msrest.serialization.Model): 11360 """VpnSite Resource. 11361 11362 Variables are only populated by the server, and will be ignored when sending a request. 11363 11364 :ivar vpn_site: The resource-uri of the vpn-site for which config is to be fetched. 11365 :vartype vpn_site: str 11366 """ 11367 11368 _validation = { 11369 'vpn_site': {'readonly': True}, 11370 } 11371 11372 _attribute_map = { 11373 'vpn_site': {'key': 'vpnSite', 'type': 'str'}, 11374 } 11375 11376 def __init__( 11377 self, 11378 **kwargs 11379 ): 11380 super(VpnSiteId, self).__init__(**kwargs) 11381 self.vpn_site = None 11382